aboutsummaryrefslogtreecommitdiff
path: root/lib/Target
diff options
context:
space:
mode:
authorJim Laskey <jlaskey@mac.com>2006-01-17 17:31:53 +0000
committerJim Laskey <jlaskey@mac.com>2006-01-17 17:31:53 +0000
commit063e765345fd49df0f53b807e57ada7c2ded7e16 (patch)
tree851e46dbfed06121b4a50f55c467b376c4c25d6e /lib/Target
parent08a0464763a93be5f201b2d6d514732e810ef2ad (diff)
Adding basic support for Dwarf line number debug information.
I promise to keep future commits smaller. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25396 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r--lib/Target/PowerPC/PPCAsmPrinter.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp
index de865db69b..55f54c4bae 100644
--- a/lib/Target/PowerPC/PPCAsmPrinter.cpp
+++ b/lib/Target/PowerPC/PPCAsmPrinter.cpp
@@ -215,9 +215,11 @@ namespace {
: 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 @@ bool DarwinAsmPrinter::doFinalization(Module &M) {
}
}
+ // 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 @@ bool DarwinAsmPrinter::doFinalization(Module &M) {
// 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
}