]> Cypherpunks.ru repositories - gostls13.git/commitdiff
cmd/link: suppress -no_pie deprecation warning on darwin
authorCherry Mui <cherryyz@google.com>
Thu, 15 Sep 2022 01:01:04 +0000 (21:01 -0400)
committerCherry Mui <cherryyz@google.com>
Fri, 16 Sep 2022 15:09:42 +0000 (15:09 +0000)
Apparently the new darwin linker starts to emit a warning about
-no_pie deprecation. Maybe we want to switch to PIE by default.
For now, suppress the warning. This also makes it easier for
backporting to previous releases.

For #54482.

Change-Id: I1a3b74c237a9d00ec3b030fc3a9940a31e5cd37e
Reviewed-on: https://go-review.googlesource.com/c/go/+/430937
Run-TryBot: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>

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

index 15748c0fbb5f2f353c8798a9c4398f733415b247..f4a1f1800fa26df4489682c56847aed9fcfe2f51 100644 (file)
@@ -1775,6 +1775,13 @@ func (ctxt *Link) hostlink() {
        if len(out) > 0 {
                // always print external output even if the command is successful, so that we don't
                // swallow linker warnings (see https://golang.org/issue/17935).
+               if ctxt.IsDarwin() && ctxt.IsAMD64() {
+                       const noPieWarning = "ld: warning: -no_pie is deprecated when targeting new OS versions\n"
+                       if i := bytes.Index(out, []byte(noPieWarning)); i >= 0 {
+                               // swallow -no_pie deprecation warning, issue 54482
+                               out = append(out[:i], out[i+len(noPieWarning):]...)
+                       }
+               }
                ctxt.Logf("%s", out)
        }