[all-commits] [llvm/llvm-project] 829823: [lldb/DWARF] More DW_AT_const_value fixes
Pavel Labath via All-commits
all-commits at lists.llvm.org
Wed Aug 26 04:24:36 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 82982304d7095891b10faacdbf9b4eb73e92a92f
https://github.com/llvm/llvm-project/commit/82982304d7095891b10faacdbf9b4eb73e92a92f
Author: Pavel Labath <pavel at labath.sk>
Date: 2020-08-26 (Wed, 26 Aug 2020)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
A lldb/test/Shell/SymbolFile/DWARF/DW_AT_const_value-bitfields.s
M lldb/test/Shell/SymbolFile/DWARF/DW_AT_const_value.s
Log Message:
-----------
[lldb/DWARF] More DW_AT_const_value fixes
This fixes several issues in handling of DW_AT_const_value attributes:
- the first is that the size of the data given by data forms does not
need to match the size of the underlying variable. We already had the
case to handle this for DW_FORM_(us)data -- this extends the handling
to other data forms. The main reason this was not picked up is because
clang uses leb forms in these cases while gcc prefers the fixed-size
ones.
- The handling of DW_AT_strp form was completely broken -- we would end
up using the pointer value as the result. I've reorganized this code
so that it handles all string forms uniformly.
- In case of a completely bogus form we would crash due to
strlen(nullptr).
Depends on D86311.
Differential Revision: https://reviews.llvm.org/D86348
More information about the All-commits
mailing list