| Index: src/IceFixups.cpp
|
| diff --git a/src/IceFixups.cpp b/src/IceFixups.cpp
|
| index 7b2025ec178467a4814bbb204faf2485a5e40774..ddc79796ac72dd483badb56de1bc6148ae207342 100644
|
| --- a/src/IceFixups.cpp
|
| +++ b/src/IceFixups.cpp
|
| @@ -48,8 +48,7 @@ IceString AssemblerFixup::symbol(const GlobalContext *Ctx) const {
|
| return Str.str();
|
| }
|
|
|
| -size_t AssemblerFixup::emit(GlobalContext *Ctx, RelocOffsetT OverrideOffset,
|
| - bool IsPCRel) const {
|
| +size_t AssemblerFixup::emit(GlobalContext *Ctx, const Assembler &Asm) const {
|
| static constexpr const size_t FixupSize = 4;
|
| if (!BuildDefs::dump())
|
| return FixupSize;
|
| @@ -59,23 +58,20 @@ size_t AssemblerFixup::emit(GlobalContext *Ctx, RelocOffsetT OverrideOffset,
|
| Str << "__Sz_AbsoluteZero";
|
| else
|
| Str << symbol(Ctx);
|
| - RelocOffsetT Offset = OverrideOffset;
|
| + RelocOffsetT Offset = Asm.load<RelocOffsetT>(position());
|
| if (Offset)
|
| Str << " + " << Offset;
|
| // For PCRel fixups, we write the pc-offset from a symbol into the Buffer
|
| // (e.g., -4), but we don't represent that in the fixup's offset. Otherwise
|
| // the fixup holds the true offset, and so does the Buffer. Just load the
|
| // offset from the buffer.
|
| - if (IsPCRel)
|
| + if (Asm.fixupIsPCRel(kind()))
|
| Str << " - .";
|
| Str << "\n";
|
| return FixupSize;
|
| }
|
|
|
| -size_t AssemblerTextFixup::emit(GlobalContext *Ctx, RelocOffsetT OverrideOffset,
|
| - bool IsPCRel) const {
|
| - (void)OverrideOffset;
|
| - (void)IsPCRel;
|
| +size_t AssemblerTextFixup::emit(GlobalContext *Ctx, const Assembler &) const {
|
| Ctx->getStrEmit() << Message << "\n";
|
| return NumBytes;
|
| }
|
|
|