1
0
mirror of https://github.com/golang/go synced 2024-11-26 08:38:01 -07:00

cmd/internal/objabi: assume GOARM=7 on Android

CL 34641 changed the Go runtime to assume GOARM=7 support on Android.
This change completes that by assuming GOARM=7 in the toolchain, fixing
the gotcha of inexplicably slow performance on non-arm64 Android devices.

There is already code in cmd/dist to force GOARM to 7 on GOOS=android. However,
dist is most likely run with GOOS != android.

Change-Id: I5e2bf11c3ecd0f6c193229eaa8ddc570722799d1
Reviewed-on: https://go-review.googlesource.com/c/go/+/272846
Run-TryBot: Elias Naur <mail@eliasnaur.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Trust: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur 2020-11-24 17:48:38 +01:00
parent df68e01b68
commit b9365488f0
2 changed files with 6 additions and 7 deletions

View File

@ -383,12 +383,6 @@ func xsamefile(f1, f2 string) bool {
} }
func xgetgoarm() string { func xgetgoarm() string {
if goos == "android" {
// Assume all android devices have VFPv3.
// These ports are also mostly cross-compiled, so it makes little
// sense to auto-detect the setting.
return "7"
}
if gohostarch != "arm" || goos != gohostos { if gohostarch != "arm" || goos != gohostos {
// Conservative default for cross-compilation. // Conservative default for cross-compilation.
return "5" return "5"

View File

@ -40,7 +40,12 @@ const (
) )
func goarm() int { func goarm() int {
switch v := envOr("GOARM", defaultGOARM); v { def := defaultGOARM
if GOOS == "android" {
// Android devices always support GOARM=7.
def = "7"
}
switch v := envOr("GOARM", def); v {
case "5": case "5":
return 5 return 5
case "6": case "6":