diff options
author | Ian Lance Taylor <iant@golang.org> | 2021-01-13 11:54:15 -0800 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2021-01-14 09:57:04 -0800 |
commit | 9ac3e2feb3da89eda7a783d2c675ec897e81b338 (patch) | |
tree | 996f5d30af6f64ea4c19357fe4a2e3e452fa9013 /libgo | |
parent | 6106dfb9f73a33c87108ad5b2dcd4842bdd7828e (diff) | |
download | gcc-9ac3e2feb3da89eda7a783d2c675ec897e81b338.zip gcc-9ac3e2feb3da89eda7a783d2c675ec897e81b338.tar.gz gcc-9ac3e2feb3da89eda7a783d2c675ec897e81b338.tar.bz2 |
libgo: update hurd support
Patch from Svante Signell.
Fixes PR go/98496
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/283692
Diffstat (limited to 'libgo')
-rw-r--r-- | libgo/Makefile.am | 2 | ||||
-rw-r--r-- | libgo/Makefile.in | 2 | ||||
-rw-r--r-- | libgo/go/crypto/x509/root_hurd.go | 6 | ||||
-rw-r--r-- | libgo/go/runtime/export_pipe2_test.go | 2 | ||||
-rw-r--r-- | libgo/go/runtime/nbpipe_test.go | 2 | ||||
-rw-r--r-- | libgo/go/runtime/os_hurd.go | 18 | ||||
-rw-r--r-- | libgo/misc/cgo/test/cthread_unix.c | 2 |
7 files changed, 20 insertions, 14 deletions
diff --git a/libgo/Makefile.am b/libgo/Makefile.am index 2e8c37e..6188725 100644 --- a/libgo/Makefile.am +++ b/libgo/Makefile.am @@ -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; \ diff --git a/libgo/Makefile.in b/libgo/Makefile.in index 34b0e1d..daae4f8 100644 --- a/libgo/Makefile.in +++ b/libgo/Makefile.in @@ -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; \ diff --git a/libgo/go/crypto/x509/root_hurd.go b/libgo/go/crypto/x509/root_hurd.go index 59e9ff0..a25b8a1 100644 --- a/libgo/go/crypto/x509/root_hurd.go +++ b/libgo/go/crypto/x509/root_hurd.go @@ -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 +} diff --git a/libgo/go/runtime/export_pipe2_test.go b/libgo/go/runtime/export_pipe2_test.go index 9d580d331..209c6b1 100644 --- a/libgo/go/runtime/export_pipe2_test.go +++ b/libgo/go/runtime/export_pipe2_test.go @@ -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 diff --git a/libgo/go/runtime/nbpipe_test.go b/libgo/go/runtime/nbpipe_test.go index 981143e..d7c5d45 100644 --- a/libgo/go/runtime/nbpipe_test.go +++ b/libgo/go/runtime/nbpipe_test.go @@ -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 diff --git a/libgo/go/runtime/os_hurd.go b/libgo/go/runtime/os_hurd.go index 1613b41..8bde23e 100644 --- a/libgo/go/runtime/os_hurd.go +++ b/libgo/go/runtime/os_hurd.go @@ -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") } } diff --git a/libgo/misc/cgo/test/cthread_unix.c b/libgo/misc/cgo/test/cthread_unix.c index 247d636..e56a77e 100644 --- a/libgo/misc/cgo/test/cthread_unix.c +++ b/libgo/misc/cgo/test/cthread_unix.c @@ -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" |