]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: support race mode with MSVC clang
authorCherry Mui <cherryyz@google.com>
Fri, 12 Sep 2025 17:46:31 +0000 (13:46 -0400)
committerCherry Mui <cherryyz@google.com>
Mon, 15 Sep 2025 17:59:16 +0000 (10:59 -0700)
I couldn't make --print-file-name work with -msvc clang. (The
library name is synchronization.lib, but even with that name it
still doesn't print the full path.) Assume it always
synchronization.lib.

Change-Id: I22e8f14824f7f7e96b71b913217b1f604f1e2da7
Reviewed-on: https://go-review.googlesource.com/c/go/+/703398
Reviewed-by: Than McIntosh <thanm@golang.org>
Reviewed-by: Florian Zenker <floriank@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>

src/cmd/link/internal/ld/lib.go

index 516150a0a717cdc8b06c6d3996813d3daa865526..1a1bc186755f4fe4123eec21258d2fb296940bf8 100644 (file)
@@ -1943,7 +1943,11 @@ func (ctxt *Link) hostlink() {
                        argv = append(argv, "-Wl,-T,"+p)
                }
                if *flagRace {
-                       if p := ctxt.findLibPath("libsynchronization.a"); p != "libsynchronization.a" {
+                       // Apparently --print-file-name doesn't work with -msvc clang.
+                       // (The library name is synchronization.lib, but even with that
+                       // name it still doesn't print the full path.) Assume it always
+                       // it.
+                       if isMSVC || ctxt.findLibPath("libsynchronization.a") != "libsynchronization.a" {
                                argv = append(argv, "-lsynchronization")
                        }
                }