Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2022-01-02 15:22:55 +0100
committerAndreas Baumann <mail@andreasbaumann.cc>2022-01-02 15:22:55 +0100
commit28e6113d7fe462ecdf62a6427e52db7e7ff76358 (patch)
tree22e21723a9bbcab25c69a853c8cc556dd48c98b4
parente962eceedadf5ffc119ff251a1f905c1d2e314b3 (diff)
community/go: trying to build with softfloat
-rw-r--r--blacklist/i686/go/go1
-rw-r--r--community/go/PKGBUILD17
2 files changed, 16 insertions, 2 deletions
diff --git a/blacklist/i686/go/go b/blacklist/i686/go/go
deleted file mode 100644
index 1a603131..00000000
--- a/blacklist/i686/go/go
+++ /dev/null
@@ -1 +0,0 @@
-no more non-SSE2 support, see https://github.com/golang/go/issues/40255
diff --git a/community/go/PKGBUILD b/community/go/PKGBUILD
index d1cd4d9f..4fa88c30 100644
--- a/community/go/PKGBUILD
+++ b/community/go/PKGBUILD
@@ -3,7 +3,7 @@ eval "$(
sed '
/install\( .*\)\? -race /d
'
- declare -f package_go-pie | \
+ declare -f package_go-pie package | \
sed '
s,\(/linux_\)amd64\([_/]\),\1386\2,g
'
@@ -15,3 +15,18 @@ eval "$(
s/\(export GOARCH=\)amd64/\1386 /
'
)"
+
+# 1.16 dropped non-SSE2 floating point operations, so we must
+# use software floating points (see https://github.com/golang/go/issues/40255)
+if [ "$CARCH" = 'i686' -o "$CARCH" = 'i486' ]; then
+ eval "$(
+ declare -f build \
+ | sed '
+ 2 a export GO386='softfloat'
+ '
+ declare -f check \
+ | sed '
+ 2 a export GO386='softfloat'
+ '
+ )"
+fi