diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/MC/MCDwarf.cpp | 12 | 
1 files changed, 9 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCDwarf.cpp b/llvm/lib/MC/MCDwarf.cpp index 5691822e8e1..74851ce140a 100644 --- a/llvm/lib/MC/MCDwarf.cpp +++ b/llvm/lib/MC/MCDwarf.cpp @@ -638,9 +638,15 @@ static void EmitGenDwarfInfo(MCStreamer *MCOS,    }    // AT_producer, the version of the assembler tool. -  MCOS->EmitBytes(StringRef("llvm-mc (based on LLVM ")); -  MCOS->EmitBytes(StringRef(PACKAGE_VERSION)); -  MCOS->EmitBytes(StringRef(")")); +  StringRef DwarfDebugProducer = context.getDwarfDebugProducer(); +  if (!DwarfDebugProducer.empty()){ +    MCOS->EmitBytes(DwarfDebugProducer); +  } +  else { +    MCOS->EmitBytes(StringRef("llvm-mc (based on LLVM ")); +    MCOS->EmitBytes(StringRef(PACKAGE_VERSION)); +    MCOS->EmitBytes(StringRef(")")); +  }    MCOS->EmitIntValue(0, 1); // NULL byte to terminate the string.    // AT_language, a 4 byte value.  We use DW_LANG_Mips_Assembler as the dwarf2  | 

