FWIW llvm-commits for the back end patches next time :) -eric
On Tue, Aug 20, 2013 at 10:27 PM, David Majnemer <[email protected]> wrote: > Hi echristo, dblaikie, > > LLVM would generate DWARF with version 3 in the .debug_pubname and > .debug_pubtypes version fields. This would lead SGI dwarfdump to fail > parsing the DWARF with (in the instance of .debug_pubnames) would exit > with: > dwarfdump ERROR: dwarf_get_globals: DW_DLE_PUBNAMES_VERSION_ERROR (123) > > This fixes PR16950. > > http://llvm-reviews.chandlerc.com/D1454 > > Files: > include/llvm/Support/Dwarf.h > lib/CodeGen/AsmPrinter/DwarfDebug.cpp > test/DebugInfo/dwarf-public-names.ll > > Index: include/llvm/Support/Dwarf.h > =================================================================== > --- include/llvm/Support/Dwarf.h > +++ include/llvm/Support/Dwarf.h > @@ -56,7 +56,9 @@ > > DW_TAG_user_base = 0x1000, // Recommended base for user tags. > > - DW_CIE_VERSION = 1 // Common frame information version. > + DW_CIE_VERSION = 1, // Common frame information version. > + DW_PUBTYPES_VERSION = 2, // Section version number for > .debug_pubtypes. > + DW_PUBNAMES_VERSION = 2 // Section version number for > .debug_pubnames. > }; > > > Index: lib/CodeGen/AsmPrinter/DwarfDebug.cpp > =================================================================== > --- lib/CodeGen/AsmPrinter/DwarfDebug.cpp > +++ lib/CodeGen/AsmPrinter/DwarfDebug.cpp > @@ -35,6 +35,7 @@ > #include "llvm/MC/MCSymbol.h" > #include "llvm/Support/CommandLine.h" > #include "llvm/Support/Debug.h" > +#include "llvm/Support/Dwarf.h" > #include "llvm/Support/ErrorHandling.h" > #include "llvm/Support/FormattedStream.h" > #include "llvm/Support/MD5.h" > @@ -2321,7 +2322,7 @@ > Asm->OutStreamer.EmitLabel(Asm->GetTempSymbol("pubnames_begin", ID)); > > Asm->OutStreamer.AddComment("DWARF Version"); > - Asm->EmitInt16(DwarfVersion); > + Asm->EmitInt16(dwarf::DW_PUBNAMES_VERSION); > > Asm->OutStreamer.AddComment("Offset of Compilation Unit Info"); > Asm->EmitSectionOffset(Asm->GetTempSymbol(ISec->getLabelBeginName(), ID), > @@ -2368,7 +2369,7 @@ > TheCU->getUniqueID())); > > if (Asm->isVerbose()) Asm->OutStreamer.AddComment("DWARF Version"); > - Asm->EmitInt16(DwarfVersion); > + Asm->EmitInt16(dwarf::DW_PUBTYPES_VERSION); > > Asm->OutStreamer.AddComment("Offset of Compilation Unit Info"); > const MCSection *ISec = Asm->getObjFileLowering().getDwarfInfoSection(); > Index: test/DebugInfo/dwarf-public-names.ll > =================================================================== > --- test/DebugInfo/dwarf-public-names.ll > +++ test/DebugInfo/dwarf-public-names.ll > @@ -37,6 +37,7 @@ > > ; Skip the output to the header of the pubnames section. > ; CHECK: debug_pubnames > +; CHECK: Version: 2 > > ; Check for each name in the output. > ; CHECK: global_namespace_variable _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
