[llvm-dwp] Include the debug_line.dwo section
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 4 Dec 2015 21:16:42 +0000 (21:16 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 4 Dec 2015 21:16:42 +0000 (21:16 +0000)
This probably shouldn't be generated in the .dwo file for CUs, only for
TUs, but it's in the sample .dwos (generated by clang) so dwp should
reflect that.

Arguably the DWP tool could be smart enough to know that the CUs
shouldn't need a debug_line.dwo section and skip that even when it's
legitimately generated for TUs, but that's a bit more off-book.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254767 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-dwp/X86/simple.test
tools/llvm-dwp/llvm-dwp.cpp

index 1c7b1040bd31ea4a6c0b9f7b7b49ba56094f3d3e..3c9795fbb9342cbcd73cbec3ed158b352d5aa883 100644 (file)
@@ -45,10 +45,10 @@ CHECK:     DW_TAG_formal_parameter
 
 CHECK: .debug_cu_index contents:
 Ensure only the relevant/contained sections are included in the table:
-CHECK: Index Signature          INFO                     ABBREV                   STR_OFFSETS
+CHECK: Index Signature          INFO                     ABBREV                   LINE                     STR_OFFSETS
 Don't bother checking the Signatures, they aren't correct yet.
-CHECK:     1 [[DWOA]]           [0x00000000, 0x00000029) [0x00000000, 0x00000031) [0x00000000, 0x00000010)
-CHECK:     2 [[DWOB]]           [0x00000029, 0x0000005e) [0x00000031, 0x00000075) [0x00000010, 0x00000024)
+CHECK:     1 [[DWOA]]           [0x00000000, 0x00000029) [0x00000000, 0x00000031) [0x00000000, 0x00000011) [0x00000000, 0x00000010)
+CHECK:     2 [[DWOB]]           [0x00000029, 0x0000005e) [0x00000031, 0x00000075) [0x00000011, 0x00000022) [0x00000010, 0x00000024)
 
 CHECK: .debug_str.dwo contents:
 CHECK: "clang version
index b68ba437f830c88c9764ff5cf5f773e870adaeea..f67ecbf3437f7968486c3a46cfc1aafef1290dfb 100644 (file)
@@ -139,6 +139,7 @@ static std::error_code write(MCStreamer &Out, ArrayRef<std::string> Inputs) {
       {"debug_str_offsets.dwo", {StrOffsetSection, DW_SECT_STR_OFFSETS}},
       {"debug_str.dwo", {StrSection, static_cast<DWARFSectionKind>(0)}},
       {"debug_loc.dwo", {MCOFI.getDwarfLocDWOSection(), DW_SECT_LOC}},
+      {"debug_line.dwo", {MCOFI.getDwarfLineDWOSection(), DW_SECT_LINE}},
       {"debug_abbrev.dwo", {MCOFI.getDwarfAbbrevDWOSection(), DW_SECT_ABBREV}}};
 
   struct UnitIndexEntry {