Lines Matching defs:Rel

1287       for (const Relocation &Rel : Section.dynamicRelocations()) {
1288 const uint64_t RelAddress = SectionAddress + Rel.Offset;
1294 assert(Rel.isRelative() && "Expected relative relocation for island");
1572 const Relocation *Rel = BC->getDynamicRelocationAt(TargetAddress);
1573 if (!Rel)
1576 MCSymbol *Symbol = Rel->Symbol;
1578 if (BC->isRISCV() || !Rel->Addend || !Rel->isIRelative())
1582 BinaryFunction *TargetBF = BC->getBinaryFunctionAtAddress(Rel->Addend);
1586 << Twine::utohexstr(Rel->Addend) << ", skipping\n";
2138 DataRefImpl Rel = RelRef.getRawDataRefImpl();
2139 const ELFShdrTy *RelocationSection = cantFail(EF.getSection(Rel.d.a));
2146 const Elf_Rela *RelA = Obj->getRela(Rel);
2156 const RelocationRef &Rel) {
2157 return getRelocationAddend(cast<ELF64LEObjectFile>(Obj), Rel);
2166 DataRefImpl Rel = RelRef.getRawDataRefImpl();
2167 const ELFShdrTy *RelocationSection = cantFail(EF.getSection(Rel.d.a));
2172 Symbol = Obj->getRel(Rel)->getSymbol(EF.isMips64EL());
2175 Symbol = Obj->getRela(Rel)->getSymbol(EF.isMips64EL());
2183 const RelocationRef &Rel) {
2184 return getRelocationSymbol(cast<ELF64LEObjectFile>(Obj), Rel);
2189 const RelocationRef &Rel, uint64_t &RType, std::string &SymbolName,
2209 BC->getUnsignedValueAtAddress(Rel.getOffset(), RelSize);
2214 ExtractedValue = Relocation::extractValue(RType, *Value, Rel.getOffset());
2215 Addend = getRelocationAddend(InputFile, Rel);
2218 const uint64_t PCRelOffset = IsPCRelative && !IsAArch64 ? Rel.getOffset() : 0;
2220 auto SymbolIter = Rel.getSymbol();
2288 << Twine::utohexstr(Rel.getOffset())
2407 for (const RelocationRef &Rel : Section.relocations()) {
2408 const uint64_t RType = Rel.getType();
2415 const uint64_t Addend = getRelocationAddend(InputFile, Rel);
2417 symbol_iterator SymbolIter = Rel.getSymbol();
2429 Rel.getTypeName(TypeName);
2431 << Twine::utohexstr(Rel.getOffset()) << " : " << TypeName
2440 SymbolIndex[Symbol] = getRelocationSymbol(InputFile, Rel);
2442 BC->addDynamicRelocation(Rel.getOffset(), Symbol, RType, Addend);
2500 void RewriteInstance::printRelocationInfo(const RelocationRef &Rel,
2506 Rel.getTypeName(TypeName);
2508 const uint64_t Offset = Rel.getOffset();
2520 dbgs() << BC->getSectionForAddress(Rel.getOffset())->getName();
2557 for (const RelocationRef &Rel : Section.relocations())
2558 handleRelocation(RelocatedSection, Rel);
2562 const RelocationRef &Rel) {
2567 Rel.getTypeName(TypeName);
2568 uint64_t RType = Rel.getType();
2590 if (!IsAArch64 && BC->getDynamicRelocationAt(Rel.getOffset())) {
2592 dbgs() << formatv("BOLT-DEBUG: address {0:x} has a ", Rel.getOffset())
2604 if (!analyzeRelocation(Rel, RType, SymbolName, IsSectionRelocation,
2608 << formatv("{0:x}; type name = {1}\n", Rel.getOffset(), TypeName);
2617 << formatv("{0:x}; type name = {1}\n", Rel.getOffset(), TypeName);
2626 printRelocationInfo(Rel, SymbolName, SymbolAddress, Addend, ExtractedValue);
2632 BC->getBinaryFunctionContainingAddress(Rel.getOffset(),
2636 if (!IsAArch64 && !ContainingBF->containsAddress(Rel.getOffset())) {
2656 symbol_iterator SymbolIter = Rel.getSymbol();
2669 ContainingBF->addRelocation(Rel.getOffset(), ReferencedSymbol,
2670 Rel.getType(), 0,
2697 BC->addPCRelativeDataRelocation(Rel.getOffset());
2702 ContainingBF->addRelocation(Rel.getOffset(), ReferencedSymbol, RType,
2707 << formatv("{0:x} for {1}\n", Rel.getOffset(), SymbolName);
2740 BC->errs() << formatv("data section at {0:x}\n", Rel.getOffset());
2741 LLVM_DEBUG(printRelocationInfo(Rel, SymbolName, SymbolAddress, Addend,
2762 auto CheckReloc = [&](const Relocation &Rel) {
2763 return Rel.Symbol == RogueBF->getSymbol() &&
2764 !Relocation::isPCRelative(Rel.Type);
2827 *ReferencedBF, Rel.getOffset());
2890 SymbolRef Symbol = *Rel.getSymbol();
2922 printRelocationInfo(Rel, ReferencedSymbol->getName(), SymbolAddress,
2937 ContainingBF->addRelocation(Rel.getOffset(), ReferencedSymbol, RType,
2940 BC->addRelocation(Rel.getOffset(), ReferencedSymbol, RType, Addend,
5149 auto FixAddend = [&](const BinarySection &Section, const Relocation &Rel,
5154 if (Section.getRelocationAt(Rel.Offset))
5158 const uint64_t Addend = getNewFunctionOrDataAddress(Rel.Addend);
5173 for (const Relocation &Rel : Section.dynamicRelocations()) {
5174 if (!Rel.isRelative())
5178 getNewFunctionOrDataAddress(SectionInputAddress + Rel.Offset);
5180 RelOffset = RelOffset == 0 ? SectionAddress + Rel.Offset : RelOffset;
5183 FixAddend(Section, Rel, RelOffset);
5274 for (const Relocation &Rel : Section.dynamicRelocations()) {
5275 const bool IsRelative = Rel.isRelative();
5283 MCSymbol *Symbol = Rel.Symbol;
5285 uint64_t Addend = Rel.Addend;
5287 getNewFunctionOrDataAddress(SectionInputAddress + Rel.Offset);
5289 RelOffset = RelOffset == 0 ? SectionAddress + Rel.Offset : RelOffset;
5290 if (Rel.Symbol) {
5299 NewRelA.setSymbolAndType(SymbolIdx, Rel.Type, EF.isMips64EL());
5303 const bool IsJmpRel = IsJmpRelocation.contains(Rel.Type);