diff --git a/bolt/include/bolt/Core/BinarySection.h b/bolt/include/bolt/Core/BinarySection.h --- a/bolt/include/bolt/Core/BinarySection.h +++ b/bolt/include/bolt/Core/BinarySection.h @@ -326,16 +326,7 @@ /// Add a new relocation at the given /p Offset. void addRelocation(uint64_t Offset, MCSymbol *Symbol, uint64_t Type, - uint64_t Addend, uint64_t Value = 0, - bool Pending = false) { - assert(Offset < getSize() && "offset not within section bounds"); - if (!Pending) { - Relocations.emplace(Relocation{Offset, Symbol, Type, Addend, Value}); - } else { - PendingRelocations.emplace_back( - Relocation{Offset, Symbol, Type, Addend, Value}); - } - } + uint64_t Addend, uint64_t Value = 0, bool Pending = false); /// Add a dynamic relocation at the given /p Offset. void addDynamicRelocation(uint64_t Offset, MCSymbol *Symbol, uint64_t Type, diff --git a/bolt/lib/Core/BinarySection.cpp b/bolt/lib/Core/BinarySection.cpp --- a/bolt/lib/Core/BinarySection.cpp +++ b/bolt/lib/Core/BinarySection.cpp @@ -176,6 +176,21 @@ void BinarySection::clearRelocations() { clearList(Relocations); } +void BinarySection::addRelocation(uint64_t Offset, MCSymbol *Symbol, + uint64_t Type, uint64_t Addend, + uint64_t Value, bool Pending) { + assert(Offset < getSize() && "offset not within section bounds"); + LLVM_DEBUG(dbgs() << formatv( + "BOLT-DEBUG: addRelocation in {0}, @{1:x} against {2}\n", + getName(), Offset, Symbol->getName())); + if (Pending) { + PendingRelocations.emplace_back( + Relocation{Offset, Symbol, Type, Addend, Value}); + } else { + Relocations.emplace(Relocation{Offset, Symbol, Type, Addend, Value}); + } +} + void BinarySection::print(raw_ostream &OS) const { OS << getName() << ", " << "0x" << Twine::utohexstr(getAddress()) << ", " << getSize() << " (0x"