summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2018-11-14 10:35:14 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2018-11-14 10:35:14 +0000
commit98963db57d04d38f154ca37b9c8c768da1697222 (patch)
treeb370beb218f5704b7512d6494fa6bdce7635df4e /lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
parent814e7974c64c977960c4913a117bf59af005865b (diff)
downloadbcm5719-llvm-98963db57d04d38f154ca37b9c8c768da1697222.tar.gz
bcm5719-llvm-98963db57d04d38f154ca37b9c8c768da1697222.zip
[LLDB] - Support the single file split DWARF.
DWARF5 spec describes a single file split dwarf case (when .dwo sections are in the .o files). Problem is that LLDB does not work correctly in that case. The issue is that, for example, both .debug_info and .debug_info.dwo has the same type: eSectionTypeDWARFDebugInfo. And when code searches section by type it might find the regular debug section and not the .dwo one. The patch fixes that. With it, LLDB is able to work with output compiled with -gsplit-dwarf=single flag correctly. Differential revision: https://reviews.llvm.org/D52296 llvm-svn: 346848
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp')
-rw-r--r--lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
index 1001eaef555..efb6a0b85c1 100644
--- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
+++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
@@ -1897,9 +1897,9 @@ void ObjectFileELF::CreateSections(SectionList &unified_section_list) {
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 = eSectionTypeDWARFDebugAbbrev;
+ sect_type = eSectionTypeDWARFDebugAbbrevDwo;
else if (name == g_sect_name_dwarf_debug_info_dwo)
- sect_type = eSectionTypeDWARFDebugInfo;
+ sect_type = eSectionTypeDWARFDebugInfoDwo;
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(SectionList &unified_section_list) {
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 = eSectionTypeDWARFDebugStr;
+ sect_type = eSectionTypeDWARFDebugStrDwo;
else if (name == g_sect_name_dwarf_debug_str_offsets_dwo)
- sect_type = eSectionTypeDWARFDebugStrOffsets;
+ sect_type = eSectionTypeDWARFDebugStrOffsetsDwo;
else if (name == g_sect_name_eh_frame)
sect_type = eSectionTypeEHFrame;
else if (name == g_sect_name_arm_exidx)
OpenPOWER on IntegriCloud