Lines Matching refs:object

60 void _dl_call_init_recurse(elf_object_t *object, int initfirst);
318 _dl_load_dep_libs(elf_object_t *object, int flags, int booting) in _dl_load_dep_libs() argument
326 dynobj = object; in _dl_load_dep_libs()
333 if (booting || object->nodelete) in _dl_load_dep_libs()
441 _dl_cache_grpsym_list_setup(object); in _dl_load_dep_libs()
778 _dl_rtld(elf_object_t *object) in _dl_rtld() argument
783 if (object->next) in _dl_rtld()
784 fails += _dl_rtld(object->next); in _dl_rtld()
786 if (object->status & STAT_RELOC_DONE) in _dl_rtld()
792 unprotect_if_textrel(object); in _dl_rtld()
793 _dl_rreloc(object); in _dl_rtld()
794 fails =_dl_md_reloc(object, DT_REL, DT_RELSZ); in _dl_rtld()
795 fails += _dl_md_reloc(object, DT_RELA, DT_RELASZ); in _dl_rtld()
796 reprotect_if_textrel(object); in _dl_rtld()
807 fails += _dl_md_reloc_got(object, !(object->obj_flags & DF_1_NOW) && in _dl_rtld()
808 !(_dl_bindnow && !object->traced)); in _dl_rtld()
813 for (llist = object->load_list; llist != NULL; llist = llist->next) { in _dl_rtld()
826 if (object->dyn.textrel) { in _dl_rtld()
827 for (llist = object->load_list; llist != NULL; llist = llist->next) in _dl_rtld()
833 object->status |= STAT_RELOC_DONE; in _dl_rtld()
839 _dl_call_preinit(elf_object_t *object) in _dl_call_preinit() argument
841 if (object->dyn.preinit_array) { in _dl_call_preinit()
842 int num = object->dyn.preinit_arraysz / sizeof(Elf_Addr); in _dl_call_preinit()
846 object, object->dyn.preinit_array, object->load_name)); in _dl_call_preinit()
848 (*object->dyn.preinit_array[i])(_dl_argc, _dl_argv, in _dl_call_preinit()
854 _dl_call_init(elf_object_t *object) in _dl_call_init() argument
856 _dl_call_init_recurse(object, 1); in _dl_call_init()
857 _dl_call_init_recurse(object, 0); in _dl_call_init()
861 _dl_relro(elf_object_t *object) in _dl_relro() argument
866 if (object->relro_addr != 0 && object->relro_size != 0) { in _dl_relro()
867 Elf_Addr addr = object->relro_addr; in _dl_relro()
870 addr, addr + object->relro_size, object->load_name)); in _dl_relro()
871 _dl_mprotect((void *)addr, object->relro_size, PROT_READ); in _dl_relro()
874 if (object->nodelete) in _dl_relro()
875 _dl_mimmutable((void *)addr, object->relro_size); in _dl_relro()
880 _dl_call_init_recurse(elf_object_t *object, int initfirst) in _dl_call_init_recurse() argument
886 object->status |= visited_flag; in _dl_call_init_recurse()
888 for (vec = object->child_vec, i = 0; i < vec.len; i++) { in _dl_call_init_recurse()
894 if (object->status & STAT_INIT_DONE) in _dl_call_init_recurse()
897 if (initfirst && (object->obj_flags & DF_1_INITFIRST) == 0) in _dl_call_init_recurse()
901 _dl_relro(object); in _dl_call_init_recurse()
902 _dl_apply_immutable(object); in _dl_call_init_recurse()
905 if (object->dyn.init) { in _dl_call_init_recurse()
907 object, object->dyn.init, object->load_name)); in _dl_call_init_recurse()
908 (*object->dyn.init)(); in _dl_call_init_recurse()
911 if (object->dyn.init_array) { in _dl_call_init_recurse()
912 int num = object->dyn.init_arraysz / sizeof(Elf_Addr); in _dl_call_init_recurse()
916 object, object->dyn.init_array, object->load_name)); in _dl_call_init_recurse()
918 (*object->dyn.init_array[i])(_dl_argc, _dl_argv, in _dl_call_init_recurse()
923 _dl_relro(object); in _dl_call_init_recurse()
924 _dl_apply_immutable(object); in _dl_call_init_recurse()
927 object->status |= STAT_INIT_DONE; in _dl_call_init_recurse()
1015 unprotect_if_textrel(elf_object_t *object) in unprotect_if_textrel() argument
1019 if (__predict_false(object->dyn.textrel == 1)) { in unprotect_if_textrel()
1020 for (ll = object->load_list; ll != NULL; ll = ll->next) { in unprotect_if_textrel()
1029 reprotect_if_textrel(elf_object_t *object) in reprotect_if_textrel() argument
1033 if (__predict_false(object->dyn.textrel == 1)) { in reprotect_if_textrel()
1034 for (ll = object->load_list; ll != NULL; ll = ll->next) { in reprotect_if_textrel()
1042 _dl_rreloc(elf_object_t *object) in _dl_rreloc() argument
1045 Elf_Addr loff = object->obj_base; in _dl_rreloc()
1047 reloc = object->dyn.relr; in _dl_rreloc()
1048 rend = (const Elf_Relr *)((char *)reloc + object->dyn.relrsz); in _dl_rreloc()
1102 _dl_apply_immutable(elf_object_t *object) in _dl_apply_immutable() argument
1108 if (object->obj_type != OBJTYPE_LIB) in _dl_apply_immutable()
1111 for (imut = 0; imut < object->imut.count; imut++) { in _dl_apply_immutable()
1112 im = &object->imut.slice[imut]; in _dl_apply_immutable()
1117 for (i = 0; i < object->mut.count; i++) { in _dl_apply_immutable()
1118 m = &object->mut.slice[i]; in _dl_apply_immutable()