llvm-project/lldb/source/Plugins
Alvin Wong 25c8a061c5 [lldb] Set COFF module ABI from default triple and make it an option
PE/COFF can use either MSVC or GNU (MinGW) ABI for C++ code, however
LLDB had defaulted to MSVC implicitly with no way to override it. This
causes issues when debugging modules built with the GNU ABI, sometimes
even crashes.

This changes the PE/COFF plugin to set the module triple according to
the default target triple used to build LLDB. If the default target
triple is Windows and a valid environment is specified, then this
environment will be used for the module spec. This not only works for
MSVC and GNU, but also other environments.

A new setting, `plugin.object-file.pe-coff.abi`,  has been added to
allow overriding this default ABI.

* Fixes https://github.com/llvm/llvm-project/issues/50775
* Fixes https://github.com/mstorsjo/llvm-mingw/issues/226
* Fixes https://github.com/mstorsjo/llvm-mingw/issues/282

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D127048
2022-06-09 22:43:33 +03:00
..
ABI [lldb][AArch64] Fix corefile memory reads when there are non-address bits 2022-05-18 14:13:42 +01:00
Architecture [lldb] Rename Logging.h to LLDBLog.h and clean up includes 2022-02-03 14:47:01 +01:00
Disassembler [lldb][AArch64] Automatically add all extensions to disassembler 2022-04-12 12:31:43 +00:00
DynamicLoader Track transition from launch dyld to shared-cache dyld 2022-06-07 13:34:30 -07:00
ExpressionParser Adapt IRForTarget::RewriteObjCConstStrings() for D126689. 2022-06-02 13:06:40 -07:00
Instruction [lldb] Remove usages of case-insensitive c-string functions 2022-03-29 17:59:17 +02:00
InstrumentationRuntime [lldb] Migrate runtime instrumentation plugins to ReportWarning 2022-03-16 23:20:58 -07:00
JITLoader [lldb] Rename Logging.h to LLDBLog.h and clean up includes 2022-02-03 14:47:01 +01:00
Language Adapt C++ std::string dataformatter for D125496 2022-05-20 11:25:42 -07:00
LanguageRuntime [lldb] Use objc_getRealizedClassList_trylock on macOS Ventura and later 2022-06-08 11:34:27 -07:00
MemoryHistory [lldb] Migrate runtime instrumentation plugins to ReportWarning 2022-03-16 23:20:58 -07:00
ObjectContainer [lldb] Remove ConstString from GetPluginNameStatic of some plugins 2021-10-21 12:58:45 +02:00
ObjectFile [lldb] Set COFF module ABI from default triple and make it an option 2022-06-09 22:43:33 +03:00
OperatingSystem [lldb] Rename Logging.h to LLDBLog.h and clean up includes 2022-02-03 14:47:01 +01:00
Platform [lldb] Improve formatting of dlopen error messages (NFC) 2022-05-23 10:57:40 -07:00
Process [lldb] [Process/FreeBSD] Do not send SIGSTOP to stopped process 2022-06-03 15:19:09 +02:00
REPL [LLDB] Applying clang-tidy modernize-use-equals-default over LLDB 2022-03-31 13:21:49 -07:00
ScriptInterpreter [llvm][lldb] use FindLibEdit.cmake everywhere 2022-05-12 15:59:41 -07:00
StructuredData [lldb] Report debugger diagnostics as events 2022-03-16 08:33:01 -07:00
SymbolFile [LLDB][NativePDB] Fix several crashes when parsing debug info. 2022-06-08 16:41:23 -07:00
SymbolVendor [lldb] Add gnu-debuglink support for Windows PE/COFF 2022-06-09 14:39:33 +03:00
SystemRuntime [lldb] Rename Logging.h to LLDBLog.h and clean up includes 2022-02-03 14:47:01 +01:00
Trace [trace][intelpt] Support system-wide tracing [4] - Support per core tracing on lldb-server 2022-05-17 12:46:54 -07:00
TraceExporter [trace][intelpt] Introduce instruction Ids 2022-04-06 12:19:36 -07:00
TypeSystem Use llvm::less_first (NFC) 2022-06-04 21:23:18 -07:00
UnwindAssembly Update the CFA to use $sp when $fp is restored on arm64 2022-05-04 14:54:17 -07:00
CMakeLists.txt [lldb] Add a C language REPL to test LLDB's REPL infrastructure 2021-09-23 19:31:02 +02:00
Plugins.def.in