[LLDB] - Recommit r346848 "[LLDB] - Support the single file split DWARF.".
authorGeorge Rimar <grimar@accesssoftek.com>
Wed, 14 Nov 2018 13:01:15 +0000 (13:01 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Wed, 14 Nov 2018 13:01:15 +0000 (13:01 +0000)
commit004bcb78ed532ff9897b757f35e02ec1b802ff00
treed5b477b6d16809654e01ea4c5601ddd34deecf18
parentcdb170794be637bb278cda421e37c5f71bd3cf1a
[LLDB] - Recommit r346848 "[LLDB] - Support the single file split DWARF.".

Test cases were updated to not use the local compilation dir which
is different between development pc and build bots.

Original commit message:

[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/D52403

llvm-svn: 346855
lldb/include/lldb/lldb-enumerations.h
lldb/lit/Breakpoint/Inputs/single-file-split-dwarf.o.yaml [new file with mode: 0644]
lldb/lit/Breakpoint/Inputs/single-file-split-dwarf.yaml [new file with mode: 0644]
lldb/lit/Breakpoint/single-file-split-dwarf.test [new file with mode: 0644]
lldb/source/Core/Section.cpp
lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
lldb/source/Symbol/ObjectFile.cpp