diff options
author | Eric Christopher <echristo@gmail.com> | 2014-01-24 11:52:53 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2014-01-24 11:52:53 +0000 |
commit | cf48ade87e64d2cba4d1376a7e53b585ab1ecb14 (patch) | |
tree | cd0a2cb26457e98cf2fcc9158c8c19be452a519b /llvm/lib/CodeGen/AsmPrinter | |
parent | c528858cbd4fef01f2007cea8a4e8e25a6b86443 (diff) | |
download | bcm5719-llvm-cf48ade87e64d2cba4d1376a7e53b585ab1ecb14.tar.gz bcm5719-llvm-cf48ade87e64d2cba4d1376a7e53b585ab1ecb14.zip |
Revert "Use DW_AT_high_pc and DW_AT_low_pc for the high and low pc for a"
in order to fix the cygwin/mingw bots.
This reverts commit r199990.
llvm-svn: 199991
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 16 | ||||
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | 1 | ||||
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp | 33 | ||||
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h | 5 |
4 files changed, 14 insertions, 41 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 077af8c3756..7ba4fece43b 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -187,7 +187,6 @@ DwarfDebug::DwarfDebug(AsmPrinter *A, Module *M) DwarfAddrSectionSym = 0; DwarfAbbrevDWOSectionSym = DwarfStrDWOSectionSym = 0; FunctionBeginSym = FunctionEndSym = 0; - TextSectionBeginSym = TextSectionEndSym = 0; CurFn = 0; CurMI = 0; @@ -1062,12 +1061,9 @@ void DwarfDebug::finalizeModuleInfo() { addSectionLabel(Asm, U, U->getUnitDie(), dwarf::DW_AT_ranges, Asm->GetTempSymbol("cu_ranges", U->getUniqueID()), DwarfDebugRangeSectionSym); - else { - U->addLocalLabelAddress(U->getUnitDie(), dwarf::DW_AT_low_pc, - TextSectionBeginSym); - U->addLocalLabelAddress(U->getUnitDie(), dwarf::DW_AT_high_pc, - TextSectionEndSym); - } + else + U->addUInt(U->getUnitDie(), dwarf::DW_AT_low_pc, dwarf::DW_FORM_addr, + 0); } } @@ -1121,10 +1117,6 @@ void DwarfDebug::endSections() { Sym = Asm->GetTempSymbol("debug_end", ID); Asm->OutStreamer.SwitchSection(Section); Asm->OutStreamer.EmitLabel(Sym); - // If this is the end of the text section keep track of where the end of - // the section is so that we can use it later. - if (Section == Asm->getObjFileLowering().getTextSection()) - TextSectionEndSym = Sym; } // Insert a final terminator. @@ -2020,8 +2012,6 @@ void DwarfDebug::emitSectionLabels() { DwarfDebugLocSectionSym = emitSectionSym(Asm, TLOF.getDwarfLocSection(), "section_debug_loc"); - - TextSectionBeginSym = emitSectionSym(Asm, TLOF.getTextSection(), "text_begin"); } // Recursively emits a debug information entry. diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h index 1071e5892ac..516def804d1 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -432,7 +432,6 @@ class DwarfDebug : public AsmPrinterHandler { MCSymbol *DwarfInfoDWOSectionSym, *DwarfAbbrevDWOSectionSym; MCSymbol *DwarfStrDWOSectionSym; MCSymbol *DwarfGnuPubNamesSectionSym, *DwarfGnuPubTypesSectionSym; - MCSymbol *TextSectionBeginSym, *TextSectionEndSym; // As an optimization, there is no need to emit an entry in the directory // table for the same directory as DW_AT_comp_dir. diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp index e9b10ba2911..4f55d89ce2c 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp @@ -266,32 +266,21 @@ void DwarfUnit::addSectionOffset(DIE *Die, dwarf::Attribute Attribute, /// void DwarfCompileUnit::addLabelAddress(DIE *Die, dwarf::Attribute Attribute, MCSymbol *Label) { - if (!DD->useSplitDwarf()) - return addLocalLabelAddress(Die, Attribute, Label); - - if (Label) - DD->addArangeLabel(SymbolCU(this, Label)); - - unsigned idx = DU->getAddrPoolIndex(Label); - DIEValue *Value = new (DIEValueAllocator) DIEInteger(idx); - Die->addValue(Attribute, dwarf::DW_FORM_GNU_addr_index, Value); -} - -/// addLocalLabelAddress - Add a dwarf label attribute data and value using -/// DW_FORM_addr only. -/// -void DwarfCompileUnit::addLocalLabelAddress(DIE *Die, - dwarf::Attribute Attribute, - MCSymbol *Label) { if (Label) DD->addArangeLabel(SymbolCU(this, Label)); - if (Label) { - DIEValue *Value = new (DIEValueAllocator) DIELabel(Label); - Die->addValue(Attribute, dwarf::DW_FORM_addr, Value); + if (!DD->useSplitDwarf()) { + if (Label) { + DIEValue *Value = new (DIEValueAllocator) DIELabel(Label); + Die->addValue(Attribute, dwarf::DW_FORM_addr, Value); + } else { + DIEValue *Value = new (DIEValueAllocator) DIEInteger(0); + Die->addValue(Attribute, dwarf::DW_FORM_addr, Value); + } } else { - DIEValue *Value = new (DIEValueAllocator) DIEInteger(0); - Die->addValue(Attribute, dwarf::DW_FORM_addr, Value); + unsigned idx = DU->getAddrPoolIndex(Label); + DIEValue *Value = new (DIEValueAllocator) DIEInteger(idx); + Die->addValue(Attribute, dwarf::DW_FORM_GNU_addr_index, Value); } } diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h index 684c46b624e..3f42e2f6728 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h @@ -545,11 +545,6 @@ public: /// addLabelAddress - Add a dwarf label attribute data and value using /// either DW_FORM_addr or DW_FORM_GNU_addr_index. void addLabelAddress(DIE *Die, dwarf::Attribute Attribute, MCSymbol *Label); - - /// addLocalLabelAddress - Add a dwarf label attribute data and value using - /// DW_FORM_addr only. - void addLocalLabelAddress(DIE *Die, dwarf::Attribute Attribute, - MCSymbol *Label); }; class DwarfTypeUnit : public DwarfUnit { |