From: Daniel Dunbar Date: Sat, 22 Aug 2009 08:27:54 +0000 (+0000) Subject: llvm-mc: Rename / redefine MCFragment::FileOffset to MCFragment::Offset (the X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a5441fea1f5d4f86d6211af16dbf7d190f2a3c83;p=oota-llvm.git llvm-mc: Rename / redefine MCFragment::FileOffset to MCFragment::Offset (the section offset). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79734 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/MC/MCAssembler.h b/include/llvm/MC/MCAssembler.h index 991283aeca2..bb2cda90945 100644 --- a/include/llvm/MC/MCAssembler.h +++ b/include/llvm/MC/MCAssembler.h @@ -43,12 +43,11 @@ private: // // FIXME: This could all be kept private to the assembler implementation. - /// FileOffset - The offset of this section in the object file. This is ~0 - /// until initialized. - uint64_t FileOffset; - - /// FileSize - The size of this section in the object file. This is ~0 until + /// Offset - The offset of this fragment in its section. This is ~0 until /// initialized. + uint64_t Offset; + + /// FileSize - The file size of this section. This is ~0 until initialized. uint64_t FileSize; /// @} @@ -83,11 +82,11 @@ public: FileSize = Value; } - uint64_t getFileOffset() const { - assert(FileOffset != ~UINT64_C(0) && "File offset not set!"); - return FileOffset; + uint64_t getOffset() const { + assert(Offset != ~UINT64_C(0) && "File offset not set!"); + return Offset; } - void setFileOffset(uint64_t Value) { FileOffset = Value; } + void setOffset(uint64_t Value) { Offset = Value; } /// @} diff --git a/lib/MC/MCAssembler.cpp b/lib/MC/MCAssembler.cpp index 9d8c3c5600d..16864f96072 100644 --- a/lib/MC/MCAssembler.cpp +++ b/lib/MC/MCAssembler.cpp @@ -202,7 +202,6 @@ MCFragment::MCFragment() : Kind(FragmentType(~0)) { MCFragment::MCFragment(FragmentType _Kind, MCSectionData *SD) : Kind(_Kind), - FileOffset(~UINT64_C(0)), FileSize(~UINT64_C(0)) { if (SD) @@ -234,22 +233,20 @@ MCAssembler::~MCAssembler() { } void MCAssembler::LayoutSection(MCSectionData &SD) { - uint64_t FileOffset = SD.getFileOffset(); - uint64_t SectionOffset = 0; + uint64_t Offset = 0; for (MCSectionData::iterator it = SD.begin(), ie = SD.end(); it != ie; ++it) { MCFragment &F = *it; - F.setFileOffset(FileOffset); + F.setOffset(Offset); // Evaluate fragment size. switch (F.getKind()) { case MCFragment::FT_Align: { MCAlignFragment &AF = cast(F); - uint64_t AlignedOffset = - RoundUpToAlignment(SectionOffset, AF.getAlignment()); - uint64_t PaddingBytes = AlignedOffset - SectionOffset; + uint64_t AlignedOffset = RoundUpToAlignment(Offset, AF.getAlignment()); + uint64_t PaddingBytes = AlignedOffset - Offset; if (PaddingBytes > AF.getMaxBytesToEmit()) AF.setFileSize(0); @@ -271,21 +268,20 @@ void MCAssembler::LayoutSection(MCSectionData &SD) { uint64_t OrgOffset = OF.getOffset().getConstant(); // FIXME: We need a way to communicate this error. - if (OrgOffset < SectionOffset) + if (OrgOffset < Offset) llvm_report_error("invalid .org offset '" + Twine(OrgOffset) + - "' (section offset '" + Twine(SectionOffset) + "'"); + "' (section offset '" + Twine(Offset) + "'"); - F.setFileSize(OrgOffset - SectionOffset); + F.setFileSize(OrgOffset - Offset); break; } } - FileOffset += F.getFileSize(); - SectionOffset += F.getFileSize(); + Offset += F.getFileSize(); } // FIXME: Pad section? - SD.setFileSize(FileOffset - SD.getFileOffset()); + SD.setFileSize(Offset); } /// WriteFileData - Write the \arg F data to the output file. @@ -294,8 +290,6 @@ static void WriteFileData(raw_ostream &OS, const MCFragment &F, uint64_t Start = OS.tell(); (void) Start; - assert(F.getFileOffset() == Start && "Invalid file offset!"); - // FIXME: Embed in fragments instead? switch (F.getKind()) { case MCFragment::FT_Align: {