mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-23 19:03:59 +08:00
libgo: update hurd support
Patch from Svante Signell. Fixes PR go/98496 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/283692
This commit is contained in:
parent
6106dfb9f7
commit
9ac3e2feb3
@ -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.
|
||||
|
@ -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; \
|
||||
|
@ -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; \
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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")
|
||||
}
|
||||
}
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user