| /freebsd-13.1/libexec/rtld-elf/powerpc64/ |
| H A D | reloc.c | 51 Elf_Addr addr; 52 Elf_Addr toc; 53 Elf_Addr env; 130 Elf_Addr *where; in reloc_non_plt_self() 259 *(Elf_Addr **)where = *where * sizeof(Elf_Addr) in reloc_nonplt_object() 377 Elf_Addr *where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt_object() 445 Elf_Addr *where; in reloc_jmpslots() 446 Elf_Addr target; in reloc_jmpslots() 492 Elf_Addr 712 Elf_Addr **tp; in allocate_initial_tls() [all …]
|
| H A D | rtld_machdep.h | 42 Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, 45 void reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase); 60 (((Elf_Addr (*)(uint32_t, uint32_t, uint64_t, uint64_t, uint64_t, \
|
| /freebsd-13.1/libexec/rtld-elf/aarch64/ |
| H A D | reloc.c | 126 Elf_Addr dtv_gen; 128 Elf_Addr tls_offs; 131 static Elf_Addr 150 Elf_Addr offs; in reloc_tlsdesc() 193 Elf_Addr *where; in reloc_plt() 237 Elf_Addr *where, target; in reloc_jmpslots() 316 Elf_Addr *where, target; in reloc_gnu_ifunc() 343 Elf_Addr 344 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() 375 Elf_Addr *where, symval; in reloc_non_plt() [all …]
|
| H A D | rtld_machdep.h | 44 Elf_Addr _dynamic_addr; \ 49 Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, 70 (((Elf_Addr (*)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, \
|
| /freebsd-13.1/libexec/rtld-elf/mips/ |
| H A D | reloc.c | 220 Elf_Addr relsz = 0; in _rtld_relocate_nonplt_self() 222 Elf_Addr *where; in _rtld_relocate_nonplt_self() 311 Elf_Addr 432 if ((Elf_Addr)(*got) == (Elf_Addr)obj->relocbase) { in reloc_non_plt() 442 if ((Elf_Addr)(*got) == (Elf_Addr)obj->relocbase) { in reloc_non_plt() 456 if ((Elf_Addr)(*got) == (Elf_Addr)obj->relocbase) { in reloc_non_plt() 662 Elf_Addr *where; in reloc_plt() 692 Elf_Addr *where; in reloc_jmpslots() 743 Elf_Addr 744 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() [all …]
|
| H A D | rtld_machdep.h | 43 Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, 46 Elf_Addr _mips_rtld_bind(struct Struct_Obj_Entry *obj, Elf_Size reloff); 58 (((Elf_Addr (*)(void))ptr)())
|
| /freebsd-13.1/libexec/rtld-elf/powerpc/ |
| H A D | reloc.c | 135 Elf_Addr *where; in reloc_non_plt_self() 264 *(Elf_Addr **)where = *where * sizeof(Elf_Addr) in reloc_nonplt_object() 380 Elf_Addr distance; in reloc_plt_object() 397 distance = (Elf_Addr)pltresolve - (Elf_Addr)(where + 1); in reloc_plt_object() 484 Elf_Addr *where; in reloc_jmpslots() 485 Elf_Addr target; in reloc_jmpslots() 527 Elf_Addr 528 reloc_jmpslot(Elf_Addr *wherep, Elf_Addr target, in reloc_jmpslot() 531 Elf_Addr offset; in reloc_jmpslot() 590 distance = (Elf_Addr)pltcall - (Elf_Addr)(wherep + 1); in reloc_jmpslot() [all …]
|
| H A D | rtld_machdep.h | 42 Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, 45 void reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase); 60 (((Elf_Addr (*)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, \
|
| /freebsd-13.1/libexec/rtld-elf/arm/ |
| H A D | reloc.c | 132 Elf_Addr relsz = 0; in _rtld_relocate_nonplt_self() 133 Elf_Addr *where; in _rtld_relocate_nonplt_self() 161 static __inline Elf_Addr 164 Elf_Addr res; in load_ptr() 182 Elf_Addr *where; in reloc_nonplt_object() 185 Elf_Addr tmp; in reloc_nonplt_object() 400 Elf_Addr *where; in reloc_plt() 421 Elf_Addr *where; in reloc_jmpslots() 422 Elf_Addr target; in reloc_jmpslots() 472 Elf_Addr [all …]
|
| /freebsd-13.1/lib/libc/gen/ |
| H A D | tls.c | 95 Elf_Addr **dtvp, *dtv; in __libc_tls_get_addr() 215 Elf_Addr *dtv; in __libc_free_tls() 216 Elf_Addr **tls; in __libc_free_tls() 218 tls = (Elf_Addr **)tcb; in __libc_free_tls() 247 Elf_Addr *dtv, **tcb; in __libc_allocate_tls() 319 Elf_Addr* dtv; in __libc_free_tls() 330 tlsend = (Elf_Addr) tcb; in __libc_free_tls() 344 Elf_Addr *dtv; in __libc_allocate_tls() 366 ((Elf_Addr*)segbase)[1] = (Elf_Addr) dtv; in __libc_allocate_tls() 385 _rtld_free_tls(oldtls, 2*sizeof(Elf_Addr), sizeof(Elf_Addr)); in __libc_allocate_tls() [all …]
|
| /freebsd-13.1/libexec/rtld-elf/i386/ |
| H A D | reloc.c | 120 obj->pltgot[1] = (Elf_Addr) obj; in init_pltgot() 135 Elf_Addr *where, symval, add; in reloc_non_plt() 291 Elf_Addr *where/*, val*/; in reloc_plt() 324 Elf_Addr *where, target; in reloc_jmpslots() 358 Elf_Addr 359 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() 375 Elf_Addr *where, target; in reloc_iresolve_one() 428 Elf_Addr *where, target; in reloc_gnu_ifunc() 516 tls = allocate_tls(objs, NULL, 3*sizeof(Elf_Addr), sizeof(Elf_Addr)); in allocate_initial_tls() 525 Elf_Addr **dtvp; in ___tls_get_addr() [all …]
|
| H A D | rtld_machdep.h | 41 ((const Elf_Dyn *)((obj)->relocbase + (Elf_Addr)&_DYNAMIC)) 43 Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, 61 (((Elf_Addr (*)(uint32_t, uint32_t, uint32_t, uint32_t))(ptr))( \
|
| /freebsd-13.1/libexec/rtld-elf/amd64/ |
| H A D | reloc.c | 121 obj->pltgot[1] = (Elf_Addr) obj; in init_pltgot() 136 Elf_Addr *where, symval; in reloc_non_plt() 337 Elf_Addr *where; in reloc_plt() 343 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 370 Elf_Addr *where, target; in reloc_jmpslots() 403 Elf_Addr 404 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() 421 Elf_Addr *where, target, *ptr; in reloc_iresolve_one() 476 Elf_Addr *where, target; in reloc_gnu_ifunc() 533 addr = allocate_tls(objs, 0, 3 * sizeof(Elf_Addr), sizeof(Elf_Addr)); in allocate_initial_tls() [all …]
|
| /freebsd-13.1/libexec/rtld-elf/riscv/ |
| H A D | reloc.c | 81 obj->pltgot[0] = (Elf_Addr)&_rtld_bind_start; in init_pltgot() 82 obj->pltgot[1] = (Elf_Addr)obj; in init_pltgot() 156 Elf_Addr *where; in reloc_plt() 161 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 181 Elf_Addr *where; in reloc_jmpslots() 232 Elf_Addr 233 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() 257 Elf_Addr *where; in reloc_non_plt() 300 *where += (Elf_Addr)defobj->tlsindex; in reloc_non_plt() 390 Elf_Addr **tp; in allocate_initial_tls() [all …]
|
| H A D | rtld_machdep.h | 51 Elf_Addr _dynamic_addr; \ 56 Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, 80 (((Elf_Addr (*)(void))ptr)())
|
| /freebsd-13.1/libexec/rtld-elf/ |
| H A D | rtld.h | 53 extern Elf_Addr tls_dtv_generation; 150 Elf_Addr vaddrbase; /* Base address in shared object file */ 190 Elf_Addr *mips_pltgot; /* Second PLT GOT */ 194 Elf_Addr glink; /* GLINK PLT call stub section */ 196 Elf_Addr *gotptr; /* GOT pointer (secure-plt only) */ 231 Elf_Addr init; /* Initialization function to call */ 232 Elf_Addr fini; /* Termination function to call */ 234 Elf_Addr init_array; /* Initialization array of functions */ 235 Elf_Addr fini_array; /* Termination array of functions */ 372 extern Elf_Addr _GLOBAL_OFFSET_TABLE_[]; [all …]
|
| /freebsd-13.1/sys/arm/arm/ |
| H A D | elf_machdep.c | 171 static __inline Elf_Addr 172 load_ptr(Elf_Addr *where) in load_ptr() 174 Elf_Addr res; in load_ptr() 183 store_ptr(Elf_Addr *where, Elf_Addr val) in store_ptr() 194 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() 197 Elf_Addr *where; in elf_reloc_internal() 198 Elf_Addr addr; in elf_reloc_internal() 199 Elf_Addr addend; in elf_reloc_internal() 208 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 215 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() [all …]
|
| /freebsd-13.1/sys/powerpc/powerpc/ |
| H A D | elf32_machdep.c | 238 Elf_Addr *where; in elf_reloc_internal() 240 Elf_Addr addr; in elf_reloc_internal() 241 Elf_Addr addend, val; in elf_reloc_internal() 338 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() 341 Elf_Addr relasz = 0; in elf_reloc_self() 342 Elf_Addr *where; in elf_reloc_self() 366 *where = (Elf_Addr)(relocbase + rela->r_addend); in elf_reloc_self() 420 Elf_Addr *got; in elf_cpu_parse_dynamic() 426 got = (Elf_Addr *)(loadbase + dp->d_un.d_ptr); in elf_cpu_parse_dynamic() 428 got[1] = (Elf_Addr)ppc32_runtime_resolve; in elf_cpu_parse_dynamic() [all …]
|
| H A D | elf64_machdep.c | 196 void elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase); 322 Elf_Addr *where; in elf_reloc_internal() 323 Elf_Addr addr; in elf_reloc_internal() 324 Elf_Addr addend, val; in elf_reloc_internal() 335 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 363 memcpy(where, (Elf_Addr *)addr, 3*sizeof(Elf_Addr)); in elf_reloc_internal() 386 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() 389 Elf_Addr relasz = 0; in elf_reloc_self() 390 Elf_Addr *where; in elf_reloc_self() 413 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_self() [all …]
|
| /freebsd-13.1/sys/mips/mips/ |
| H A D | elf_machdep.c | 174 Elf_Addr ahl; 184 mips_tmp_reloc_add(Elf_Addr ahl, Elf32_Addr *where_hi16) in mips_tmp_reloc_add() 257 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() 261 Elf_Addr addr; in elf_reloc_internal() 262 Elf_Addr addend = (Elf_Addr)0; in elf_reloc_internal() 270 static Elf_Addr last_ahl; in elf_reloc_internal() 324 addr += ((Elf_Addr)where & 0xf0000000) | addend; in elf_reloc_internal() 396 Elf_Addr tmp_ahl; in elf_reloc_internal() 397 Elf_Addr tmp_addend; in elf_reloc_internal() 421 Elf_Addr rahl; in elf_reloc_internal() [all …]
|
| /freebsd-13.1/sys/arm64/arm64/ |
| H A D | elf_machdep.c | 131 reloc_instr_imm(Elf32_Addr *where, Elf_Addr val, u_int msb, u_int lsb) in reloc_instr_imm() 148 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() 153 Elf_Addr *where, addr, addend, val; in elf_reloc_internal() 162 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 169 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 201 addr + addend - (Elf_Addr)where, 15, 2); in elf_reloc_internal() 208 addr + addend - (Elf_Addr)where, 20, 2); in elf_reloc_internal() 216 addr + addend - (Elf_Addr)where, 27, 2); in elf_reloc_internal() 241 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() 251 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() [all …]
|
| /freebsd-13.1/stand/common/ |
| H A D | reloc_elf.c | 53 int reltype, Elf_Addr relbase, Elf_Addr dataaddr, void *data, size_t len) in __elfN() 58 Elf_Addr addend, addr; in __elfN() 66 where = (Elf_Addr *)((char *)data + relbase + rel->r_offset - in __elfN() 75 where = (Elf_Addr *)((char *)data + relbase + rela->r_offset - in __elfN() 106 addr = (Elf_Addr)addend + relbase; in __elfN() 129 Elf_Addr addend, addr, *where, val; in __elfN() 137 where = (Elf_Addr *)((char *)data + relbase + rel->r_offset - in __elfN() 146 where = (Elf_Addr *)((char *)data + relbase + rela->r_offset - in __elfN()
|
| H A D | load_elf_obj.c | 77 const char *name, Elf_Addr *startp, Elf_Addr *stopp, int *countp); 79 Elf_Addr p, void *val, size_t len); 272 shdr[i].sh_addr = (Elf_Addr)lastaddr; in __elfN() 328 shdr[i].sh_addr = (Elf_Addr)lastaddr; in __elfN() 408 Elf_Addr v, p, p_stop; in __elfN() 435 p += sizeof(Elf_Addr); in __elfN() 471 const char* name, Elf_Addr *startp, Elf_Addr *stopp, int *countp) in __elfN() 513 Elf_Addr off = p; in __elfN() 514 Elf_Addr base; in __elfN() 565 static Elf_Addr [all …]
|
| /freebsd-13.1/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() 257 addr = ((Elf_Addr (*)(void))addr)(); in elf_reloc_internal() 271 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() 279 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local()
|
| /freebsd-13.1/lib/csu/aarch64/ |
| H A D | reloc.c | 33 typedef Elf_Addr (*ifunc_resolver_t)( in crt1_handle_rela() 36 Elf_Addr *ptr, *where, target; in crt1_handle_rela() 40 ptr = (Elf_Addr *)r->r_addend; in crt1_handle_rela() 41 where = (Elf_Addr *)r->r_offset; in crt1_handle_rela()
|