]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.18] 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>
Wed, 21 Sep 2022 21:01:20 +0000 (21:01 +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.

Fixes #55113.
Updates #55112, #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>
(cherry picked from commit 706d84fca2b36fdf670a0d921e6a8a3b481eaa05)
Reviewed-on: https://go-review.googlesource.com/c/go/+/431518
Reviewed-by: Austin Clements <austin@google.com>
src/cmd/link/internal/ld/lib.go

index 5fb0b3d21f31ca01cffd6cf08dee7e92e169c314..239e2dd4efc5740638d6c2c1db1d24591977931c 100644 (file)
@@ -1659,6 +1659,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)
        }