summaryrefslogtreecommitdiff
path: root/lang/go14
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2015-09-14 13:32:49 +0000
committerjoerg <joerg@pkgsrc.org>2015-09-14 13:32:49 +0000
commit8592c6ed8d46e75c091277f65e6fe42e111b772a (patch)
treef26098ea0baf342209ac8bae7f7920cf4af3b215 /lang/go14
parente640b6649ad045a66f06d0e78cbf6e866879eaa1 (diff)
downloadpkgsrc-8592c6ed8d46e75c091277f65e6fe42e111b772a.tar.gz
Avoid undefined behavior when shifting negative integers.
Diffstat (limited to 'lang/go14')
-rw-r--r--lang/go14/distinfo3
-rw-r--r--lang/go14/patches/patch-src_cmd_6c_txt.c30
2 files changed, 32 insertions, 1 deletions
diff --git a/lang/go14/distinfo b/lang/go14/distinfo
index 76488be8559..2b2caea4cad 100644
--- a/lang/go14/distinfo
+++ b/lang/go14/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.1 2015/07/31 14:46:25 bsiegert Exp $
+$NetBSD: distinfo,v 1.2 2015/09/14 13:32:49 joerg Exp $
SHA1 (go1.4.2.src.tar.gz) = 460caac03379f746c473814a65223397e9c9a2f6
RMD160 (go1.4.2.src.tar.gz) = dea15b3b4c31554a47b40799f4b9a926ea760e70
@@ -8,6 +8,7 @@ SHA1 (patch-misc_cgo_test_cthread__unix.c) = a63f08f07713bd32e279315cca21235101c
SHA1 (patch-misc_cgo_testso_cgoso.go) = ef782a6f173c814656eac0df640aedaa1a923bbc
SHA1 (patch-misc_cgo_testso_cgoso__unix.go) = 58e221e1ce123428a3fe6ecededf0590cbfb81ca
SHA1 (patch-src_cmd_5l_asm.c) = fd78203b7c92b9bbd057077671d649bac2d121ee
+SHA1 (patch-src_cmd_6c_txt.c) = 7ccddadedceb13b6a7c2f29cdfca501a85888488
SHA1 (patch-src_cmd_6l_asm.c) = 1f244d7c760e738057b1649ed486206a6ec3812b
SHA1 (patch-src_cmd_8l_asm.c) = e5233a3d9b08f2ef8d809756ef7d6fc4b03303b9
SHA1 (patch-src_cmd_go_build.go) = f7705aa955241d3add353a144a676a58a0a1617e
diff --git a/lang/go14/patches/patch-src_cmd_6c_txt.c b/lang/go14/patches/patch-src_cmd_6c_txt.c
new file mode 100644
index 00000000000..a0eb6fdbd39
--- /dev/null
+++ b/lang/go14/patches/patch-src_cmd_6c_txt.c
@@ -0,0 +1,30 @@
+$NetBSD: patch-src_cmd_6c_txt.c,v 1.1 2015/09/14 13:32:49 joerg Exp $
+
+--- src/cmd/6c/txt.c.orig 2015-09-14 08:49:47.000000000 +0000
++++ src/cmd/6c/txt.c
+@@ -29,6 +29,7 @@
+ // THE SOFTWARE.
+
+ #include "gc.h"
++#include <limits.h>
+
+ int thechar = '6';
+ char *thestring = "amd64";
+@@ -992,7 +993,7 @@ gmove(Node *f, Node *t)
+ f->vconst &= 0xffff;
+ if(f->vconst & 0x8000){
+ f->vconst |= 0xffff0000;
+- f->vconst |= (vlong)~0 << 32;
++ f->vconst |= (vlong)(UINTMAX_MAX << 32);
+ }
+ a = AMOVL;
+ }
+@@ -1042,7 +1043,7 @@ gmove(Node *f, Node *t)
+ f->vconst &= 0xff;
+ if(f->vconst & 0x80){
+ f->vconst |= 0xffffff00;
+- f->vconst |= (vlong)~0 << 32;
++ f->vconst |= (vlong)(UINTMAX_MAX << 32);
+ }
+ a = AMOVQ;
+ }