| /llvm-project/bolt/lib/Target/X86/ |
| H A D | X86MCSymbolizer.cpp | 98 const Relocation *Relocation = in tryAddingSymbolicOperand() local 100 if (Relocation && Relocation::isX86GOTPCRELX(Relocation->Type)) { in tryAddingSymbolicOperand() 127 if (!Relocation || Relocation->Offset != InstOffset + ImmOffset) in tryAddingSymbolicOperand() 128 Relocation = Function.getRelocationAt(InstOffset + ImmOffset); in tryAddingSymbolicOperand() 130 if (!Relocation) in tryAddingSymbolicOperand() 136 if (Relocation::isX86GOTPC64(Relocation->Type)) { in tryAddingSymbolicOperand() 137 auto PairOrErr = handleGOTPC64(*Relocation, InstAddress); in tryAddingSymbolicOperand() 148 uint64_t SymbolValue = Relocation->Value - Relocation->Addend; in tryAddingSymbolicOperand() 149 if (Relocation->isPCRelative()) in tryAddingSymbolicOperand() 154 BC.handleAddressRef(SymbolValue, Function, Relocation->isPCRelative()); in tryAddingSymbolicOperand() [all …]
|
| /llvm-project/llvm/test/MC/MachO/AArch64/ |
| H A D | darwin-ARM64-reloc.s | 39 ; CHECK-NEXT: Relocation { 46 ; CHECK-NEXT: Relocation { 53 ; CHECK-NEXT: Relocation { 60 ; CHECK-NEXT: Relocation { 67 ; CHECK-NEXT: Relocation { 74 ; CHECK-NEXT: Relocation { 81 ; CHECK-NEXT: Relocation { 88 ; CHECK-NEXT: Relocation { 95 ; CHECK-NEXT: Relocation { 102 ; CHECK-NEXT: Relocation { [all …]
|
| /llvm-project/bolt/lib/Core/ |
| H A D | BinarySection.cpp | 52 auto Begin = Relocations.lower_bound(Relocation{Offset, 0, 0, 0, 0}); in hash() 53 auto End = Relocations.upper_bound(Relocation{EndOffset, 0, 0, 0, 0}); in hash() 57 const Relocation &Rel = *Begin++; in hash() 114 auto HasUndefSym = [this](const auto &Relocation) { in emitAsData() argument 115 return BC.UndefinedSymbols.count(Relocation.Symbol); in emitAsData() 122 for (const auto &Relocation : make_range(ROI, ROE)) { in emitAsData() local 125 << (Relocation.Symbol ? Relocation.Symbol->getName() in emitAsData() 127 << " at offset 0x" << Twine::utohexstr(Relocation.Offset) in emitAsData() 129 << Relocation in emitAsData() [all...] |
| H A D | Relocation.cpp | 1 //===- bolt/Core/Relocation.cpp - Object file relocations -----------------===// 9 // This file implements the Relocation class. 13 #include "bolt/Core/Relocation.h" 30 Triple::ArchType Relocation::Arch; 413 if (Relocation::isPCRelative(Type)) 414 return SignExtend64(Contents, 8 * Relocation::getSizeForType(Type)); in extractValueAArch64() 784 bool Relocation::isSupported(uint64_t Type) { in isSupported() 797 size_t Relocation::getSizeForType(uint64_t Type) { in getSizeForType() 810 bool Relocation::skipRelocationType(uint64_t Type) { in skipRelocationType() 823 bool Relocation in skipRelocationProcess() [all...] |
| /llvm-project/llvm/test/MC/WebAssembly/ |
| H A D | reloc-code.s | 48 # CHECK-NEXT: Relocation { 54 # CHECK-NEXT: Relocation { 59 # CHECK-NEXT: Relocation { 65 # CHECK-NEXT: Relocation { 70 # CHECK-NEXT: Relocation { 75 # CHECK-NEXT: Relocation { 86 # REF-NEXT: Relocation { 92 # REF-NEXT: Relocation { 97 # REF-NEXT: Relocation { 102 # REF-NEXT: Relocation { [all …]
|
| H A D | reloc-data.ll | 17 ; CHECK-NEXT: Relocation { 23 ; CHECK-NEXT: Relocation { 29 ; CHECK-NEXT: Relocation { 35 ; CHECK-NEXT: Relocation { 41 ; CHECK-NEXT: Relocation {
|
| H A D | func-address.ll | 32 ; CHECK-NEXT: Relocation { 37 ; CHECK-NEXT: Relocation { 42 ; CHECK-NEXT: Relocation { 47 ; CHECK-NEXT: Relocation {
|
| /llvm-project/llvm/test/tools/llvm-readobj/MachO/ |
| H A D | relocations.test | 33 # MACHO-PPC-NEXT: Relocation { 40 # MACHO-PPC-NEXT: Relocation { 47 # MACHO-PPC-NEXT: Relocation { 54 # MACHO-PPC-NEXT: Relocation { 61 # MACHO-PPC-NEXT: Relocation { 70 # MACHO-PPC-NEXT: Relocation { 77 # MACHO-PPC-NEXT: Relocation { 84 # MACHO-PPC-NEXT: Relocation { 91 # MACHO-PPC-NEXT: Relocation { 100 # MACHO-PPC-NEXT: Relocation { [all …]
|
| /llvm-project/llvm/test/MC/MachO/ARM/ |
| H A D | thumb2-movw-fixup.s | 25 @ CHECK: Relocation { 32 @ CHECK: Relocation { 39 @ CHECK: Relocation { 46 @ CHECK: Relocation { 53 @ CHECK: Relocation { 60 @ CHECK: Relocation { 67 @ CHECK: Relocation { 74 @ CHECK: Relocation {
|
| H A D | static-movt-relocs.s | 11 @ CHECK-NEXT: Relocation { 18 @ CHECK-NEXT: Relocation { 25 @ CHECK-NEXT: Relocation { 32 @ CHECK-NEXT: Relocation {
|
| /llvm-project/llvm/test/Object/ |
| H A D | relocation-executable.test | 8 // CHECK-NEXT: Relocation { 16 // CHECK-NEXT: Relocation { 22 // CHECK-NEXT: Relocation { 31 // DYN-NEXT: Relocation { 37 // DYN-NEXT: Relocation { 43 // DYN-NEXT: Relocation { 55 // DYN2-NEXT: Relocation {
|
| H A D | dyn-rel-relocation.test | 31 // CHECK-NEXT: Relocation { 36 // CHECK-NEXT: Relocation { 41 // CHECK-NEXT: Relocation { 50 // CHECK-NEXT: Relocation { 55 // CHECK-NEXT: Relocation { 60 // CHECK-NEXT: Relocation {
|
| H A D | yaml2obj-readobj.test | 11 # COFF-I386-NEXT: Relocation { 17 # COFF-I386-NEXT: Relocation { 23 # COFF-I386-NEXT: Relocation { 45 - !Relocation 50 - !Relocation 55 - !Relocation
|
| /llvm-project/llvm/test/CodeGen/PowerPC/ |
| H A D | aix-xcoff-reloc-large.ll | 26 ; RELOC-NEXT: Relocation { 34 ; RELOC-NEXT: Relocation { 42 ; RELOC-NEXT: Relocation { 50 ; RELOC-NEXT: Relocation { 58 ; RELOC-NEXT: Relocation { 66 ; RELOC-NEXT: Relocation { 98 ; RELOC64-NEXT: Relocation { 106 ; RELOC64-NEXT: Relocation { 114 ; RELOC64-NEXT: Relocation { 122 ; RELOC64-NEXT: Relocation { [all …]
|
| /llvm-project/bolt/include/bolt/Core/ |
| H A D | Relocation.h | 33 struct Relocation { struct 168 inline bool operator<(const Relocation &A, const Relocation &B) { 172 inline bool operator<(const Relocation &A, uint64_t B) { return A.Offset < B; } 174 inline bool operator<(uint64_t A, const Relocation &B) { return A < B.Offset; } 176 inline raw_ostream &operator<<(raw_ostream &OS, const Relocation &Rel) {
|
| H A D | BinarySection.h | 19 #include "bolt/Core/Relocation.h" 60 // Relocations associated with this section. Relocation offsets are 62 using RelocationSetType = std::multiset<Relocation, std::less<>>; 65 // Dynamic relocations associated with this section. Relocation offsets are 70 std::vector<Relocation> PendingRelocations; 366 Relocations.emplace(Relocation{Offset, Symbol, Type, Addend, Value}); 369 Relocation{Offset, Symbol, Type, Addend, Value}); 376 addDynamicRelocation(Relocation{Offset, Symbol, Type, Addend, Value}); 379 void addDynamicRelocation(const Relocation &Reloc) { in addDynamicRelocation() 385 void addPendingRelocation(const Relocation in addPendingRelocation() [all...] |
| /llvm-project/lld/ELF/Arch/ |
| H A D | AArch64.cpp | 82 void relocate(uint8_t *loc, const Relocation &rel, in AArch64() 88 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; in AArch64() 89 void relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, uint64_t val) const; in AArch64() 90 void relaxTlsIeToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; in AArch64() 97 AArch64Relaxer(Ctx &ctx, ArrayRef<Relocation> relocs); in AArch64() 98 bool tryRelaxAdrpAdd(const Relocation &adrpRel, const Relocation &addRel, in AArch64() 100 bool tryRelaxAdrpLdr(const Relocation &adrpRel, const Relocation &ldrRel, in getRelExpr() 495 void AArch64::relocate(uint8_t *loc, const Relocation in relocate() [all...] |
| H A D | SystemZ.cpp | 42 void relocate(uint8_t *loc, const Relocation &rel, 47 void relaxGot(uint8_t *loc, const Relocation &rel, uint64_t val) const; 48 void relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 49 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 50 void relaxTlsLdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 304 void SystemZ::relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, 308 // Instruction Relocation Symbol in relaxTlsGdToIe() 339 void SystemZ::relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, 343 // Instruction Relocation Symbol in relaxTlsGdToLe() 374 void SystemZ::relaxTlsLdToLe(uint8_t *loc, const Relocation in relaxTlsGdToLe() [all...] |
| H A D | PPC.cpp | 50 void relocate(uint8_t *loc, const Relocation &rel, 57 void relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 58 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 59 void relaxTlsLdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 60 void relaxTlsIeToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 322 void PPC::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relocate() 413 void PPC::relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, in relaxTlsGdToIe() 432 void PPC::relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, in relaxTlsGdToLe() 448 void PPC::relaxTlsLdToLe(uint8_t *loc, const Relocation &rel, in relaxTlsLdToLe() 472 void PPC::relaxTlsIeToLe(uint8_t *loc, const Relocation in relaxTlsIeToLe() [all...] |
| H A D | X86_64.cpp | 40 void relocate(uint8_t *loc, const Relocation &rel, 55 void relaxTlsGdToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 56 void relaxTlsGdToIe(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; 177 static bool isRelocationForJmpInsn(Relocation &R) { in isFallThruRelocation() 182 // Return true if Relocation R points to the first instruction in the in isFallThruRelocation() 187 InputSection *nextIS, Relocation &r) { in isFallThruRelocation() 264 Relocation &r = is.relocs()[rIndex]; in deleteFallThruJmpInsn() 292 Relocation in deleteFallThruJmpInsn() 543 relaxTlsIeToLe(uint8_t * loc,const Relocation &,uint64_t val) relaxTlsIeToLe() argument [all...] |
| /llvm-project/llvm/test/tools/llvm-readobj/ELF/ |
| H A D | relocations.test | 35 # GNU-64:Relocation section '.rel.text' at offset 0x51 contains 4 entries: 42 # GNU-64-NEXT:Relocation section '.rela.text' at offset 0x91 contains 5 entries: 58 # LLVM-EXPAND-64-NEXT: Relocation { 63 # LLVM-EXPAND-64-NEXT: Relocation { 68 # LLVM-EXPAND-64-NEXT: Relocation { 73 # LLVM-EXPAND-64-NEXT: Relocation { 80 # LLVM-EXPAND-64-NEXT: Relocation { 86 # LLVM-EXPAND-64-NEXT: Relocation { 92 # LLVM-EXPAND-64-NEXT: Relocation { 98 # LLVM-EXPAND-64-NEXT: Relocation { [all …]
|
| /llvm-project/llvm/test/tools/llvm-readobj/wasm/ |
| H A D | relocations.test | 8 # WASM-NEXT: Relocation { 14 # WASM-NEXT: Relocation { 19 # WASM-NEXT: Relocation { 24 # WASM-NEXT: Relocation {
|
| /llvm-project/llvm/test/tools/llvm-objdump/MachO/ |
| H A D | relocations.test | 10 VERBOSE: Relocation information (__TEXT,__text) 2 entries 14 VERBOSE-NEXT: Relocation information (__LD,__compact_unwind) 1 entries 18 NONVERBOSE: Relocation information (__TEXT,__text) 2 entries 22 NONVERBOSE-NEXT: Relocation information (__LD,__compact_unwind) 1 entries
|
| /llvm-project/lld/ELF/ |
| H A D | Target.h | 90 virtual void relocate(uint8_t *loc, const Relocation &rel, 93 relocate(loc, Relocation{R_NONE, type, 0, 0, nullptr}, val); in relocateNoSym() 260 void reportRangeError(Ctx &, uint8_t *loc, const Relocation &rel, 267 const Relocation &rel) { in checkIntUInt() 275 const Relocation &rel) { 282 const Relocation &rel) { in checkAlignment() 291 const Relocation &rel) { in read32()
|
| /llvm-project/llvm/test/MC/ELF/ |
| H A D | crel.s | 19 # CHECK: Relocation section '.crel.data' at offset {{.*}} contains 8 entries: 30 # CHECK-NEXT: Relocation section '.crel.rodata' at offset {{.*}} contains 4 entries: 37 # CHECK-NEXT: Relocation section '.crelrodata2' at offset {{.*}} contains 2 entries: 42 # CHECK-NEXT: Relocation section '.crelrodata16' at offset {{.*}} contains 1 entries: 46 # CHECK-NEXT: Relocation section '.crelnoalloc' at offset {{.*}} contains 1 entries:
|