This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Go patch committed: New lock/note implementation
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: gcc-patches at gcc dot gnu dot org, gofrontend-dev at googlegroups dot com
- Date: Thu, 01 Dec 2011 17:47:45 +0100
- Subject: Re: Go patch committed: New lock/note implementation
- References: <mcr62ibdhwi.fsf@dhcp-172-18-216-180.mtv.corp.google.com> <yddty5sjfgz.fsf@manam.CeBiTec.Uni-Bielefeld.DE> <yddobw0xch2.fsf@manam.CeBiTec.Uni-Bielefeld.DE> <mcrwraivbdv.fsf@dhcp-172-18-216-180.mtv.corp.google.com>
Ian Lance Taylor <iant@google.com> writes:
>> ... and also Solaris 8 and 9 bootstrap which lack sem_timedwait:
>>
>> /vol/gcc/src/hg/trunk/local/libgo/runtime/thread-sema.c: In function 'runtime_semasleep':
>> /vol/gcc/src/hg/trunk/local/libgo/runtime/thread-sema.c:42:7: error: implicit declaration of function 'sem_timedwait' [-Werror=implicit-function-declaration]
>
> This one was somewhat trickier, but I think this patch will do the job.
> This uses pthread_cond_timedwait instead of sem_timedwait (I hope that
> Solaris 8 and 9 have pthread_cond_timedwait). Bootstrapped and ran Go
They do, as does IRIX.
> testsuite on x86_64-unknown-linux-gnu. Committed to mainline.
Together with the sigignore -> sig_ignore change, I'm back to bootstrap
land again,thanks. Unfortunately, I'm now (as of r181837) seeing
considerable testsuite regressions on go and libgo test results:
* many 64-bit go execution failures on i386-pc-solaris2.1[01]:
Running target unix/-m64
FAIL: go.go-torture/execute/go-1.go execution, -O0
FAIL: go.go-torture/execute/go-1.go execution, -O1
FAIL: go.go-torture/execute/go-1.go execution, -O2
FAIL: go.go-torture/execute/go-1.go execution, -O2 -fomit-frame-pointer -finline-functions
FAIL: go.go-torture/execute/go-1.go execution, -O2 -fomit-frame-pointer -finline-functions -funroll-loops
FAIL: go.go-torture/execute/go-1.go execution, -O2 -fbounds-check
FAIL: go.go-torture/execute/go-1.go execution, -O3 -g
FAIL: go.go-torture/execute/go-1.go execution, -Os
FAIL: go.go-torture/execute/go-2.go execution, -O0
FAIL: go.go-torture/execute/go-2.go execution, -O1
FAIL: go.go-torture/execute/go-2.go execution, -O2
FAIL: go.go-torture/execute/go-2.go execution, -O2 -fomit-frame-pointer -finline-functions
FAIL: go.go-torture/execute/go-2.go execution, -O2 -fomit-frame-pointer -finline-functions -funroll-loops
FAIL: go.go-torture/execute/go-2.go execution, -O2 -fbounds-check
FAIL: go.go-torture/execute/go-2.go execution, -O3 -g
FAIL: go.go-torture/execute/go-2.go execution, -Os
FAIL: go.go-torture/execute/go-3.go execution, -O0
FAIL: go.go-torture/execute/go-3.go execution, -O1
FAIL: go.go-torture/execute/go-3.go execution, -O2
FAIL: go.go-torture/execute/go-3.go execution, -O2 -fomit-frame-pointer -finline-functions
FAIL: go.go-torture/execute/go-3.go execution, -O2 -fomit-frame-pointer -finline-functions -funroll-loops
FAIL: go.go-torture/execute/go-3.go execution, -O2 -fbounds-check
FAIL: go.go-torture/execute/go-3.go execution, -O3 -g
FAIL: go.go-torture/execute/go-3.go execution, -Os
FAIL: go.go-torture/execute/select-1.go execution, -O0
FAIL: go.go-torture/execute/select-1.go execution, -O1
FAIL: go.go-torture/execute/select-1.go execution, -O2
FAIL: go.go-torture/execute/select-1.go execution, -O2 -fomit-frame-pointer -finline-functions
FAIL: go.go-torture/execute/select-1.go execution, -O2 -fomit-frame-pointer -finline-functions -funroll-loops
FAIL: go.go-torture/execute/select-1.go execution, -O2 -fbounds-check
FAIL: go.go-torture/execute/select-1.go execution, -O3 -g
FAIL: go.go-torture/execute/select-1.go execution, -Os
FAIL: go.test/test/235.go execution, -O2 -g
FAIL: go.test/test/bigalg.go execution, -O2 -g
FAIL: go.test/test/chan/doubleselect.go execution, -O2 -g
FAIL: go.test/test/chan/fifo.go execution, -O2 -g
FAIL: go.test/test/chan/goroutines.go execution, -O2 -g
FAIL: go.test/test/chan/nonblock.go execution, -O2 -g
FAIL: go.test/test/chan/powser1.go execution, -O2 -g
FAIL: go.test/test/chan/powser2.go execution, -O2 -g
FAIL: go.test/test/chan/select2.go execution, -O2 -g
FAIL: go.test/test/chan/select3.go execution, -O2 -g
FAIL: go.test/test/chan/select6.go execution, -O2 -g
FAIL: go.test/test/chan/sieve1.go execution, -O2 -g
FAIL: go.test/test/chan/sieve2.go execution, -O2 -g
FAIL: go.test/test/closure.go execution, -O2 -g
FAIL: go.test/test/escape.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/bug067.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/bug130.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/bug147.go execution, -O2 -g
FAIL: go.test/test/fixedbugs/bug243.go execution, -O2 -g
FAIL: go.test/test/func5.go execution, -O2 -g
FAIL: go.test/test/goprint.go execution, -O2 -g
FAIL: go.test/test/ken/chan.go execution, -O2 -g
FAIL: go.test/test/ken/chan1.go execution, -O2 -g
FAIL: go.test/test/ken/cplx5.go execution, -O2 -g
FAIL: go.test/test/mallocfin.go execution, -O2 -g
FAIL: go.test/test/nil.go execution, -O2 -g
FAIL: go.test/test/range.go execution, -O2 -g
FAIL: go.test/test/stack.go execution, -O2 -g
* All 64-bit libgo tests fail on the same target:
FAIL: asn1
/vol/gcc/src/hg/trunk/local/libgo/testsuite/gotest[422]: gotest-timeout: cannot create [No such file or directory]
checkId: 65 should be 1
checkId: 66 should be 1
I've not yet investigated what's going on here.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University