Go patch committed: New lock/note implementation

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Thu Dec 1 16:48:00 GMT 2011


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



More information about the Gcc-patches mailing list