aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86AsmPrinter.cpp
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-10-30 22:32:30 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-10-30 22:32:30 +0000
commit02b8511364a61b559369d8dc36e82a486f42fec3 (patch)
treebc13784e5ba5e28e5c6345f62cc166baa9b306a0 /lib/Target/X86/X86AsmPrinter.cpp
parent6ce644392e0dd182f2eda161b5e69206b58a7c5d (diff)
Add debug support for X86/ELF targets (Linux). This allows llvm-gcc4
generated object modules to be debugged with gdb. Hopefully this helps pre-release debugging. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31299 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86AsmPrinter.cpp')
-rw-r--r--lib/Target/X86/X86AsmPrinter.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp
index 38dbe57aed..60316517a8 100644
--- a/lib/Target/X86/X86AsmPrinter.cpp
+++ b/lib/Target/X86/X86AsmPrinter.cpp
@@ -116,6 +116,9 @@ bool X86SharedAsmPrinter::doInitialization(Module &M) {
// Emit initial debug information.
DW.BeginModule(&M);
+ } else if (Subtarget->isTargetELF()) {
+ // Emit initial debug information.
+ DW.BeginModule(&M);
}
return AsmPrinter::doInitialization(M);
@@ -278,7 +281,7 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
O << "\t.long\t0\n";
}
- // Emit initial debug information.
+ // Emit final debug information.
DW.EndModule();
// Funny Darwin hack: This flag tells the linker that no global symbols
@@ -287,6 +290,9 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
// linker can safely perform dead code stripping. Since LLVM never
// generates code that does this, it is always safe to set.
O << "\t.subsections_via_symbols\n";
+ } else if (Subtarget->isTargetELF()) {
+ // Emit final debug information.
+ DW.EndModule();
}
AsmPrinter::doFinalization(M);