aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link
diff options
context:
space:
mode:
authorCherry Mui <cherryyz@google.com>2025-09-26 09:45:08 -0400
committerCherry Mui <cherryyz@google.com>2025-09-29 10:10:22 -0700
commit047c2ab841e2d2233d0bef420d1b5ecb545a380a (patch)
tree45dd093430b94af071f2fa9095a95e22900ddd71 /src/cmd/link
parentae8eba071b228dd9e05de0b0c338f3d941a0a43f (diff)
downloadgo-047c2ab841e2d2233d0bef420d1b5ecb545a380a.tar.xz
cmd/link: don't pass -Wl,-S on Solaris
Solaris linker's -S has a different meaning. Fixes #75637. Change-Id: I51e641d5bc6d7f64ab5aa280090c70ec787a1fbf Reviewed-on: https://go-review.googlesource.com/c/go/+/707096 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com>
Diffstat (limited to 'src/cmd/link')
-rw-r--r--src/cmd/link/dwarf_test.go2
-rw-r--r--src/cmd/link/internal/ld/lib.go2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/link/dwarf_test.go b/src/cmd/link/dwarf_test.go
index 4fce358e60..56a076002a 100644
--- a/src/cmd/link/dwarf_test.go
+++ b/src/cmd/link/dwarf_test.go
@@ -386,7 +386,7 @@ func TestFlagW(t *testing.T) {
{"-s", false}, // -s implies -w
{"-s -w=0", true}, // -w=0 negates the implied -w
}
- if testenv.HasCGO() {
+ if testenv.HasCGO() && runtime.GOOS != "solaris" { // Solaris linker doesn't support the -S flag
tests = append(tests,
testCase{"-w -linkmode=external", false},
testCase{"-s -linkmode=external", false},
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index 8d2763bb57..c7596d535e 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -1452,7 +1452,7 @@ func (ctxt *Link) hostlink() {
argv = append(argv, "-s")
}
} else if *FlagW {
- if !ctxt.IsAIX() { // The AIX linker's -S has different meaning
+ if !ctxt.IsAIX() && !ctxt.IsSolaris() { // The AIX and Solaris linkers' -S has different meaning
argv = append(argv, "-Wl,-S") // suppress debugging symbols
}
}