summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-09-05 16:11:18 +0200
committerErich Eckner <git@eckner.net>2018-09-05 16:11:18 +0200
commit4e43b947c190be295f2db0f3cb1cfa6f810c513e (patch)
treee2977d60509d172fb30b36a3384f50c91c8c026d
parent44fbcdf7c3e29f0f16bf0a6ae84e5fa0d0bb08c6 (diff)
downloadpackages-4e43b947c190be295f2db0f3cb1cfa6f810c513e.tar.xz
community/grumpy: fix 32-bit overflows
-rw-r--r--community/grumpy/4f3cc3ed446170a161cf8ecb644a740ac233b005.patch30
-rw-r--r--community/grumpy/PKGBUILD18
-rw-r--r--community/grumpy/ef4791393db1ab586400d326ae7d7993e5610d00.patch26
3 files changed, 74 insertions, 0 deletions
diff --git a/community/grumpy/4f3cc3ed446170a161cf8ecb644a740ac233b005.patch b/community/grumpy/4f3cc3ed446170a161cf8ecb644a740ac233b005.patch
new file mode 100644
index 00000000..ffe0f2ed
--- /dev/null
+++ b/community/grumpy/4f3cc3ed446170a161cf8ecb644a740ac233b005.patch
@@ -0,0 +1,30 @@
+From 4f3cc3ed446170a161cf8ecb644a740ac233b005 Mon Sep 17 00:00:00 2001
+From: Alan Justino <alan.justino@yahoo.com.br>
+Date: Wed, 7 Mar 2018 19:30:45 -0300
+Subject: [PATCH] Fix int underflow on 32bit CPUs
+
+---
+ tools/pkgc.go | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/tools/pkgc.go b/tools/pkgc.go
+index e04017c7..93a6fe7d 100644
+--- a/tools/pkgc.go
++++ b/tools/pkgc.go
+@@ -75,6 +75,16 @@ func getConst(name string, v constant.Value) string {
+ } else {
+ format = "float64(%s)"
+ }
++ } else {
++ if i, exact := constant.Int64Val(v); exact {
++ if i > math.MinInt8 {
++ format = "int(%s)"
++ } else if i > math.MinInt32 {
++ format = "int32(%s)"
++ } else {
++ format = "int64(%s)"
++ }
++ }
+ }
+ case constant.Float:
+ format = "float64(%s)"
diff --git a/community/grumpy/PKGBUILD b/community/grumpy/PKGBUILD
new file mode 100644
index 00000000..b19f2487
--- /dev/null
+++ b/community/grumpy/PKGBUILD
@@ -0,0 +1,18 @@
+source+=(
+ '4f3cc3ed446170a161cf8ecb644a740ac233b005.patch'
+ 'ef4791393db1ab586400d326ae7d7993e5610d00.patch'
+)
+unset md5sums
+sha512sums=(
+ 'SKIP'
+ 'e86c54bd4bc3492eae0b1cf69a5ea717130024bc6088e994a9a0fae040fdc6962bbbd50cfa4a66b6db228360dd32c0318003f2248f0e41443b60990c67ebcf50'
+ 'f646c59e2b1cab40f67c0e150d33bae55bf8d01142c2e6f7d52c331909c5ecbfcd004b4aaafefb07cea268f9dd1c406c4da77e18453097fc0e3f11467b9a39c8'
+)
+eval "$(
+ declare -f prepare | \
+ sed '
+ 2 a cd "$srcdir/grumpy" \
+ patch -p1 -i "$srcdir/ef4791393db1ab586400d326ae7d7993e5610d00.patch"
+ patch -p1 -i "$srcdir/4f3cc3ed446170a161cf8ecb644a740ac233b005.patch" \
+ '
+)"
diff --git a/community/grumpy/ef4791393db1ab586400d326ae7d7993e5610d00.patch b/community/grumpy/ef4791393db1ab586400d326ae7d7993e5610d00.patch
new file mode 100644
index 00000000..c8894732
--- /dev/null
+++ b/community/grumpy/ef4791393db1ab586400d326ae7d7993e5610d00.patch
@@ -0,0 +1,26 @@
+From ef4791393db1ab586400d326ae7d7993e5610d00 Mon Sep 17 00:00:00 2001
+From: Alan Justino <alan.justino@yahoo.com.br>
+Date: Wed, 7 Mar 2018 19:00:29 -0300
+Subject: [PATCH] Fix overflow on math.MaxInt64
+
+---
+ tools/pkgc.go | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/tools/pkgc.go b/tools/pkgc.go
+index 4b08aac5..e04017c7 100644
+--- a/tools/pkgc.go
++++ b/tools/pkgc.go
+@@ -65,7 +65,11 @@ func getConst(name string, v constant.Value) string {
+ case constant.Int:
+ if constant.Sign(v) >= 0 {
+ if i, exact := constant.Uint64Val(v); exact {
+- if i > math.MaxInt64 {
++ if i < math.MaxInt8 {
++ format = "uint(%s)"
++ } else if i < math.MaxInt32 {
++ format = "uint32(%s)"
++ } else {
+ format = "uint64(%s)"
+ }
+ } else {