mirror of https://github.com/golang/go.git
cmd/go: add -shared to darwin/arm{,64} default build mode
Buildmode c-archive now supports position independent code for darwin/arm (in addition to darwin/arm64). Make PIC (-shared) the default for both platforms in the default buildmode. Without this change, gomobile will go install the standard library into its separate package directory without PIC support. Also add -shared to darwin/arm64 in buildmode c-archive, for symmetry (darwin/arm64 always generates position independent code). Fixes #15519 Change-Id: If27d2cbea8f40982e14df25da2703cbba572b5c6 Reviewed-on: https://go-review.googlesource.com/22920 Reviewed-by: David Crawshaw <crawshaw@golang.org> Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
9d7c9b4384
commit
fa270ad98e
|
|
@ -84,7 +84,7 @@ func init() {
|
|||
cc = append(cc, []string{"-framework", "CoreFoundation", "-framework", "Foundation"}...)
|
||||
}
|
||||
libgodir = GOOS + "_" + GOARCH
|
||||
if GOOS == "darwin" && GOARCH == "arm" {
|
||||
if GOOS == "darwin" && (GOARCH == "arm" || GOARCH == "arm64") {
|
||||
libgodir = GOOS + "_" + GOARCH + "_shared"
|
||||
}
|
||||
cc = append(cc, "-I", filepath.Join("pkg", libgodir))
|
||||
|
|
|
|||
|
|
@ -335,7 +335,7 @@ func buildModeInit() {
|
|||
return p
|
||||
}
|
||||
switch platform {
|
||||
case "darwin/arm":
|
||||
case "darwin/arm", "darwin/arm64":
|
||||
codegenArg = "-shared"
|
||||
default:
|
||||
}
|
||||
|
|
@ -361,6 +361,9 @@ func buildModeInit() {
|
|||
case "android/arm", "android/arm64", "android/amd64", "android/386":
|
||||
codegenArg = "-shared"
|
||||
ldBuildmode = "pie"
|
||||
case "darwin/arm", "darwin/arm64":
|
||||
codegenArg = "-shared"
|
||||
fallthrough
|
||||
default:
|
||||
ldBuildmode = "exe"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue