| /freebsd-14.2/libexec/rtld-elf/powerpc64/ |
| H A D | reloc.c | 49 Elf_Addr addr; 50 Elf_Addr toc; 51 Elf_Addr env; 127 Elf_Addr relasz = 0; in reloc_non_plt_self() 128 Elf_Addr *where; in reloc_non_plt_self() 257 *(Elf_Addr **)where = *where * sizeof(Elf_Addr) in reloc_nonplt_object() 375 Elf_Addr *where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt_object() 443 Elf_Addr *where; in reloc_jmpslots() 444 Elf_Addr target; in reloc_jmpslots() 490 Elf_Addr [all …]
|
| H A D | rtld_machdep.h | 43 Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, 46 void reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase); 61 (((Elf_Addr (*)(uint32_t, uint32_t, uint64_t, uint64_t, uint64_t, \
|
| /freebsd-14.2/libexec/rtld-elf/aarch64/ |
| H A D | reloc.c | 123 Elf_Addr dtv_gen; 125 Elf_Addr tls_offs; 128 static Elf_Addr 138 return ((Elf_Addr)tlsdesc); in reloc_tlsdesc_alloc() 147 Elf_Addr offs; in reloc_tlsdesc() 190 Elf_Addr *where; in reloc_plt() 234 Elf_Addr *where, target; in reloc_jmpslots() 313 Elf_Addr *where, target; in reloc_gnu_ifunc() 340 Elf_Addr 341 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() [all …]
|
| H A D | rtld_machdep.h | 45 Elf_Addr _dynamic_addr; \ 50 Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, 71 (((Elf_Addr (*)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, \
|
| /freebsd-14.2/lib/libc/gen/ |
| H A D | tls.c | 202 Elf_Addr *dtv; in __libc_free_tls() 203 Elf_Addr **tls; in __libc_free_tls() 205 tls = (Elf_Addr **)tcb; in __libc_free_tls() 234 Elf_Addr *dtv, **tcb; in __libc_allocate_tls() 304 Elf_Addr* dtv; in __libc_free_tls() 305 Elf_Addr tlsstart, tlsend; in __libc_free_tls() 315 tlsend = (Elf_Addr) tcb; in __libc_free_tls() 329 Elf_Addr *dtv; in __libc_allocate_tls() 351 ((Elf_Addr*)segbase)[1] = (Elf_Addr) dtv; in __libc_allocate_tls() 370 _rtld_free_tls(oldtls, 2*sizeof(Elf_Addr), sizeof(Elf_Addr)); in __libc_allocate_tls() [all …]
|
| /freebsd-14.2/libexec/rtld-elf/arm/ |
| H A D | reloc.c | 91 Elf_Addr relsz = 0; in _rtld_relocate_nonplt_self() 92 Elf_Addr *where; in _rtld_relocate_nonplt_self() 118 static __inline Elf_Addr 121 Elf_Addr res; in load_ptr() 139 Elf_Addr *where; in reloc_nonplt_object() 142 Elf_Addr tmp; in reloc_nonplt_object() 357 Elf_Addr *where; in reloc_plt() 378 Elf_Addr *where; in reloc_jmpslots() 379 Elf_Addr target; in reloc_jmpslots() 429 Elf_Addr [all …]
|
| /freebsd-14.2/libexec/rtld-elf/powerpc/ |
| H A D | reloc.c | 132 Elf_Addr relasz = 0; in reloc_non_plt_self() 133 Elf_Addr *where; in reloc_non_plt_self() 262 *(Elf_Addr **)where = *where * sizeof(Elf_Addr) in reloc_nonplt_object() 378 Elf_Addr distance; in reloc_plt_object() 395 distance = (Elf_Addr)pltresolve - (Elf_Addr)(where + 1); in reloc_plt_object() 482 Elf_Addr *where; in reloc_jmpslots() 483 Elf_Addr target; in reloc_jmpslots() 525 Elf_Addr 526 reloc_jmpslot(Elf_Addr *wherep, Elf_Addr target, in reloc_jmpslot() 529 Elf_Addr offset; in reloc_jmpslot() [all …]
|
| H A D | rtld_machdep.h | 43 Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, 46 void reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase); 61 (((Elf_Addr (*)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, \
|
| /freebsd-14.2/libexec/rtld-elf/amd64/ |
| H A D | reloc.c | 120 obj->pltgot[1] = (Elf_Addr) obj; in init_pltgot() 135 Elf_Addr *where, symval; in reloc_non_plt() 206 symval = (Elf_Addr)defobj->relocbase + in reloc_non_plt() 293 *where += (Elf_Addr)defobj->tlsindex; in reloc_non_plt() 336 Elf_Addr *where; in reloc_plt() 342 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 369 Elf_Addr *where, target; in reloc_jmpslots() 402 Elf_Addr 403 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() 420 Elf_Addr *where, target, *ptr; in reloc_iresolve_one() [all …]
|
| /freebsd-14.2/libexec/rtld-elf/i386/ |
| H A D | reloc.c | 118 obj->pltgot[1] = (Elf_Addr) obj; in init_pltgot() 133 Elf_Addr *where, symval, add; in reloc_non_plt() 231 *where += (Elf_Addr)obj->relocbase; in reloc_non_plt() 262 *where += (Elf_Addr) def->st_value; in reloc_non_plt() 289 Elf_Addr *where/*, val*/; in reloc_plt() 295 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 322 Elf_Addr *where, target; in reloc_jmpslots() 356 Elf_Addr 357 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() 373 Elf_Addr *where, target; in reloc_iresolve_one() [all …]
|
| H A D | rtld_machdep.h | 42 ((const Elf_Dyn *)((obj)->relocbase + (Elf_Addr)&_DYNAMIC)) 44 Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, 62 (((Elf_Addr (*)(uint32_t, uint32_t, uint32_t, uint32_t))(ptr))( \
|
| /freebsd-14.2/libexec/rtld-elf/riscv/ |
| H A D | reloc.c | 79 obj->pltgot[0] = (Elf_Addr)&_rtld_bind_start; in init_pltgot() 80 obj->pltgot[1] = (Elf_Addr)obj; in init_pltgot() 154 Elf_Addr *where; in reloc_plt() 158 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt() 159 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 179 Elf_Addr *where; in reloc_jmpslots() 230 Elf_Addr 231 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() 255 Elf_Addr *where; in reloc_non_plt() 298 *where += (Elf_Addr)defobj->tlsindex; in reloc_non_plt() [all …]
|
| H A D | rtld_machdep.h | 52 Elf_Addr _dynamic_addr; \ 57 Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, 81 (((Elf_Addr (*)(void))ptr)())
|
| /freebsd-14.2/sys/arm/arm/ |
| H A D | elf_machdep.c | 162 static __inline Elf_Addr 163 load_ptr(Elf_Addr *where) in load_ptr() 165 Elf_Addr res; in load_ptr() 174 store_ptr(Elf_Addr *where, Elf_Addr val) in store_ptr() 185 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() 188 Elf_Addr *where; in elf_reloc_internal() 189 Elf_Addr addr; in elf_reloc_internal() 190 Elf_Addr addend; in elf_reloc_internal() 199 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 206 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() [all …]
|
| /freebsd-14.2/sys/powerpc/powerpc/ |
| H A D | elf32_machdep.c | 239 Elf_Addr *where; in elf_reloc_internal() 241 Elf_Addr addr; in elf_reloc_internal() 242 Elf_Addr addend, val; in elf_reloc_internal() 339 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() 342 Elf_Addr relasz = 0; in elf_reloc_self() 343 Elf_Addr *where; in elf_reloc_self() 367 *where = (Elf_Addr)(relocbase + rela->r_addend); in elf_reloc_self() 421 Elf_Addr *got; in elf_cpu_parse_dynamic() 427 got = (Elf_Addr *)(loadbase + dp->d_un.d_ptr); in elf_cpu_parse_dynamic() 429 got[1] = (Elf_Addr)ppc32_runtime_resolve; in elf_cpu_parse_dynamic() [all …]
|
| H A D | elf64_machdep.c | 201 void elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase); 327 Elf_Addr *where; in elf_reloc_internal() 328 Elf_Addr addr; in elf_reloc_internal() 329 Elf_Addr addend, val; in elf_reloc_internal() 340 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 368 memcpy(where, (Elf_Addr *)addr, 3*sizeof(Elf_Addr)); in elf_reloc_internal() 391 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() 394 Elf_Addr relasz = 0; in elf_reloc_self() 395 Elf_Addr *where; in elf_reloc_self() 418 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_self() [all …]
|
| /freebsd-14.2/libexec/rtld-elf/ |
| H A D | rtld.h | 51 extern Elf_Addr tls_dtv_generation; 150 Elf_Addr vaddrbase; /* Base address in shared object file */ 172 Elf_Addr *pltgot; /* PLT or GOT, depending on architecture */ 188 Elf_Addr glink; /* GLINK PLT call stub section */ 190 Elf_Addr *gotptr; /* GOT pointer (secure-plt only) */ 225 Elf_Addr init; /* Initialization function to call */ 226 Elf_Addr fini; /* Termination function to call */ 228 Elf_Addr init_array; /* Initialization array of functions */ 229 Elf_Addr fini_array; /* Termination array of functions */ 397 extern Elf_Addr _GLOBAL_OFFSET_TABLE_[]; [all …]
|
| H A D | map_object.c | 77 Elf_Addr base_vaddr; in map_object() 78 Elf_Addr base_vlimit; in map_object() 82 Elf_Addr data_vaddr; in map_object() 83 Elf_Addr data_vlimit; in map_object() 90 Elf_Addr phdr_vaddr; in map_object() 92 Elf_Addr bss_vaddr; in map_object() 93 Elf_Addr bss_vlimit; in map_object() 96 Elf_Addr relro_page; in map_object() 98 Elf_Addr note_start; in map_object() 99 Elf_Addr note_end; in map_object() [all …]
|
| /freebsd-14.2/stand/common/ |
| H A D | reloc_elf.c | 49 int reltype, Elf_Addr relbase, Elf_Addr dataaddr, void *data, size_t len) in __elfN() 54 Elf_Addr addend, addr; in __elfN() 65 where = (Elf_Addr *)((char *)data + relbase + rel->r_offset - in __elfN() 76 where = (Elf_Addr *)((char *)data + relbase + rela->r_offset - in __elfN() 109 addr = (Elf_Addr)addend + relbase; in __elfN() 132 Elf_Addr addend, addr, *where, val; in __elfN() 140 where = (Elf_Addr *)((char *)data + relbase + rel->r_offset - in __elfN() 149 where = (Elf_Addr *)((char *)data + relbase + rela->r_offset - in __elfN()
|
| H A D | load_elf_obj.c | 73 const char *name, Elf_Addr *startp, Elf_Addr *stopp, int *countp); 75 Elf_Addr p, void *val, size_t len); 269 shdr[i].sh_addr = (Elf_Addr)lastaddr; in __elfN() 325 shdr[i].sh_addr = (Elf_Addr)lastaddr; in __elfN() 407 Elf_Addr v, p, p_stop; in __elfN() 434 p += sizeof(Elf_Addr); in __elfN() 470 const char* name, Elf_Addr *startp, Elf_Addr *stopp, int *countp) in __elfN() 512 Elf_Addr off = p; in __elfN() 513 Elf_Addr base; in __elfN() 564 static Elf_Addr [all …]
|
| /freebsd-14.2/sys/arm64/arm64/ |
| H A D | elf_machdep.c | 157 reloc_instr_imm(Elf32_Addr *where, Elf_Addr val, u_int msb, u_int lsb) in reloc_instr_imm() 174 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() 179 Elf_Addr *where, addr, addend, val; in elf_reloc_internal() 188 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 195 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 227 addr + addend - (Elf_Addr)where, 15, 2); in elf_reloc_internal() 234 addr + addend - (Elf_Addr)where, 20, 2); in elf_reloc_internal() 242 addr + addend - (Elf_Addr)where, 27, 2); in elf_reloc_internal() 267 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() 277 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() [all …]
|
| /freebsd-14.2/sys/i386/i386/ |
| H A D | elf_machdep.c | 173 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() 176 Elf_Addr *where; in elf_reloc_internal() 177 Elf_Addr addr; in elf_reloc_internal() 178 Elf_Addr addend; in elf_reloc_internal() 187 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 194 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 229 addr += addend - (Elf_Addr)where; in elf_reloc_internal() 258 addr = ((Elf_Addr (*)(void))addr)(); in elf_reloc_internal() 272 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() 280 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local()
|
| /freebsd-14.2/lib/libc/csu/aarch64/ |
| H A D | reloc.c | 30 typedef Elf_Addr (*ifunc_resolver_t)( in crt1_handle_rela() 33 Elf_Addr *ptr, *where, target; in crt1_handle_rela() 37 ptr = (Elf_Addr *)r->r_addend; in crt1_handle_rela() 38 where = (Elf_Addr *)r->r_offset; in crt1_handle_rela()
|
| /freebsd-14.2/lib/libc/csu/amd64/ |
| H A D | reloc.c | 54 Elf_Addr *ptr, *where, target; in crt1_handle_rela() 58 ptr = (Elf_Addr *)r->r_addend; in crt1_handle_rela() 59 where = (Elf_Addr *)r->r_offset; in crt1_handle_rela() 60 target = ((Elf_Addr (*)(uint32_t, uint32_t, uint32_t, in crt1_handle_rela()
|
| /freebsd-14.2/lib/libc/csu/powerpc64/ |
| H A D | reloc.c | 52 typedef Elf_Addr (*ifunc_resolver_t)( in crt1_handle_rela() 55 Elf_Addr *ptr, *where, target; in crt1_handle_rela() 59 ptr = (Elf_Addr *)r->r_addend; in crt1_handle_rela() 60 where = (Elf_Addr *)r->r_offset; in crt1_handle_rela()
|