/netbsd-src/libexec/ld.elf_so/ |
H A D | rtld.h | 323 } Obj_Entry; typedef 326 const Obj_Entry **objs; /* Array of object pointers */ 336 extern Obj_Entry *_rtld_objlist; 337 extern Obj_Entry **_rtld_objtail; 341 extern Obj_Entry *_rtld_objmain; 342 extern Obj_Entry _rtld_objself; 395 void _rtld_linkmap_add(Obj_Entry *); 396 void _rtld_linkmap_delete(Obj_Entry *); 397 void _rtld_objlist_push_head(Objlist *, Obj_Entry *); 398 void _rtld_objlist_push_tail(Objlist *, Obj_Entry *); [all …]
|
H A D | rtld.c | 95 Obj_Entry *_rtld_objlist; /* Head of linked list of shared objects */ 96 Obj_Entry **_rtld_objtail; /* Link field of last object in list */ 97 Obj_Entry *_rtld_objmain; /* The main program shared object */ 98 Obj_Entry _rtld_objself; /* The dynamic linker shared object */ 136 static void _rtld_initlist_visit(Objlist *, Obj_Entry *, int); 138 static Obj_Entry *_rtld_dlcheck(void *); 139 static void _rtld_init_dag(Obj_Entry *); 140 static void _rtld_init_dag1(Obj_Entry *, Obj_Entry *); 141 static void _rtld_objlist_remove(Objlist *, Obj_Entry *); 143 static void _rtld_unload_object(sigset_t *, Obj_Entry *, bool); [all …]
|
H A D | symbol.c | 68 _rtld_donelist_check(DoneList *dlp, const Obj_Entry *obj) in _rtld_donelist_check() 86 const Obj_Entry **defobj_out, u_int flags, const Ver_Entry *ventry, in _rtld_symlook_list() 91 const Obj_Entry *defobj; in _rtld_symlook_list() 124 const Needed_Entry *needed, const Obj_Entry **defobj_out, u_int flags, in _rtld_symlook_needed() 129 const Obj_Entry *obj, *defobj, *defobj1; in _rtld_symlook_needed() 176 const Obj_Entry *obj, u_int flags, const Ver_Entry *ventry, in _rtld_symlook_obj_matched_symbol() 296 const Obj_Entry *obj, u_int flags, const Ver_Entry *ventry) in _rtld_symlook_obj_sysv() 327 const Obj_Entry *obj, u_int flags, const Ver_Entry *ventry) in _rtld_symlook_obj_gnu() 382 const Obj_Entry *obj, u_int flags, const Ver_Entry *ventry) in _rtld_symlook_obj() 401 _rtld_find_symdef(unsigned long symnum, const Obj_Entry *refobj, in _rtld_find_symdef() [all …]
|
H A D | load.c | 65 static bool _rtld_load_by_name(const char *, Obj_Entry *, Needed_Entry **, 75 _rtld_objlist_push_head(Objlist *list, Obj_Entry *obj) in _rtld_objlist_push_head() 85 _rtld_objlist_push_tail(Objlist *list, Obj_Entry *obj) in _rtld_objlist_push_tail() 95 _rtld_objlist_find(Objlist *list, const Obj_Entry *obj) in _rtld_objlist_find() 113 Obj_Entry * 116 Obj_Entry *obj; in _rtld_load_object() 208 _rtld_load_by_name(const char *name, Obj_Entry *obj, Needed_Entry **needed, in _rtld_load_by_name() 212 Obj_Entry *o; in _rtld_load_by_name() 309 _rtld_load_needed_objects(Obj_Entry *first, int flags) in _rtld_load_needed_objects() 311 Obj_Entry *obj; in _rtld_load_needed_objects() [all …]
|
H A D | reloc.c | 63 static int _rtld_do_copy_relocation(const Obj_Entry *, const Elf_Rela *); 66 _rtld_do_copy_relocation(const Obj_Entry *dstobj, const Elf_Rela *rela) in _rtld_do_copy_relocation() 75 Obj_Entry *srcobj; in _rtld_do_copy_relocation() 126 _rtld_do_copy_relocations(const Obj_Entry *dstobj) in _rtld_do_copy_relocations() 172 _rtld_relocate_objects(Obj_Entry *first, bool bind_now) in _rtld_relocate_objects() 174 Obj_Entry *obj; in _rtld_relocate_objects() 243 _rtld_resolve_ifunc(const Obj_Entry *obj, const Elf_Sym *def) in _rtld_resolve_ifunc() 255 _rtld_resolve_ifunc2(const Obj_Entry *obj, Elf_Addr addr) in _rtld_resolve_ifunc2() 269 _rtld_call_ifunc(Obj_Entry *obj, sigset_t *mask, u_int cur_objgen) in _rtld_call_ifunc() 280 _rtld_call_ifunc(Obj_Entry *obj, sigset_t *mask, u_int cur_objgen) in _rtld_call_ifunc() [all …]
|
H A D | search.c | 65 static Obj_Entry *_rtld_search_library_path(const char *, size_t, 68 static Obj_Entry * 74 Obj_Entry *obj; in _rtld_search_library_path() 117 Obj_Entry * 118 _rtld_load_library(const char *name, const Obj_Entry *refobj, int flags) in _rtld_load_library() 125 Obj_Entry *obj; in _rtld_load_library()
|
H A D | symver.c | 72 _rtld_object_add_name(Obj_Entry *obj, const char *name) in _rtld_object_add_name() 87 _rtld_object_match_name(const Obj_Entry *obj, const char *name) in _rtld_object_match_name() 100 static Obj_Entry * 101 locate_dependency(const Obj_Entry *obj, const char *name) in locate_dependency() 133 check_object_provided_version(Obj_Entry *refobj, const Obj_Entry *depobj, in check_object_provided_version() 175 _rtld_verify_object_versions(Obj_Entry *obj) in _rtld_verify_object_versions() 182 const Obj_Entry *depobj; in _rtld_verify_object_versions()
|
/netbsd-src/libexec/ld.elf_so/arch/vax/ |
H A D | mdreloc.c | 15 caddr_t _rtld_bind(const Obj_Entry *, Elf_Word); 16 static inline int _rtld_relocate_plt_object(const Obj_Entry *, 20 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_setup_pltgot() 51 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 55 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 139 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 161 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rela *rela, Elf_Addr *tp) in _rtld_relocate_plt_object() 166 const Obj_Entry *defobj; in _rtld_relocate_plt_object() 197 _rtld_bind(const Obj_Entry *obj, Elf_Word reloff) in _rtld_bind() 215 _rtld_relocate_plt_objects(const Obj_Entry *obj) in _rtld_relocate_plt_objects()
|
/netbsd-src/libexec/ld.elf_so/arch/or1k/ |
H A D | mdreloc.c | 50 Elf_Addr _rtld_bind(const Obj_Entry *, Elf_Word); 52 static int _rtld_relocate_plt_object(const Obj_Entry *, 60 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_setup_pltgot() 95 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 99 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 213 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 235 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rela *rela, int reloff, Elf_Addr *tp) in _rtld_relocate_plt_object() 240 const Obj_Entry *defobj; in _rtld_relocate_plt_object() 269 _rtld_bind(const Obj_Entry *obj, Elf_Word reloff) in _rtld_bind() 287 _rtld_relocate_plt_objects(const Obj_Entry *ob in _rtld_relocate_plt_objects() [all...] |
/netbsd-src/libexec/ld.elf_so/arch/m68k/ |
H A D | mdreloc.c | 17 caddr_t _rtld_bind(const Obj_Entry *, Elf_Word); 18 static inline int _rtld_relocate_plt_object(const Obj_Entry *, 23 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_setup_pltgot() 54 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 58 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 184 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 205 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rela *rela, in _rtld_relocate_plt_object() 211 const Obj_Entry *defobj; in _rtld_relocate_plt_object() 243 _rtld_bind(const Obj_Entry *obj, Elf_Word reloff) in _rtld_bind() 261 _rtld_relocate_plt_objects(const Obj_Entry *ob in _rtld_relocate_plt_objects() [all...] |
/netbsd-src/libexec/ld.elf_so/arch/aarch64/ |
H A D | mdreloc.c | 94 Elf_Addr _rtld_bind(const Obj_Entry *, Elf_Word); 126 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_tlsdesc_alloc() 146 _rtld_tlsdesc_fill(const Obj_Entry *obj, const Elf_Rela *rela, Elf_Addr *where, u_int flags) in _rtld_tlsdesc_fill() 149 const Obj_Entry *defobj; in _rtld_tlsdesc_fill() 219 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 222 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 346 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 378 _rtld_call_ifunc(Obj_Entry *obj, sigset_t *mask, u_int cur_objgen) in _rtld_call_ifunc() 399 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rela *rela, in _rtld_relocate_plt_object() 405 const Obj_Entry *defob in _rtld_relocate_plt_object() [all...] |
/netbsd-src/libexec/ld.elf_so/arch/sh3/ |
H A D | mdreloc.c | 25 caddr_t _rtld_bind(const Obj_Entry *, Elf_Word); in _rtld_setup_pltgot() 26 static inline int _rtld_relocate_plt_object(const Obj_Entry *, 30 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_relocate_nonplt_self() 61 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 65 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 216 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 237 _rtld_bind(const Obj_Entry *obj, Elf_Word reloff) in _rtld_bind() 255 _rtld_relocate_plt_objects(const Obj_Entry *obj) in _rtld_relocate_plt_objects() 267 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rela *rela, Elf_Addr *tp) in _rtld_relocate_plt_object() 272 const Obj_Entry *defob in _rtld_relocate_plt_object() [all...] |
/netbsd-src/libexec/ld.elf_so/arch/x86_64/ |
H A D | mdreloc.c | 90 caddr_t _rtld_bind(const Obj_Entry *, Elf_Word); 91 static inline int _rtld_relocate_plt_object(const Obj_Entry *, 98 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_setup_pltgot() 133 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 137 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 289 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 311 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rela *rela, Elf_Addr *tp) in _rtld_relocate_plt_object() 316 const Obj_Entry *defobj; in _rtld_relocate_plt_object() 351 _rtld_bind(const Obj_Entry *obj, Elf_Word reloff) in _rtld_bind() 369 _rtld_relocate_plt_objects(const Obj_Entry *ob [all...] |
/netbsd-src/libexec/ld.elf_so/arch/riscv/ |
H A D | mdreloc.c | 60 void *_rtld_bind(const Obj_Entry *, Elf_Word); in _rtld_relocate_nonplt_self() 63 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_relocate_nonplt_self() 110 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 114 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 248 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 271 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rela *rela, in _rtld_relocate_plt_object() 275 const Obj_Entry *defobj; in _rtld_relocate_plt_object() 306 _rtld_bind(const Obj_Entry *obj, Elf_Word gotoff) in _rtld_bind() 323 _rtld_relocate_plt_objects(const Obj_Entry *obj)
|
/netbsd-src/libexec/ld.elf_so/arch/hppa/ |
H A D | hppa_reloc.c | 69 caddr_t _rtld_bind(const Obj_Entry *, const Elf_Addr); in load_ptr() 71 void __rtld_setup_hppa_pltgot(const Obj_Entry *, Elf_Addr *); in load_ptr() 164 int _rtld_relocate_plt_objects(const Obj_Entry *); 165 static inline int _rtld_relocate_plt_object(const Obj_Entry *, in _rtld_relocate_nonplt_self() 332 _rtld_function_descriptor_alloc(const Obj_Entry *defobj, const Elf_Sym *def, in _rtld_function_descriptor_alloc() 398 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_setup_pltgot() 431 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 435 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 620 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 675 _rtld_relocate_plt_object(const Obj_Entry *ob in _rtld_relocate_plt_object() [all...] |
/netbsd-src/libexec/ld.elf_so/arch/i386/ |
H A D | mdreloc.c | 16 caddr_t _rtld_bind(const Obj_Entry *, Elf_Word); 22 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_setup_pltgot() 55 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 60 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 209 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 231 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rel *rel, in _rtld_relocate_plt_object() 237 const Obj_Entry *defobj; in _rtld_relocate_plt_object() 270 _rtld_bind(const Obj_Entry *obj, Elf_Word reloff) in _rtld_bind() 289 _rtld_relocate_plt_objects(const Obj_Entry *obj) in _rtld_relocate_plt_objects()
|
/netbsd-src/libexec/ld.elf_so/arch/alpha/ |
H A D | alpha_reloc.c | 84 caddr_t _rtld_bind(const Obj_Entry *, Elf_Addr); 85 static inline int _rtld_relocate_plt_object(const Obj_Entry *, 89 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_setup_pltgot() 199 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 204 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 346 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 367 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rela *rela, in _rtld_relocate_plt_object() 373 const Obj_Entry *defobj; in _rtld_relocate_plt_object() 550 _rtld_bind(const Obj_Entry *obj, Elf_Addr reloff) in _rtld_bind() 567 _rtld_relocate_plt_objects(const Obj_Entry *ob [all...] |
/netbsd-src/libexec/ld.elf_so/arch/arm/ |
H A D | mdreloc.c | 25 caddr_t _rtld_bind(const Obj_Entry *, Elf_Word); 28 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_relocate_nonplt_self() 83 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 87 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 274 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 296 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rel *rel, in _rtld_relocate_plt_object() 302 const Obj_Entry *defobj; in _rtld_relocate_plt_object() 334 _rtld_bind(const Obj_Entry *obj, Elf_Word reloff) in _rtld_bind() 349 _rtld_relocate_plt_objects(const Obj_Entry *obj) in _rtld_relocate_plt_objects()
|
/netbsd-src/libexec/ld.elf_so/arch/sparc/ |
H A D | mdreloc.c | 162 caddr_t _rtld_bind(const Obj_Entry *, Elf_Word); in _rtld_setup_pltgot() 163 static inline int _rtld_relocate_plt_object(const Obj_Entry *, in _rtld_setup_pltgot() 167 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_setup_pltgot() 212 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 216 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 408 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 421 _rtld_bind(const Obj_Entry *obj, Elf_Word reloff) in _rtld_bind() 439 _rtld_relocate_plt_objects(const Obj_Entry *obj) in _rtld_relocate_plt_objects() 451 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rela *rela, Elf_Addr *tp) in _rtld_relocate_plt_object() 454 const Obj_Entry *defob in _rtld_relocate_plt_object() [all...] |
/netbsd-src/libexec/ld.elf_so/arch/powerpc/ |
H A D | ppc_reloc.c | 88 Elf_Addr _rtld_bind(const Obj_Entry *, Elf_Word); 90 static int _rtld_relocate_plt_object(const Obj_Entry *, in _rtld_setup_pltgot() 104 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_setup_pltgot() 193 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 197 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 376 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 437 _rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rela *rela, int reloff, Elf_Addr *tp) in _rtld_relocate_plt_object() 442 const Obj_Entry *defobj; in _rtld_relocate_plt_object() 534 _rtld_bind(const Obj_Entry *obj, Elf_Word reloff) in _rtld_bind() 556 _rtld_relocate_plt_objects(const Obj_Entry *ob [all...] |
/netbsd-src/libexec/ld.elf_so/arch/sparc64/ |
H A D | mdreloc.c | 215 caddr_t _rtld_bind(const Obj_Entry *, Elf_Word); 230 static inline int _rtld_relocate_plt_object(const Obj_Entry *, in _rtld_install_plt() 247 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_setup_pltgot() 306 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 310 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 515 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_lazy() 528 _rtld_bind(const Obj_Entry *obj, Elf_Word reloff) in _rtld_bind() 567 _rtld_relocate_plt_objects(const Obj_Entry *obj) in _rtld_relocate_plt_objects() 590 const Obj_Entry *obj) in _rtld_write_plt() 610 _rtld_relocate_plt_object(const Obj_Entry *ob in _rtld_relocate_plt_object() [all...] |
/netbsd-src/usr.bin/ldd/ |
H A D | ldd_elfxx.c | 88 static void print_needed(Obj_Entry *, const char *, const char *); 89 static void fmtprint(const char *, Obj_Entry *, const char *, const char *); 141 Obj_Entry *obj = _rtld_objlist; in ELFNAME() 167 fmtprint(const char *libname, Obj_Entry *obj, const char *fmt1, in fmtprint() 252 print_needed(Obj_Entry *obj, const char *fmt1, const char *fmt2) in print_needed()
|
H A D | ldd.c | 96 Obj_Entry *_rtld_objlist; /* Head of linked list of shared objects */ 97 Obj_Entry **_rtld_objtail = &_rtld_objlist; 102 Obj_Entry *_rtld_objmain; /* The main program shared object */
|
/netbsd-src/libexec/ld.elf_so/arch/mips/ |
H A D | mips_reloc.c | 146 _rtld_setup_pltgot(const Obj_Entry *obj) in _rtld_relocate_nonplt_self() 247 _rtld_relocate_nonplt_objects(Obj_Entry *obj) in _rtld_relocate_nonplt_objects() 252 const Obj_Entry *defobj = NULL; in _rtld_relocate_nonplt_objects() 501 _rtld_relocate_plt_lazy(Obj_Entry *obj) in _rtld_relocate_plt_object() 508 _rtld_relocate_plt_object(const Obj_Entry *obj, Elf_Word sym, Elf_Addr *tp) in _rtld_relocate_plt_object() 512 const Obj_Entry *defobj; in _rtld_relocate_plt_object() 541 const Obj_Entry *obj = (Obj_Entry *)(got[1] & GOT1_MASK); in _rtld_relocate_plt_objects() 555 _rtld_relocate_plt_objects(const Obj_Entry *obj)
|
/netbsd-src/sys/arch/acorn32/stand/lib/ |
H A D | rmreloc.c | 73 } Obj_Entry; typedef 109 Obj_Entry o = { 0 }; in relocate_self() 110 Obj_Entry *obj; in relocate_self()
|