-
-
Notifications
You must be signed in to change notification settings - Fork 213
lldb reports wrong ABI #226
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Thanks for the report! It does indeed sound like that could be a probable cause, especially given the The fact that things crash sounds like an issue to look into, regardless of the fix to use the right C++ ABI. The PoC patch in the linked bug report does sound like it could help. Do you happen to know if it's possible to trigger this from the LLDB CLI? That'd make it a fair bit easier to look into for me. |
Apparently one can use the command line to debug things. See https://github.com/qt-creator/qt-creator/tree/master/share/qtcreator/debugger
I have never used lldb from command line though. |
Right... but in Qt Creator, what debugging action do you do to trigger it - does it happen just right away when starting debugging without any specific UI interaction? (In that case, I presume it worked on simpler test cases before, so it breaks when the debugged app uses e.g. specific language features?) Or does debugging start off working and things crash when you e.g. inspect a variable that contains a nontrivial C++ object, or something like that? I.e., if I download the Qt Creator kit you built in #73 (comment), how do I go about to reproduce the bug? |
At https://bugreports.qt.io/browse/QTCREATORBUG-26247 I had a breakpoint at But it reproduces also with I think at #73 I got lucky and had a breakpoint without any function parameters, and I only looked at the debugger view and was happy about it. I didn't do a more extensive debugging session. |
Reopening until the fix is available in an actual release. |
A prerelease with LLVM 15.0.0 RC1 is now out, where this issue should be fixed. |
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 llvm/llvm-project#50775 * Fixes mstorsjo/llvm-mingw#226 * Fixes mstorsjo/llvm-mingw#282 Reviewed By: omjavaid Differential Revision: https://reviews.llvm.org/D127048
At https://bugreports.qt.io/browse/QTCREATORBUG-26247 I reported that Qt Creator detects
x86-windows-msvc2015-pe-64bit
as ABI, which might explain why the debugged program crashes with:See the linked issue for more stacktrace.
This might be related to https://bugs.llvm.org/show_bug.cgi?id=51433
The text was updated successfully, but these errors were encountered: