From b51b5c0b1f13630a5a9b00d14bfc8fc4d283cfd0 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Mon, 30 Oct 2006 22:32:30 +0000 Subject: 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. llvm-svn: 31299 --- llvm/lib/Target/X86/X86AsmPrinter.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'llvm/lib/Target/X86/X86AsmPrinter.cpp') diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp index 38dbe57aed0..60316517a82 100644 --- a/llvm/lib/Target/X86/X86AsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp @@ -114,6 +114,9 @@ bool X86SharedAsmPrinter::doInitialization(Module &M) { if (!Subtarget->is64Bit()) X86PICStyle = PICStyle::Stub; + // Emit initial debug information. + DW.BeginModule(&M); + } else if (Subtarget->isTargetELF()) { // Emit initial debug information. DW.BeginModule(&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); -- cgit v1.2.3