[llvm] r199991 - Revert "Use DW_AT_high_pc and DW_AT_low_pc for the high and low pc for a"

Eric Christopher echristo at gmail.com
Fri Jan 24 03:52:54 PST 2014


Author: echristo
Date: Fri Jan 24 05:52:53 2014
New Revision: 199991

URL: http://llvm.org/viewvc/llvm-project?rev=199991&view=rev
Log:
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.

Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.h
    llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll
    llvm/trunk/test/DebugInfo/X86/fission-cu.ll

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=199991&r1=199990&r2=199991&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Fri Jan 24 05:52:53 2014
@@ -187,7 +187,6 @@ DwarfDebug::DwarfDebug(AsmPrinter *A, Mo
   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.

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h?rev=199991&r1=199990&r2=199991&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h Fri Jan 24 05:52:53 2014
@@ -432,7 +432,6 @@ class DwarfDebug : public AsmPrinterHand
   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.

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp?rev=199991&r1=199990&r2=199991&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp Fri Jan 24 05:52:53 2014
@@ -266,32 +266,21 @@ void DwarfUnit::addSectionOffset(DIE *Di
 ///
 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);
   }
 }
 

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.h?rev=199991&r1=199990&r2=199991&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.h (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.h Fri Jan 24 05:52:53 2014
@@ -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 {

Modified: llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll?rev=199991&r1=199990&r2=199991&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll (original)
+++ llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll Fri Jan 24 05:52:53 2014
@@ -7,15 +7,15 @@
 ; first check that we have a TAG_subprogram at a given offset and it has
 ; AT_inline.
 
-; CHECK: 0x00000124:   DW_TAG_subprogram [17]
+; CHECK: 0x0000011c:   DW_TAG_subprogram [17]
 ; CHECK-NEXT:     DW_AT_specification
 ; CHECK-NEXT:     DW_AT_inline
 
 
 ; and then that a TAG_subprogram refers to it with AT_abstract_origin.
 
-; CHECK: 0x00000165:   DW_TAG_subprogram [19]
-; CHECK-NEXT: DW_AT_abstract_origin [DW_FORM_ref4]    (cu + 0x0124 => {0x00000124})
+; CHECK: 0x0000015d:   DW_TAG_subprogram [19]
+; CHECK-NEXT: DW_AT_abstract_origin [DW_FORM_ref4]    (cu + 0x011c => {0x0000011c})
 
 define i32 @_ZN17nsAutoRefCnt7ReleaseEv() {
 entry:

Modified: llvm/trunk/test/DebugInfo/X86/fission-cu.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/fission-cu.ll?rev=199991&r1=199990&r2=199991&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/X86/fission-cu.ll (original)
+++ llvm/trunk/test/DebugInfo/X86/fission-cu.ll Fri Jan 24 05:52:53 2014
@@ -109,8 +109,6 @@
 ; OBJ-NEXT: R_X86_64_32 .debug_str
 ; OBJ-NEXT: R_X86_64_32 .debug_addr
 ; OBJ-NEXT: R_X86_64_32 .debug_str
-; OBJ-NEXT: R_X86_64_64 .text 0x0
-; OBJ-NEXT: R_X86_64_64 .text 0x0
 ; OBJ-NEXT: }
 ; OBJ: .debug_aranges
 ; OBJ-NEXT: R_X86_64_32 .debug_info 0x0





More information about the llvm-commits mailing list