This is an archive of the discontinued LLVM Phabricator instance.

[lldb/DWARF] Fix mixed v4+v5 location lists
ClosedPublic

Authored by labath on Dec 20 2019, 5:05 AM.

Details

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.

Diff Detail

Event Timeline

labath created this revision.Dec 20 2019, 5:05 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 20 2019, 5:05 AM
aprantl accepted this revision.Dec 20 2019, 12:58 PM
This revision is now accepted and ready to land.Dec 20 2019, 12:58 PM
JDevlieghere accepted this revision.Dec 20 2019, 9:54 PM
This revision was automatically updated to reflect the committed changes.