diff options
author | Richard Mitton <richard@codersnotes.com> | 2013-09-19 23:21:01 +0000 |
---|---|---|
committer | Richard Mitton <richard@codersnotes.com> | 2013-09-19 23:21:01 +0000 |
commit | 5cc319a42a914b24b164a94d9a563c728a7a4026 (patch) | |
tree | 2101b566f8fb8e3eea815cf1e29fc86c632a322a /lib/MC/MCELFStreamer.cpp | |
parent | 70e0b047be83cbaca06c0cc72e508667bcd5e95f (diff) | |
download | external_llvm-5cc319a42a914b24b164a94d9a563c728a7a4026.zip external_llvm-5cc319a42a914b24b164a94d9a563c728a7a4026.tar.gz external_llvm-5cc319a42a914b24b164a94d9a563c728a7a4026.tar.bz2 |
Added support for generate DWARF .debug_aranges sections automatically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191052 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCELFStreamer.cpp')
-rw-r--r-- | lib/MC/MCELFStreamer.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/MC/MCELFStreamer.cpp b/lib/MC/MCELFStreamer.cpp index a04352a..0ed040d 100644 --- a/lib/MC/MCELFStreamer.cpp +++ b/lib/MC/MCELFStreamer.cpp @@ -272,7 +272,8 @@ void MCELFStreamer::EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size, ELF::SHF_WRITE | ELF::SHF_ALLOC, SectionKind::getBSS()); - Symbol->setSection(*Section); + + AssignSection(Symbol, Section); struct LocalCommon L = {&SD, Size, ByteAlignment}; LocalCommons.push_back(L); @@ -527,9 +528,7 @@ void MCELFStreamer::EmitBundleUnlock() { SD->setBundleLockState(MCSectionData::NotBundleLocked); } -void MCELFStreamer::FinishImpl() { - EmitFrames(NULL, true); - +void MCELFStreamer::Flush() { for (std::vector<LocalCommon>::const_iterator i = LocalCommons.begin(), e = LocalCommons.end(); i != e; ++i) { @@ -550,8 +549,17 @@ void MCELFStreamer::FinishImpl() { SectData.setAlignment(ByteAlignment); } + LocalCommons.clear(); +} + +void MCELFStreamer::FinishImpl() { + EmitFrames(NULL, true); + + Flush(); + this->MCObjectStreamer::FinishImpl(); } + void MCELFStreamer::EmitTCEntry(const MCSymbol &S) { // Creates a R_PPC64_TOC relocation MCObjectStreamer::EmitSymbolValue(&S, 8); |