Adding basic support for Dwarf line number debug information.

I promise to keep future commits smaller.

llvm-svn: 25396
diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
index de865db..55f54c4 100644
--- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
@@ -215,9 +215,11 @@
     : DwarfWriter(o, ap)
     {
       needsSet = true;
-      DwarfAbbrevSection = ".section __DWARFA,__debug_abbrev,regular,debug";
-      DwarfInfoSection = ".section __DWARFA,__debug_info,regular,debug";
-      DwarfLineSection = ".section __DWARFA,__debug_line,regular,debug";
+      DwarfAbbrevSection = ".section __DWARF,__debug_abbrev,regular,debug";
+      DwarfInfoSection = ".section __DWARF,__debug_info,regular,debug";
+      DwarfLineSection = ".section __DWARF,__debug_line,regular,debug";
+      TextSection = ".text";
+      DataSection = ".data";
     }
   };
 
@@ -607,6 +609,9 @@
     }
   }
 
+  // Emit initial debug information.
+  DW.EndModule();
+
   // Funny Darwin hack: This flag tells the linker that no global symbols
   // contain code that falls through to other global symbols (e.g. the obvious
   // implementation of multiple entry points).  If this doesn't occur, the
@@ -614,9 +619,6 @@
   // code that does this, it is always safe to set.
   O << "\t.subsections_via_symbols\n";
 
-  // Emit initial debug information.
-  DW.EndModule();
-
   AsmPrinter::doFinalization(M);
   return false; // success
 }