llvm-project/lldb/source/Plugins
Vedant Kumar 4bd2bfb6ec [lldb/PlatformPOSIX] Change LoadImage default to RTLD_LAZY (reapply)
In general, it seems like the debugger should allow programs to load & run with
libraries as far as possible, instead of defaulting to being super-picky about
unavailable symbols.

This is critical on macOS/Darwin, as libswiftCore.dylib may 1) export a version
symbol using @available markup and then 2) expect that other exported APIs are
only dynamically used once the version symbol is checked. We can't open a
version of the library built with a bleeding-edge SDK on an older OS without
RTLD_LAXY (or pervasive/expensive @available markup added to dyld APIs).

This was previously committed as cb8c1ee269 and reverted due to
unknown failures on the Linux bots. This version adds additional asserts
to check that the shared objects are where we expect them & that calling
f1() from libt1 produces the expected value. The Linux failure is
tracked by https://bugs.llvm.org/show_bug.cgi?id=49656.

See: https://lists.llvm.org/pipermail/lldb-dev/2021-March/016796.html

Differential Revision: https://reviews.llvm.org/D98879
2021-03-19 16:06:00 -07:00
..
ABI [lldb][NFC] Give CompilerType's IsArrayType/IsVectorType/IsBlockPointerType out-parameters default values 2021-02-23 11:15:31 +01:00
Architecture [lldb] Reduce duplication in the Disassembler class 2020-03-09 13:41:43 +01:00
Disassembler [lldb][ARM/AArch64] Update disasm flags to latest v8.7a ISA 2021-01-07 10:51:47 +00:00
DynamicLoader Revert "Make sure the interpreter module was loaded before making checks against it" 2021-02-21 10:38:25 -08:00
ExpressionParser [lldb][NFC] Code style fixes for ClangModulesDeclVendor 2021-03-08 17:28:05 +01:00
Instruction [LLDB][NFC] Remove redundant condition 2020-07-01 09:04:26 +02:00
InstrumentationRuntime [lldb][NFC] Apply performance-faster-string-find (`str.find("X")` -> `str.find('x')`) 2020-12-16 10:53:18 -08:00
JITLoader [lldb] Make DoReadMemory a protected method. 2021-01-07 21:06:36 -08:00
Language [lldb] Add deref support to libc++ unique_ptr synthetic 2021-02-26 07:39:01 -08:00
LanguageRuntime Make iteration over the DeclContext::lookup_result safe. 2021-03-17 08:59:04 +00:00
MemoryHistory [lldb] Access the ModuleList through iterators where possible (NFC) 2021-01-07 21:06:36 -08:00
ObjectContainer [lldb] Abstract scoped timer logic behind LLDB_SCOPED_TIMER (NFC) 2020-12-22 09:10:27 -08:00
ObjectFile [lldb] s/TARGET_OS_EMBEDDED/TARGET_OS_IPHONE/ 2021-02-11 20:40:59 -08:00
OperatingSystem [lldb] Use std::make_unique<DynamicRegisterInfo> (NFC) 2020-07-22 11:32:48 -07:00
Platform [lldb/PlatformPOSIX] Change LoadImage default to RTLD_LAZY (reapply) 2021-03-19 16:06:00 -07:00
Process [lldb] [Process/FreeBSD] Introduce aarch64 hw break/watchpoint support 2021-03-10 18:36:19 +01:00
ScriptInterpreter [lldb] Fix a bug in D96779 (shared lib directory logic) 2021-03-09 15:15:45 +01:00
StructuredData Use basic_string::find(char) instead of basic_string::find(const char *s, size_type pos=0) 2020-12-16 23:28:32 -08:00
SymbolFile Make iteration over the DeclContext::lookup_result safe. 2021-03-17 08:59:04 +00:00
SymbolVendor [lldb] Abstract scoped timer logic behind LLDB_SCOPED_TIMER (NFC) 2020-12-22 09:10:27 -08:00
SystemRuntime Make the error condition in Value::ValueType explicit (NFC) 2021-02-12 16:12:31 -08:00
Trace [trace][intel-pt] Scaffold the 'thread trace start | stop' commands 2020-11-18 18:24:36 -08:00
TypeSystem Make iteration over the DeclContext::lookup_result safe. 2021-03-17 08:59:04 +00:00
UnwindAssembly [lldb/Unwind] Use eh_frame plan directly when it doesn't need to be augmented 2020-06-26 11:46:47 +02:00
CMakeLists.txt Add a "Trace" plug-in to LLDB to add process trace support in stages. 2020-09-21 17:13:18 -07:00
Plugins.def.in Re-land "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin" 2020-02-18 19:16:07 -08:00