| /freebsd-14.2/sys/powerpc/powerpc/ |
| H A D | elf32_machdep.c | 178 void elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase); 283 if (addr > relocbase && addr <= (relocbase + addend)) in elf_reloc_internal() 284 addr = relocbase; in elf_reloc_internal() 298 if (addr > relocbase && addr <= (relocbase + addend)) in elf_reloc_internal() 299 addr = relocbase; in elf_reloc_internal() 306 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 324 addr = relocbase + addend; in elf_reloc_internal() 339 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() argument 351 rela = (Elf_Rela *)(relocbase+dynp->d_un.d_ptr); in elf_reloc_self() 366 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_self() [all …]
|
| H A D | elf64_machdep.c | 201 void elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase); 340 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 362 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 376 addr = relocbase + addend; in elf_reloc_internal() 391 elf_reloc_self(Elf_Dyn *dynp, Elf_Addr relocbase) in elf_reloc_self() argument 403 rela = (Elf_Rela *)(relocbase+dynp->d_un.d_ptr); in elf_reloc_self() 418 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_self() 419 *where = (Elf_Addr)(relocbase + rela->r_addend); in elf_reloc_self() 428 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 432 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument [all …]
|
| /freebsd-14.2/libexec/rtld-elf/powerpc64/ |
| H A D | reloc.c | 86 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 124 reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase) in reloc_non_plt_self() argument 149 where = (Elf_Addr *)(relocbase + rela->r_offset); in reloc_non_plt_self() 150 *where = (Elf_Addr)(relocbase + rela->r_addend); in reloc_non_plt_self() 214 symval = (Elf_Addr)defobj->relocbase + in reloc_nonplt_object() 223 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_nonplt_object() 360 __syncicache(obj->relocbase + phdr->p_vaddr, in reloc_non_plt() 504 (Elf_Addr)defobj->relocbase); in reloc_jmpslot() 534 (Elf_Addr)defobj->relocbase; in reloc_jmpslot() 536 (Elf_Addr)defobj->relocbase; in reloc_jmpslot() [all …]
|
| H A D | rtld_machdep.h | 46 void reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase); 49 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-14.2/sys/arm64/arm64/ |
| H A D | elf_machdep.c | 174 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 188 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 195 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 213 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 253 addr = relocbase + addend; in elf_reloc_internal() 267 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 271 return (elf_reloc_internal(lf, relocbase, data, type, in elf_reloc_local() 277 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 281 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 285 elf_reloc_late(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_late() argument [all …]
|
| /freebsd-14.2/libexec/rtld-elf/arm/ |
| H A D | reloc.c | 50 dstaddr = (void *)(dstobj->relocbase + rel->r_offset); in do_copy_relocations() 76 srcaddr = (const void *)(defobj->relocbase + in do_copy_relocations() 106 where = (Elf_Addr *)(relocbase + rel->r_offset); in _rtld_relocate_nonplt_self() 108 *where += (Elf_Addr)relocbase; in _rtld_relocate_nonplt_self() 145 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_nonplt_object() 167 tmp = (Elf_Addr)obj->relocbase + def->st_value in reloc_nonplt_object() 195 tmp = *where + (Elf_Addr)defobj->relocbase + in reloc_nonplt_object() 200 (Elf_Addr)defobj->relocbase + in reloc_nonplt_object() 211 tmp = *where + (Elf_Addr)obj->relocbase; in reloc_nonplt_object() 215 (Elf_Addr)obj->relocbase; in reloc_nonplt_object() [all …]
|
| H A D | rtld_machdep.h | 49 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-14.2/libexec/rtld-elf/powerpc/ |
| H A D | reloc.c | 91 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); 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() 220 symval = (Elf_Addr)defobj->relocbase + in reloc_nonplt_object() 228 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_nonplt_object() 271 symval = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_nonplt_object() 362 __syncicache(obj->relocbase + phdr->p_vaddr, in reloc_non_plt() 388 *where += (Elf_Addr)obj->relocbase; in reloc_plt_object() [all …]
|
| H A D | rtld_machdep.h | 46 void reloc_non_plt_self(Elf_Dyn *dynp, Elf_Addr relocbase); 49 ((defobj)->relocbase + (def)->st_value)
|
| H A D | rtld_start.S | 67 sub %r28,%r3,%r28 # r28 = relocbase 68 mr %r4,%r28 # r4 = relocbase
|
| /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() 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() 257 addr = relocbase + addend; in elf_reloc_internal() 272 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 276 return (elf_reloc_internal(lf, relocbase, data, type, lookup, 0)); in elf_reloc() 280 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 284 return (elf_reloc_internal(lf, relocbase, data, type, lookup, in elf_reloc_local()
|
| /freebsd-14.2/sys/amd64/amd64/ |
| H A D | elf_machdep.c | 277 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 292 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 309 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 379 addr = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 386 addr = relocbase + addend; in elf_reloc_internal() 401 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 405 return (elf_reloc_internal(lf, relocbase, data, type, false, lookup)); in elf_reloc() 409 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 413 return (elf_reloc_internal(lf, relocbase, data, type, false, lookup)); in elf_reloc_local() 417 elf_reloc_late(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_late() argument [all …]
|
| /freebsd-14.2/sys/arm/arm/ |
| H A D | elf_machdep.c | 185 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 199 where = (Elf_Addr *) (relocbase + rel->r_offset); in elf_reloc_internal() 206 where = (Elf_Addr *) (relocbase + rela->r_offset); in elf_reloc_internal() 217 addr = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 264 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 268 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 272 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 276 return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); in elf_reloc_local()
|
| /freebsd-14.2/libexec/rtld-elf/amd64/ |
| H A D | reloc.c | 83 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 107 srcaddr = (const void *)(defobj->relocbase + srcsym->st_value); in do_copy_relocations() 206 symval = (Elf_Addr)defobj->relocbase + in reloc_non_plt() 215 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_non_plt() 303 *where = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_non_plt() 341 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt() 342 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 375 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots() 422 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve_one() 423 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve_one() [all …]
|
| H A D | rtld_machdep.h | 49 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-14.2/libexec/rtld-elf/i386/ |
| H A D | reloc.c | 81 dstaddr = (void *)(dstobj->relocbase + rel->r_offset); in do_copy_relocations() 188 symval = (Elf_Addr)defobj->relocbase + in reloc_non_plt() 197 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_non_plt() 231 *where += (Elf_Addr)obj->relocbase; in reloc_non_plt() 294 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_plt() 295 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 328 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_jmpslots() 337 target = (Elf_Addr)(defobj->relocbase + def->st_value); in reloc_jmpslots() 375 where = (Elf_Addr *)(obj->relocbase + rel->r_offset); in reloc_iresolve_one() 377 target = call_ifunc_resolver(obj->relocbase + *where); in reloc_iresolve_one() [all …]
|
| H A D | rtld_machdep.h | 42 ((const Elf_Dyn *)((obj)->relocbase + (Elf_Addr)&_DYNAMIC)) 49 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-14.2/libexec/rtld-elf/aarch64/ |
| H A D | reloc.c | 91 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 192 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt() 196 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 236 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots() 247 target = (Elf_Addr)(defobj->relocbase + def->st_value); in reloc_jmpslots() 264 ptr = (Elf_Addr *)(obj->relocbase + rela->r_addend); in reloc_iresolve_one() 265 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_iresolve_one() 322 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_gnu_ifunc() 429 symval = (Elf_Addr)defobj->relocbase + in reloc_non_plt() 438 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_non_plt() [all …]
|
| H A D | rtld_machdep.h | 55 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-14.2/libexec/rtld-elf/riscv/ |
| H A D | reloc.c | 110 dstaddr = (void *)(dstobj->relocbase + rela->r_offset); in do_copy_relocations() 135 srcaddr = (const void *)(defobj->relocbase + srcsym->st_value); in do_copy_relocations() 158 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_plt() 159 *where += (Elf_Addr)obj->relocbase; in reloc_plt() 181 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_jmpslots() 191 *where = (Elf_Addr)(defobj->relocbase + def->st_value); in reloc_jmpslots() 274 where = (Elf_Addr *)(obj->relocbase + rela->r_offset); in reloc_non_plt() 289 *where = (Elf_Addr)(defobj->relocbase + def->st_value + in reloc_non_plt() 367 *where = (Elf_Addr)(obj->relocbase + rela->r_addend); in reloc_non_plt()
|
| H A D | rtld_machdep.h | 62 ((defobj)->relocbase + (def)->st_value)
|
| /freebsd-14.2/sys/riscv/riscv/ |
| H A D | elf_machdep.c | 291 elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_internal() argument 309 where = (Elf_Addr *)(relocbase + rela->r_offset); in elf_reloc_internal() 353 *where = elf_relocaddr(lf, relocbase + addend); in elf_reloc_internal() 516 elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, in elf_reloc() argument 520 return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); in elf_reloc() 524 elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, in elf_reloc_local() argument 528 return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); in elf_reloc_local()
|
| /freebsd-14.2/libexec/rtld-elf/ |
| H A D | debug.c | 75 rtld_printf("Object \"%s\", relocbase %p\n", obj->path, obj->relocbase); in dump_obj_relocations() 113 dstaddr = (Elf_Addr *)(obj->relocbase + rel->r_offset); in dump_Elf_Rel() 135 dstaddr = (Elf_Addr *)(obj->relocbase + rela->r_offset); in dump_Elf_Rela()
|
| H A D | map_object.c | 297 obj->relocbase = mapbase - base_vaddr; in map_object() 298 obj->dynamic = (const Elf_Dyn *)(obj->relocbase + phdyn->p_vaddr); in map_object() 300 obj->entry = (caddr_t)(obj->relocbase + hdr->e_entry); in map_object() 302 obj->phdr = (const Elf_Phdr *)(obj->relocbase + phdr_vaddr); in map_object() 315 obj->interp = (const char *)(obj->relocbase + phinterp->p_vaddr); in map_object() 326 obj->relro_page = obj->relocbase + rtld_trunc_page(relro_page); in map_object()
|
| H A D | rtld.c | 1272 (obj->relocbase + dynp->d_un.d_ptr); in digest_dynamic1() 1310 (obj->relocbase + dynp->d_un.d_ptr); in digest_dynamic1() 2370 obj->relro_page = obj->relocbase + in parse_rtld_phdr() 2413 objtmp.relocbase = mapbase; in init_rtld() 2456 r_debug.r_ldbase = obj_rtld.relocbase; in init_rtld() 2909 obj->relocbase = obj->mapbase; in load_kpreload() 3281 where = (Elf_Addr *)(obj->relocbase + entry); in reloc_relr() 3282 *where++ += (Elf_Addr)obj->relocbase; in reloc_relr() 3286 where[i] += (Elf_Addr)obj->relocbase; in reloc_relr() 4019 sym = defobj->relocbase + def->st_value; in do_dlsym() [all …]
|