diff options
author | joerg <joerg@pkgsrc.org> | 2015-09-14 13:32:49 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2015-09-14 13:32:49 +0000 |
commit | 8592c6ed8d46e75c091277f65e6fe42e111b772a (patch) | |
tree | f26098ea0baf342209ac8bae7f7920cf4af3b215 /lang/go14 | |
parent | e640b6649ad045a66f06d0e78cbf6e866879eaa1 (diff) | |
download | pkgsrc-8592c6ed8d46e75c091277f65e6fe42e111b772a.tar.gz |
Avoid undefined behavior when shifting negative integers.
Diffstat (limited to 'lang/go14')
-rw-r--r-- | lang/go14/distinfo | 3 | ||||
-rw-r--r-- | lang/go14/patches/patch-src_cmd_6c_txt.c | 30 |
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; + } |