diff -wpruN '--exclude=*.orig' a~/lib/Driver/ToolChains/Solaris.cpp a/lib/Driver/ToolChains/Solaris.cpp
--- llvm-16.0.6.src~/tools/clang/lib/Driver/ToolChains/Solaris.cpp        1970-01-01 00:00:00
+++ llvm-16.0.6.src/tools/clang/lib/Driver/ToolChains/Solaris.cpp 1970-01-01 00:00:00
@@ -129,13 +129,6 @@ void solaris::Linker::ConstructJob(Compi
                    options::OPT_r)) {
     if (getToolChain().ShouldLinkCXXStdlib(Args))
       getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
-    if (Args.hasArg(options::OPT_fstack_protector) ||
-        Args.hasArg(options::OPT_fstack_protector_strong) ||
-        Args.hasArg(options::OPT_fstack_protector_all)) {
-      // Explicitly link ssp libraries, not folded into Solaris libc.
-      CmdArgs.push_back("-lssp_nonshared");
-      CmdArgs.push_back("-lssp");
-    }
     // LLVM support for atomics on 32-bit SPARC V8+ is incomplete, so
     // forcibly link with libatomic as a workaround.
     if (getToolChain().getTriple().getArch() == llvm::Triple::sparc) {