aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package/go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/rosa/package/go')
-rw-r--r--internal/rosa/package/go/820480.patch24
-rw-r--r--internal/rosa/package/go/package.az58
2 files changed, 82 insertions, 0 deletions
diff --git a/internal/rosa/package/go/820480.patch b/internal/rosa/package/go/820480.patch
new file mode 100644
index 00000000..05459a80
--- /dev/null
+++ b/internal/rosa/package/go/820480.patch
@@ -0,0 +1,24 @@
+From fa10bbcce5635dd533ba933252e9dabd8a7f5e2a Mon Sep 17 00:00:00 2001
+From: David Chase <drchase@google.com>
+Date: Mon, 24 Aug 2026 15:20:40 -0400
+Subject: [PATCH] simd/archsimd: added PMULL gate on carryless multiply test
+
+Fixes #80991.
+
+Change-Id: I637de72acbb338c4c3b0a47f4a5520c33fe81fd2
+---
+
+diff --git a/src/simd/archsimd/internal/simd_test/simd_arm64_test.go b/src/simd/archsimd/internal/simd_test/simd_arm64_test.go
+index f009488..7836fc8 100644
+--- a/src/simd/archsimd/internal/simd_test/simd_arm64_test.go
++++ b/src/simd/archsimd/internal/simd_test/simd_arm64_test.go
+@@ -22,6 +22,9 @@
+ }
+
+ func TestClMul(t *testing.T) {
++ if !archsimd.ARM64.PMULL() {
++ t.Skip("no carryless multiply")
++ }
+ var x = archsimd.LoadUint64x2([]uint64{1, 5})
+ var y = archsimd.LoadUint64x2([]uint64{3, 9})
+
diff --git a/internal/rosa/package/go/package.az b/internal/rosa/package/go/package.az
new file mode 100644
index 00000000..d06720b5
--- /dev/null
+++ b/internal/rosa/package/go/package.az
@@ -0,0 +1,58 @@
+package go {
+ description = "the Go programming language toolchain";
+ website = "https://go.dev";
+ anitya = 1227;
+
+ version# = "1.27.0";
+ source = remoteTar {
+ url = "https://go.dev/dl/go"+version+".src.tar.gz";
+ checksum = "Ookl2vP6KMfJuxaxX6nXZ1gnL43wZPl5GjpVsrI7IJiB4b3xr1PbnbYIOJ8v5jzG";
+ compress = gzip;
+ };
+ patches = [ "820480.patch" ];
+
+ env = [
+ "CC=cc",
+ "GOCACHE=/tmp/gocache",
+ "GOROOT_BOOTSTRAP=/system/go",
+ "TMPDIR=/dev/shm/go",
+ ];
+
+ enterSource = true;
+
+ exec = generic {
+ chdir = false;
+ build = `
+mkdir /work/system/ "${TMPDIR}"
+cp -r . /work/system/go
+cd /work/system/go/src/
+chmod -R +w ..
+
+sed -i \
+ 's,/lib/ld-musl-`+linuxArch+`.so.1,/system/bin/linker,' \
+ cmd/link/internal/`+arch+`/obj.go
+
+rm \
+ os/root_unix_test.go \
+ runtime/crash_cgo_test.go \
+ cmd/cgo/internal/testsanitizers/tsan_test.go \
+ cmd/cgo/internal/testsanitizers/cshared_test.go
+
+set +u
+. ./make.bash "$@" --no-banner
+set -u
+`;
+ check = "bash run.bash --no-rebuild\n";
+ install = `
+../bin/go tool dist banner # print build info
+
+mkdir /work/system/bin
+ln -s \
+ ../go/bin/go \
+ ../go/bin/gofmt \
+ /work/system/bin
+`;
+ };
+
+ inputs = [ bash, go-bootstrap ];
+}