llvm-project/lldb/source
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
..
API Pass plugin_name in SBProcess::SaveCore 2022-06-09 16:29:50 +02:00
Breakpoint Revert "[lldb] Consider binary as module of last resort" 2022-05-23 11:19:48 +05:00
Commands Add help text for "breakpoint name", describing the feature more fully. 2022-06-08 16:55:53 -07:00
Core [lldb] Set COFF module ABI from default triple and make it an option 2022-06-09 22:43:33 +03:00
DataFormatters [lldb] Add setting for max depth of value object printing (NFC) 2022-05-03 10:39:42 -07:00
Expression Decr pc when looking for DWARF loc list entry mid-stack 2022-04-29 14:34:06 -07:00
Host [lldb] Fix an unused function warning 2022-05-25 09:49:05 -07:00
Initialization [lldb] Remove FileSystem::Initialize from FileCollector 2022-03-03 13:22:38 -08:00
Interpreter Fix a copy-paste error in "br com add -s py -o 'some_python' BKPT_NAME" 2022-05-31 17:24:14 -07:00
Plugins [lldb] Set COFF module ABI from default triple and make it an option 2022-06-09 22:43:33 +03:00
Symbol [lldb] Add gnu-debuglink support for Windows PE/COFF 2022-06-09 14:39:33 +03:00
Target [lldb] Silence a GCC warning about missing returns after a fully covered switch. NFC. 2022-06-09 14:39:33 +03:00
Utility Use static_cast from SmallString to std::string (NFC) 2022-06-04 22:09:27 -07:00
Version [lldb] Fix LLDB_FULL_VERSION_STRING 2022-01-19 14:20:22 -08:00
CMakeLists.txt [lldb] Make lldbVersion a full fledged library 2021-12-08 15:14:34 -08:00