diff --git a/include/llvm/MC/MCObjectWriter.h b/include/llvm/MC/MCObjectWriter.h index d4fab0ea477..0316f51049c 100644 --- a/include/llvm/MC/MCObjectWriter.h +++ b/include/llvm/MC/MCObjectWriter.h @@ -17,7 +17,7 @@ namespace llvm { class MCAsmFixup; class MCAssembler; -class MCDataFragment; +class MCFragment; class MCValue; class raw_ostream; @@ -69,7 +69,7 @@ public: /// information about the relocation so that it can be emitted during /// WriteObject(). virtual void RecordRelocation(const MCAssembler &Asm, - const MCDataFragment &Fragment, + const MCFragment *Fragment, const MCAsmFixup &Fixup, MCValue Target, uint64_t &FixedValue) = 0; diff --git a/include/llvm/MC/MachObjectWriter.h b/include/llvm/MC/MachObjectWriter.h index 3e3305f083a..c2edf638636 100644 --- a/include/llvm/MC/MachObjectWriter.h +++ b/include/llvm/MC/MachObjectWriter.h @@ -17,7 +17,7 @@ namespace llvm { class MCAsmFixup; class MCAssembler; -class MCDataFragment; +class MCFragment; class MCValue; class raw_ostream; @@ -31,7 +31,7 @@ public: virtual void ExecutePostLayoutBinding(MCAssembler &Asm); virtual void RecordRelocation(const MCAssembler &Asm, - const MCDataFragment &Fragment, + const MCFragment *Fragment, const MCAsmFixup &Fixup, MCValue Target, uint64_t &FixedValue); diff --git a/lib/MC/MCAssembler.cpp b/lib/MC/MCAssembler.cpp index 432e44a24aa..903d10acfb8 100644 --- a/lib/MC/MCAssembler.cpp +++ b/lib/MC/MCAssembler.cpp @@ -573,7 +573,7 @@ void MCAssembler::Finish() { // The fixup was unresolved, we need a relocation. Inform the object // writer of the relocation, and give it an opportunity to adjust the // fixup value if need be. - Writer->RecordRelocation(*this, *DF, Fixup, Target, FixedValue); + Writer->RecordRelocation(*this, DF, Fixup, Target, FixedValue); } getBackend().ApplyFixup(Fixup, *DF, FixedValue); diff --git a/lib/MC/MachObjectWriter.cpp b/lib/MC/MachObjectWriter.cpp index 4b08c226d14..633197a67fd 100644 --- a/lib/MC/MachObjectWriter.cpp +++ b/lib/MC/MachObjectWriter.cpp @@ -438,7 +438,7 @@ public: } void RecordX86_64Relocation(const MCAssembler &Asm, - const MCDataFragment &Fragment, + const MCFragment *Fragment, const MCAsmFixup &Fixup, MCValue Target, uint64_t &FixedValue) { unsigned IsPCRel = isFixupKindPCRel(Fixup.Kind); @@ -446,7 +446,7 @@ public: unsigned Log2Size = getFixupKindLog2Size(Fixup.Kind); // See . - uint32_t Address = Fragment.getOffset() + Fixup.Offset; + uint32_t Address = Fragment->getOffset() + Fixup.Offset; int64_t Value = 0; unsigned Index = 0; unsigned IsExtern = 0; @@ -521,7 +521,7 @@ public: (Log2Size << 25) | (IsExtern << 27) | (Type << 28)); - Relocations[Fragment.getParent()].push_back(MRE); + Relocations[Fragment->getParent()].push_back(MRE); Index = B_Base->getIndex(); IsExtern = 1; @@ -622,14 +622,14 @@ public: (Log2Size << 25) | (IsExtern << 27) | (Type << 28)); - Relocations[Fragment.getParent()].push_back(MRE); + Relocations[Fragment->getParent()].push_back(MRE); } void RecordScatteredRelocation(const MCAssembler &Asm, - const MCFragment &Fragment, + const MCFragment *Fragment, const MCAsmFixup &Fixup, MCValue Target, uint64_t &FixedValue) { - uint32_t Address = Fragment.getOffset() + Fixup.Offset; + uint32_t Address = Fragment->getOffset() + Fixup.Offset; unsigned IsPCRel = isFixupKindPCRel(Fixup.Kind); unsigned Log2Size = getFixupKindLog2Size(Fixup.Kind); unsigned Type = RIT_Vanilla; @@ -670,7 +670,7 @@ public: (IsPCRel << 30) | RF_Scattered); MRE.Word1 = Value2; - Relocations[Fragment.getParent()].push_back(MRE); + Relocations[Fragment->getParent()].push_back(MRE); } MachRelocationEntry MRE; @@ -680,10 +680,10 @@ public: (IsPCRel << 30) | RF_Scattered); MRE.Word1 = Value; - Relocations[Fragment.getParent()].push_back(MRE); + Relocations[Fragment->getParent()].push_back(MRE); } - void RecordRelocation(const MCAssembler &Asm, const MCDataFragment &Fragment, + void RecordRelocation(const MCAssembler &Asm, const MCFragment *Fragment, const MCAsmFixup &Fixup, MCValue Target, uint64_t &FixedValue) { if (Is64Bit) { @@ -707,7 +707,7 @@ public: } // See . - uint32_t Address = Fragment.getOffset() + Fixup.Offset; + uint32_t Address = Fragment->getOffset() + Fixup.Offset; uint32_t Value = 0; unsigned Index = 0; unsigned IsExtern = 0; @@ -752,7 +752,7 @@ public: (Log2Size << 25) | (IsExtern << 27) | (Type << 28)); - Relocations[Fragment.getParent()].push_back(MRE); + Relocations[Fragment->getParent()].push_back(MRE); } void BindIndirectSymbols(MCAssembler &Asm) { @@ -1097,7 +1097,7 @@ void MachObjectWriter::ExecutePostLayoutBinding(MCAssembler &Asm) { } void MachObjectWriter::RecordRelocation(const MCAssembler &Asm, - const MCDataFragment &Fragment, + const MCFragment *Fragment, const MCAsmFixup &Fixup, MCValue Target, uint64_t &FixedValue) { ((MachObjectWriterImpl*) Impl)->RecordRelocation(Asm, Fragment, Fixup,