summaryrefslogtreecommitdiff
path: root/lang/go14
diff options
context:
space:
mode:
authorbsiegert <bsiegert@pkgsrc.org>2016-10-04 18:45:22 +0000
committerbsiegert <bsiegert@pkgsrc.org>2016-10-04 18:45:22 +0000
commit3a1c3838c3e8415d47ba7a8b3415aebb47dec889 (patch)
tree2b9d9c23245ea45848150c1d830e2ec9aea60876 /lang/go14
parent3b82f35a8c4047ca9ade059310a52827397027d7 (diff)
downloadpkgsrc-3a1c3838c3e8415d47ba7a8b3415aebb47dec889.tar.gz
Backport fixes for compiling under macOS Sierra from
https://github.com/golang/go/issues/16352.
Diffstat (limited to 'lang/go14')
-rw-r--r--lang/go14/Makefile4
-rw-r--r--lang/go14/distinfo6
-rw-r--r--lang/go14/patches/patch-src_runtime_sys__darwin__386.s23
-rw-r--r--lang/go14/patches/patch-src_runtime_sys__darwin__amd64.s22
-rw-r--r--lang/go14/patches/patch-src_syscall_syscall__darwin__386.go35
-rw-r--r--lang/go14/patches/patch-src_syscall_syscall__darwin__amd64.go35
6 files changed, 122 insertions, 3 deletions
diff --git a/lang/go14/Makefile b/lang/go14/Makefile
index bfa82c31b9d..b3a1c8b023a 100644
--- a/lang/go14/Makefile
+++ b/lang/go14/Makefile
@@ -1,10 +1,10 @@
-# $NetBSD: Makefile,v 1.8 2016/07/09 06:38:25 wiz Exp $
+# $NetBSD: Makefile,v 1.9 2016/10/04 18:45:22 bsiegert Exp $
.include "../../lang/go/version.mk"
DISTNAME= go${GO14_VERSION}.src
PKGNAME= go14-${GO14_VERSION}
-PKGREVISION= 3
+PKGREVISION= 4
CATEGORIES= lang
MASTER_SITES= https://storage.googleapis.com/golang/
PATCH_SITES= https://codereview.appspot.com/download/
diff --git a/lang/go14/distinfo b/lang/go14/distinfo
index 0315e51ad6c..1f5ac8d2b17 100644
--- a/lang/go14/distinfo
+++ b/lang/go14/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.6 2016/02/21 14:32:24 bsiegert Exp $
+$NetBSD: distinfo,v 1.7 2016/10/04 18:45:22 bsiegert Exp $
SHA1 (go1.4.3.src.tar.gz) = 486db10dc571a55c8d795365070f66d343458c48
RMD160 (go1.4.3.src.tar.gz) = b1fbb2805a777c8107e7c946f36a881303ac5e35
@@ -33,5 +33,9 @@ SHA1 (patch-src_runtime_cgo_setenv.c) = f3b56885fa54cabf78944fad75c21f04bea5cd88
SHA1 (patch-src_runtime_netpoll__solaris.c) = ae399518bb02d6b898734a52dfa7fe18f041e1ec
SHA1 (patch-src_runtime_os__solaris.c) = eec5b293fe4a72f58e4cd51cd23ea6e6fce714b6
SHA1 (patch-src_runtime_os__solaris.h) = c0a39aa6ab57eca7056178c87ebb00bb21236499
+SHA1 (patch-src_runtime_sys__darwin__386.s) = e352e039bba8435a48b88c76290b245731c299ed
+SHA1 (patch-src_runtime_sys__darwin__amd64.s) = 3eccddc8228657db1480393f8476ddd68ac942ff
SHA1 (patch-src_runtime_sys__solaris__amd64.s) = 88f2e3fc43b0d6e4f17ef06d3f4f27cfed3103c6
SHA1 (patch-src_runtime_thunk__solaris__amd64.s) = 2835cdc171ae3209c61ef804fbfbf22cdf68bf43
+SHA1 (patch-src_syscall_syscall__darwin__386.go) = 2f0986bdb199feaa73e933a1a75df87e5c7a8bff
+SHA1 (patch-src_syscall_syscall__darwin__amd64.go) = 1bfba4b0f1e2fe6dee55b24f7f8d7cd89d05dea0
diff --git a/lang/go14/patches/patch-src_runtime_sys__darwin__386.s b/lang/go14/patches/patch-src_runtime_sys__darwin__386.s
new file mode 100644
index 00000000000..5a29023a871
--- /dev/null
+++ b/lang/go14/patches/patch-src_runtime_sys__darwin__386.s
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_runtime_sys__darwin__386.s,v 1.1 2016/10/04 18:45:22 bsiegert Exp $
+
+--- src/runtime/sys_darwin_386.s.orig 2016-10-04 18:40:17.000000000 +0000
++++ src/runtime/sys_darwin_386.s
+@@ -182,11 +182,17 @@ timeloop:
+
+ systime:
+ // Fall back to system call (usually first call in this thread)
+- LEAL 12(SP), AX // must be non-nil, unused
++ LEAL 16(SP), AX // must be non-nil, unused
+ MOVL AX, 4(SP)
+ MOVL $0, 8(SP) // time zone pointer
++ MOVL $0, 12(SP) // required as of Sierra; Issue 16570
+ MOVL $116, AX
+ INT $0x80
++ CMPL AX, $0
++ JNE inreg
++ MOVL 16(SP), AX
++ MOVL 20(SP), DX
++inreg:
+ // sec is in AX, usec in DX
+ // convert to DX:AX nsec
+ MOVL DX, BX
diff --git a/lang/go14/patches/patch-src_runtime_sys__darwin__amd64.s b/lang/go14/patches/patch-src_runtime_sys__darwin__amd64.s
new file mode 100644
index 00000000000..5dee5c149c1
--- /dev/null
+++ b/lang/go14/patches/patch-src_runtime_sys__darwin__amd64.s
@@ -0,0 +1,22 @@
+$NetBSD: patch-src_runtime_sys__darwin__amd64.s,v 1.1 2016/10/04 18:45:22 bsiegert Exp $
+
+--- src/runtime/sys_darwin_amd64.s.orig 2016-10-04 18:40:17.000000000 +0000
++++ src/runtime/sys_darwin_amd64.s
+@@ -141,10 +141,16 @@ timeloop:
+
+ systime:
+ // Fall back to system call (usually first call in this thread).
+- MOVQ SP, DI // must be non-nil, unused
++ MOVQ SP, DI
+ MOVQ $0, SI
++ MOVQ $0, DX // required as of Sierra; Issue 16570
+ MOVL $(0x2000000+116), AX
+ SYSCALL
++ CMPQ AX, $0
++ JNE inreg
++ MOVQ 0(SP), AX
++ MOVL 8(SP), DX
++inreg:
+ // sec is in AX, usec in DX
+ // return nsec in AX
+ IMULQ $1000000000, AX
diff --git a/lang/go14/patches/patch-src_syscall_syscall__darwin__386.go b/lang/go14/patches/patch-src_syscall_syscall__darwin__386.go
new file mode 100644
index 00000000000..49d78caf302
--- /dev/null
+++ b/lang/go14/patches/patch-src_syscall_syscall__darwin__386.go
@@ -0,0 +1,35 @@
+$NetBSD: patch-src_syscall_syscall__darwin__386.go,v 1.1 2016/10/04 18:45:22 bsiegert Exp $
+
+Support Mac OS Sierra. https://github.com/golang/go/issues/16352
+
+--- src/syscall/syscall_darwin_386.go.orig 2015-09-23 04:37:37.000000000 +0000
++++ src/syscall/syscall_darwin_386.go
+@@ -26,14 +26,21 @@ func NsecToTimeval(nsec int64) (tv Timev
+ }
+
+ //sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error)
+-func Gettimeofday(tv *Timeval) (err error) {
+- // The tv passed to gettimeofday must be non-nil
+- // but is otherwise unused. The answers come back
+- // in the two registers.
++func Gettimeofday(tv *Timeval) error {
++ // The tv passed to gettimeofday must be non-nil.
++ // Before macOS Sierra (10.12), tv was otherwise unused and
++ // the answers came back in the two registers.
++ // As of Sierra, gettimeofday return zeros and populates
++ // tv itself.
+ sec, usec, err := gettimeofday(tv)
+- tv.Sec = int32(sec)
+- tv.Usec = int32(usec)
+- return err
++ if err != nil {
++ return err
++ }
++ if sec != 0 || usec != 0 {
++ tv.Sec = int32(sec)
++ tv.Usec = int32(usec)
++ }
++ return nil
+ }
+
+ func SetKevent(k *Kevent_t, fd, mode, flags int) {
diff --git a/lang/go14/patches/patch-src_syscall_syscall__darwin__amd64.go b/lang/go14/patches/patch-src_syscall_syscall__darwin__amd64.go
new file mode 100644
index 00000000000..68413604582
--- /dev/null
+++ b/lang/go14/patches/patch-src_syscall_syscall__darwin__amd64.go
@@ -0,0 +1,35 @@
+$NetBSD: patch-src_syscall_syscall__darwin__amd64.go,v 1.1 2016/10/04 18:45:22 bsiegert Exp $
+
+Support Mac OS Sierra. https://github.com/golang/go/issues/16352
+
+--- src/syscall/syscall_darwin_amd64.go.orig 2015-09-23 04:37:37.000000000 +0000
++++ src/syscall/syscall_darwin_amd64.go
+@@ -26,14 +26,21 @@ func NsecToTimeval(nsec int64) (tv Timev
+ }
+
+ //sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error)
+-func Gettimeofday(tv *Timeval) (err error) {
+- // The tv passed to gettimeofday must be non-nil
+- // but is otherwise unused. The answers come back
+- // in the two registers.
++func Gettimeofday(tv *Timeval) error {
++ // The tv passed to gettimeofday must be non-nil.
++ // Before macOS Sierra (10.12), tv was otherwise unused and
++ // the answers came back in the two registers.
++ // As of Sierra, gettimeofday return zeros and populates
++ // tv itself.
+ sec, usec, err := gettimeofday(tv)
+- tv.Sec = sec
+- tv.Usec = usec
+- return err
++ if err != nil {
++ return err
++ }
++ if sec != 0 || usec != 0 {
++ tv.Sec = sec
++ tv.Usec = usec
++ }
++ return nil
+ }
+
+ func SetKevent(k *Kevent_t, fd, mode, flags int) {