llvm-project/lldb
Raphael Isemann 1b7c9eae6d [lldb] Store StackFrameRecognizers in the target instead of a global list
Summary:

Currently the frame recognizers are stored in a global list (the list in the
StackFrameRecognizersManagerImpl singleton to be precise). All commands and
plugins that modify the list are just modifying that global list of recognizers
which is shared by all Target and Debugger instances.

This is clearly against the idea of LLDB being usable as a library and it also
leads to some very obscure errors as now multiple tests are sharing the used
frame recognizers. For example D83400 is currently failing as it reorders some
test_ functions which permanently changes the frame recognizers of all
debuggers/targets. As all frame recognizers are also initialized in a 'once'
guard, it's also impossible to every restore back the original frame recognizers
once they are deleted in a process.

This patch just moves the frame recognizers into the current target. This seems
the way everyone assumes the system works as for example the assert frame
recognizers is using the current target to find the function/so-name to look for
(which only works if the recognizers are stored in the target).

Reviewers: jingham, mib

Reviewed By: jingham, mib

Subscribers: MrHate, JDevlieghere

Differential Revision: https://reviews.llvm.org/D83757
2020-07-17 09:26:27 +02:00
..
bindings [lldb/api] Improve error reporting in SBBreakpoint::AddName (NFCI) 2020-07-01 12:45:05 +02:00
cmake [lldb/Lua] Require Lua 5.3 2020-06-23 09:24:01 -07:00
docs Updated the list of supported platforms in LLDB to include Apple silicon. 2020-07-08 15:33:00 -07:00
examples Harmonize Python shebang 2020-07-16 21:53:45 +02:00
include/lldb [lldb] Store StackFrameRecognizers in the target instead of a global list 2020-07-17 09:26:27 +02:00
packages/Python [lldb/Test] Remove custom tearDownHooks from GDB Remote tests 2020-07-15 13:18:06 -07:00
resources
scripts Harmonize Python shebang 2020-07-16 21:53:45 +02:00
source [lldb] Store StackFrameRecognizers in the target instead of a global list 2020-07-17 09:26:27 +02:00
test [lldb] Store StackFrameRecognizers in the target instead of a global list 2020-07-17 09:26:27 +02:00
third_party/Python/module Harmonize Python shebang 2020-07-16 21:53:45 +02:00
tools [intel-pt] Fix building due to CMake + python changes 2020-07-16 12:18:59 -07:00
unittests [lldb] Store StackFrameRecognizers in the target instead of a global list 2020-07-17 09:26:27 +02:00
utils [lldb/Test] Fix missing yaml2obj in Xcode standalone build. 2020-07-10 21:34:56 -07:00
.clang-format
.clang-tidy [lldb] Add .clang-tidy with customization to disable readability-identifier-naming 2020-03-09 12:50:28 -07:00
.gitignore Add .noindex to the gitignore 2019-04-05 17:57:42 +00:00
CMakeLists.txt [lldb/CMake] Only CMAKE_CFG_INTDIR if it's not '.' 2020-03-27 17:49:00 -07:00
CODE_OWNERS.txt [lldb][NFC] Cleanup mentions and code related to lldb-mi 2019-07-19 15:55:23 +00:00
LICENSE.TXT
use_lldb_suite_root.py