================
@@ -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