Add debug support for X86/ELF targets (Linux). This allows llvm-gcc4
[oota-llvm.git] / lib / Target / X86 / X86ATTAsmPrinter.cpp
index dc2ecca7cb4544e6431f2f674ae684503493575b..42af5b69ac1483c4a6c4c3a72d8336c03a9de1f8 100755 (executable)
@@ -52,7 +52,7 @@ std::string X86ATTAsmPrinter::getSectionForFunction(const Function &F) const {
 /// method to print assembly for each instruction.
 ///
 bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
-  if (Subtarget->isTargetDarwin()) {
+  if (Subtarget->isTargetDarwin() || Subtarget->isTargetELF()) {
     // Let PassManager know we need debug information and relay
     // the MachineDebugInfo address on to DwarfWriter.
     DW.SetDebugInfo(&getAnalysis<MachineDebugInfo>());
@@ -111,7 +111,7 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
        F->getLinkage() == Function::WeakLinkage))
     O << "_llvm$workaround$fake$stub_" << CurrentFnName << ":\n";
 
-  if (Subtarget->isTargetDarwin()) {
+  if (Subtarget->isTargetDarwin() || Subtarget->isTargetELF()) {
     // Emit pre-function debug information.
     DW.BeginFunction(&MF);
   }
@@ -141,7 +141,7 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
   if (TAI->hasDotTypeDotSizeDirective())
     O << "\t.size " << CurrentFnName << ", .-" << CurrentFnName << "\n";
 
-  if (Subtarget->isTargetDarwin()) {
+  if (Subtarget->isTargetDarwin() || Subtarget->isTargetELF()) {
     // Emit post-function debug information.
     DW.EndFunction();
   }