From f277bfb09da754346c65a2073e7307f3e93771c7 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Thu, 21 May 2026 20:42:47 -0700 Subject: [PATCH] release/dist/synology: add GOARM=7,softfloat mode for hi3535 Fixes #6860 Change-Id: I36f3101e75dab35d03e76693555ac93da893f8d5 Signed-off-by: Brad Fitzpatrick --- flakehashes.json | 4 ++-- go.toolchain.next.rev | 2 +- go.toolchain.rev | 2 +- release/dist/synology/targets.go | 25 +++++++++++++++++++++---- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/flakehashes.json b/flakehashes.json index d9d3d267c..bbbe1f1ba 100644 --- a/flakehashes.json +++ b/flakehashes.json @@ -1,7 +1,7 @@ { "toolchain": { - "rev": "e877d973840c91ec9d4bc1921b0845789de359ae", - "sri": "sha256-HeD70CytKL0Ks/VDqMU73bN8fxpWkNc6mNgNr9PEO7k=" + "rev": "7104161f96b07474ce312ea116c8b2a1efe1311a", + "sri": "sha256-uskKJHUzzIQ74VuzoQKrlz+6tCY/YKnv+BjJduPwt6Q=" }, "vendor": { "goModSum": "sha256-EU/dC6ei0SKQJUBAkRseCLkaU2YLPS7EBJxCqXxEfm8=", diff --git a/go.toolchain.next.rev b/go.toolchain.next.rev index fd5a21697..66c20f1b7 100644 --- a/go.toolchain.next.rev +++ b/go.toolchain.next.rev @@ -1 +1 @@ -e877d973840c91ec9d4bc1921b0845789de359ae +7104161f96b07474ce312ea116c8b2a1efe1311a diff --git a/go.toolchain.rev b/go.toolchain.rev index fd5a21697..66c20f1b7 100644 --- a/go.toolchain.rev +++ b/go.toolchain.rev @@ -1 +1 @@ -e877d973840c91ec9d4bc1921b0845789de359ae +7104161f96b07474ce312ea116c8b2a1efe1311a diff --git a/release/dist/synology/targets.go b/release/dist/synology/targets.go index 2f0851055..2683ed3c9 100644 --- a/release/dist/synology/targets.go +++ b/release/dist/synology/targets.go @@ -9,10 +9,6 @@ var v5Models = []string{ "armv5", "88f6281", "88f6282", - // hi3535 is actually an armv7 under the hood, but with no - // hardware floating point. To the Go compiler, that means it's an - // armv5. - "hi3535", } var v7Models = []string{ @@ -26,6 +22,13 @@ var v7Models = []string{ "monaco", } +// These models are actually armv7 under the hood, but with no hardware +// floating point. To the Go compiler, that means we previously treated +// them as GOARM=5 just to get softfloat, but nowadays we can do GOARM=7,softfloat. +var v7SoftModels = []string{ + "hi3535", // https://github.com/tailscale/tailscale/issues/6860 +} + func Targets(forPackageCenter bool, signer dist.Signer) []dist.Target { var ret []dist.Target for _, dsmVersion := range []struct { @@ -105,6 +108,20 @@ func Targets(forPackageCenter bool, signer dist.Signer) []dist.Target { signer: signer, }) } + for _, v7SoftArch := range v7SoftModels { + ret = append(ret, &target{ + filenameArch: v7SoftArch, + dsmMajorVersion: dsmVersion.major, + dsmMinorVersion: dsmVersion.minor, + goenv: map[string]string{ + "GOOS": "linux", + "GOARCH": "arm", + "GOARM": "7,softfloat", + }, + packageCenter: forPackageCenter, + signer: signer, + }) + } } return ret }