summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api
diff options
context:
space:
mode:
authorPavel Labath <pavel@labath.sk>2019-12-05 16:21:23 +0100
committerPavel Labath <pavel@labath.sk>2019-12-06 10:33:13 +0100
commitf69f92344adaada1f8f3cfcd711037227432b062 (patch)
tree2e0381806a396e215749074aa33fb3a215b0f811 /lldb/packages/Python/lldbsuite/test/python_api
parentb6e2cf3270dab43dbc6ffad4695c5c14789bc5e5 (diff)
downloadbcm5719-llvm-f69f92344adaada1f8f3cfcd711037227432b062.tar.gz
bcm5719-llvm-f69f92344adaada1f8f3cfcd711037227432b062.zip
[lldb/DWARF] Fix DW_AT_addr_base & DW_AT_low_pc interaction
In DWARF5 DW_AT_low_pc (and DW_AT_entry_pc, and possibly others) can use DW_FORM_addrx to refer to the address indirectly. This means we need to have processed the DW_AT_addr_base attribute before we can do anything with these. Since we were processing the unit attributes serially, this created a problem in cases where the DW_AT_addr_base comes after DW_AT_low_pc -- we would end up computing the wrong unit base address, which also corrupted any values which later depended on that (for instance range lists). Clang currently always emits DW_AT_addr_base last. The fix is simple -- process DW_AT_addr_base first, regardless of its position in the attribute list.
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud