diff options
author | bsiegert <bsiegert@pkgsrc.org> | 2017-04-29 19:32:54 +0000 |
---|---|---|
committer | bsiegert <bsiegert@pkgsrc.org> | 2017-04-29 19:32:54 +0000 |
commit | afd1c3c9448435408bc57e96721a73d7014544c0 (patch) | |
tree | 384baef430d1fa8270957eb07e209fa817adc75c | |
parent | e0bb796eda7992b1119ff41b37cf3e6f5542099a (diff) | |
download | pkgsrc-afd1c3c9448435408bc57e96721a73d7014544c0.tar.gz |
Pullup ticket #5325 - requested by sevan
lang/go: bugfix for NetBSD
Revisions pulled up:
- lang/go/Makefile 1.50
- lang/go/distinfo 1.46
- lang/go/patches/patch-src_runtime_os__netbsd.go 1.1
---
Module Name: pkgsrc
Committed By: christos
Date: Wed Apr 19 21:27:31 UTC 2017
Modified Files:
pkgsrc/lang/go: Makefile distinfo
Added Files:
pkgsrc/lang/go/patches: patch-src_runtime_os__netbsd.go
Log Message:
Block signals explicitly during lwp creation since blocking via the context
doea not work.
-rw-r--r-- | lang/go/Makefile | 3 | ||||
-rw-r--r-- | lang/go/distinfo | 3 | ||||
-rw-r--r-- | lang/go/patches/patch-src_runtime_os__netbsd.go | 28 |
3 files changed, 32 insertions, 2 deletions
diff --git a/lang/go/Makefile b/lang/go/Makefile index e05d2d80992..cf8d27d8827 100644 --- a/lang/go/Makefile +++ b/lang/go/Makefile @@ -1,9 +1,10 @@ -# $NetBSD: Makefile,v 1.49 2017/03/15 19:38:09 bsiegert Exp $ +# $NetBSD: Makefile,v 1.49.2.1 2017/04/29 19:32:54 bsiegert Exp $ .include "version.mk" DISTNAME= go${GO_VERSION}.src PKGNAME= go-${GO_VERSION} +PKGREVISION= 1 CATEGORIES= lang MASTER_SITES= https://storage.googleapis.com/golang/ diff --git a/lang/go/distinfo b/lang/go/distinfo index a43b91cbdce..0466cf57b16 100644 --- a/lang/go/distinfo +++ b/lang/go/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.44 2017/03/15 19:38:09 bsiegert Exp $ +$NetBSD: distinfo,v 1.44.2.1 2017/04/29 19:32:54 bsiegert Exp $ SHA1 (go1.8.src.tar.gz) = 37945c372140c3a46c2c5b4b9ce382b6c8d88811 RMD160 (go1.8.src.tar.gz) = 12f2840f1fd321f9d6be4dc066da6392ac30a2c3 @@ -7,4 +7,5 @@ Size (go1.8.src.tar.gz) = 15320083 bytes SHA1 (patch-lib_time_update.bash) = bcf565b97ae7898a9e5cef7686fe42c69bc0bba1 SHA1 (patch-misc_io_clangwrap.sh) = cd91c47ba0fe7b6eb8009dd261c0c26c7d581c29 SHA1 (patch-src_crypto_x509_root__bsd.go) = 0eca1eafa967268ae9b224be4aeda347ebc91901 +SHA1 (patch-src_runtime_os__netbsd.go) = 561f53c084c5bff93171a411bebd79bebf1e3696 SHA1 (patch-src_syscall_syscall__solaris.go) = 436371947897dcba574a6dfecc6bbcd04f6e25b2 diff --git a/lang/go/patches/patch-src_runtime_os__netbsd.go b/lang/go/patches/patch-src_runtime_os__netbsd.go new file mode 100644 index 00000000000..8fe7b3850c5 --- /dev/null +++ b/lang/go/patches/patch-src_runtime_os__netbsd.go @@ -0,0 +1,28 @@ +# $NetBSD: patch-src_runtime_os__netbsd.go,v 1.1.2.2 2017/04/29 19:32:54 bsiegert Exp $ + +--- src/runtime/os_netbsd.go.orig 2017-04-07 12:54:08.000000000 -0400 ++++ src/runtime/os_netbsd.go 2017-04-19 17:08:10.806553689 -0400 +@@ -167,13 +167,23 @@ + var uc ucontextt + getcontext(unsafe.Pointer(&uc)) + ++ // XXX: _UC_SIGMASK does not seem to work here. ++ // It would be nice if _UC_SIGMASK and _UC_STACK ++ // worked so that we could do all the work setting ++ // the sigmask and the stack here, instead of setting ++ // the mask here and the stack in netbsdMstart ++ // For now do the blocking manually. + uc.uc_flags = _UC_SIGMASK | _UC_CPU + uc.uc_link = nil + uc.uc_sigmask = sigset_all + ++ var oset sigset ++ sigprocmask(_SIG_SETMASK, &sigset_all, &oset) ++ + lwp_mcontext_init(&uc.uc_mcontext, stk, mp, mp.g0, funcPC(netbsdMstart)) + + ret := lwp_create(unsafe.Pointer(&uc), 0, unsafe.Pointer(&mp.procid)) ++ sigprocmask(_SIG_SETMASK, &oset, nil) + if ret < 0 { + print("runtime: failed to create new OS thread (have ", mcount()-1, " already; errno=", -ret, ")\n") + if ret == -_EAGAIN { |