llvm-project/lldb/lit
Pavel Labath da7f033693 Ignore DIEs in the skeleton unit in a DWO scenario
Summary:
r362103 exposed a bug, where we could read incorrect data if a skeleton
unit contained more than the single unit DIE. Clang emits these kinds of
units with -fsplit-dwarf-inlining (which is also the default).

Changing lldb to handle these DIEs is nontrivial, as we'd have to change
the UID encoding logic to be able to reference these DIEs, and fix up
various places which are assuming that all DIEs come from the separate
compile unit.

However, it turns out this is not necessary, as the DWO unit contains
all the information that the skeleton unit does. So, this patch just
skips parsing the extra DIEs if we have successfully found the DWO file.
This enforces the invariant that the rest of the code is already
operating under.

This patch fixes a couple of existing tests, but I've also included a
simpler test which does not depend on execution of binaries, and would
have helped us in catching this sooner.

Reviewers: clayborg, JDevlieghere, aprantl

Subscribers: probinson, dblaikie, lldb-commits

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

llvm-svn: 362586
2019-06-05 07:29:55 +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 Fix lldb's macosx/heap.py cstr command. 2018-12-17 18:21:51 +00:00
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 [FormatEntity] Ignore ASCII escape sequences when colors are disabled. 2019-05-31 16:27:44 +00:00
Suite [lldb] [test] Pass appropriate -L&-Wl,-rpath for libc++ on NetBSD 2019-03-06 14:03:18 +00:00
SymbolFile Ignore DIEs in the skeleton unit in a DWO scenario 2019-06-05 07:29:55 +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 Add EchoCommentCommands to CommandInterpreterRunOptions in addition to the existing EchoCommands and expose both as interpreter settings. 2018-10-05 16:49:47 +00:00
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