[Lldb-commits] [lldb] r346853 - Revert r346848 "[LLDB] - Support the single file split DWARF."
George Rimar via lldb-commits
lldb-commits at lists.llvm.org
Wed Nov 14 04:04:32 PST 2018
Author: grimar
Date: Wed Nov 14 04:04:31 2018
New Revision: 346853
URL: http://llvm.org/viewvc/llvm-project?rev=346853&view=rev
Log:
Revert r346848 "[LLDB] - Support the single file split DWARF."
It broke BB:
http://green.lab.llvm.org/green/job/lldb-cmake/12522/testReport/junit/LLDB/Breakpoint/single_file_split_dwarf_test/
Removed:
lldb/trunk/lit/Breakpoint/Inputs/single-file-split-dwarf.o.yaml
lldb/trunk/lit/Breakpoint/Inputs/single-file-split-dwarf.yaml
lldb/trunk/lit/Breakpoint/single-file-split-dwarf.test
Modified:
lldb/trunk/include/lldb/lldb-enumerations.h
lldb/trunk/source/Core/Section.cpp
lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
lldb/trunk/source/Symbol/ObjectFile.cpp
Modified: lldb/trunk/include/lldb/lldb-enumerations.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/lldb-enumerations.h?rev=346853&r1=346852&r2=346853&view=diff
==============================================================================
--- lldb/trunk/include/lldb/lldb-enumerations.h (original)
+++ lldb/trunk/include/lldb/lldb-enumerations.h Wed Nov 14 04:04:31 2018
@@ -708,10 +708,6 @@ enum SectionType {
eSectionTypeDWARFDebugLineStr, // DWARF v5 .debug_line_str
eSectionTypeDWARFDebugRngLists, // DWARF v5 .debug_rnglists
eSectionTypeDWARFDebugLocLists, // DWARF v5 .debug_loclists
- eSectionTypeDWARFDebugAbbrevDwo,
- eSectionTypeDWARFDebugInfoDwo,
- eSectionTypeDWARFDebugStrDwo,
- eSectionTypeDWARFDebugStrOffsetsDwo,
};
FLAGS_ENUM(EmulateInstructionOptions){
Removed: lldb/trunk/lit/Breakpoint/Inputs/single-file-split-dwarf.o.yaml
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Breakpoint/Inputs/single-file-split-dwarf.o.yaml?rev=346852&view=auto
==============================================================================
--- lldb/trunk/lit/Breakpoint/Inputs/single-file-split-dwarf.o.yaml (original)
+++ lldb/trunk/lit/Breakpoint/Inputs/single-file-split-dwarf.o.yaml (removed)
@@ -1,84 +0,0 @@
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_REL
- Machine: EM_X86_64
-Sections:
- - Name: .text
- Type: SHT_PROGBITS
- Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
- AddressAlign: 0x0000000000000010
- Content: 554889E531C0C745FC000000005DC390554889E55DC3
- - Name: .debug_str_offsets
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 0C000000050000000000000000000000
- - Name: .debug_str
- Type: SHT_PROGBITS
- Flags: [ SHF_MERGE, SHF_STRINGS ]
- AddressAlign: 0x0000000000000001
- Content: 746573742E6F002F686F6D652F756D622F74657374735F323031382F39355F6C6C64622F726570726F2F6477617266355F73706C69745F73696E676C655F66696C652F707265706172655F73616D706C65006D61696E00666F6F005F5A33666F6F7600696E7400
- - Name: .debug_loc.dwo
- Type: SHT_PROGBITS
- Flags: [ SHF_EXCLUDE ]
- AddressAlign: 0x0000000000000001
- Content: ''
- - Name: .debug_abbrev
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 01110010177217B042251B25B44219B3421711011206000000
- - Name: .debug_info
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 2B00000005000408000000003F4B7684A29835B9010000000000000000000100000000000000000000000016000000
- - Name: .debug_macinfo
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: '00'
- - Name: .debug_str_offsets.dwo
- Type: SHT_PROGBITS
- Flags: [ SHF_EXCLUDE ]
- AddressAlign: 0x0000000000000001
- Content: 200000000500000000000000070000002A00000033000000380000003C00000044000000
- - Name: .debug_str.dwo
- Type: SHT_PROGBITS
- Flags: [ SHF_EXCLUDE, SHF_MERGE, SHF_STRINGS ]
- AddressAlign: 0x0000000000000001
- Content: 746573742E6F00636C616E672076657273696F6E20382E302E3020287472756E6B203334323731382900746573742E637070006D61696E00696E74005F5A33666F6F7600666F6F00
- - Name: .debug_info.dwo
- Type: SHT_PROGBITS
- Flags: [ SHF_EXCLUDE ]
- AddressAlign: 0x0000000000000001
- Content: 3600000005000508000000003F4B7684A29835B901000104000202000F0000000156030101350000000301060000000156050601050404050400
- - Name: .debug_abbrev.dwo
- Type: SHT_PROGBITS
- Flags: [ SHF_EXCLUDE ]
- AddressAlign: 0x0000000000000001
- Content: 011101B042252525130503250000022E0011813E1206401803253A0B3B0B49133F190000032E0011813E120640186E2503253A0B3B0B3F19000004240003253E0B0B0B000000
- - Name: .debug_addr
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: '140000000500080000000000000000000000000000000000'
- - Name: .debug_names
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000004
- Content: A00000000500000001000000000000000000000004000000040000000D000000080000004C4C564D3037303000000000010000000200000003000000040000003080880B8973880B6A7F9A7C0B3D06B5000000000000000000000000000000000000000009000000120000001B0000002E2E03130000242403130000002435000000000000002E29000000000000002E1A000000000000002E2900000000000000000000
- - Name: .debug_gnu_pubnames
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 210000000200000000002F0000002900000030666F6F001A000000306D61696E0000000000
- - Name: .debug_gnu_pubtypes
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 170000000200000000002F0000003500000090696E740000000000
- - Name: .debug_line
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 70000000050008004C000000010101FB0E0D00010101010000000100000101011F010000000003011F020F051E020000000000FD7C0F2E46BA561F7BDA351B04E677090000000000FD7C0F2E46BA561F7BDA351B04E6770900090200000000000000000105030AC905003F05010A4B0202000101
- - Name: .debug_line_str
- Type: SHT_PROGBITS
- Flags: [ SHF_MERGE, SHF_STRINGS ]
- AddressAlign: 0x0000000000000001
- Content: 2F686F6D652F756D622F74657374735F323031382F39355F6C6C64622F726570726F2F6477617266355F73706C69745F73696E676C655F66696C652F707265706172655F73616D706C6500746573742E63707000
-...
Removed: lldb/trunk/lit/Breakpoint/Inputs/single-file-split-dwarf.yaml
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Breakpoint/Inputs/single-file-split-dwarf.yaml?rev=346852&view=auto
==============================================================================
--- lldb/trunk/lit/Breakpoint/Inputs/single-file-split-dwarf.yaml (original)
+++ lldb/trunk/lit/Breakpoint/Inputs/single-file-split-dwarf.yaml (removed)
@@ -1,61 +0,0 @@
---- !ELF
-FileHeader:
- Class: ELFCLASS64
- Data: ELFDATA2LSB
- Type: ET_EXEC
- Machine: EM_X86_64
- Entry: 0x0000000000400440
-Sections:
- - Name: .text
- Type: SHT_PROGBITS
- Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
- Address: 0x0000000000400440
- AddressAlign: 0x0000000000000010
- Content: 31ED4989D15E4889E24883E4F0505449C7C0B005400048C7C14005400048C7C720054000E8B7FFFFFFF4660F1F44000055B820204000483D202040004889E57417B8000000004885C0740D5DBF20204000FFE00F1F4400005DC3660F1F440000BE20204000554881EE202040004889E548C1FE034889F048C1E83F4801C648D1FE7415B8000000004885C0740B5DBF20204000FFE00F1F005DC3660F1F440000803D391B0000007517554889E5E87EFFFFFFC605271B0000015DC30F1F440000F3C30F1F4000662E0F1F840000000000554889E55DEB89660F1F840000000000554889E531C0C745FC000000005DC390554889E55DC3662E0F1F840000000000415741564189FF415541544C8D25B618000055488D2DB6180000534989F64989D54C29E54883EC0848C1FD03E87FFEFFFF4885ED742031DB0F1F8400000000004C89EA4C89F64489FF41FF14DC4883C3014839EB75EA4883C4085B5D415C415D415E415FC390662E0F1F840000000000F3C3
- - Name: .debug_str_offsets
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 0C000000050000000000000007000000
- - Name: .debug_str
- Type: SHT_PROGBITS
- Flags: [ SHF_MERGE, SHF_STRINGS ]
- AddressAlign: 0x0000000000000001
- Content: 746573742E6F002F686F6D652F756D622F74657374735F323031382F39355F6C6C64622F726570726F2F6477617266355F73706C69745F73696E676C655F66696C652F707265706172655F73616D706C65006D61696E00666F6F005F5A33666F6F7600696E7400
- - Name: .debug_abbrev
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 01110010177217B042251B25B44219B3421711011206000000
- - Name: .debug_info
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 2B00000005000408000000003F4B7684A29835B9010000000008000000000108000000200540000000000016000000
- - Name: .debug_macinfo
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: '00'
- - Name: .debug_addr
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: '140000000500080020054000000000003005400000000000'
- - Name: .debug_names
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000004
- Content: A00000000500000001000000000000000000000004000000040000000D000000080000004C4C564D3037303000000000010000000200000003000000040000003080880B8973880B6A7F9A7C0B3D06B56300000057000000520000005B0000000000000009000000120000001B0000002E2E03130000242403130000002435000000000000002E29000000000000002E1A000000000000002E2900000000000000000000
- - Name: .debug_gnu_pubnames
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 210000000200000000002F0000002900000030666F6F001A000000306D61696E0000000000
- - Name: .debug_gnu_pubtypes
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 170000000200000000002F0000003500000090696E740000000000
- - Name: .debug_line
- Type: SHT_PROGBITS
- AddressAlign: 0x0000000000000001
- Content: 70000000050008004C000000010101FB0E0D00010101010000000100000101011F010000000003011F020F051E024B00000000FD7C0F2E46BA561F7BDA351B04E677094B00000000FD7C0F2E46BA561F7BDA351B04E6770900090220054000000000000105030AC905003F05010A4B0202000101
- - Name: .debug_line_str
- Type: SHT_PROGBITS
- Flags: [ SHF_MERGE, SHF_STRINGS ]
- AddressAlign: 0x0000000000000001
- Content: 2F686F6D652F756D622F74657374735F323031382F39355F6C6C64622F726570726F2F6477617266355F73706C69745F73696E676C655F66696C652F707265706172655F73616D706C6500746573742E63707000
-...
Removed: lldb/trunk/lit/Breakpoint/single-file-split-dwarf.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Breakpoint/single-file-split-dwarf.test?rev=346852&view=auto
==============================================================================
--- lldb/trunk/lit/Breakpoint/single-file-split-dwarf.test (original)
+++ lldb/trunk/lit/Breakpoint/single-file-split-dwarf.test (removed)
@@ -1,38 +0,0 @@
-# RUN: yaml2obj %p/Inputs/single-file-split-dwarf.yaml > %ttest
-# RUN: yaml2obj %p/Inputs/single-file-split-dwarf.o.yaml > %ttest.o
-# RUN: lldb-test breakpoints %ttest %s | FileCheck %s
-
-# This test checks that source code location is shown correctly
-# when single split file debug information is used (when .dwo sections are in .o files).
-#
-# single-file-split-dwarf.yaml and single-file-split-dwarf.o.yaml are
-# reduced yaml files produces from the object file and the corresponding executable.
-#
-# The following code was used initially:
-# int main() {
-# return 0;
-# }
-#
-# void foo() {
-# }
-#
-# Invocation used to produce .o file was:
-# clang test.cpp -gdwarf-5 -gsplit-dwarf=single -c -o test.o -v
-#
-# Invocation used to produce the executable was:
-# "/usr/local/bin/ld" -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -dynamic-linker
-# /lib64/ld-linux-x86-64.so.2 -o test /usr/lib/gcc/x86_64-linux-gnu/7.3.0/../../../x86_64-linux-gnu/crt1.o
-# /usr/lib/gcc/x86_64-linux-gnu/7.3.0/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7.3.0/crtbegin.o
-# -L/usr/lib/gcc/x86_64-linux-gnu/7.3.0 -L/usr/lib/gcc/x86_64-linux-gnu/7.3.0/../../../x86_64-linux-gnu
-# -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7.3.0/../../..
-# -L/home/umb/LLVM/build/bin/../lib -L/lib -L/usr/lib test.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc
-# --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/7.3.0/crtend.o
-# /usr/lib/gcc/x86_64-linux-gnu/7.3.0/../../../x86_64-linux-gnu/crtn.o
-
-b main
-# CHECK-LABEL: b main
-# CHECK: Address: {{.*}}main + 13 at test.cpp:2:3
-
-b foo
-# CHECK-LABEL: b foo
-# CHECK: Address: {{.*}}foo() + 4 at test.cpp:6:1
Modified: lldb/trunk/source/Core/Section.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Section.cpp?rev=346853&r1=346852&r2=346853&view=diff
==============================================================================
--- lldb/trunk/source/Core/Section.cpp (original)
+++ lldb/trunk/source/Core/Section.cpp Wed Nov 14 04:04:31 2018
@@ -61,8 +61,6 @@ const char *Section::GetTypeAsCString()
return "objc-cfstrings";
case eSectionTypeDWARFDebugAbbrev:
return "dwarf-abbrev";
- case eSectionTypeDWARFDebugAbbrevDwo:
- return "dwarf-abbrev-dwo";
case eSectionTypeDWARFDebugAddr:
return "dwarf-addr";
case eSectionTypeDWARFDebugAranges:
@@ -73,8 +71,6 @@ const char *Section::GetTypeAsCString()
return "dwarf-frame";
case eSectionTypeDWARFDebugInfo:
return "dwarf-info";
- case eSectionTypeDWARFDebugInfoDwo:
- return "dwarf-info-dwo";
case eSectionTypeDWARFDebugLine:
return "dwarf-line";
case eSectionTypeDWARFDebugLineStr:
@@ -97,12 +93,8 @@ const char *Section::GetTypeAsCString()
return "dwarf-rnglists";
case eSectionTypeDWARFDebugStr:
return "dwarf-str";
- case eSectionTypeDWARFDebugStrDwo:
- return "dwarf-str-dwo";
case eSectionTypeDWARFDebugStrOffsets:
return "dwarf-str-offsets";
- case eSectionTypeDWARFDebugStrOffsetsDwo:
- return "dwarf-str-offsets-dwo";
case eSectionTypeDWARFDebugTypes:
return "dwarf-types";
case eSectionTypeDWARFDebugNames:
Modified: lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp?rev=346853&r1=346852&r2=346853&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp (original)
+++ lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp Wed Nov 14 04:04:31 2018
@@ -1897,9 +1897,9 @@ void ObjectFileELF::CreateSections(Secti
else if (name == g_sect_name_dwarf_debug_str_offsets)
sect_type = eSectionTypeDWARFDebugStrOffsets;
else if (name == g_sect_name_dwarf_debug_abbrev_dwo)
- sect_type = eSectionTypeDWARFDebugAbbrevDwo;
+ sect_type = eSectionTypeDWARFDebugAbbrev;
else if (name == g_sect_name_dwarf_debug_info_dwo)
- sect_type = eSectionTypeDWARFDebugInfoDwo;
+ sect_type = eSectionTypeDWARFDebugInfo;
else if (name == g_sect_name_dwarf_debug_line_dwo)
sect_type = eSectionTypeDWARFDebugLine;
else if (name == g_sect_name_dwarf_debug_line_str_dwo)
@@ -1911,9 +1911,9 @@ void ObjectFileELF::CreateSections(Secti
else if (name == g_sect_name_dwarf_debug_loclists_dwo)
sect_type = eSectionTypeDWARFDebugLocLists;
else if (name == g_sect_name_dwarf_debug_str_dwo)
- sect_type = eSectionTypeDWARFDebugStrDwo;
+ sect_type = eSectionTypeDWARFDebugStr;
else if (name == g_sect_name_dwarf_debug_str_offsets_dwo)
- sect_type = eSectionTypeDWARFDebugStrOffsetsDwo;
+ sect_type = eSectionTypeDWARFDebugStrOffsets;
else if (name == g_sect_name_eh_frame)
sect_type = eSectionTypeEHFrame;
else if (name == g_sect_name_arm_exidx)
Modified: lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp?rev=346853&r1=346852&r2=346853&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp (original)
+++ lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp Wed Nov 14 04:04:31 2018
@@ -1187,13 +1187,11 @@ AddressClass ObjectFileMachO::GetAddress
case eSectionTypeDebug:
case eSectionTypeDWARFDebugAbbrev:
- case eSectionTypeDWARFDebugAbbrevDwo:
case eSectionTypeDWARFDebugAddr:
case eSectionTypeDWARFDebugAranges:
case eSectionTypeDWARFDebugCuIndex:
case eSectionTypeDWARFDebugFrame:
case eSectionTypeDWARFDebugInfo:
- case eSectionTypeDWARFDebugInfoDwo:
case eSectionTypeDWARFDebugLine:
case eSectionTypeDWARFDebugLineStr:
case eSectionTypeDWARFDebugLoc:
@@ -1206,9 +1204,7 @@ AddressClass ObjectFileMachO::GetAddress
case eSectionTypeDWARFDebugRanges:
case eSectionTypeDWARFDebugRngLists:
case eSectionTypeDWARFDebugStr:
- case eSectionTypeDWARFDebugStrDwo:
case eSectionTypeDWARFDebugStrOffsets:
- case eSectionTypeDWARFDebugStrOffsetsDwo:
case eSectionTypeDWARFDebugTypes:
case eSectionTypeDWARFAppleNames:
case eSectionTypeDWARFAppleTypes:
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h?rev=346853&r1=346852&r2=346853&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h Wed Nov 14 04:04:31 2018
@@ -233,11 +233,11 @@ public:
uint32_t GetPluginVersion() override;
- virtual const lldb_private::DWARFDataExtractor &get_debug_abbrev_data();
- virtual const lldb_private::DWARFDataExtractor &get_debug_addr_data();
+ const lldb_private::DWARFDataExtractor &get_debug_abbrev_data();
+ const lldb_private::DWARFDataExtractor &get_debug_addr_data();
const lldb_private::DWARFDataExtractor &get_debug_aranges_data();
const lldb_private::DWARFDataExtractor &get_debug_frame_data();
- virtual const lldb_private::DWARFDataExtractor &get_debug_info_data();
+ const lldb_private::DWARFDataExtractor &get_debug_info_data();
const lldb_private::DWARFDataExtractor &get_debug_line_data();
const lldb_private::DWARFDataExtractor &get_debug_line_str_data();
const lldb_private::DWARFDataExtractor &get_debug_macro_data();
@@ -245,8 +245,8 @@ public:
const lldb_private::DWARFDataExtractor &get_debug_loclists_data();
const lldb_private::DWARFDataExtractor &get_debug_ranges_data();
const lldb_private::DWARFDataExtractor &get_debug_rnglists_data();
- virtual const lldb_private::DWARFDataExtractor &get_debug_str_data();
- virtual const lldb_private::DWARFDataExtractor &get_debug_str_offsets_data();
+ const lldb_private::DWARFDataExtractor &get_debug_str_data();
+ const lldb_private::DWARFDataExtractor &get_debug_str_offsets_data();
const lldb_private::DWARFDataExtractor &get_debug_types_data();
const lldb_private::DWARFDataExtractor &get_apple_names_data();
const lldb_private::DWARFDataExtractor &get_apple_types_data();
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp?rev=346853&r1=346852&r2=346853&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp Wed Nov 14 04:04:31 2018
@@ -61,6 +61,14 @@ SymbolFileDWARFDwo::ParseCompileUnit(DWA
}
DWARFUnit *SymbolFileDWARFDwo::GetCompileUnit() {
+ // A clang module is found via a skeleton CU, but is not a proper DWO.
+ // Clang modules have a .debug_info section instead of the *_dwo variant.
+ if (auto *section_list = m_obj_file->GetSectionList(false))
+ if (auto section_sp =
+ section_list->FindSectionByType(eSectionTypeDWARFDebugInfo, true))
+ if (!section_sp->GetName().GetStringRef().endswith("dwo"))
+ return nullptr;
+
// Only dwo files with 1 compile unit is supported
if (GetNumCompileUnits() == 1)
return DebugInfo()->GetCompileUnitAtIndex(0);
@@ -118,37 +126,6 @@ DWARFUnit *SymbolFileDWARFDwo::GetBaseCo
return m_base_dwarf_cu;
}
-const DWARFDataExtractor &SymbolFileDWARFDwo::get_debug_abbrev_data() {
- return GetCachedSectionData(eSectionTypeDWARFDebugAbbrevDwo,
- m_data_debug_abbrev);
-}
-
-const DWARFDataExtractor &SymbolFileDWARFDwo::get_debug_addr_data() {
- // For single file split dwarf case (when we have .dwo sections in a .o),
- // we do not want to use the .debug_addr section from .o file,
- // but want to get one from the final executable.
- // For regular split debug case, .dwo file does not contain the
- // .debug_addr, so we would always fall back to such lookup anyways.
- llvm::call_once(m_data_debug_addr.m_flag, [this] {
- SymbolFileDWARF::LoadSectionData(eSectionTypeDWARFDebugAddr,
- std::ref(m_data_debug_addr.m_data));
- });
- return m_data_debug_addr.m_data;
-}
-
-const DWARFDataExtractor &SymbolFileDWARFDwo::get_debug_info_data() {
- return GetCachedSectionData(eSectionTypeDWARFDebugInfoDwo, m_data_debug_info);
-}
-
-const DWARFDataExtractor &SymbolFileDWARFDwo::get_debug_str_data() {
- return GetCachedSectionData(eSectionTypeDWARFDebugStrDwo, m_data_debug_str);
-}
-
-const DWARFDataExtractor &SymbolFileDWARFDwo::get_debug_str_offsets_data() {
- return GetCachedSectionData(eSectionTypeDWARFDebugStrOffsetsDwo,
- m_data_debug_str_offsets);
-}
-
SymbolFileDWARF *SymbolFileDWARFDwo::GetBaseSymbolFile() {
return m_base_dwarf_cu->GetSymbolFileDWARF();
}
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h?rev=346853&r1=346852&r2=346853&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h Wed Nov 14 04:04:31 2018
@@ -46,12 +46,6 @@ public:
DWARFUnit *GetBaseCompileUnit() override;
- const lldb_private::DWARFDataExtractor &get_debug_abbrev_data() override;
- const lldb_private::DWARFDataExtractor &get_debug_addr_data() override;
- const lldb_private::DWARFDataExtractor &get_debug_info_data() override;
- const lldb_private::DWARFDataExtractor &get_debug_str_data() override;
- const lldb_private::DWARFDataExtractor &get_debug_str_offsets_data() override;
-
protected:
void LoadSectionData(lldb::SectionType sect_type,
lldb_private::DWARFDataExtractor &data) override;
Modified: lldb/trunk/source/Symbol/ObjectFile.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ObjectFile.cpp?rev=346853&r1=346852&r2=346853&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/ObjectFile.cpp (original)
+++ lldb/trunk/source/Symbol/ObjectFile.cpp Wed Nov 14 04:04:31 2018
@@ -345,13 +345,11 @@ AddressClass ObjectFile::GetAddressClass
return AddressClass::eData;
case eSectionTypeDebug:
case eSectionTypeDWARFDebugAbbrev:
- case eSectionTypeDWARFDebugAbbrevDwo:
case eSectionTypeDWARFDebugAddr:
case eSectionTypeDWARFDebugAranges:
case eSectionTypeDWARFDebugCuIndex:
case eSectionTypeDWARFDebugFrame:
case eSectionTypeDWARFDebugInfo:
- case eSectionTypeDWARFDebugInfoDwo:
case eSectionTypeDWARFDebugLine:
case eSectionTypeDWARFDebugLineStr:
case eSectionTypeDWARFDebugLoc:
@@ -364,9 +362,7 @@ AddressClass ObjectFile::GetAddressClass
case eSectionTypeDWARFDebugRanges:
case eSectionTypeDWARFDebugRngLists:
case eSectionTypeDWARFDebugStr:
- case eSectionTypeDWARFDebugStrDwo:
case eSectionTypeDWARFDebugStrOffsets:
- case eSectionTypeDWARFDebugStrOffsetsDwo:
case eSectionTypeDWARFDebugTypes:
case eSectionTypeDWARFAppleNames:
case eSectionTypeDWARFAppleTypes:
More information about the lldb-commits
mailing list