Lines Matching refs:object

59 	elf_object_t *object;  in dlopen()  local
91 object = _dl_load_shlib(libname, _dl_objects, OBJTYPE_DLO, obj_flags, 0); in dlopen()
92 if (object == 0) { in dlopen()
99 object->obj_flags |= DF_1_NODELETE; in dlopen()
100 object->nodelete = 1; in dlopen()
103 _dl_link_dlopen(object); in dlopen()
105 if (OBJECT_REF_CNT(object) > 1) { in dlopen()
106 _dl_handle_nodelete(object); in dlopen()
109 if (object->grpsym_vec.len == 0) in dlopen()
110 _dl_cache_grpsym_list_setup(object); in dlopen()
112 _dl_show_objects(object); in dlopen()
113 _dl_unload_shlib(object); in dlopen()
120 _dl_add_object(object); in dlopen()
122 DL_DEB(("head [%s]\n", object->load_name)); in dlopen()
124 if ((failed = _dl_load_dep_libs(object, obj_flags, 0)) == 1) { in dlopen()
125 _dl_real_close(object); in dlopen()
126 object = NULL; in dlopen()
130 DL_DEB(("tail %s\n", object->load_name)); in dlopen()
132 _dl_show_objects(object); in dlopen()
133 _dl_unload_shlib(object); in dlopen()
136 err = _dl_rtld(object); in dlopen()
138 _dl_real_close(object); in dlopen()
140 object = NULL; in dlopen()
143 _dl_call_init(object); in dlopen()
160 return((void *)object); in dlopen()
166 elf_object_t *object; in dlsym() local
178 if ((object = obj_from_addr(retaddr)) == NULL) { in dlsym()
193 object = (elf_object_t *)handle; in dlsym()
197 while (dynobj && dynobj != object) in dlsym()
200 if (!dynobj || object != dynobj) { in dlsym()
206 sr = _dl_find_symbol(name, flags|SYM_NOWARNNOTFOUND, NULL, object); in dlsym()
219 name, object->load_name, (void *)addr)); in dlsym()
322 elf_object_t *object; in _dl_real_close() local
325 object = (elf_object_t *)handle; in _dl_real_close()
328 while (dynobj && dynobj != object) in _dl_real_close()
331 if (!dynobj || object != dynobj) { in _dl_real_close()
336 if (object->opencount == 0) { in _dl_real_close()
341 object->opencount--; in _dl_real_close()
342 _dl_notify_unload_shlib(object); in _dl_real_close()
344 _dl_unload_shlib(object); in _dl_real_close()
407 _dl_tracefmt(int fd, elf_object_t *object, const char *fmt1, const char *fmt2, in _dl_tracefmt() argument
413 fmt = object->sod.sod_library ? fmt1 : fmt2; in _dl_tracefmt()
437 (void *)(object->load_base + in _dl_tracefmt()
438 object->load_size)); in _dl_tracefmt()
441 _dl_dprintf(fd, "%d", object->grprefcount); in _dl_tracefmt()
444 _dl_dprintf(fd, "%d", object->sod.sod_major); in _dl_tracefmt()
447 _dl_dprintf(fd, "%d", object->sod.sod_minor); in _dl_tracefmt()
450 _dl_dprintf(fd, "%d", object->opencount); in _dl_tracefmt()
453 _dl_dprintf(fd, "%s", object->sod.sod_name); in _dl_tracefmt()
456 _dl_dprintf(fd, "%s", object->load_name); in _dl_tracefmt()
459 _dl_dprintf(fd, "%d", object->refcount); in _dl_tracefmt()
465 _dl_dprintf(fd, "%lX", object->load_base); in _dl_tracefmt()
494 elf_object_t *object; in _dl_show_objects() local
500 object = _dl_objects; in _dl_show_objects()
521 for (; object != NULL; object = object->next) { in _dl_show_objects()
522 if (object == trace) in _dl_show_objects()
524 if (object->obj_type == OBJTYPE_LDR) { in _dl_show_objects()
525 object = object->next; in _dl_show_objects()
531 for (; object != NULL; object = object->next) { in _dl_show_objects()
532 switch (object->obj_type) { in _dl_show_objects()
549 _dl_tracefmt(outputfd, object, fmt1, fmt2, objtypename); in _dl_show_objects()
574 elf_object_t *object; in dl_iterate_phdr() local
578 for (object = _dl_objects; object != NULL; object = object->next) { in dl_iterate_phdr()
579 if (object->phdrp == NULL) in dl_iterate_phdr()
582 info.dlpi_addr = object->obj_base; in dl_iterate_phdr()
583 info.dlpi_name = object->load_name; in dl_iterate_phdr()
584 info.dlpi_phdr = object->phdrp; in dl_iterate_phdr()
585 info.dlpi_phnum = object->phdrc; in dl_iterate_phdr()
626 const elf_object_t *object; in dladdr() local
631 object = obj_from_addr(addr); in dladdr()
633 if (object == NULL) { in dladdr()
638 info->dli_fname = (char *)object->load_name; in dladdr()
639 info->dli_fbase = (void *)object->load_base; in dladdr()
647 for (symoffset = 0; symoffset < object->nchains; symoffset++) { in dladdr()
648 sym = object->dyn.symtab + symoffset; in dladdr()
662 symbol_addr = (void *)(object->obj_base + sym->st_value); in dladdr()
667 info->dli_sname = object->dyn.strtab + sym->st_name; in dladdr()