| /freebsd-13.1/sys/powerpc/powerpc/ |
| H A D | elf32_machdep.c | 177 void elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase); 282 if (addr > relocbase && addr <= (relocbase + addend)) in elf_reloc_internal() 283 addr = relocbase; in elf_reloc_internal() 297 if (addr > relocbase && addr <= (relocbase + addend)) in elf_reloc_internal() 298 addr = relocbase; in elf_reloc_internal() 305 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 323 addr = relocbase + addend; in elf_reloc_internal() 338 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() argument 350 rela = (Elf_Rela *)(relocbase+dynp->d_un.d_ptr); in elf_reloc_self() 365 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_self() [all …]
|
| H A D | elf64_machdep.c | 196 void elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase); 335 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 357 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 371 addr = relocbase + addend; in elf_reloc_internal() 386 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() argument 398 rela = (Elf_Rela *)(relocbase+dynp->d_un.d_ptr); in elf_reloc_self() 413 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_self() 414 *where = (Elf_Addr)(relocbase + rela->r_addend); in elf_reloc_self() 423 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 427 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument [all …]
|
| /freebsd-13.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 …]
|
| H A D | rtld_machdep.h | 49 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-13.1/libexec/rtld-elf/powerpc64/ |
| H A D | reloc.c | 88 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 126 reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in reloc_non_plt_self() argument 151 where = (Elf_Addr *)(relocbase + rela->r_offset); in reloc_non_plt_self() 152 *where = (Elf_Addr)(relocbase + rela->r_addend); in reloc_non_plt_self() 216 symval = (Elf_Addr)defobj->relocbase + in reloc_nonplt_object() 225 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_nonplt_object() 362 __syncicache(obj->relocbase + phdr->p_vaddr, in reloc_non_plt() 506 (Elf_Addr)defobj->relocbase); in reloc_jmpslot() 536 (Elf_Addr)defobj->relocbase; in reloc_jmpslot() 538 (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-13.1/sys/arm64/arm64/ |
| H A D | elf_machdep.c | 148 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 162 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 169 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 187 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 227 addr = relocbase + addend; in elf_reloc_internal() 241 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 245 return (elf_reloc_internal(lf, relocbase, data, type, in elf_reloc_local() 251 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 255 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 259 elf_reloc_late(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_late() argument [all …]
|
| /freebsd-13.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 …]
|
| H A D | rtld_machdep.h | 48 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-13.1/libexec/rtld-elf/powerpc/ |
| H A D | reloc.c | 93 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 131 reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in reloc_non_plt_self() argument 143 rela = (const Elf_Rela *)(relocbase+dynp->d_un.d_ptr); in reloc_non_plt_self() 156 where = (Elf_Addr *)(relocbase + rela->r_offset); in reloc_non_plt_self() 157 *where = (Elf_Addr)(relocbase + rela->r_addend); in reloc_non_plt_self() 222 symval = (Elf_Addr)defobj->relocbase + in reloc_nonplt_object() 230 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_nonplt_object() 273 symval = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_nonplt_object() 364 __syncicache(obj->relocbase + phdr->p_vaddr, in reloc_non_plt() 390 *where += (Elf_Addr)obj->relocbase; in reloc_plt_object() [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-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() argument 187 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 194 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 205 addr = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 256 addr = relocbase + addend; in elf_reloc_internal() 271 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 275 return (elf_reloc_internal(lf, relocbase, data, type, lookup, 0)); in elf_reloc() 279 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 283 return (elf_reloc_internal(lf, relocbase, data, type, lookup, in elf_reloc_local()
|
| /freebsd-13.1/sys/amd64/amd64/ |
| H A D | elf_machdep.c | 272 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 287 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 304 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 374 addr = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 381 addr = relocbase + addend; in elf_reloc_internal() 396 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 400 return (elf_reloc_internal(lf, relocbase, data, type, false, lookup)); in elf_reloc() 404 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 408 return (elf_reloc_internal(lf, relocbase, data, type, false, lookup)); in elf_reloc_local() 412 elf_reloc_late(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_late() argument [all …]
|
| /freebsd-13.1/sys/arm/arm/ |
| H A D | elf_machdep.c | 194 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 208 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 215 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 226 addr = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 273 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 277 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 281 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 285 return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); in elf_reloc_local()
|
| /freebsd-13.1/libexec/rtld-elf/aarch64/ |
| H A D | reloc.c | 94 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 195 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt() 199 *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() 267 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve_one() 268 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve_one() 325 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_gnu_ifunc() 432 symval = (Elf_Addr)defobj->relocbase + in reloc_non_plt() 441 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_non_plt() [all …]
|
| /freebsd-13.1/libexec/rtld-elf/i386/ |
| H A D | reloc.c | 83 dstaddr = (void *)(dstobj->relocbase + rel->r_offset); in do_copy_relocations() 190 symval = (Elf_Addr)defobj->relocbase + in reloc_non_plt() 199 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_non_plt() 233 *where += (Elf_Addr)obj->relocbase; in reloc_non_plt() 296 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_plt() 297 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 330 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_jmpslots() 339 target = (Elf_Addr)(defobj->relocbase + def->st_value); in reloc_jmpslots() 377 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_iresolve_one() 379 target = call_ifunc_resolver(obj->relocbase + *where); in reloc_iresolve_one() [all …]
|
| H A D | rtld_machdep.h | 41 ((const Elf_Dyn *)((obj)->relocbase + (Elf_Addr)&_DYNAMIC)) 48 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-13.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() 342 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt() 343 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 376 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots() 423 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve_one() 424 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve_one() [all …]
|
| H A D | rtld_machdep.h | 48 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-13.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() 276 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_non_plt() 291 *where = (Elf_Addr)(defobj->relocbase + def->st_value + in reloc_non_plt() 369 *where = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_non_plt()
|
| /freebsd-13.1/sys/mips/mips/ |
| H A D | elf_machdep.c | 257 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 275 where = (Elf32_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 290 where = (Elf32_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 469 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 473 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 477 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 481 return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); in elf_reloc_local()
|
| /freebsd-13.1/sys/riscv/riscv/ |
| H A D | elf_machdep.c | 280 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 298 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_internal() 332 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 495 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 499 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 503 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 507 return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); in elf_reloc_local()
|
| /freebsd-13.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 | 298 obj->relocbase = mapbase - base_vaddr; in map_object() 299 obj->dynamic = (const Elf_Dyn *)(obj->relocbase + phdyn->p_vaddr); in map_object() 301 obj->entry = (caddr_t)(obj->relocbase + hdr->e_entry); in map_object() 303 obj->phdr = (const Elf_Phdr *)(obj->relocbase + phdr_vaddr); in map_object() 316 obj->interp = (const char *)(obj->relocbase + phinterp->p_vaddr); in map_object() 327 obj->relro_page = obj->relocbase + trunc_page(relro_page); in map_object()
|
| H A D | rtld.c | 1277 (obj->relocbase + dynp->d_un.d_ptr); in digest_dynamic1() 1315 (obj->relocbase + dynp->d_un.d_ptr); in digest_dynamic1() 2368 obj->relro_page = obj->relocbase + in parse_rtld_phdr() 2411 objtmp.relocbase = mapbase; in init_rtld() 2457 r_debug.r_ldbase = obj_rtld.relocbase; in init_rtld() 2910 obj->relocbase = obj->mapbase; in load_kpreload() 3282 where = (Elf_Addr *)(obj->relocbase + entry); in reloc_relr() 3283 *where++ += (Elf_Addr)obj->relocbase; in reloc_relr() 3287 where[i] += (Elf_Addr)obj->relocbase; in reloc_relr() 4022 sym = defobj->relocbase + def->st_value; in do_dlsym() [all …]
|