hanchenye-llvm-project/lldb/lit
Pavel Labath 78cfe1e6fe DWARF: Fix address range support in mixed 4+5 scenario
Summary:
debug_ranges got renamed to debug_rnglists in DWARF 5. Prior to this
patch lldb was just picking the first section it could find in the file,
and using that for all address ranges lookups. This is not correct in
case the file contains a mixture of compile units with various standard
versions (not a completely unlikely scenario).

In this patch I make lldb support reading from both sections
simulaneously, and decide the correct section to use based on the
version number of the compile unit. SymbolFileDWARF::DebugRanges is
split into GetDebugRanges and GetDebugRngLists (the first one is renamed
mainly so we can catch all incorrect usages).

I tried to structure the code similarly to how llvm handles this logic
(hence DWARFUnit::FindRnglistFromOffset/Index), but the implementations
are still relatively far from each other.

Reviewers: JDevlieghere, aprantl, clayborg

Subscribers: lldb-commits

Differential Revision: https://reviews.llvm.org/D62302

llvm-svn: 361938
2019-05-29 09:22:36 +00:00
..
Breakpoint Fix flakiness in lldb lit test 2019-05-13 09:48:26 +00:00
BuildScript [lldb] [lit] Pass --mode=compile to fix compiler-full-path.test 2019-05-15 10:48:55 +00:00
Commands [lldb] [lit] Skip more tests when Python is unavailable 2019-05-19 09:27:52 +00:00
Driver [lldb] [lit] Skip more tests when Python is unavailable 2019-05-19 09:27:52 +00:00
ExecControl/StopHook Fix file names in file headers. NFC 2019-05-13 04:42:32 +00:00
Expr [lit] Make sure tests are actually skipped on darwin and windows. 2019-01-17 21:57:33 +00:00
Heap
Minidump yamlify lit/Minidump tests 2019-04-24 08:09:36 +00:00
Modules [PECOFF] Implementation of ObjectFilePECOFF:: GetUUID() 2019-04-30 01:41:33 +00:00
Process Disable TestEnvironment on Windows 2019-05-13 22:02:09 +00:00
Python Avoid using -S in combination with "script"; it's unreliable. 2019-03-07 00:46:56 +00:00
Quit [lldb] Update shebang python2 -> python 2019-01-26 01:05:02 +00:00
Register [lldb] [lit] Fix whitespace in matches for remaining AVX512 tests 2019-05-15 03:32:47 +00:00
Reproducer [Reproducers] Properly handle QEnvironment packets 2019-03-21 04:08:31 +00:00
Settings
Suite [lldb] [test] Pass appropriate -L&-Wl,-rpath for libc++ on NetBSD 2019-03-06 14:03:18 +00:00
SymbolFile DWARF: Fix address range support in mixed 4+5 scenario 2019-05-29 09:22:36 +00:00
Unit [CMake] In standalone builds, LLVM_BINARY_DIR should point to LLVM's binary directory 2019-01-09 16:25:37 +00:00
Unwind XFAIL prefer-debug-over-eh-frame.test on darwin 2019-05-27 13:43:01 +00:00
Watchpoint [test] Convert TestWatchpointSetErrorCases.py to lit 2019-05-02 01:54:05 +00:00
helper [lldb] build.py: fix behavior when passing --compiler=/path/to/compiler 2019-05-09 16:47:07 +00:00
tools @skipIfLinux flaky lldb-mi tests 2019-05-13 08:48:03 +00:00
CMakeLists.txt [CMake] Folder structure for generated Xcode project to cover more targets 2019-05-28 09:29:05 +00:00
lit-lldb-init
lit.cfg.py [lldb] [lit] Driver/TestConvenienceVariables.test requires Python 2019-05-19 06:05:31 +00:00
lit.site.cfg.py.in Make lldb-mi optional and change how we deal with missing tools in lit 2019-05-03 20:33:58 +00:00