| /freebsd-12.1/sys/powerpc/powerpc/ |
| H A D | elf32_machdep.c | 167 void elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase); 242 where = (Elf_Addr *) ((uintptr_t)relocbase + rela->r_offset); in elf_reloc_internal() 273 if (addr > relocbase && addr <= (relocbase + addend)) in elf_reloc_internal() 274 addr = relocbase; in elf_reloc_internal() 288 if (addr > relocbase && addr <= (relocbase + addend)) in elf_reloc_internal() 289 addr = relocbase; in elf_reloc_internal() 296 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 308 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() argument 320 rela = (Elf_Rela *)(relocbase+dynp->d_un.d_ptr); in elf_reloc_self() 335 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_self() [all …]
|
| H A D | elf64_machdep.c | 185 void elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase); 286 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 302 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 325 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 347 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() argument 359 rela = (Elf_Rela *)(relocbase+dynp->d_un.d_ptr); in elf_reloc_self() 374 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_self() 375 *where = (Elf_Addr)(relocbase + rela->r_addend); in elf_reloc_self() 384 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 388 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument [all …]
|
| /freebsd-12.1/libexec/rtld-elf/mips/ |
| H A D | reloc.c | 257 *got++ += relocbase; in _rtld_relocate_nonplt_self() 263 *got = sym->st_value + relocbase; in _rtld_relocate_nonplt_self() 292 val += relocbase; in _rtld_relocate_nonplt_self() 380 *got += (Elf_Addr)obj->relocbase; in reloc_non_plt() 434 i, obj->relocbase); in reloc_non_plt() 441 (Elf_Addr)obj->relocbase; in reloc_non_plt() 444 i, obj->relocbase); in reloc_non_plt() 458 i, obj->relocbase); in reloc_non_plt() 477 where = obj->relocbase + rel->r_offset; in reloc_non_plt() 527 val += (Elf_Addr)obj->relocbase; in reloc_non_plt() [all …]
|
| /freebsd-12.1/libexec/rtld-elf/powerpc64/ |
| H A D | reloc.c | 87 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 125 reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in reloc_non_plt_self() argument 137 rela = (const Elf_Rela *)(relocbase+dynp->d_un.d_ptr); in reloc_non_plt_self() 150 where = (Elf_Addr *)(relocbase + rela->r_offset); in reloc_non_plt_self() 151 *where = (Elf_Addr)(relocbase + rela->r_addend); in reloc_non_plt_self() 192 tmp = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_nonplt_object() 406 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots() 414 target = (Elf_Addr)(defobj->relocbase + def->st_value); in reloc_jmpslots() 452 (Elf_Addr)defobj->relocbase); in reloc_jmpslot() 482 (Elf_Addr)defobj->relocbase; in reloc_jmpslot() [all …]
|
| H A D | rtld_machdep.h | 45 void reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase); 48 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-12.1/sys/arm64/arm64/ |
| H A D | elf_machdep.c | 140 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 152 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 159 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 170 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 187 addr = relocbase + addend; in elf_reloc_internal() 200 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 204 return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); in elf_reloc_local() 209 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 213 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc()
|
| /freebsd-12.1/libexec/rtld-elf/arm/ |
| H A D | reloc.c | 91 dstaddr = (void *)(dstobj->relocbase + rel->r_offset); in do_copy_relocations() 117 srcaddr = (const void *)(defobj->relocbase + in do_copy_relocations() 149 where = (Elf_Addr *)(relocbase + rel->r_offset); in _rtld_relocate_nonplt_self() 151 *where += (Elf_Addr)relocbase; in _rtld_relocate_nonplt_self() 188 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_nonplt_object() 210 tmp = (Elf_Addr)obj->relocbase + def->st_value in reloc_nonplt_object() 238 tmp = *where + (Elf_Addr)defobj->relocbase + in reloc_nonplt_object() 243 (Elf_Addr)defobj->relocbase + in reloc_nonplt_object() 254 tmp = *where + (Elf_Addr)obj->relocbase; in reloc_nonplt_object() 258 (Elf_Addr)obj->relocbase; in reloc_nonplt_object() [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() argument 186 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 193 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 204 addr = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 255 addr = relocbase + addend; in elf_reloc_internal() 269 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 273 return (elf_reloc_internal(lf, relocbase, data, type, lookup, 0)); in elf_reloc() 277 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 281 return (elf_reloc_internal(lf, relocbase, data, type, lookup, in elf_reloc_local()
|
| /freebsd-12.1/sys/amd64/amd64/ |
| H A D | elf_machdep.c | 188 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 203 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 220 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 283 addr = relocbase + addend; in elf_reloc_internal() 290 addr = relocbase + addend; in elf_reloc_internal() 305 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 309 return (elf_reloc_internal(lf, relocbase, data, type, lookup)); in elf_reloc() 313 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 317 return (elf_reloc_internal(lf, relocbase, data, type, lookup)); in elf_reloc_local()
|
| /freebsd-12.1/libexec/rtld-elf/amd64/ |
| H A D | reloc.c | 84 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 108 srcaddr = (const void *)(defobj->relocbase + srcsym->st_value); in do_copy_relocations() 207 symval = (Elf_Addr)defobj->relocbase + in reloc_non_plt() 216 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_non_plt() 304 *where = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_non_plt() 338 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt() 339 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 372 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots() 430 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve() 431 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve() [all …]
|
| /freebsd-12.1/libexec/rtld-elf/i386/ |
| H A D | reloc.c | 83 dstaddr = (void *)(dstobj->relocbase + rel->r_offset); in do_copy_relocations() 186 symval = (Elf_Addr)defobj->relocbase + in reloc_non_plt() 195 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_non_plt() 229 *where += (Elf_Addr)obj->relocbase; in reloc_non_plt() 289 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_plt() 290 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 323 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_jmpslots() 332 target = (Elf_Addr)(defobj->relocbase + def->st_value); in reloc_jmpslots() 377 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_iresolve() 379 target = call_ifunc_resolver(obj->relocbase + *where); in reloc_iresolve() [all …]
|
| H A D | rtld_machdep.h | 41 ((const Elf_Dyn *)((obj)->relocbase + (Elf_Addr)&_DYNAMIC)) 48 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-12.1/sys/arm/arm/ |
| H A D | elf_machdep.c | 189 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 203 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 210 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 221 addr = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 268 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 272 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 276 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 280 return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); in elf_reloc_local()
|
| /freebsd-12.1/libexec/rtld-elf/aarch64/ |
| H A D | reloc.c | 94 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 196 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt() 200 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 239 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots() 250 target = (Elf_Addr)(defobj->relocbase + def->st_value); in reloc_jmpslots() 273 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve() 274 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve() 300 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_gnu_ifunc() 413 symval = (Elf_Addr)defobj->relocbase + in reloc_non_plt() 422 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_non_plt() [all …]
|
| /freebsd-12.1/libexec/rtld-elf/riscv/ |
| H A D | reloc.c | 112 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 137 srcaddr = (const void *)(defobj->relocbase + srcsym->st_value); in do_copy_relocations() 160 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt() 161 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 183 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots() 193 *where = (Elf_Addr)(defobj->relocbase + def->st_value); in reloc_jmpslots() 267 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_non_plt() 282 *where = (Elf_Addr)(defobj->relocbase + def->st_value + in reloc_non_plt() 360 *where = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_non_plt()
|
| /freebsd-12.1/libexec/rtld-elf/powerpc/ |
| H A D | reloc.c | 91 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 116 srcaddr = (const void *)(defobj->relocbase+srcsym->st_value); in do_copy_relocations() 129 reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in reloc_non_plt_self() argument 141 rela = (const Elf_Rela *)(relocbase+dynp->d_un.d_ptr); in reloc_non_plt_self() 154 where = (Elf_Addr *)(relocbase + rela->r_offset); in reloc_non_plt_self() 155 *where = (Elf_Addr)(relocbase + rela->r_addend); in reloc_non_plt_self() 185 tmp = (Elf_Addr)(defobj->relocbase + def->st_value + in reloc_nonplt_object() 195 tmp = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_nonplt_object() 342 Elf_Word *where = (Elf_Word *)(obj->relocbase + rela->r_offset); in reloc_plt_object() 441 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots() [all …]
|
| H A D | rtld_machdep.h | 45 void reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase); 48 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-12.1/sys/mips/mips/ |
| H A D | elf_machdep.c | 305 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 323 where = (Elf32_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 338 where = (Elf32_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 517 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 521 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 525 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 529 return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); in elf_reloc_local()
|
| /freebsd-12.1/sys/riscv/riscv/ |
| H A D | elf_machdep.c | 281 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 299 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_internal() 337 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 512 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 516 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 520 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 524 return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); in elf_reloc_local()
|
| /freebsd-12.1/libexec/rtld-elf/sparc64/ |
| H A D | reloc.c | 262 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 287 srcaddr = (const void *)(defobj->relocbase + in do_copy_relocations() 343 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_nonplt_object() 384 *where = (Elf_Addr)(obj->relocbase + value); in reloc_nonplt_object() 422 defobj->relocbase); in reloc_nonplt_object() 447 value += (Elf_Addr)(obj->relocbase); in reloc_nonplt_object() 506 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt() 509 value = (Elf_Addr)(defobj->relocbase + def->st_value); in reloc_plt() 550 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots() 555 target = (Elf_Addr)(defobj->relocbase + def->st_value); in reloc_jmpslots() [all …]
|
| H A D | rtld_machdep.h | 48 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-12.1/libexec/rtld-elf/ |
| H A D | debug.c | 77 rtld_printf("Object \"%s\", relocbase %p\n", obj->path, obj->relocbase); in dump_obj_relocations() 115 dstaddr = (Elf_Addr *)(obj->relocbase + rel->r_offset); in dump_Elf_Rel() 137 dstaddr = (Elf_Addr *)(obj->relocbase + rela->r_offset); in dump_Elf_Rela()
|
| H A D | map_object.c | 287 obj->relocbase = mapbase - base_vaddr; in map_object() 288 obj->dynamic = (const Elf_Dyn *)(obj->relocbase + phdyn->p_vaddr); in map_object() 290 obj->entry = (caddr_t)(obj->relocbase + hdr->e_entry); in map_object() 292 obj->phdr = (const Elf_Phdr *)(obj->relocbase + phdr_vaddr); in map_object() 305 obj->interp = (const char *)(obj->relocbase + phinterp->p_vaddr); in map_object() 315 obj->relro_page = obj->relocbase + trunc_page(relro_page); in map_object()
|
| H A D | rtld.c | 1040 (obj->relocbase + dynp->d_un.d_ptr); in digest_dynamic1() 1066 (obj->relocbase + dynp->d_un.d_ptr); in digest_dynamic1() 1106 hashtab = (const Elf_Hashelt *)(obj->relocbase + in digest_dynamic1() 1119 hashtab = (const Elf_Hashelt *)(obj->relocbase + in digest_dynamic1() 1276 obj->mips_pltgot = (Elf_Addr *)(obj->relocbase + in digest_dynamic1() 1420 obj->mapbase = obj->vaddrbase + obj->relocbase; in digest_phdr() 2111 objtmp.relocbase = mapbase; in init_rtld() 2852 base = obj->relocbase + trunc_page(ph->p_vaddr); in reloc_textrel_prot() 3580 sym = defobj->relocbase + def->st_value; in do_dlsym() 3750 phdr_info->dlpi_addr = (Elf_Addr)obj->relocbase; in rtld_fill_dl_phdr_info() [all …]
|
| /freebsd-12.1/sys/sparc64/sparc64/ |
| H A D | elf_machdep.c | 322 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 335 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_local() 336 *where = elf_relocaddr(lf, rela->r_addend + relocbase); in elf_reloc_local() 343 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 359 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc() 399 value = elf_relocaddr(lf, value + relocbase); in elf_reloc()
|