| /netbsd/src/libexec/ld.elf_so/arch/hppa/ |
| D | hppa_reloc.c | 69 caddr_t _rtld_bind(const Obj_Entry *, const Elf_Addr); 71 void __rtld_setup_hppa_pltgot(const Obj_Entry *, Elf_Addr *); 72 void _rtld_set_dp(Elf_Addr *); 81 static inline Elf_Addr 85 return *(Elf_Addr *)where; in load_ptr() 87 Elf_Addr res; in load_ptr() 95 store_ptr(void *where, Elf_Addr val) in store_ptr() 98 *(Elf_Addr *)where = val; in store_ptr() 133 #define RTLD_MAKE_PLABEL(plabel) (((Elf_Addr)(plabel)) | (1 << 1)) 134 #define RTLD_IS_PLABEL(addr) (((Elf_Addr)(addr)) & (1 << 1)) [all …]
|
| /netbsd/src/libexec/ld.elf_so/arch/alpha/ |
| D | alpha_reloc.c | 84 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); 85 caddr_t _rtld_bind(const Obj_Entry *, Elf_Addr); 87 const Elf_Rela *, Elf_Addr *); 101 obj->pltgot[0] = (Elf_Addr) _rtld_bind_start_secureplt; in _rtld_setup_pltgot() 102 obj->pltgot[1] = (Elf_Addr) obj; in _rtld_setup_pltgot() 150 obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start_old; in _rtld_setup_pltgot() 151 obj->pltgot[3] = (Elf_Addr) obj; in _rtld_setup_pltgot() 155 obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start; in _rtld_setup_pltgot() 156 obj->pltgot[3] = (Elf_Addr) obj; in _rtld_setup_pltgot() 169 static inline Elf_Addr [all …]
|
| /netbsd/src/libexec/ld.elf_so/arch/sh3/ |
| D | mdreloc.c | 55 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); 58 const Elf_Rela *, Elf_Addr *); 63 obj->pltgot[1] = (Elf_Addr) obj; in _rtld_setup_pltgot() 64 obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start; in _rtld_setup_pltgot() 68 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in _rtld_relocate_nonplt_self() 71 Elf_Addr relasz = 0; in _rtld_relocate_nonplt_self() 72 Elf_Addr *where; in _rtld_relocate_nonplt_self() 86 where = (Elf_Addr *)(relocbase + rela->r_offset); in _rtld_relocate_nonplt_self() 87 *where = (Elf_Addr)(relocbase + rela->r_addend); in _rtld_relocate_nonplt_self() 100 Elf_Addr *where; in _rtld_relocate_nonplt_objects() [all …]
|
| /netbsd/src/libexec/ld.elf_so/arch/arm/ |
| D | mdreloc.c | 24 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); 30 obj->pltgot[1] = (Elf_Addr) obj; in _rtld_setup_pltgot() 31 obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start; in _rtld_setup_pltgot() 35 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in _rtld_relocate_nonplt_self() 38 Elf_Addr relsz = 0; in _rtld_relocate_nonplt_self() 39 Elf_Addr *where; in _rtld_relocate_nonplt_self() 53 where = (Elf_Addr *)(relocbase + rel->r_offset); in _rtld_relocate_nonplt_self() 54 *where += (Elf_Addr)relocbase; in _rtld_relocate_nonplt_self() 65 static inline Elf_Addr 68 Elf_Addr res; in load_ptr() [all …]
|
| /netbsd/src/libexec/ld.elf_so/arch/m68k/ |
| D | mdreloc.c | 58 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); 61 const Elf_Rela *, Elf_Addr *); 67 obj->pltgot[1] = (Elf_Addr) obj; in _rtld_setup_pltgot() 68 obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start; in _rtld_setup_pltgot() 72 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in _rtld_relocate_nonplt_self() 75 Elf_Addr relasz = 0; in _rtld_relocate_nonplt_self() 76 Elf_Addr *where; in _rtld_relocate_nonplt_self() 90 where = (Elf_Addr *)(relocbase + rela->r_offset); in _rtld_relocate_nonplt_self() 91 *where += (Elf_Addr)relocbase; in _rtld_relocate_nonplt_self() 104 Elf_Addr *where; in _rtld_relocate_nonplt_objects() [all …]
|
| /netbsd/src/libexec/ld.elf_so/arch/i386/ |
| D | mdreloc.c | 69 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); 78 obj->pltgot[1] = (Elf_Addr) obj; in _rtld_setup_pltgot() 79 obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start; in _rtld_setup_pltgot() 83 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in _rtld_relocate_nonplt_self() 86 Elf_Addr relsz = 0; in _rtld_relocate_nonplt_self() 87 Elf_Addr *where; in _rtld_relocate_nonplt_self() 103 where = (Elf_Addr *)(relocbase + rel->r_offset); in _rtld_relocate_nonplt_self() 104 *where += (Elf_Addr)relocbase; in _rtld_relocate_nonplt_self() 112 Elf_Addr target = 0; in _rtld_relocate_nonplt_objects() 118 Elf_Addr *where; in _rtld_relocate_nonplt_objects() [all …]
|
| /netbsd/src/libexec/ld.elf_so/arch/vax/ |
| D | mdreloc.c | 45 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); 48 const Elf_Rela *, Elf_Addr *); 53 obj->pltgot[1] = (Elf_Addr) obj; in _rtld_setup_pltgot() 54 obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start; in _rtld_setup_pltgot() 58 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in _rtld_relocate_nonplt_self() 61 Elf_Addr relasz = 0; in _rtld_relocate_nonplt_self() 62 Elf_Addr *where; in _rtld_relocate_nonplt_self() 76 where = (Elf_Addr *)(relocbase + rela->r_offset); in _rtld_relocate_nonplt_self() 77 *where = (Elf_Addr)(relocbase + rela->r_addend); in _rtld_relocate_nonplt_self() 90 Elf_Addr *where; in _rtld_relocate_nonplt_objects() [all …]
|
| /netbsd/src/libexec/ld.elf_so/arch/mips/ |
| D | mips_reloc.c | 69 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); 70 caddr_t _rtld_bind(Elf_Word, Elf_Addr, Elf_Addr, Elf_Addr); 96 #define GOT1_MASK (~(Elf_Addr)0 >> 1) 148 obj->pltgot[0] = (Elf_Addr) &_rtld_bind_start; in _rtld_setup_pltgot() 150 obj->pltgot[1] = (Elf_Addr) obj; in _rtld_setup_pltgot() 154 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in _rtld_relocate_nonplt_self() 157 Elf_Addr relsz = 0; in _rtld_relocate_nonplt_self() 160 Elf_Addr *got = NULL; in _rtld_relocate_nonplt_self() 176 got = (Elf_Addr *)(relocbase + dynp->d_un.d_ptr); in _rtld_relocate_nonplt_self() 250 Elf_Addr *got = obj->pltgot; in _rtld_relocate_nonplt_objects() [all …]
|
| /netbsd/src/libexec/ld.elf_so/arch/powerpc/ |
| D | ppc_reloc.c | 88 Elf_Addr _rtld_bind(const Obj_Entry *, Elf_Word); 89 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); 91 const Elf_Rela *, int, Elf_Addr *); 111 obj->pltgot[0] = (Elf_Addr) _rtld_bind_start[0]; in _rtld_setup_pltgot() 112 obj->pltgot[1] = (Elf_Addr) _rtld_bind_start[1]; in _rtld_setup_pltgot() 113 obj->pltgot[2] = (Elf_Addr) obj; in _rtld_setup_pltgot() 120 obj->gotptr[1] = (Elf_Addr) _rtld_bind_secureplt_start; in _rtld_setup_pltgot() 121 obj->gotptr[2] = (Elf_Addr) obj; in _rtld_setup_pltgot() 169 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in _rtld_relocate_nonplt_self() 172 Elf_Addr relasz = 0; in _rtld_relocate_nonplt_self() [all …]
|
| /netbsd/src/libexec/ld.elf_so/arch/sparc64/ |
| D | mdreloc.c | 214 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); 229 void _rtld_install_plt(Elf_Word *, Elf_Addr); 231 const Elf_Rela *, Elf_Addr *); 234 _rtld_install_plt(Elf_Word *pltgot, Elf_Addr proc) in _rtld_install_plt() 270 _rtld_install_plt(&entry[0], (Elf_Addr) &_rtld_bind_start_0); in _rtld_setup_pltgot() 271 _rtld_install_plt(&entry[8], (Elf_Addr) &_rtld_bind_start_1); in _rtld_setup_pltgot() 277 obj->pltgot[8] = (Elf_Addr) obj; in _rtld_setup_pltgot() 282 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in _rtld_relocate_nonplt_self() 285 Elf_Addr relasz = 0; in _rtld_relocate_nonplt_self() 286 Elf_Addr *where; in _rtld_relocate_nonplt_self() [all …]
|
| /netbsd/src/sys/arch/acorn32/stand/lib/ |
| D | rmreloc.c | 84 static inline Elf_Addr 87 Elf_Addr res; in load_ptr() 95 store_ptr(void *where, Elf_Addr val) in store_ptr() 112 Elf_Addr relsz = 0; in relocate_self() 134 Elf_Addr *where; in relocate_self() 135 Elf_Addr tmp; in relocate_self() 137 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in relocate_self() 145 tmp = *where + (Elf_Addr)obj->relocbase - in relocate_self() 146 (Elf_Addr)oldbase; in relocate_self() 150 (Elf_Addr)obj->relocbase - in relocate_self() [all …]
|
| /netbsd/src/libexec/ld.elf_so/arch/sparc/ |
| D | mdreloc.c | 161 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); 164 const Elf_Rela *, Elf_Addr *); 182 ((Elf_Addr) &_rtld_bind_start - (Elf_Addr) &obj->pltgot[1]) >> 2; in _rtld_setup_pltgot() 184 obj->pltgot[3] = (Elf_Addr) obj; in _rtld_setup_pltgot() 188 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in _rtld_relocate_nonplt_self() 191 Elf_Addr relasz = 0; in _rtld_relocate_nonplt_self() 192 Elf_Addr *where; in _rtld_relocate_nonplt_self() 206 where = (Elf_Addr *)(relocbase + rela->r_offset); in _rtld_relocate_nonplt_self() 207 *where += (Elf_Addr)(relocbase + rela->r_addend); in _rtld_relocate_nonplt_self() 220 Elf_Addr *where; in _rtld_relocate_nonplt_objects() [all …]
|
| /netbsd/src/libexec/ld.elf_so/ |
| D | reloc.c | 227 Elf_Addr *where; in _rtld_relocate_relr() 233 where = (Elf_Addr *)(obj->relocbase + *relr); in _rtld_relocate_relr() 234 *where++ += (Elf_Addr)obj->relocbase; in _rtld_relocate_relr() 250 *where += (Elf_Addr)obj->relocbase; in _rtld_relocate_relr() 335 Elf_Addr 338 Elf_Addr target; in _rtld_resolve_ifunc() 342 (Elf_Addr)obj->relocbase + def->st_value); in _rtld_resolve_ifunc() 347 Elf_Addr 348 _rtld_resolve_ifunc2(const Obj_Entry *obj, Elf_Addr addr) in _rtld_resolve_ifunc2() 350 Elf_Addr target; in _rtld_resolve_ifunc2() [all …]
|
| D | rtld.h | 159 Elf_Addr vaddrbase; /* Base address in shared object file */ 167 Elf_Addr *pltgot; /* PLTGOT table */ 262 const Elf_Addr *bloom_gnu; 273 Elf_Addr glink; /* global linkage */ 275 Elf_Addr *gotptr; /* GOT table (secure-plt only) */ 442 Elf_Addr _rtld_resolve_ifunc(const Obj_Entry *, const Elf_Sym *); 443 Elf_Addr _rtld_resolve_ifunc2(const Obj_Entry *, Elf_Addr); 514 Elf_Addr _rtld_function_descriptor_alloc(const Obj_Entry *, 515 const Elf_Sym *, Elf_Addr); 518 Elf_Addr _rtld_call_function_addr(const Obj_Entry *, Elf_Addr); [all …]
|
| D | map_object.c | 55 #define EA_UNDEF (~(Elf_Addr)0) 79 Elf_Addr base_alignment; in _rtld_map_object() 80 Elf_Addr base_vaddr; in _rtld_map_object() 81 Elf_Addr base_vlimit; in _rtld_map_object() 82 Elf_Addr text_vlimit; in _rtld_map_object() 83 Elf_Addr text_end; in _rtld_map_object() 86 Elf_Addr data_vaddr; in _rtld_map_object() 87 Elf_Addr data_vlimit; in _rtld_map_object() 91 Elf_Addr bss_vaddr; in _rtld_map_object() 92 Elf_Addr bss_vlimit; in _rtld_map_object() [all …]
|
| D | headers.c | 75 Elf_Addr relsz = 0, relasz = 0, relrsz = 0; in _rtld_digest_dynamic() 76 Elf_Addr pltrel = 0, pltrelsz = 0; in _rtld_digest_dynamic() 78 Elf_Addr init = 0, fini = 0; in _rtld_digest_dynamic() 243 obj->bloom_gnu = (const Elf_Addr *)(hashtab + 4); in _rtld_digest_dynamic() 280 obj->pltgot = (Elf_Addr *) in _rtld_digest_dynamic() 358 dynp->d_un.d_ptr = (Elf_Addr)&_rtld_debug; in _rtld_digest_dynamic() 394 *((Elf_Addr *)dynp->d_un.d_ptr) = in _rtld_digest_dynamic() 395 (Elf_Addr)&_rtld_debug; in _rtld_digest_dynamic() 411 *(Elf_Addr *)((Elf_Addr)dynp + dynp->d_un.d_val) = in _rtld_digest_dynamic() 412 (Elf_Addr)&_rtld_debug; in _rtld_digest_dynamic() [all …]
|
| /netbsd/src/libexec/ld.elf_so/arch/x86_64/ |
| D | mdreloc.c | 101 void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); 104 const Elf_Rela *, Elf_Addr *); 112 obj->pltgot[1] = (Elf_Addr) obj; in _rtld_setup_pltgot() 113 obj->pltgot[2] = (Elf_Addr) &_rtld_bind_start; in _rtld_setup_pltgot() 117 _rtld_relocate_nonplt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in _rtld_relocate_nonplt_self() 120 Elf_Addr relasz = 0; in _rtld_relocate_nonplt_self() 121 Elf_Addr *where; in _rtld_relocate_nonplt_self() 139 where = (Elf_Addr *)(relocbase + rela->r_offset); in _rtld_relocate_nonplt_self() 140 *where = (Elf_Addr)(relocbase + rela->r_addend); in _rtld_relocate_nonplt_self() 306 Elf_Addr *where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in _rtld_relocate_plt_lazy() [all …]
|
| /netbsd/src/external/gpl3/binutils/dist/elfcpp/ |
| D | elfcpp_internal.h | 53 typename Elf_types<size>::Elf_Addr e_entry; 73 typename Elf_types<size>::Elf_Addr sh_addr; 116 Elf_types<32>::Elf_Addr p_vaddr; 117 Elf_types<32>::Elf_Addr p_paddr; 130 Elf_types<64>::Elf_Addr p_vaddr; 131 Elf_types<64>::Elf_Addr p_paddr; 148 Elf_types<32>::Elf_Addr st_value; 162 Elf_types<64>::Elf_Addr st_value; 171 typename Elf_types<size>::Elf_Addr r_offset; 178 typename Elf_types<size>::Elf_Addr r_offset; [all …]
|
| /netbsd/src/lib/csu/common/ |
| D | crt0-common.c | 164 Elf_Addr *where, target; in fix_iplta() 171 where = (Elf_Addr *)(relocbase + rela->r_offset); in fix_iplta() 172 target = (Elf_Addr)(relocbase + rela->r_addend); in fix_iplta() 173 target = ((Elf_Addr(*)(void))target)(); in fix_iplta() 188 Elf_Addr *where, target; in fix_iplt() 195 where = (Elf_Addr *)(relocbase + rel->r_offset); in fix_iplt() 196 target = ((Elf_Addr(*)(void))*where)(); in fix_iplt() 261 Elf_Addr relrsz = 0, relocssz = 0; in relocate_self() 284 Elf_Addr *where; in relocate_self() 286 where = (Elf_Addr *)(relocbase + *relr); in relocate_self() [all …]
|
| /netbsd/src/sys/arch/m68k/m68k/ |
| D | kobj_machdep.c | 44 Elf_Addr *where; in kobj_reloc() 56 where = (Elf_Addr *)(relocbase + rela->r_offset); in kobj_reloc() 74 tmp = (Elf_Addr)(addr + rela->r_addend) - (Elf_Addr)where; in kobj_reloc() 84 tmp = (Elf_Addr)(addr + *where + rela->r_addend); in kobj_reloc() 89 *where += (Elf_Addr)(relocbase + rela->r_addend); in kobj_reloc()
|
| /netbsd/src/sys/arch/hppa/hppa/ |
| D | kobj_machdep.c | 107 static inline Elf_Addr 111 return *(Elf_Addr *)where; in load_ptr() 113 Elf_Addr res; in load_ptr() 121 store_ptr(void *where, Elf_Addr val) in store_ptr() 124 *(Elf_Addr *)where = val; in store_ptr() 133 Elf_Addr *where; in kobj_reloc() 134 Elf_Addr addr, value; in kobj_reloc() 147 where = (Elf_Addr *) (relocbase + rela->r_offset); in kobj_reloc()
|
| /netbsd/src/sys/arch/i386/i386/ |
| D | kobj_machdep.c | 76 Elf_Addr *where; in kobj_reloc() 77 Elf_Addr addr; in kobj_reloc() 78 Elf_Addr addend; in kobj_reloc() 86 where = (Elf_Addr *) (relocbase + rela->r_offset); in kobj_reloc() 92 where = (Elf_Addr *) (relocbase + rel->r_offset); in kobj_reloc() 119 addr += addend - (Elf_Addr)where; in kobj_reloc()
|
| /netbsd/src/external/gpl3/binutils/dist/gold/ |
| D | x86_64.cc | 241 typename elfcpp::Elf_types<size>::Elf_Addr got_address, in fill_first_plt_entry() 242 typename elfcpp::Elf_types<size>::Elf_Addr plt_address) in fill_first_plt_entry() 249 typename elfcpp::Elf_types<size>::Elf_Addr got_address, in fill_plt_entry() 250 typename elfcpp::Elf_types<size>::Elf_Addr plt_address, in fill_plt_entry() 262 typename elfcpp::Elf_types<size>::Elf_Addr got_address, in fill_tlsdesc_entry() 263 typename elfcpp::Elf_types<size>::Elf_Addr plt_address, in fill_tlsdesc_entry() 264 typename elfcpp::Elf_types<size>::Elf_Addr got_base, in fill_tlsdesc_entry() 277 typename elfcpp::Elf_types<size>::Elf_Addr got_addr, 278 typename elfcpp::Elf_types<size>::Elf_Addr plt_addr) 283 typename elfcpp::Elf_types<size>::Elf_Addr got_address, [all …]
|
| D | sparc.cc | 119 typename elfcpp::Elf_types<size>::Elf_Addr view_address, 163 typename elfcpp::Elf_types<size>::Elf_Addr view_address, 334 unsigned char*, typename elfcpp::Elf_types<size>::Elf_Addr, 345 typename elfcpp::Elf_types<size>::Elf_Addr, 545 typename elfcpp::Elf_types<valsize>::Elf_Addr dst_mask, in rela() 566 typename elfcpp::Elf_types<valsize>::Elf_Addr dst_mask, in rela() 610 typename elfcpp::Elf_types<valsize>::Elf_Addr dst_mask, in pcrela() 614 typename elfcpp::Elf_types<size>::Elf_Addr address) in pcrela() 634 typename elfcpp::Elf_types<size>::Elf_Addr address) in pcrela_unaligned() 653 typename elfcpp::Elf_types<size>::Elf_Addr addend, in wdisp30() [all …]
|
| /netbsd/src/sys/arch/sparc64/sparc64/ |
| D | kobj_machdep.c | 187 Elf_Addr *where; in kobj_reloc() 189 Elf_Addr value; in kobj_reloc() 190 Elf_Addr mask; in kobj_reloc() 191 Elf_Addr addr; in kobj_reloc() 199 where = (Elf_Addr *)(relocbase + rela->r_offset); in kobj_reloc() 218 value = rela->r_addend + (Elf_Addr)base; in kobj_reloc() 219 where = (Elf_Addr *)((Elf_Addr)base + rela->r_offset); in kobj_reloc() 244 value -= (Elf_Addr)where; in kobj_reloc()
|