Lines Matching full:re
148 RelocationEntry RE(SectionID, Offset, RelType, 0, -1, 0, 0, 0, false, 0);
149 addRelocationForSymbol(RE, TargetName);
162 RelocationEntry RE =
165 addRelocationForSection(RE, TargetSectionID);
169 RelocationEntry RE =
172 addRelocationForSection(RE, TargetSectionID);
176 RelocationEntry RE =
178 addRelocationForSection(RE, TargetSectionID);
182 RelocationEntry RE =
184 addRelocationForSection(RE, TargetSectionID);
188 RelocationEntry RE =
191 addRelocationForSection(RE, TargetSectionID);
197 RelocationEntry RE = RelocationEntry(SectionID, Offset, RelType,
199 addRelocationForSection(RE, TargetSectionID);
208 void resolveRelocation(const RelocationEntry &RE, uint64_t Value) override {
209 const auto Section = Sections[RE.SectionID];
210 uint8_t *Target = Section.getAddressWithOffset(RE.Offset);
211 int ISASelectionBit = RE.IsTargetThumbFunc ? 1 : 0;
213 switch (RE.RelType) {
221 RE.Sections.SectionA == static_cast<uint32_t>(-1)
223 : Sections[RE.Sections.SectionA].getLoadAddressWithOffset(RE.Addend);
226 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
228 << " TargetSection: " << RE.Sections.SectionA
237 uint64_t Result = Sections[RE.Sections.SectionA].getLoadAddress() -
238 Sections[0].getLoadAddress() + RE.Addend;
240 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
242 << " TargetSection: " << RE.Sections.SectionA
251 assert(static_cast<uint32_t>(RE.SectionID) <= UINT16_MAX &&
253 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
255 << RE.SectionID << '\n');
256 writeBytesUnaligned(RE.SectionID, Target, 2);
260 assert(static_cast<uint64_t>(RE.Addend) <= UINT32_MAX &&
262 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
263 << " RelType: IMAGE_REL_ARM_SECREL Value: " << RE.Addend
265 writeBytesUnaligned(RE.Addend, Target, 2);
270 Sections[RE.Sections.SectionA].getLoadAddressWithOffset(RE.Addend);
272 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
274 << " TargetSection: " << RE.Sections.SectionA
298 RE.Addend - (Sections[RE.SectionID].getLoadAddress() + RE.Offset) - 4;
299 assert(static_cast<int64_t>(RE.Addend) <= INT32_MAX &&
301 assert(static_cast<int64_t>(RE.Addend) >= INT32_MIN &&
303 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
313 RE.Addend - (Sections[RE.SectionID].getLoadAddress() + RE.Offset) - 4;
314 assert(static_cast<int64_t>(RE.Addend) <= INT32_MAX &&
316 assert(static_cast<int64_t>(RE.Addend) >= INT32_MIN &&
318 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
328 RE.Addend - (Sections[RE.SectionID].getLoadAddress() + RE.Offset) - 4;
329 assert(static_cast<int64_t>(RE.Addend) <= INT32_MAX &&
331 assert(static_cast<int64_t>(RE.Addend) >= INT32_MIN &&
333 LLVM_DEBUG(dbgs() << "\t\tOffset: " << RE.Offset