[Lldb-commits] [lldb] [LLDB] Add empty Microsoft ABI language runtime (PR #168941)

via lldb-commits lldb-commits at lists.llvm.org
Fri Nov 21 11:38:08 PST 2025


================
@@ -491,3 +491,10 @@ bool CPPLanguageRuntime::IsSymbolARuntimeThunk(const Symbol &symbol) {
   return mangled_name.starts_with("_ZTh") || mangled_name.starts_with("_ZTv") ||
          mangled_name.starts_with("_ZTc");
 }
+
+bool CPPLanguageRuntime::ShouldUseMicrosoftABI(Process *process) {
+  return process->GetTarget()
+      .GetArchitecture()
+      .GetTriple()
+      .isWindowsMSVCEnvironment();
----------------
Nerixyz wrote:

I do want to keep LLDB's ability to debug mixed DLLs from different ABIs simultaneously. Having separate plugins for each ABI won't work here (I think?), because they'd be tied to the same language.

Currently, `ItaniumABILanguageRuntime` inherits from `CPPLanguageRuntime`. What about moving the methods from the Itanium ABI to the C++ language runtime plugin? `GetDynamicTypeAndAddress` and `GetVTableInfo` would then check for the value's module and branch based on that (to account for 25c8a061c5739677d2fc0af29a8cc9520207b923). @JDevlieghere do you have any thoughts on this?

https://github.com/llvm/llvm-project/pull/168941


More information about the lldb-commits mailing list