diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-02 03:09:06 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-02 03:09:06 +0000 |
| commit | 60ebca9aaff776383111e5f3c7ab91fe07e4b1cc (patch) | |
| tree | bf8a537a78ca93a8f5db431179c5e061a4438335 /llvm/lib/MC/MCAssembler.cpp | |
| parent | 8a2ee390be8425ac457be265067afc984a71b9dd (diff) | |
| download | llvm-60ebca9aaff776383111e5f3c7ab91fe07e4b1cc.zip llvm-60ebca9aaff776383111e5f3c7ab91fe07e4b1cc.tar.gz llvm-60ebca9aaff776383111e5f3c7ab91fe07e4b1cc.tar.bz2 | |
The sections that the ELF object writer has to create are very simple and
contain only data. Handle them specially instead of using AddSectionToTheEnd.
This moves a hack from the generic assembler to the elf writer. It is also
a bit faster and should make other improvements easier.
llvm-svn: 120683
Diffstat (limited to 'llvm/lib/MC/MCAssembler.cpp')
| -rw-r--r-- | llvm/lib/MC/MCAssembler.cpp | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/llvm/lib/MC/MCAssembler.cpp b/llvm/lib/MC/MCAssembler.cpp index 168b620..86bdca1 100644 --- a/llvm/lib/MC/MCAssembler.cpp +++ b/llvm/lib/MC/MCAssembler.cpp @@ -618,26 +618,6 @@ void MCAssembler::WriteSectionData(const MCSectionData *SD, assert(OW->getStream().tell() - Start == Layout.getSectionFileSize(SD)); } -void MCAssembler::AddSectionToTheEnd(const MCObjectWriter &Writer, - MCSectionData &SD, MCAsmLayout &Layout) { - // Create dummy fragments and assign section ordinals. - unsigned SectionIndex = size(); - SD.setOrdinal(SectionIndex); - - // Assign layout order indices to sections and fragments. - const MCFragment &Last = *Layout.getSectionOrder().back()->rbegin(); - unsigned FragmentIndex = Last.getLayoutOrder() + 1; - - SD.setLayoutOrder(Layout.getSectionOrder().size()); - for (MCSectionData::iterator it2 = SD.begin(), - ie2 = SD.end(); it2 != ie2; ++it2) { - it2->setLayoutOrder(FragmentIndex++); - } - Layout.getSectionOrder().push_back(&SD); - - Layout.LayoutSection(&SD); -} - void MCAssembler::Finish(MCObjectWriter *Writer) { DEBUG_WITH_TYPE("mc-dump", { llvm::errs() << "assembler backend - pre-layout\n--\n"; |
