Home
last modified time | relevance | path

Searched full:relocation (Results 1 – 25 of 687) sorted by relevance

12345678910>>...28

/freebsd-src/contrib/elftoolchain/libdwarf/
H A Ddwarf_get_relocation_info.332 .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 Ddwarf_add_arange.379 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 Ddwarf_set_reloc_application.332 .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-src/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/
H A DMipsMCCodeEmitter.h58 // 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 and return zero.
[all …]
H A DMipsELFObjectWriter.cpp37 /// 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 i
[all...]
/freebsd-src/contrib/llvm-project/llvm/lib/Target/ARM/MCTargetDesc/
H A DARMFixupKinds.h17 // 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 for Thumb2 direct uconditional branch
[all …]
H A DARMMachObjectWriter.cpp143 "' 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-src/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/
H A DRuntimeDyldCOFFThumb.h89 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 overflow"); in resolveRelocation()
[all …]
H A DRuntimeDyldMachOAArch64.h39 // 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 DRuntimeDyldCOFFX86_64.h52 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 underflow"); in resolveRelocation()
[all …]
H A DRuntimeDyldCOFFI386.h45 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 overflow"); in resolveRelocation()
[all …]
H A DRuntimeDyldELFMips.h40 /// A object file specific relocation resolver
41 /// \param RE The relocation to be resolved
42 /// \param Value Target symbol address to apply the relocation action
46 /// A object file specific relocation resolver
47 /// \param RE The relocation to be resolved
48 /// \param Value Target symbol address to apply the relocation action
/freebsd-src/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/
H A DX86MachObjectWriter.cpp115 // 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 wit in RecordX86_64Relocation()
[all...]
/freebsd-src/contrib/llvm-project/llvm/include/llvm/BinaryFormat/ELFRelocs/
H A DLanai.def6 // 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-src/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/
H A DLanaiFixupKinds.h16 // 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-src/contrib/llvm-project/lld/ELF/Arch/
H A DSystemZ.cpp42 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;
173 error(getErrorLocation(loc) + "unknown relocation (" + Twine(type) + in getRelExpr()
226 0x00, 0x00, 0x00, 0x00, // <relocation offset> in writePlt()
265 "cannot read addend for relocation " + toString(type)); in getImplicitAddend()
285 // R_390_TLS_GDCALL / R_390_TLS_LDCALL: marker relocation in getTlsGdRelaxSkip()
305 void SystemZ::relaxTlsGdToIe(uint8_t *loc, const Relocation &rel, in relaxTlsGdToIe()
[all …]
H A DPPC.cpp50 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 getImplicitAddend()
317 void PPC::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relocate()
382 llvm_unreachable("unknown relocation"); in relocate()
[all …]
/freebsd-src/contrib/llvm-project/lld/ELF/
H A DRelocations.h25 // Represents a relocation type, such as R_X86_64_PC32 or R_ARM_THM_CALL.
29 // List of target-independent relocation types. Relocations read
81 // The following is abstract relocation types used for only one target.
84 // of a relocation type, there are some relocations whose semantics are
85 // unique to a target. Such relocation are marked with R_<TARGET_NAME>.
123 // Architecture-neutral representation of relocation.
124 struct Relocation {
167 const Relocation &rel, uint64_t src);
173 std::pair<Thunk *, bool> getThunk(InputSection *isec, Relocation &rel,
179 bool normalizeExistingThunk(Relocation
121 struct Relocation { global() struct
139 symRelocation global() argument
[all...]
H A DRelocations.cpp15 // 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 th
[all...]
/freebsd-src/contrib/llvm-project/llvm/include/llvm/BinaryFormat/
H A DDynamicTags.def46 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 tabl
[all...]
/freebsd-src/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/
H A DAArch64MachObjectWriter.cpp98 // 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 wit in recordRelocation()
[all...]
/freebsd-src/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/
H A Driscv.h27 /// 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, used by S type instruction
[all …]
/freebsd-src/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/
H A DVEELFObjectWriter.cpp55 "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-src/contrib/llvm-project/llvm/lib/Object/
H A DRelocationResolver.cpp72 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 type"); in resolveX86()
[all …]
/freebsd-src/contrib/llvm-project/lld/COFF/
H A DChunks.cpp82 error("SECREL relocation cannot be applied to absolute symbols"); in checkSecRel()
92 error("overflow in SECREL relocation in section: " + sec->getSectionName()); in applySecRel()
104 // Absolute symbol doesn't have section index, but section index relocation in applySecIdx()
135 error("unsupported relocation type 0x" + Twine::utohexstr(type) + " in " + in applyRelX64()
155 error("unsupported relocation type 0x" + Twine::utohexstr(type) + " in " + in applyRelX86()
169 " instruction in MOV32T relocation"); in readMOV()
173 " instruction in MOV32T relocation"); in readMOV()
189 error("relocation out of range"); in applyBranch20T()
199 error("relocation out of range"); in applyBranch24T()
232 error("unsupported relocation typ in applyRelARM()
[all...]

12345678910>>...28