[all-commits] [llvm/llvm-project] 9bb01e: [lldb/DWARF] Add is_dwo member to DWARFUnit
Pavel Labath via All-commits
all-commits at lists.llvm.org
Thu Jan 9 04:16:50 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 9bb01efa49ca7f069bc7acba7e4c9bf64d972e79
https://github.com/llvm/llvm-project/commit/9bb01efa49ca7f069bc7acba7e4c9bf64d972e79
Author: Pavel Labath <pavel at labath.sk>
Date: 2020-01-09 (Thu, 09 Jan 2020)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
Log Message:
-----------
[lldb/DWARF] Add is_dwo member to DWARFUnit
Summary:
A skeleton unit can easily be detected by checking the m_dwo_symbol_file
member, but we cannot tell a split unit from a normal unit from the
"inside", which is sometimes useful.
This patch adds a m_is_dwo member to enable this, and align the code
with llvm::DWARFUnit. Right now it's only used to avoid creating a split
unit inside another split unit (which removes one override from
SymbolFileDWARFDwo and brings us a step closer to deleting it), but my
main motivation is fixing the handling of location lists in mixed v4&v5
files. This comes in a separate patch.
Reviewers: JDevlieghere, aprantl, clayborg
Subscribers: dblaikie, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71750
Commit: cd5da94d80b2b0f2bdb2d0157e24705a4cbd2a4e
https://github.com/llvm/llvm-project/commit/cd5da94d80b2b0f2bdb2d0157e24705a4cbd2a4e
Author: Pavel Labath <pavel at labath.sk>
Date: 2020-01-09 (Thu, 09 Jan 2020)
Changed paths:
M lldb/include/lldb/Expression/DWARFExpression.h
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
A lldb/test/Shell/SymbolFile/DWARF/debug_loc_and_loclists.s
Log Message:
-----------
[lldb/DWARF] Fix mixed v4+v5 location lists
Summary:
Our code was expecting that a single (symbol) file contains only one
kind of location lists. This is not correct (on non-apple platforms, at
least) as a file can compile units with different dwarf versions.
This patch moves the deteremination of location list flavour down to the
compile unit level, fixing this problem. I have also tried to rougly
align the code with the llvm DWARFUnit. Fully matching the API is not
possible because of how lldb's DWARFExpression lives separately from the
rest of the DWARF code, but this is at least a step in the right
direction.
Reviewers: JDevlieghere, aprantl, clayborg
Subscribers: dblaikie, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71751
Compare: https://github.com/llvm/llvm-project/compare/e315ce2bd3a5...cd5da94d80b2
More information about the All-commits
mailing list