]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj: validate GOARM environment variable's value before use
authorBrad Fitzpatrick <bradfitz@golang.org>
Wed, 13 May 2015 22:28:11 +0000 (15:28 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 13 May 2015 23:27:26 +0000 (23:27 +0000)
I was previously setting GOARM=arm5 (due to confusion with previously
seeing buildall.sh's temporary of "arm5" as a GOARCH and
misremembernig), but GOARM=arm5 was acting like GOARM=5 only on
accident. See https://go-review.googlesource.com/#/c/10023/

Instead, fail if GOARM is not a known value.

Change-Id: I9ba4fd7268df233d40b09f0431f37cd85a049847
Reviewed-on: https://go-review.googlesource.com/10024
Reviewed-by: Minux Ma <minux@golang.org>
src/cmd/internal/obj/util.go

index b0b209184f742ac2fb431aff90cab6b7761b8962..ac49543fdf586e517f71346bf184e12d5e38f3cd 100644 (file)
@@ -213,10 +213,17 @@ func Getgoos() string {
 }
 
 func Getgoarm() string {
-       return envOr("GOARM", defaultGOARM)
+       switch v := envOr("GOARM", defaultGOARM); v {
+       case "5", "6", "7":
+               return v
+       }
+       // Fail here, rather than validate at multiple call sites.
+       log.Fatalf("Invalid GOARM value. Must be 5, 6, or 7.")
+       panic("unreachable")
 }
 
 func Getgo386() string {
+       // Validated by cmd/8g.
        return envOr("GO386", defaultGO386)
 }