]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: reenable internal linking PIE on linux/amd64 and linux/arm64
authorCherry Zhang <cherryyz@google.com>
Wed, 26 Feb 2020 15:08:30 +0000 (10:08 -0500)
committerCherry Zhang <cherryyz@google.com>
Thu, 27 Feb 2020 01:40:38 +0000 (01:40 +0000)
It was enabled in CL 207877, but then accidentally disabled in
CL 207299 due to a bad rebase. Reenable.

Change-Id: I147bf724a4263d4aae54576a36cc7e1cad5e8a2c
Reviewed-on: https://go-review.googlesource.com/c/go/+/221098
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Elias Naur <mail@eliasnaur.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/link/internal/ld/config.go

index 1420a86fd1c559ec213ca96e61e563d9b6726137..0eba4dc1626c7d49d1a3f3a2f884452d50dda73d 100644 (file)
@@ -247,16 +247,10 @@ func determineLinkMode(ctxt *Link) {
                        ctxt.LinkMode = LinkExternal
                        via = "via GO_EXTLINK_ENABLED "
                default:
-                       ctxt.LinkMode = LinkInternal
-                       switch {
-                       case extNeeded, iscgo && externalobj:
+                       if extNeeded || (iscgo && externalobj) {
                                ctxt.LinkMode = LinkExternal
-                       case ctxt.BuildMode == BuildModePIE:
-                               // Android always use BuildModePIE, and needs internal linking for
-                               // bootstrapping.
-                               if objabi.GOOS != "android" || objabi.GOARCH != "arm64" {
-                                       ctxt.LinkMode = LinkExternal
-                               }
+                       } else {
+                               ctxt.LinkMode = LinkInternal
                        }
                }
        }