Lines Matching refs:obj

73 _rtld_objlist_push_head(Objlist *list, Obj_Entry *obj)  in _rtld_objlist_push_head()  argument
78 elm->obj = obj; in _rtld_objlist_push_head()
83 _rtld_objlist_push_tail(Objlist *list, Obj_Entry *obj) in _rtld_objlist_push_tail() argument
88 elm->obj = obj; in _rtld_objlist_push_tail()
93 _rtld_objlist_find(Objlist *list, const Obj_Entry *obj) in _rtld_objlist_find() argument
98 if (elm->obj == obj) in _rtld_objlist_find()
114 Obj_Entry *obj; in _rtld_load_object() local
119 for (obj = _rtld_objlist->next; obj != NULL; obj = obj->next) in _rtld_load_object()
120 if (pathlen == obj->pathlen && !strcmp(obj->path, filepath)) in _rtld_load_object()
131 if (obj == NULL) { in _rtld_load_object()
141 for (obj = _rtld_objlist->next; obj != NULL; obj = obj->next) { in _rtld_load_object()
142 if (obj->ino == sb.st_ino && obj->dev == sb.st_dev) { in _rtld_load_object()
157 if (obj == NULL) { /* First use of this object, so we must map it in */ in _rtld_load_object()
158 obj = _rtld_map_object(filepath, fd, &sb); in _rtld_load_object()
160 if (obj == NULL) in _rtld_load_object()
162 _rtld_digest_dynamic(filepath, obj); in _rtld_load_object()
165 if (obj->z_noopen || (flags & _RTLD_NOLOAD)) { in _rtld_load_object()
167 obj->path)); in _rtld_load_object()
169 obj->path); in _rtld_load_object()
170 munmap(obj->mapbase, obj->mapsize); in _rtld_load_object()
171 _rtld_obj_free(obj); in _rtld_load_object()
176 *_rtld_objtail = obj; in _rtld_load_object()
177 _rtld_objtail = &obj->next; in _rtld_load_object()
181 _rtld_linkmap_add(obj); /* for GDB */ in _rtld_load_object()
183 dbg((" %p .. %p: %s", obj->mapbase, in _rtld_load_object()
184 obj->mapbase + obj->mapsize - 1, obj->path)); in _rtld_load_object()
185 if (obj->textrel) in _rtld_load_object()
186 dbg((" WARNING: %s has impure text", obj->path)); in _rtld_load_object()
189 ++obj->refcount; in _rtld_load_object()
191 if (flags & _RTLD_MAIN && !obj->mainref) { in _rtld_load_object()
192 obj->mainref = 1; in _rtld_load_object()
193 dbg(("adding %p (%s) to _rtld_list_main", obj, obj->path)); in _rtld_load_object()
194 _rtld_objlist_push_tail(&_rtld_list_main, obj); in _rtld_load_object()
196 if (flags & _RTLD_GLOBAL && !obj->globalref) { in _rtld_load_object()
197 obj->globalref = 1; in _rtld_load_object()
198 dbg(("adding %p (%s) to _rtld_list_global", obj, obj->path)); in _rtld_load_object()
199 _rtld_objlist_push_tail(&_rtld_list_global, obj); in _rtld_load_object()
202 return obj; in _rtld_load_object()
206 _rtld_load_by_name(const char *name, Obj_Entry *obj, Needed_Entry **needed, in _rtld_load_by_name() argument
224 (*needed)->obj = o; in _rtld_load_by_name()
270 o = _rtld_load_library(x->entry[i].library[j], obj, in _rtld_load_by_name()
279 (*needed)->obj = o; in _rtld_load_by_name()
284 ne->obj = o; in _rtld_load_by_name()
297 return ((*needed)->obj = _rtld_load_library(name, obj, flags)) != NULL; in _rtld_load_by_name()
309 Obj_Entry *obj; in _rtld_load_needed_objects() local
312 for (obj = first; obj != NULL; obj = obj->next) { in _rtld_load_needed_objects()
315 for (needed = obj->needed; needed != NULL; in _rtld_load_needed_objects()
317 const char *name = obj->strtab + needed->name; in _rtld_load_needed_objects()
321 if (!_rtld_load_by_name(name, obj, &needed, in _rtld_load_needed_objects()
331 nobj = needed->obj; in _rtld_load_needed_objects()
332 if (nobj->z_nodelete && !obj->ref_nodel) { in _rtld_load_needed_objects()