libgo: update hurd support
authorIan Lance Taylor <iant@golang.org>
Wed, 13 Jan 2021 19:54:15 +0000 (11:54 -0800)
committerIan Lance Taylor <iant@golang.org>
Thu, 14 Jan 2021 17:57:04 +0000 (09:57 -0800)
Patch from Svante Signell.

Fixes PR go/98496

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/283692

gcc/go/gofrontend/MERGE
libgo/Makefile.am
libgo/Makefile.in
libgo/go/crypto/x509/root_hurd.go
libgo/go/runtime/export_pipe2_test.go
libgo/go/runtime/nbpipe_test.go
libgo/go/runtime/os_hurd.go
libgo/misc/cgo/test/cthread_unix.c

index cd95c3d075575df582c0c342016a600b08c88237..8cfc63248a72639455580293d340e7e79a4885a5 100644 (file)
@@ -1,4 +1,4 @@
-255657dc8d61ab26121ca68f124412ef37599166
+fd5396b1af389a55d1e3612702cfdad6755084e9
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 2e8c37e170d38966a83a60f0b97a3635a8ada81c..6188725f73be8d7b5be810e9c5effe14404a727d 100644 (file)
@@ -881,7 +881,7 @@ GOBENCH =
 CHECK = \
        GC="$(GOC) $(GOCFLAGS) $($(subst /,_,$@)_GOCFLAGS) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs"; \
        export GC; \
-       GOLIBS="$(extra_check_libs_$(subst .,_,$(subst /,_,$(@D)))) $(MATH_LIBS) $(NET_LIBS) $(LIBS)"; \
+       GOLIBS="$(extra_check_libs_$(subst .,_,$(subst /,_,$(@D)))) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS) $(LIBS)"; \
        export GOLIBS; \
        RUNTESTFLAGS="$(RUNTESTFLAGS)"; \
        export RUNTESTFLAGS; \
index 34b0e1d0056adfbc60bb295cb32f247467bfc28b..daae4f842d74beb42dbeaac528977531a4af79cb 100644 (file)
@@ -1029,7 +1029,7 @@ GOBENCH =
 CHECK = \
        GC="$(GOC) $(GOCFLAGS) $($(subst /,_,$@)_GOCFLAGS) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs"; \
        export GC; \
-       GOLIBS="$(extra_check_libs_$(subst .,_,$(subst /,_,$(@D)))) $(MATH_LIBS) $(NET_LIBS) $(LIBS)"; \
+       GOLIBS="$(extra_check_libs_$(subst .,_,$(subst /,_,$(@D)))) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS) $(LIBS)"; \
        export GOLIBS; \
        RUNTESTFLAGS="$(RUNTESTFLAGS)"; \
        export RUNTESTFLAGS; \
index 59e9ff0c81bf53ef716f8308cc3767bdf8d67161..a25b8a1bc08723fa63a166cf3483b0a59d2f2e08 100644 (file)
@@ -9,3 +9,9 @@ package x509
 var certFiles = []string{
        "/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
 }
+
+// Possible directories with certificate files; stop after successfully
+// reading at least one file from a directory.
+var certDirectories = []string{
+       "/etc/ssl/certs", // SLES10/SLES11, https://golang.org/issue/12139
+}
index 9d580d3313446bd7f23ee00ad8922a7e6b9c3bab..209c6b14a112e485900616f190e4e0107cc69e6d 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build freebsd linux netbsd openbsd solaris
+// +build freebsd hurd linux netbsd openbsd solaris
 
 package runtime
 
index 981143ec27b91c8b07d82f46e5aa6c0bb2b7a940..d7c5d45c854be6ab0628de6488d4d9a432fe48c6 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd hurd linux netbsd openbsd solaris
 
 package runtime_test
 
index 1613b410e2ccceafd37bae86cf153a59f735eb0d..8bde23edb81fcdb418cf680101ecf15e3496697f 100644 (file)
@@ -27,19 +27,19 @@ func libc_malloc(uintptr) unsafe.Pointer
 
 //go:noescape
 //extern sem_init
-func sem_init(sem *_sem_t, pshared int32, value uint32) int32
+func sem_init(sem *semt, pshared int32, value uint32) int32
 
 //go:noescape
 //extern sem_wait
-func sem_wait(sem *_sem_t) int32
+func sem_wait(sem *semt) int32
 
 //go:noescape
 //extern sem_post
-func sem_post(sem *_sem_t) int32
+func sem_post(sem *semt) int32
 
 //go:noescape
 //extern sem_timedwait
-func sem_timedwait(sem *_sem_t, timeout *timespec) int32
+func sem_timedwait(sem *semt, timeout *timespec) int32
 
 //go:noescape
 //extern clock_gettime
@@ -51,12 +51,12 @@ func semacreate(mp *m) {
                return
        }
 
-       var sem *_sem_t
+       var sem *semt
 
        // Call libc's malloc rather than malloc. This will
        // allocate space on the C heap. We can't call malloc
        // here because it could cause a deadlock.
-       sem = (*_sem_t)(libc_malloc(unsafe.Sizeof(*sem)))
+       sem = (*semt)(libc_malloc(unsafe.Sizeof(*sem)))
        if sem_init(sem, 0, 0) != 0 {
                throw("sem_init")
        }
@@ -86,7 +86,7 @@ func semasleep(ns int64) int32 {
                ts.tv_sec = timespec_sec_t(sec)
                ts.tv_nsec = timespec_nsec_t(nsec)
 
-               if sem_timedwait((*_sem_t)(unsafe.Pointer(_m_.waitsema)), &ts) != 0 {
+               if sem_timedwait((*semt)(unsafe.Pointer(_m_.waitsema)), &ts) != 0 {
                        err := errno()
                        if err == _ETIMEDOUT || err == _EAGAIN || err == _EINTR {
                                return -1
@@ -96,7 +96,7 @@ func semasleep(ns int64) int32 {
                return 0
        }
        for {
-               r1 := sem_wait((*_sem_t)(unsafe.Pointer(_m_.waitsema)))
+               r1 := sem_wait((*semt)(unsafe.Pointer(_m_.waitsema)))
                if r1 == 0 {
                        break
                }
@@ -110,7 +110,7 @@ func semasleep(ns int64) int32 {
 
 //go:nosplit
 func semawakeup(mp *m) {
-       if sem_post((*_sem_t)(unsafe.Pointer(mp.waitsema))) != 0 {
+       if sem_post((*semt)(unsafe.Pointer(mp.waitsema))) != 0 {
                throw("sem_post")
        }
 }
index 247d636d06dc5d45e9c3c0986f499df1ab56b1af..e56a77e39a3d9cc323be23d2c9b7afc178aabf3d 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
+// +build aix darwin dragonfly freebsd hurd linux netbsd openbsd solaris
 
 #include <pthread.h>
 #include "_cgo_export.h"