================
@@ -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
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to