/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/ |
H A D | MipsMCCodeEmitter.h | 58 // target operand. If the machine operand requires relocation, 59 // record the relocation and return zero. 65 // target operand. If the machine operand requires relocation, 66 // record the relocation and return zero. 92 // target operand. If the machine operand requires relocation, 93 // record the relocation and return zero. 99 // target operand. If the machine operand requires relocation, 100 // record the relocation and return zero. 106 // target operand. If the machine operand requires relocation, 107 // record the relocation an [all...] |
H A D | MipsELFObjectWriter.cpp | 37 /// Holds additional information needed by the relocation ordering algorithm. 39 const ELFRelocationEntry R; ///< The relocation. 40 bool Matched = false; ///< Is this relocation part of a match. 134 /// Determine the low relocation that matches the given relocation. 135 /// If the relocation does not need a low relocation then the return value 164 /// Determine whether a relocation (X) matches the one given in R. 166 /// A relocation matches if: 175 /// A matching relocation is unbeatable if: 194 /// A matching relocation is a better match if: 221 // Determine the type of the relocation. in getRelocType() [all …]
|
/freebsd/contrib/elftoolchain/libdwarf/ |
H A D | dwarf_get_relocation_info.3 | 32 .Nd retrieve generated relocation arrays 49 is used to retrieve the relocation arrays generated by a prior call to 52 Each call to this function retrieves the next available relocation 55 the relocation arrays. 56 The total number of generated relocation arrays retrievable 73 of the relocation section to which the retrieved relocation array 79 the ELF section to which the retrieved relocation array applies. 84 relocation entries contained in the relocation array. 89 retrieved array of relocation entries. 96 The retrieved relocation entries are described using structure [all …]
|
H A D | dwarf_add_arange.3 | 79 relocation. 84 relocation. 98 Application code can retrieve the relocation entries for the 101 The relocation entry for the first symbol will have type 103 and the relocation entry for the second symbol will have type 110 will be ignored and only one symbol is used for relocation. 124 and supports only one relocation symbol.
|
H A D | dwarf_set_reloc_application.3 | 32 .Nd set a library-wide relocation flag 44 allows applications to specify how relocation information is to be 53 relocation sections and will apply the relocation records found to 60 The default behaviour of the library is to process relocation records. 73 returns the previous value of the library-wide relocation application
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/ |
H A D | ARMFixupKinds.h | 17 // 12-bit PC relative relocation for symbol addresses 23 // 10-bit PC relative relocation for symbol addresses used in 26 // 10-bit PC relative relocation for symbol addresses used in VFP instructions 33 // 9-bit PC relative relocation for symbol addresses used in VFP instructions 41 // 10-bit PC relative relocation for symbol addresses where the lower 2 bits 44 // 12-bit PC relative relocation for the ADR instruction. 46 // 12-bit PC relative relocation for the ADR instruction. 48 // 24-bit PC relative relocation for conditional branch instructions. 50 // 24-bit PC relative relocation for branch instructions. (unconditional) 52 // 20-bit PC relative relocation fo [all...] |
H A D | ARMMachObjectWriter.cpp | 143 "' in resulting scattered relocation."); in recordARMScatteredHalfRelocation() 175 // Select the appropriate difference relocation type. in recordARMScatteredHalfRelocation() 194 // relocation entry in the low 16 bits of r_address field. in recordARMScatteredHalfRelocation() 202 // relocation, but it will be set in FixedValue if the base symbol in recordARMScatteredHalfRelocation() 253 "' in resulting scattered relocation."); in recordARMScatteredRelocation() 285 // Select the appropriate difference relocation type. in recordARMScatteredRelocation() 331 // relocation that explicitly mentions the function. Not a problem if it's in requiresExternRelocation() 333 // external relocation there causes more issues. in requiresExternRelocation() 348 // BL/BLX also use external relocations when an internal relocation in requiresExternRelocation() 353 // If the resultant value would be out of range for an internal relocation, in requiresExternRelocation() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/ |
H A D | RuntimeDyldCOFFThumb.h | 89 report_fatal_error("Unknown symbol in relocation"); in processRelocationRef() 104 // Determine the Addend used to adjust the relocation value. in processRelocationRef() 152 // We need to find out if the relocation is relative to a thumb function in processRelocationRef() 153 // so that we include the ISA selection bit when resolve the relocation in processRelocationRef() 157 default: llvm_unreachable("unsupported relocation type"); in processRelocationRef() 159 // This relocation is ignored. in processRelocationRef() 214 default: llvm_unreachable("unsupported relocation type"); in resolveRelocation() 216 // This relocation is ignored. in resolveRelocation() 225 assert(Result <= UINT32_MAX && "relocation overflow"); in resolveRelocation() 239 assert(Result <= UINT32_MAX && "relocation overflo in resolveRelocation() [all...] |
H A D | RuntimeDyldMachOAArch64.h | 39 // Verify that the relocation has the correct size and alignment. in decodeAddend() 45 ErrStream << "Unsupported relocation type: " in decodeAddend() 57 ErrStream << "Invalid relocation size for relocation " in decodeAddend() 70 assert(NumBytes == 4 && "Invalid relocation size."); in decodeAddend() 78 llvm_unreachable("Unsupported relocation type!"); in decodeAddend() 88 // Verify that the relocation points to a B/BL instruction. in decodeAddend() 103 // Verify that the relocation points to the expected adrp instruction. in decodeAddend() 115 // Verify that the relocation points to one of the expected load / store in decodeAddend() 124 // Verify that the relocation points to one of the expected load / store in decodeAddend() 157 // Verify that the relocation has the correct alignment. in encodeAddend() [all …]
|
H A D | RuntimeDyldCOFFX86_64.h | 52 assert(Result <= UINT32_MAX && "Relocation overflow"); in write32BitOffset() 67 // The target location for the relocation is described by RE.SectionID and 82 // relocation to be applied. For relocations which refer to symbols in the 105 assert(((int64_t)Result <= INT32_MAX) && "Relocation overflow"); in resolveRelocation() 106 assert(((int64_t)Result >= INT32_MIN) && "Relocation underflow"); in resolveRelocation() 117 report_fatal_error("IMAGE_REL_AMD64_ADDR32NB relocation requires an " in resolveRelocation() 131 assert(static_cast<int64_t>(RE.Addend) <= INT32_MAX && "Relocation overflow"); in resolveRelocation() 132 assert(static_cast<int64_t>(RE.Addend) >= INT32_MIN && "Relocation underflow"); in resolveRelocation() 138 assert(static_cast<int16_t>(RE.SectionID) <= INT16_MAX && "Relocation overflow"); in resolveRelocation() 139 assert(static_cast<int16_t>(RE.SectionID) >= INT16_MIN && "Relocation underflo in resolveRelocation() [all...] |
H A D | RuntimeDyldCOFFI386.h | 45 report_fatal_error("Unknown symbol in relocation"); in processRelocationRef() 78 // Determine the Addend used to adjust the relocation value. in processRelocationRef() 111 // This relocation is ignored. in processRelocationRef() 135 llvm_unreachable("unsupported relocation type"); in processRelocationRef() 148 // This relocation is ignored. in resolveRelocation() 157 assert(Result <= UINT32_MAX && "relocation overflow"); in resolveRelocation() 172 assert(Result <= UINT32_MAX && "relocation overflow"); in resolveRelocation() 188 "relocation overflow"); in resolveRelocation() 190 "relocation underflow"); in resolveRelocation() 202 "relocation overflo in resolveRelocation() [all...] |
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/ |
H A D | X86MachObjectWriter.cpp | 115 // Compensate for the relocation offset, Darwin x86_64 relocations only have in RecordX86_64Relocation() 118 // following the relocation are not accommodated for (see comment below in RecordX86_64Relocation() 128 // it. I think it would require a local relocation, but I'm not sure if that in RecordX86_64Relocation() 129 // would work either. The official way to get an absolute PCrel relocation in RecordX86_64Relocation() 149 "unsupported relocation of modified symbol"); in RecordX86_64Relocation() 157 Fixup.getLoc(), "unsupported pc-relative relocation of difference"); in RecordX86_64Relocation() 162 // require a local relocation is handled just like if the symbols were in RecordX86_64Relocation() 166 // relocation entries. in RecordX86_64Relocation() 169 // single SIGNED relocation); reject it for now. Except the case where both in RecordX86_64Relocation() 173 Fixup.getLoc(), "unsupported relocation with identical base"); in RecordX86_64Relocation() [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ELFRelocs/ |
H A D | Lanai.def | 6 // No relocation 8 // 21-bit symbol relocation 10 // 21-bit symbol relocation with last two bits masked to 0 14 // General 32-bit relocation 16 // Upper 16-bits of a symbolic relocation 18 // Lower 16-bits of a symbolic relocation
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/ |
H A D | LanaiFixupKinds.h | 16 // Although most of the current fixup types reflect a unique relocation 17 // one can have multiple fixup types for a given relocation and thus need 28 FIXUP_LANAI_21, // 21-bit symbol relocation 29 FIXUP_LANAI_21_F, // 21-bit symbol relocation, last two bits masked to 0 31 FIXUP_LANAI_32, // general 32-bit relocation 32 FIXUP_LANAI_HI16, // upper 16-bits of a symbolic relocation 33 FIXUP_LANAI_LO16, // lower 16-bits of a symbolic relocation
|
/freebsd/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ |
H A D | DynamicTags.def | 46 DYNAMIC_TAG(PLTRELSZ, 2) // Size of relocation entries in PLT. 51 DYNAMIC_TAG(RELA, 7) // Address of relocation table (Rela entries). 52 DYNAMIC_TAG(RELASZ, 8) // Size of Rela relocation table. 53 DYNAMIC_TAG(RELAENT, 9) // Size of a Rela relocation entry. 61 DYNAMIC_TAG(REL, 17) // Address of relocation table (Rel entries). 62 DYNAMIC_TAG(RELSZ, 18) // Size of Rel relocation table. 63 DYNAMIC_TAG(RELENT, 19) // Size of a Rel relocation entry. 64 DYNAMIC_TAG(PLTREL, 20) // Type of relocation entry used for linking. 85 DYNAMIC_TAG(RELRSZ, 35) // Size of Relr relocation table. 86 DYNAMIC_TAG(RELR, 36) // Address of relocation table (Relr entries). [all …]
|
H A D | XCOFF.h | 79 F_RELFLG = 0x0001, ///< relocation info stripped from file 261 // Relocation types, defined in `/usr/include/reloc.h`. 263 R_POS = 0x00, ///< Positive relocation. Provides the address of the referenced 265 R_RL = 0x0c, ///< Positive indirect load relocation. Modifiable instruction. 266 R_RLA = 0x0d, ///< Positive load address relocation. Modifiable instruction. 268 R_NEG = 0x01, ///< Negative relocation. Provides the negative of the address 270 R_REL = 0x02, ///< Relative to self relocation. Provides a displacement value 274 R_TOC = 0x03, ///< Relative to the TOC relocation. Provides a displacement 277 R_TRL = 0x12, ///< TOC relative indirect load relocation. Similar to R_TOC, 282 ///< relocation. Compilers are not permitted to generate this [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/ |
H A D | AArch64MachObjectWriter.cpp | 98 // This encompasses the relocation for the whole 21-bit value. in getAArch64FixupKindMachOInfo() 164 // AArch64 pcrel relocation addends do not include the section offset. in recordRelocation() 190 "Invalid relocation on conditional branch!"); in recordRelocation() 209 "PC relative absolute relocation!"); in recordRelocation() 229 // SymB is the PC, so use a PC-rel pointer-to-GOT relocation. in recordRelocation() 241 "unsupported relocation of modified symbol"); in recordRelocation() 248 "unsupported pc-relative relocation of " in recordRelocation() 262 "unsupported relocation of local symbol '" + A->getName() + in recordRelocation() 269 "unsupported relocation of local symbol '" + B->getName() + in recordRelocation() 276 Fixup.getLoc(), "unsupported relocation with identical base"); in recordRelocation() [all …]
|
/freebsd/contrib/llvm-project/lld/ELF/ |
H A D | Relocations.cpp | 15 // reading records from relocation sections and applying them to output. 21 // fixing addresses in relocation processing. 38 // It instead stores Relocation objects to InputSection's Relocations 99 void elf::reportRangeError(uint8_t *loc, const Relocation &rel, const Twine &v, in reportRangeError() 125 errorOrWarn(errPlace.loc + "relocation " + lld::toString(rel.type) + in reportRangeError() 170 // In case of global symbol, the R_MIPS_GOT16 relocation does not in getMipsPairType() 173 // relocation loads an address of the symbol. In case of local in getMipsPairType() 174 // symbol, the R_MIPS_GOT16 relocation creates a GOT entry to hold in getMipsPairType() 284 // them are copied by a copy relocation, all of them need to be copied. 313 // effectively a defined symbol. In the case of copy relocation the symbol is [all …]
|
H A D | ARMErrataFix.cpp | 90 // A label for the start of the Patch that we can use as a relocation target. 153 // address. This is only used when the branch instruction has no relocation. 183 // If we have a relocation then apply it. in writeTo() 189 // If we don't have a relocation then we must calculate and write the offset in writeTo() 207 uint32_t instr, const Relocation *r) { in branchDestInFirstRegion() 211 // If there is a branch relocation at the same offset we must use this to in branchDestInFirstRegion() 219 // If there is no relocation, we must have an intra-section branch in branchDestInFirstRegion() 246 // Branch relocation at off. Will be nullptr if no relocation exists. 247 Relocation *rel; 281 // Find a relocation for the branch if it exists. This will be used in scanCortexA8Errata657417() [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/ |
H A D | riscv.h | 27 /// A plain 32-bit pointer value relocation 34 /// A plain 64-bit pointer value relocation 41 /// PC-relative branch pointer value relocation 48 /// High 20 bits of PC-relative jump pointer value relocation 73 /// High 20 bits of PC relative relocation 79 /// Low 12 bits of PC relative relocation, used by I type instruction format 85 /// Low 12 bits of PC relative relocation, used by S type instruction format 91 /// High 20 bits of 32-bit pointer value relocation 97 /// Low 12 bits of 32-bit pointer value relocation 103 /// Low 12 bits of 32-bit pointer value relocation, use [all...] |
/freebsd/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/ |
H A D | VEELFObjectWriter.cpp | 55 "1-byte pc-relative data relocation is not supported"); in getRelocType() 60 "2-byte pc-relative data relocation is not supported"); in getRelocType() 68 "8-byte pc-relative data relocation is not supported"); in getRelocType() 82 Ctx.reportError(Fixup.getLoc(), "Unknown ELF relocation type"); in getRelocType() 85 Ctx.reportError(Fixup.getLoc(), "1-byte data relocation is not supported"); in getRelocType() 88 Ctx.reportError(Fixup.getLoc(), "2-byte data relocation is not supported"); in getRelocType() 98 "A non pc-relative srel32 relocation is not supported"); in getRelocType() 106 "A non pc-relative pc_hi32 relocation is not supported"); in getRelocType() 110 "A non pc-relative pc_lo32 relocation is not supported"); in getRelocType()
|
/freebsd/contrib/llvm-project/llvm/lib/Object/ |
H A D | RelocationResolver.cpp | 72 llvm_unreachable("Invalid relocation type"); in resolveX86_64() 103 llvm_unreachable("Invalid relocation type"); in resolveAArch64() 125 llvm_unreachable("Invalid relocation type"); in resolveBPF() 153 llvm_unreachable("Invalid relocation type"); in resolveMips64() 175 llvm_unreachable("Invalid relocation type"); in resolveMSP430() 203 llvm_unreachable("Invalid relocation type"); in resolvePPC64() 225 llvm_unreachable("Invalid relocation type"); in resolveSystemZ() 250 llvm_unreachable("Invalid relocation type"); in resolveSparc64() 284 llvm_unreachable("Invalid relocation type"); in resolveAmdgpu() 309 llvm_unreachable("Invalid relocation typ in resolveX86() [all...] |
/freebsd/contrib/llvm-project/lld/ELF/Arch/ |
H A D | AArch64.cpp | 50 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 relaxTlsIeToLe(uint8_t *loc, const Relocation &rel, uint64_t val) const; 64 AArch64Relaxer(ArrayRef<Relocation> relocs); 65 bool tryRelaxAdrpAdd(const Relocation &adrpRel, const Relocation &addRel, 67 bool tryRelaxAdrpLdr(const Relocation &adrpRel, const Relocation &ldrRel, 183 error(getErrorLocation(loc) + "unknown relocation (" + Twine(type) + in getRelExpr() 243 // The following relocation types all point at instructions, and in getImplicitAddend() 247 // says: "If the relocation relocates an instruction the immediate in getImplicitAddend() [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; 215 llvm_unreachable("unsupported relocation type used in branch"); in inBranchRange() 266 error(getErrorLocation(loc) + "unknown relocation (" + Twine(type) + in getRelExpr() 294 "cannot read addend for relocation " + toString(type)); in fromDTPREL() 317 void PPC::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relocate() 382 llvm_unreachable("unknown relocation"); in adjustTlsExpr() [all...] |
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/ |
H A D | RuntimeDyldImpl.h | 41 return make_error<RuntimeDyldError>("Unimplemented relocation: " #RelType) 122 /// Addend - the relocation addend encoded in the instruction itself. Also 123 /// used to make a relocation section relative instead of symbol relative. 126 /// SectionID - the section this relocation points to. 129 /// RelType - relocation type. 137 /// SymOffset - Section offset of the relocation entry's symbol (used for GOT 144 /// The size of this relocation (MachO specific). 147 /// True if this is a PCRel relocation (MachO specific). 272 // The symbol (or section) the relocation is sourced from is the Key 273 // in the relocation list where it's stored. [all …]
|