diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2006-10-30 22:32:30 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2006-10-30 22:32:30 +0000 |
commit | 02b8511364a61b559369d8dc36e82a486f42fec3 (patch) | |
tree | bc13784e5ba5e28e5c6345f62cc166baa9b306a0 /lib/Target/X86/X86AsmPrinter.cpp | |
parent | 6ce644392e0dd182f2eda161b5e69206b58a7c5d (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.cpp | 8 |
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); |