From 4bd77619b743c3c986742527236568e43db37c44 Mon Sep 17 00:00:00 2001 From: WANG Xuerui Date: Sun, 4 Dec 2022 15:06:45 +0800 Subject: [PATCH] cmd/compile, cmd/dist, internal: enable buildmode=pie for linux/loong64 This is actually not tied to the ELF psABI v2 upgrade, and can be enabled "for free". Change-Id: I6906d9eb4bd8655c685b059283e200cb7e210369 Reviewed-on: https://go-review.googlesource.com/c/go/+/455075 Reviewed-by: abner chenc Run-TryBot: Ben Shi Reviewed-by: Meidan Li Run-TryBot: WANG Xuerui TryBot-Result: Gopher Robot Run-TryBot: Ian Lance Taylor Reviewed-by: Ian Lance Taylor Auto-Submit: Ian Lance Taylor Reviewed-by: David Chase --- src/cmd/compile/internal/base/flag.go | 2 +- src/cmd/dist/test.go | 2 +- src/internal/platform/supported.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cmd/compile/internal/base/flag.go b/src/cmd/compile/internal/base/flag.go index 9b6caf5626..785cc4279a 100644 --- a/src/cmd/compile/internal/base/flag.go +++ b/src/cmd/compile/internal/base/flag.go @@ -255,7 +255,7 @@ func ParseFlags() { if Flag.Race && !platform.RaceDetectorSupported(buildcfg.GOOS, buildcfg.GOARCH) { log.Fatalf("%s/%s does not support -race", buildcfg.GOOS, buildcfg.GOARCH) } - if (*Flag.Shared || *Flag.Dynlink || *Flag.LinkShared) && !Ctxt.Arch.InFamily(sys.AMD64, sys.ARM, sys.ARM64, sys.I386, sys.PPC64, sys.RISCV64, sys.S390X) { + if (*Flag.Shared || *Flag.Dynlink || *Flag.LinkShared) && !Ctxt.Arch.InFamily(sys.AMD64, sys.ARM, sys.ARM64, sys.I386, sys.Loong64, sys.PPC64, sys.RISCV64, sys.S390X) { log.Fatalf("%s/%s does not support -shared", buildcfg.GOOS, buildcfg.GOARCH) } parseSpectre(Flag.Spectre) // left as string for RecordFlags diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index f3c262ac98..b7c200af36 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -1733,7 +1733,7 @@ func buildModeSupported(compiler, buildmode, goos, goarch string) bool { case "pie": switch platform { - case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/riscv64", "linux/s390x", + case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/loong64", "linux/ppc64le", "linux/riscv64", "linux/s390x", "android/amd64", "android/arm", "android/arm64", "android/386", "freebsd/amd64", "darwin/amd64", "darwin/arm64", diff --git a/src/internal/platform/supported.go b/src/internal/platform/supported.go index 896f0b5273..7039c76774 100644 --- a/src/internal/platform/supported.go +++ b/src/internal/platform/supported.go @@ -174,7 +174,7 @@ func BuildModeSupported(compiler, buildmode, goos, goarch string) bool { case "pie": switch platform { - case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/riscv64", "linux/s390x", + case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/loong64", "linux/ppc64le", "linux/riscv64", "linux/s390x", "android/amd64", "android/arm", "android/arm64", "android/386", "freebsd/amd64", "darwin/amd64", "darwin/arm64",