diff --git a/extensions/llvm_source.bzl b/extensions/llvm_source.bzl
index 89dcf81..cf27c92 100644
--- a/extensions/llvm_source.bzl
+++ b/extensions/llvm_source.bzl
@@ -83,6 +83,13 @@ def _llvm_source_archive_excludes():
         "offload",
         "libc/docs",
         "libc/utils/gn",
+        # These entries are unix symlinks in the upstream source tarball.
+        # Windows tar.exe cannot materialize them during repository extraction,
+        # but nothing in our Bazel usage needs the symlink entrypoints.
+        "llvm/utils/mlgo-utils/extract_ir.py",
+        "llvm/utils/mlgo-utils/make_corpus.py",
+        "llvm/utils/mlgo-utils/combine_training_corpus.py",
+        "llvm/docs/_themes/llvm-theme",
     ]
 
     test_docs_subprojects = [
diff --git a/runtimes/mingw/BUILD.bazel b/runtimes/mingw/BUILD.bazel
index ebd99db..9eb5d5b 100644
--- a/runtimes/mingw/BUILD.bazel
+++ b/runtimes/mingw/BUILD.bazel
@@ -334,6 +334,30 @@ stub_library(
     name = "stdc++",
 )
 
+# Clang may inject -lssp and -lssp_nonshared for windows-gnu links.
+# Provide compatibility archives in the MinGW runtime search directory.
+stub_library(
+    name = "ssp",
+)
+
+stub_library(
+    name = "ssp_nonshared",
+)
+
+# Prebuilt MSVC archives can carry /DEFAULTLIB:libcmt.lib and
+# /DEFAULTLIB:oldnames.lib directives. Provide MinGW-compatible stand-ins so
+# lld can satisfy the lookup under windows-gnullvm.
+stub_library(
+    name = "libcmt",
+)
+
+copy_file(
+    name = "oldnames",
+    src = ":moldname",
+    out = "liboldnames.a",
+    visibility = ["//visibility:public"],
+)
+
 copy_to_directory(
     name = "mingw_crt_library_search_directory",
     srcs = [
@@ -344,6 +364,10 @@ copy_to_directory(
         ":moldname",
+        ":oldnames",
         ":pthread",
         ":stdc++",
+        ":ssp",
+        ":ssp_nonshared",
+        ":libcmt",
         ":ucrt",
         ":ucrtbase",
         ":ucrtbased",
