Author: Vitaly Buka Date: 2024-12-23T12:00:16-08:00 New Revision: 4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6
URL: https://github.com/llvm/llvm-project/commit/4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6 DIFF: https://github.com/llvm/llvm-project/commit/4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6.diff LOG: [NFC][Driver] Simplify linking of ubsan_standalone_cxx (#120938) Refactoring before linking it only with CFI diag or VPTR. Almost NFC as `requiresMinimalRuntime() && needsCfiDiagRt()` changed, but it was unsupported before anyway. Added: Modified: clang/lib/Driver/ToolChains/CommonArgs.cpp Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index 47df650e5b9486..e33fa443b3a0ec 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -1561,8 +1561,6 @@ collectSanitizerRuntimes(const ToolChain &TC, const ArgList &Args, StaticRuntimes.push_back("ubsan_minimal"); } else { StaticRuntimes.push_back("ubsan_standalone"); - if (SanArgs.linkCXXRuntimes()) - StaticRuntimes.push_back("ubsan_standalone_cxx"); } } if (SanArgs.needsSafeStackRt()) { @@ -1572,11 +1570,13 @@ collectSanitizerRuntimes(const ToolChain &TC, const ArgList &Args, if (!(SanArgs.needsSharedRt() && SanArgs.needsUbsanRt())) { if (SanArgs.needsCfiRt()) StaticRuntimes.push_back("cfi"); - if (SanArgs.needsCfiDiagRt()) { + if (SanArgs.needsCfiDiagRt()) StaticRuntimes.push_back("cfi_diag"); - if (SanArgs.linkCXXRuntimes()) - StaticRuntimes.push_back("ubsan_standalone_cxx"); - } + } + if (SanArgs.linkCXXRuntimes() && !SanArgs.requiresMinimalRuntime() && + ((!SanArgs.needsSharedRt() && SanArgs.needsUbsanRt()) || + SanArgs.needsCfiDiagRt())) { + StaticRuntimes.push_back("ubsan_standalone_cxx"); } if (SanArgs.needsStatsRt()) { NonWholeStaticRuntimes.push_back("stats"); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits