[Lldb-commits] [lldb] [LLDB] Add empty Microsoft ABI language runtime (PR #168941)
via lldb-commits
lldb-commits at lists.llvm.org
Thu Nov 20 13:31:18 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:
Right, this inherits the style LLDB was built as. The language runtime being tied to a process and language is too coarse for allowing mixed ABIs in different DLLs.
An alternative could be to handle both ABIs in the Itanium plugin (but rename it). So for dynamic types, it could check the module or determine the ABI based on the mangled symbol name. For exception breakpoints, all function names would need to be registered. Would that be a better idea?
https://github.com/llvm/llvm-project/pull/168941
More information about the lldb-commits
mailing list