From 4a16d7887d0ce2cfb5389a7f805ef2fc85950712 Mon Sep 17 00:00:00 2001 From: jinye Date: Wed, 10 Sep 2025 16:29:16 +0800 Subject: [PATCH] internal/buildcfg:reserve original LSE atomic path --- src/internal/buildcfg/cfg.go | 8 +++++++- src/internal/buildcfg/cfg_test.go | 4 ---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/internal/buildcfg/cfg.go b/src/internal/buildcfg/cfg.go index e115d7f95..107a4f368 100644 --- a/src/internal/buildcfg/cfg.go +++ b/src/internal/buildcfg/cfg.go @@ -233,9 +233,15 @@ func ParseGoarm64(v string) (g Goarm64Features, e error) { } switch v { - case "v8.0", "v8.1", "v8.2", "v8.3", "v8.4", "v8.5", "v8.6", "v8.7", "v8.8", "v8.9", + case "v8.0": + g.Version = v + case "v8.1", "v8.2", "v8.3", "v8.4", "v8.5", "v8.6", "v8.7", "v8.8", "v8.9", "v9.0", "v9.1", "v9.2", "v9.3", "v9.4", "v9.5": g.Version = v + g.LSE = true + if g.KPAtomicOpt { + g.LSE = false + } default: e = fmt.Errorf("invalid GOARM64: must start with v8.{0-9} or v9.{0-5} and may optionally end in %q, %q and/or %q", lseOpt, cryptoOpt, kpAtomicOpt) diff --git a/src/internal/buildcfg/cfg_test.go b/src/internal/buildcfg/cfg_test.go index 1807ef891..08b289fe1 100644 --- a/src/internal/buildcfg/cfg_test.go +++ b/src/internal/buildcfg/cfg_test.go @@ -68,10 +68,6 @@ func TestConfigFlags(t *testing.T) { if goarm64().Version != "v8.0" || goarm64().LSE != true || goarm64().Crypto != true { t.Errorf("Wrong parsing of GOARM64=v8.0,lse,crypto") } - os.Setenv("GOARM64", "v9.0") - if goarm64().Version != "v9.0" || goarm64().LSE != false || goarm64().Crypto != false { - t.Errorf("Wrong parsing of GOARM64=v9.0") - } } func TestGoarm64FeaturesSupports(t *testing.T) { -- Gitee