pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/pkgsrc-2017Q1]: pkgsrc/lang/go Pullup ticket #5325 - requested by sevan



details:   https://anonhg.NetBSD.org/pkgsrc/rev/1a4d8836679e
branches:  pkgsrc-2017Q1
changeset: 360317:1a4d8836679e
user:      bsiegert <bsiegert%pkgsrc.org@localhost>
date:      Sat Apr 29 19:32:54 2017 +0000

description:
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.

diffstat:

 lang/go/Makefile                                |   3 +-
 lang/go/distinfo                                |   3 +-
 lang/go/patches/patch-src_runtime_os__netbsd.go |  28 +++++++++++++++++++++++++
 3 files changed, 32 insertions(+), 2 deletions(-)

diffs (62 lines):

diff -r 75c7e57dc86a -r 1a4d8836679e lang/go/Makefile
--- a/lang/go/Makefile  Sat Apr 29 19:32:24 2017 +0000
+++ b/lang/go/Makefile  Sat Apr 29 19:32:54 2017 +0000
@@ -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 -r 75c7e57dc86a -r 1a4d8836679e lang/go/distinfo
--- a/lang/go/distinfo  Sat Apr 29 19:32:24 2017 +0000
+++ b/lang/go/distinfo  Sat Apr 29 19:32:54 2017 +0000
@@ -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 @@
 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 -r 75c7e57dc86a -r 1a4d8836679e lang/go/patches/patch-src_runtime_os__netbsd.go
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/go/patches/patch-src_runtime_os__netbsd.go   Sat Apr 29 19:32:54 2017 +0000
@@ -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 {



Home | Main Index | Thread Index | Old Index