Lines Matching defs:needed

868 	dbg("loading needed objects");
1262 Needed_Entry **needed_tail = &obj->needed;
2277 const Needed_Entry *needed;
2296 for (needed = elm->obj->needed; needed != NULL;
2297 needed = needed->next) {
2298 if (needed->obj == NULL ||
2299 donelist_check(&donelist, needed->obj))
2301 objlist_push_tail(&needed->obj->dldags, root);
2302 objlist_push_tail(&root->dagmembers, needed->obj);
2440 assert(objtmp.needed == NULL);
2526 * Add the init functions from a needed object list (and its recursive
2527 * needed objects) to "list". This is not used directly; it is a helper
2532 initlist_add_neededs(Needed_Entry *needed, Objlist *list)
2534 /* Recursively process the successor needed objects. */
2535 if (needed->next != NULL)
2536 initlist_add_neededs(needed->next, list);
2538 /* Process the current needed object. */
2539 if (needed->obj != NULL)
2540 initlist_add_objects(needed->obj, needed->obj, list);
2547 * needed libraries are initialized before the object itself. At the
2566 /* Recursively process the needed objects. */
2567 if (obj->needed != NULL)
2568 initlist_add_neededs(obj->needed, list);
2589 Needed_Entry *needed, *needed1;
2591 for (needed = n; needed != NULL; needed = needed->next) {
2592 if (needed->obj != NULL) {
2593 dlclose_locked(needed->obj, lockstate);
2594 needed->obj = NULL;
2597 for (needed = n; needed != NULL; needed = needed1) {
2598 needed1 = needed->next;
2599 free(needed);
2614 load_filtee1(Obj_Entry *obj, Needed_Entry *needed, int flags,
2617 for (; needed != NULL; needed = needed->next) {
2618 needed->obj = dlopen_object(obj->strtab + needed->name, -1, obj,
2640 process_needed(Obj_Entry *obj, Needed_Entry *needed, int flags)
2644 for (; needed != NULL; needed = needed->next) {
2645 obj1 = needed->obj = load_object(obj->strtab + needed->name, -1,
2655 * Given a shared object, traverse its list of needed objects, and load
2667 if (process_needed(obj, obj->needed, flags) == -1)
4763 symlook_needed(SymLook *req, const Needed_Entry *needed, DoneList *dlp)
4774 for (n = needed; n != NULL; n = n->next) {
4797 Needed_Entry *needed)
4806 return (symlook_needed(req1, needed, &donelist));
5139 Needed_Entry *needed;
5143 if (list_containers && obj->needed != NULL)
5145 for (needed = obj->needed; needed; needed = needed->next) {
5146 if (needed->obj != NULL) {
5147 if (needed->obj->traced && !list_containers)
5149 needed->obj->traced = true;
5150 path = needed->obj->path;
5154 name = obj->strtab + needed->name;
5155 trace_print_obj(needed->obj, name, path, main_local,
5731 const Needed_Entry *needed;
5738 for (needed = obj->needed; needed != NULL; needed = needed->next) {
5739 if (strcmp(obj->strtab + needed->name, name) == 0 ||
5740 (needed->obj != NULL && object_match_name(needed->obj,
5749 return (needed->obj);