diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index 7941b5ba9250ba4ee25d977fb7c3a9cba59670a8..5031205d5408bee3ec3cfcdce3cdb4c7e710fae5 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -1152,6 +1152,10 @@ ToolChain::UnwindLibType ToolChain::GetUnwindLibType( unwindLibType = GetDefaultUnwindLibType(); } + const llvm::Triple::ArchType Arch = getArch(); + if (Arch == llvm::Triple::aarch64 && Args.hasArg(options::OPT_fenable_matrix)) + unwindLibType = ToolChain::UNW_CompilerRT; + return *unwindLibType; }