| /freebsd-12.1/libexec/rtld-elf/powerpc64/ |
| H A D | reloc.c | 50 Elf_Addr addr; 51 Elf_Addr toc; 52 Elf_Addr env; 129 Elf_Addr *where; in reloc_non_plt_self() 257 *(Elf_Addr **)where = *where * sizeof(Elf_Addr) in reloc_nonplt_object() 343 Elf_Addr *where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt_object() 399 Elf_Addr *where; in reloc_jmpslots() 400 Elf_Addr target; in reloc_jmpslots() 438 Elf_Addr 551 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); 57 (((Elf_Addr (*)(void))ptr)())
|
| /freebsd-12.1/libexec/rtld-elf/aarch64/ |
| H A D | reloc.c | 126 Elf_Addr dtv_gen; 128 Elf_Addr tls_offs; 133 static Elf_Addr 152 Elf_Addr offs; in reloc_tlsdesc() 194 Elf_Addr *where; in reloc_plt() 237 Elf_Addr *where, target; in reloc_jmpslots() 291 Elf_Addr *where, target; in reloc_gnu_ifunc() 318 Elf_Addr 319 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() 356 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-12.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() 734 Elf_Addr 735 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); 60 (((Elf_Addr (*)(void))ptr)())
|
| /freebsd-12.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() 463 Elf_Addr [all …]
|
| /freebsd-12.1/libexec/rtld-elf/powerpc/ |
| H A D | reloc.c | 133 Elf_Addr *where; in reloc_non_plt_self() 260 *(Elf_Addr **)where = *where * sizeof(Elf_Addr) in reloc_nonplt_object() 344 Elf_Addr distance; in reloc_plt_object() 356 distance = (Elf_Addr)pltresolve - (Elf_Addr)(where + 1); in reloc_plt_object() 434 Elf_Addr *where; in reloc_jmpslots() 435 Elf_Addr target; in reloc_jmpslots() 473 Elf_Addr 474 reloc_jmpslot(Elf_Addr *wherep, Elf_Addr target, in reloc_jmpslot() 477 Elf_Addr offset; in reloc_jmpslot() 518 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); 57 (((Elf_Addr (*)(void))ptr)())
|
| /freebsd-12.1/lib/libc/gen/ |
| H A D | tls.c | 223 Elf_Addr *dtv; in __libc_free_tls() 224 Elf_Addr **tls; in __libc_free_tls() 226 tls = (Elf_Addr **)tcb; in __libc_free_tls() 255 Elf_Addr *dtv, **tcb; in __libc_allocate_tls() 326 Elf_Addr* dtv; in __libc_free_tls() 327 Elf_Addr tlsstart, tlsend; in __libc_free_tls() 337 tlsend = (Elf_Addr) tcb; in __libc_free_tls() 351 Elf_Addr *dtv; in __libc_allocate_tls() 373 ((Elf_Addr*)segbase)[1] = (Elf_Addr) dtv; in __libc_allocate_tls() 392 _rtld_free_tls(oldtls, 2*sizeof(Elf_Addr), sizeof(Elf_Addr)); in __libc_allocate_tls() [all …]
|
| /freebsd-12.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() 333 Elf_Addr *where; in reloc_plt() 339 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 366 Elf_Addr *where, target; in reloc_jmpslots() 399 Elf_Addr 400 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() 423 Elf_Addr *where, target, *ptr; in reloc_iresolve() 453 Elf_Addr *where, target; in reloc_gnu_ifunc() 516 addr = allocate_tls(objs, 0, 3 * sizeof(Elf_Addr), sizeof(Elf_Addr)); in allocate_initial_tls() [all …]
|
| /freebsd-12.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() 284 Elf_Addr *where/*, val*/; in reloc_plt() 317 Elf_Addr *where, target; in reloc_jmpslots() 351 Elf_Addr 352 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() 369 Elf_Addr *where, target; in reloc_iresolve() 399 Elf_Addr *where, target; in reloc_gnu_ifunc() 493 tls = allocate_tls(objs, NULL, 3*sizeof(Elf_Addr), sizeof(Elf_Addr)); in allocate_initial_tls() 501 Elf_Addr** segbase; 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-12.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() 223 Elf_Addr 224 reloc_jmpslot(Elf_Addr *where, Elf_Addr target, in reloc_jmpslot() 248 Elf_Addr *where; in reloc_non_plt() 291 *where += (Elf_Addr)defobj->tlsindex; in reloc_non_plt() 387 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-12.1/libexec/rtld-elf/sparc64/ |
| H A D | reloc.c | 337 Elf_Addr *where; in reloc_nonplt_object() 340 Elf_Addr value; in reloc_nonplt_object() 341 Elf_Addr mask; in reloc_nonplt_object() 459 Elf_Addr tmp; in reloc_nonplt_object() 498 Elf_Addr *where; in reloc_plt() 499 Elf_Addr value; in reloc_plt() 543 Elf_Addr *where; in reloc_jmpslots() 544 Elf_Addr target; in reloc_jmpslots() 581 Elf_Addr 586 Elf_Addr offset; in reloc_jmpslot() [all …]
|
| /freebsd-12.1/sys/powerpc/powerpc/ |
| H A D | elf64_machdep.c | 289 Elf_Addr *where; in elf_reloc_internal() 290 Elf_Addr addr; in elf_reloc_internal() 291 Elf_Addr addend; in elf_reloc_internal() 302 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 331 memcpy(where, (Elf_Addr *)addr, 3*sizeof(Elf_Addr)); in elf_reloc_internal() 333 memcpy(where, (Elf_Addr *)addr, sizeof(Elf_Addr)); in elf_reloc_internal() 347 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() 350 Elf_Addr relasz = 0; in elf_reloc_self() 351 Elf_Addr *where; in elf_reloc_self() 374 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_self() [all …]
|
| H A D | elf32_machdep.c | 167 void elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase); 228 Elf_Addr *where; in elf_reloc_internal() 230 Elf_Addr addr; in elf_reloc_internal() 231 Elf_Addr addend; in elf_reloc_internal() 242 where = (Elf_Addr *) ((uintptr_t)relocbase + rela->r_offset); in elf_reloc_internal() 308 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() 311 Elf_Addr relasz = 0; in elf_reloc_self() 312 Elf_Addr *where; in elf_reloc_self() 335 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_self() 336 *where = (Elf_Addr)(relocbase + rela->r_addend); in elf_reloc_self() [all …]
|
| /freebsd-12.1/libexec/rtld-elf/ |
| H A D | rtld.h | 57 extern Elf_Addr tls_dtv_generation; 155 Elf_Addr vaddrbase; /* Base address in shared object file */ 176 Elf_Addr *pltgot; /* PLT or GOT, depending on architecture */ 192 Elf_Addr *mips_pltgot; /* Second PLT GOT */ 195 Elf_Addr glink; /* GLINK PLT call stub section */ 229 Elf_Addr init; /* Initialization function to call */ 230 Elf_Addr fini; /* Termination function to call */ 232 Elf_Addr init_array; /* Initialization array of functions */ 233 Elf_Addr fini_array; /* Termination array of functions */ 366 extern Elf_Addr _GLOBAL_OFFSET_TABLE_[]; [all …]
|
| /freebsd-12.1/sys/arm/arm/ |
| H A D | elf_machdep.c | 165 static __inline Elf_Addr 166 load_ptr(Elf_Addr *where) in load_ptr() 168 Elf_Addr res; in load_ptr() 177 store_ptr(Elf_Addr *where, Elf_Addr val) in store_ptr() 189 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() 192 Elf_Addr *where; in elf_reloc_internal() 193 Elf_Addr addr; in elf_reloc_internal() 194 Elf_Addr addend; in elf_reloc_internal() 203 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 210 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() [all …]
|
| /freebsd-12.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() 82 Elf_Addr addend, addr; in __elfN() 90 where = (Elf_Addr *)((char *)data + relbase + rel->r_offset - in __elfN() 99 where = (Elf_Addr *)((char *)data + relbase + rela->r_offset - in __elfN() 129 addr = (Elf_Addr)addend + relbase; in __elfN() 143 Elf_Addr addend, addr, *where, val; in __elfN() 151 where = (Elf_Addr *)((char *)data + relbase + rel->r_offset - in __elfN() 160 where = (Elf_Addr *)((char *)data + relbase + rela->r_offset - in __elfN()
|
| H A D | load_elf_obj.c | 68 const char *name, Elf_Addr *startp, Elf_Addr *stopp, int *countp); 70 Elf_Addr p, void *val, size_t len); 237 shdr[i].sh_addr = (Elf_Addr)lastaddr; in __elfN() 250 shdr[i].sh_addr = (Elf_Addr)lastaddr; in __elfN() 375 Elf_Addr v, p, p_stop; in __elfN() 402 p += sizeof(Elf_Addr); in __elfN() 438 const char* name, Elf_Addr *startp, Elf_Addr *stopp, int *countp) in __elfN() 480 Elf_Addr off = p; in __elfN() 481 Elf_Addr base; in __elfN() 532 static Elf_Addr [all …]
|
| /freebsd-12.1/sys/i386/i386/ |
| H A D | elf_machdep.c | 172 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() 175 Elf_Addr *where; in elf_reloc_internal() 176 Elf_Addr addr; in elf_reloc_internal() 177 Elf_Addr addend; in elf_reloc_internal() 186 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 193 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 229 addr += addend - (Elf_Addr)where; in elf_reloc_internal() 256 addr = ((Elf_Addr (*)(void))addr)(); in elf_reloc_internal() 269 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() 277 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local()
|
| /freebsd-12.1/sys/mips/mips/ |
| H A D | elf_machdep.c | 222 Elf_Addr ahl; 232 mips_tmp_reloc_add(Elf_Addr ahl, Elf32_Addr *where_hi16) in mips_tmp_reloc_add() 305 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() 309 Elf_Addr addr; in elf_reloc_internal() 310 Elf_Addr addend = (Elf_Addr)0; in elf_reloc_internal() 318 static Elf_Addr last_ahl; in elf_reloc_internal() 372 addr += ((Elf_Addr)where & 0xf0000000) | addend; in elf_reloc_internal() 444 Elf_Addr tmp_ahl; in elf_reloc_internal() 445 Elf_Addr tmp_addend; in elf_reloc_internal() 469 Elf_Addr rahl; in elf_reloc_internal() [all …]
|
| /freebsd-12.1/sys/kern/ |
| H A D | link_elf.c | 129 Elf_Addr es_start; 130 Elf_Addr es_stop; 131 Elf_Addr es_base; 206 elf_set_add(struct elf_set_head *list, Elf_Addr start, Elf_Addr stop, Elf_Addr base) in elf_set_add() 234 elf_set_find(struct elf_set_head *list, Elf_Addr addr, Elf_Addr *start, Elf_Addr *base) in elf_set_find() 397 Elf_Addr *ctors_addrp; in link_elf_init() 696 Elf_Addr *ctors_addrp; in link_elf_link_preload() 794 Elf_Addr base_vaddr; in link_elf_load_file() 795 Elf_Addr base_vlimit; in link_elf_load_file() 1116 Elf_Addr [all …]
|