| /freebsd/libexec/rtld-elf/i386/ |
| H A D | reloc.c | 65 const Elf_Rel *rel; in do_copy_relocations() local 69 rellim = (const Elf_Rel *)((const char *)dstobj->rel + dstobj->relsize); in do_copy_relocations() 70 for (rel = dstobj->rel; rel < rellim; rel++) { in do_copy_relocations() 71 if (ELF_R_TYPE(rel->r_info) == R_386_COPY) { in do_copy_relocations() 82 dstaddr = (void *)(dstobj->relocbase + rel->r_offset); in do_copy_relocations() 83 dstsym = dstobj->symtab + ELF_R_SYM(rel->r_info); in do_copy_relocations() 88 ELF_R_SYM(rel->r_info)); in do_copy_relocations() 134 const Elf_Rel *rel; in reloc_non_plt() local 157 rellim = (const Elf_Rel *)((const char *)obj->rel + obj->relsize); in reloc_non_plt() 158 for (rel = obj->rel; rel < rellim; rel++) { in reloc_non_plt() [all …]
|
| /freebsd/sys/conf/ |
| H A D | ldscript.i386 | 17 .rel.init : { *(.rel.init) } 19 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } 21 .rel.fini : { *(.rel.fini) } 23 .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } 25 .rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } 26 .rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } 27 .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } 29 .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } 31 .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } 33 .rel.ctors : { *(.rel.ctors) } [all …]
|
| H A D | ldscript.amd64 | 22 .rel.init : { *(.rel.init) } 24 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) } 26 .rel.fini : { *(.rel.fini) } 28 .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) } 30 .rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) } 31 .rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) } 32 .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) } 34 .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) } 36 .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) } 38 .rel.ctors : { *(.rel.ctors) } [all …]
|
| H A D | ldscript.riscv | 35 .rel.text : 36 { *(.rel.text) *(.rel.gnu.linkonce.t*) } 39 .rel.data : 40 { *(.rel.data) *(.rel.gnu.linkonce.d*) } 43 .rel.rodata : 44 { *(.rel.rodata) *(.rel.gnu.linkonce.r*) } 47 .rel.got : { *(.rel.got) } 49 .rel.ctors : { *(.rel.ctors) } 51 .rel.dtors : { *(.rel.dtors) } 53 .rel.init : { *(.rel.init) } [all …]
|
| H A D | ldscript.arm | 34 .rel.text : 35 { *(.rel.text) *(.rel.gnu.linkonce.t*) } 38 .rel.data : 39 { *(.rel.data) *(.rel.gnu.linkonce.d*) } 42 .rel.rodata : 43 { *(.rel.rodata) *(.rel.gnu.linkonce.r*) } 46 .rel.got : { *(.rel.got) } 48 .rel.ctors : { *(.rel.ctors) } 50 .rel.dtors : { *(.rel.dtors) } 52 .rel.init : { *(.rel.init) } [all …]
|
| H A D | ldscript.arm64 | 48 .rel.text : 49 { *(.rel.text) *(.rel.gnu.linkonce.t*) } 52 .rel.data : 53 { *(.rel.data) *(.rel.gnu.linkonce.d*) } 56 .rel.rodata : 57 { *(.rel.rodata) *(.rel.gnu.linkonce.r*) } 60 .rel.got : { *(.rel.got) } 62 .rel.ctors : { *(.rel.ctors) } 64 .rel.dtors : { *(.rel.dtors) } 66 .rel.init : { *(.rel.init) } [all …]
|
| /freebsd/libexec/rtld-elf/arm/ |
| H A D | reloc.c | 32 const Elf_Rel *rel; in do_copy_relocations() local 36 rellim = (const Elf_Rel *)((const char *) dstobj->rel + dstobj->relsize); in do_copy_relocations() 37 for (rel = dstobj->rel; rel < rellim; rel++) { in do_copy_relocations() 38 if (ELF_R_TYPE(rel->r_info) == R_ARM_COPY) { in do_copy_relocations() 49 dstaddr = (void *)(dstobj->relocbase + rel->r_offset); in do_copy_relocations() 50 dstsym = dstobj->symtab + ELF_R_SYM(rel->r_info); in do_copy_relocations() 56 ELF_R_SYM(rel->r_info)); in do_copy_relocations() 89 const Elf_Rel *rel = NULL, *rellim; in _rtld_relocate_nonplt_self() local 96 rel = (const Elf_Rel *)(relocbase + dynp->d_un.d_ptr); in _rtld_relocate_nonplt_self() 103 rellim = (const Elf_Rel *)((const char *)rel + relsz); in _rtld_relocate_nonplt_self() [all …]
|
| /freebsd/contrib/llvm-project/lld/ELF/Arch/ |
| H A D | SystemZ.cpp | 41 void relocate(uint8_t *loc, const Relocation &rel, 46 void relaxGot(uint8_t *loc, const Relocation &rel, uint64_t val) const; 47 void relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 48 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 49 void relaxTlsLdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 303 void SystemZ::relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, in relaxTlsGdToIe() argument 324 switch (rel.type) { in relaxTlsGdToIe() 338 void SystemZ::relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, in relaxTlsGdToLe() argument 359 switch (rel.type) { in relaxTlsGdToLe() 373 void SystemZ::relaxTlsLdToLe(uint8_t *loc, const Relocation &rel, in relaxTlsLdToLe() argument [all …]
|
| H A D | AVR.cpp | 52 void relocate(uint8_t *loc, const Relocation &rel, 118 void AVR::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relocate() argument 119 switch (rel.type) { in relocate() 121 checkUInt(ctx, loc, val, 8, rel); in relocate() 125 checkUInt(ctx, loc, val, 32, rel); in relocate() 129 checkUInt(ctx, loc, val, 32, rel); in relocate() 133 checkUInt(ctx, loc, val, 32, rel); in relocate() 143 checkAlignment(ctx, loc, val, 2, rel); in relocate() 144 checkUInt(ctx, loc, val >> 1, 16, rel); in relocate() 148 checkUInt(ctx, loc, val, 32, rel); in relocate() [all …]
|
| H A D | X86_64.cpp | 40 void relocate(uint8_t *loc, const Relocation &rel, 56 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 57 void relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 58 void relaxTlsLdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 59 void relaxTlsIeToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 340 for (Relocation &rel : sec->relocs()) { in relaxOnce() 341 if (rel.expr != R_RELAX_GOT_PC && rel.expr != R_RELAX_GOT_PC_NOPIC) in relaxOnce() 343 assert(rel.addend == -4); in relaxOnce() 345 Relocation rel1 = rel; in relaxOnce() 346 rel1.addend = rel.expr == R_RELAX_GOT_PC_NOPIC ? 0 : -4; in relaxOnce() [all …]
|
| H A D | AArch64.cpp | 82 void relocate(uint8_t *loc, const Relocation &rel, 89 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 90 void relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 91 void relaxTlsIeToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 496 void AArch64::relocate(uint8_t *loc, const Relocation &rel, in relocate() argument 498 switch (rel.type) { in relocate() 501 checkIntUInt(ctx, loc, val, 16, rel); in relocate() 506 checkIntUInt(ctx, loc, val, 32, rel); in relocate() 511 checkInt(ctx, loc, val, 32, rel); in relocate() 522 if (rel.sym && rel.sym->isTagged() && in relocate() [all …]
|
| H A D | X86.cpp | 36 void relocate(uint8_t *loc, const Relocation &rel, 43 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 44 void relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 45 void relaxTlsLdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 46 void relaxTlsIeToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 287 void X86::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relocate() argument 288 switch (rel.type) { in relocate() 293 checkIntUInt(ctx, loc, val, 8, rel); in relocate() 297 checkInt(ctx, loc, val, 8, rel); in relocate() 301 checkIntUInt(ctx, loc, val, 16, rel); in relocate() [all …]
|
| H A D | PPC64.cpp | 181 void relocate(uint8_t *loc, const Relocation &rel, 192 void relaxGot(uint8_t *loc, const Relocation &rel, uint64_t val) const; 199 void relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 200 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 201 void relaxTlsLdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 202 void relaxTlsIeToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 378 static bool tryRelaxPPC64TocIndirection(Ctx &ctx, const Relocation &rel, in tryRelaxPPC64TocIndirection() argument 381 if (rel.addend < 0) in tryRelaxPPC64TocIndirection() 385 Defined *defSym = dyn_cast<Defined>(rel.sym); in tryRelaxPPC64TocIndirection() 393 ctx.arg.isLE ? getRelaTocSymAndAddend<ELF64LE>(tocISB, rel.addend) in tryRelaxPPC64TocIndirection() [all …]
|
| H A D | PPC.cpp | 48 void relocate(uint8_t *loc, const Relocation &rel, 55 void relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 56 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 57 void relaxTlsLdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 58 void relaxTlsIeToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 321 void PPC::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relocate() argument 323 std::tie(newType, val) = fromDTPREL(rel.type, val); in relocate() 326 checkIntUInt(ctx, loc, val, 16, rel); in relocate() 334 checkInt(ctx, loc, val, 16, rel); in relocate() 370 checkInt(ctx, loc, val, 16, rel); in relocate() [all …]
|
| H A D | LoongArch.cpp | 39 void relocate(uint8_t *loc, const Relocation &rel, 47 void tlsdescToIe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 48 void tlsdescToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 573 void LoongArch::relocate(uint8_t *loc, const Relocation &rel, in relocate() argument 575 switch (rel.type) { in relocate() 577 checkInt(ctx, loc, val, 32, rel); in relocate() 594 checkInt(ctx, loc, val, 22, rel); in relocate() 595 checkAlignment(ctx, loc, val, 4, rel); in relocate() 600 checkInt(ctx, loc, val, 18, rel); in relocate() 601 checkAlignment(ctx, loc, val, 4, rel); in relocate() [all …]
|
| H A D | MSP430.cpp | 36 void relocate(uint8_t *loc, const Relocation &rel, 61 void MSP430::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relocate() argument 62 switch (rel.type) { in relocate() 64 checkIntUInt(ctx, loc, val, 8, rel); in relocate() 71 checkIntUInt(ctx, loc, val, 16, rel); in relocate() 75 checkIntUInt(ctx, loc, val, 32, rel); in relocate() 80 checkInt(ctx, loc, offset, 10, rel); in relocate() 85 Err(ctx) << getErrorLoc(ctx, loc) << "unrecognized relocation " << rel.type; in relocate()
|
| H A D | SPARCV9.cpp | 28 void relocate(uint8_t *loc, const Relocation &rel, 86 void SPARCV9::relocate(uint8_t *loc, const Relocation &rel, in relocate() argument 88 switch (rel.type) { in relocate() 92 checkUInt(ctx, loc, val, 32, rel); in relocate() 97 checkInt(ctx, loc, val, 32, rel); in relocate() 103 checkInt(ctx, loc, val, 32, rel); in relocate() 108 checkUInt(ctx, loc, val, 22, rel); in relocate() 119 checkUInt(ctx, loc, val >> 10, 22, rel); in relocate() 124 checkInt(ctx, loc, val, 21, rel); in relocate() 143 checkUInt(ctx, loc, val >> 42, 22, rel); in relocate() [all …]
|
| H A D | RISCV.cpp | 44 void relocate(uint8_t *loc, const Relocation &rel, 334 void RISCV::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relocate() argument 337 switch (rel.type) { in relocate() 346 checkInt(ctx, loc, val, 9, rel); in relocate() 347 checkAlignment(ctx, loc, val, 2, rel); in relocate() 361 checkInt(ctx, loc, val, 12, rel); in relocate() 362 checkAlignment(ctx, loc, val, 2, rel); in relocate() 379 checkInt(ctx, loc, val, 21, rel); in relocate() 380 checkAlignment(ctx, loc, val, 2, rel); in relocate() 394 checkInt(ctx, loc, val, 13, rel); in relocate() [all …]
|
| H A D | ARM.cpp | 48 void relocate(uint8_t *loc, const Relocation &rel, 54 void encodeAluGroup(uint8_t *loc, const Relocation &rel, uint64_t val, 541 void ARM::encodeAluGroup(uint8_t *loc, const Relocation &rel, uint64_t val, in encodeAluGroup() argument 560 << " for relocation " << rel.type; in encodeAluGroup() 565 static void encodeLdrGroup(Ctx &ctx, uint8_t *loc, const Relocation &rel, in encodeLdrGroup() argument 570 if (rel.sym->isFunc()) in encodeLdrGroup() 579 checkUInt(ctx, loc, imm, 12, rel); in encodeLdrGroup() 583 static void encodeLdrsGroup(Ctx &ctx, uint8_t *loc, const Relocation &rel, in encodeLdrsGroup() argument 588 if (rel.sym->isFunc()) in encodeLdrsGroup() 597 checkUInt(ctx, loc, imm, 8, rel); in encodeLdrsGroup() [all …]
|
| /freebsd/libexec/rtld-elf/ |
| H A D | debug.c | 80 dump_Elf_Rel(obj, obj->rel, obj->relsize); in dump_obj_relocations() 105 const Elf_Rel *rel; in dump_Elf_Rel() local 112 for (rel = rel0; rel < rellim; rel++) { in dump_Elf_Rel() 113 dstaddr = (Elf_Addr *)(obj->relocbase + rel->r_offset); in dump_Elf_Rel() 114 sym = obj->symtab + ELF_R_SYM(rel->r_info); in dump_Elf_Rel() 117 (u_long)rel->r_info, (u_long)rel->r_offset, in dump_Elf_Rel()
|
| /freebsd/contrib/llvm-project/lld/ELF/ |
| H A D | Relocations.cpp | 87 void elf::reportRangeError(Ctx &ctx, uint8_t *loc, const Relocation &rel, in reportRangeError() argument 91 diag << errPlace.loc << "relocation " << rel.type in reportRangeError() 95 if (rel.sym) { in reportRangeError() 96 if (!rel.sym->isSection()) in reportRangeError() 97 diag << "; references '" << rel.sym << '\''; in reportRangeError() 98 else if (auto *d = dyn_cast<Defined>(rel.sym)) in reportRangeError() 101 if (ctx.arg.emachine == EM_X86_64 && rel.type == R_X86_64_PC32 && in reportRangeError() 102 rel.sym->getOutputSection() && in reportRangeError() 103 (rel.sym->getOutputSection()->flags & SHF_X86_64_LARGE)) { in reportRangeError() 110 if (rel.sym && !rel.sym->isSection()) in reportRangeError() [all …]
|
| /freebsd/usr.bin/rpcgen/ |
| H A D | rpc_cout.c | 136 def->def.ty.rel)); in print_header() 203 print_ifstat(int indent, const char *prefix, const char *type, relation rel, in print_ifstat() argument 209 switch (rel) { in print_ifstat() 326 if (isvectordef (cs->type, cs->rel)) { in emit_union() 333 print_ifstat(2, cs->prefix, cs->type, cs->rel, in emit_union() 345 if (isvectordef (dflt->type, dflt->rel)) { in emit_union() 353 print_ifstat(2, dflt->prefix, dflt->type, dflt->rel, in emit_union() 394 ((dl->decl.rel == REL_ALIAS) || in inline_struct() 395 (dl->decl.rel == REL_VECTOR))){ in inline_struct() 400 if (dl->decl.rel == REL_ALIAS) in inline_struct() [all …]
|
| /freebsd/stand/common/ |
| H A D | reloc_elf.c | 59 const Elf_Rel *rel; in __elfN() local 64 rel = (const Elf_Rel *)reldata; in __elfN() 65 where = (Elf_Addr *)((char *)data + relbase + rel->r_offset - in __elfN() 68 rtype = ELF_R_TYPE(rel->r_info); in __elfN() 70 symidx = ELF_R_SYM(rel->r_info); in __elfN() 134 const Elf_Rel *rel; in __elfN() 139 rel = (const Elf_Rel *)reldata; in __elfN() 140 where = (Elf_Addr *)((char *)data + relbase + rel->r_offset - in __elfN() 143 rtype = ELF_R_TYPE(rel->r_info); in __elfN() 144 symidx = ELF_R_SYM(rel->r_info); in __elfN()
|
| H A D | self_reloc.c | 70 ElfW_Rel *rel; in self_reloc() local 82 rel = (ElfW_Rel *)(dynp->d_un.d_ptr + baseaddr); in self_reloc() 103 switch (ELFW_R_TYPE(rel->r_info)) { in self_reloc() 109 newaddr = (Elf_Addr *)(rel->r_offset + baseaddr); in self_reloc() 112 *newaddr = baseaddr + rel->r_addend; in self_reloc() 122 rel = (ElfW_Rel *)(void *)((caddr_t) rel + relent); in self_reloc()
|
| /freebsd/sys/compat/linuxkpi/common/include/linux/ |
| H A D | kref.h | 69 kref_put(struct kref *kref, void (*rel)(struct kref *kref)) 73 rel(kref); in kref_put() 80 kref_put_lock(struct kref *kref, void (*rel)(struct kref *kref), 86 rel(kref); in kref_put_lock() 94 void (*rel)(struct kref *kref)) in kref_sub() 99 rel(kref); in kref_sub()
|