[Bug target/47563] New: m32r does not have synchronization primitives
joel at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Feb 1 02:56:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47563
Summary: m32r does not have synchronization primitives
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: joel@gcc.gnu.org
When trying to build Go for m32r-*-rtems*, over 1/3 of the tests fail with a
link error. I think the synchronization primitives can be implemented with the
LOCK/UNLOCK instruction pair but don't know how to do this.
The errors look like this.
Executing on host:
/users/joel/test-gcc/b-gccgo1-m32r/gcc/testsuite/go/../../gccgo
-B/users/joel/test-gcc/b-gccgo1-m32r/gcc/testsuite/go/../../
-I/users/joel/test-gcc/b-gccgo1-m32r/m32r-rtems4.11/./libgo -O -w
-pedantic-errors -c
-B/users/joel/test-gcc/install-svn/m32r-rtems4.11/m32rsim/lib/ -specs bsp_specs
-qrtems -o bug270.o
/users/joel/test-gcc/gcc-svn/gcc/testsuite/go.test/test/fixedbugs/bug270.go
(timeout = 300)
PASS: go.test/test/fixedbugs/bug270.go -O (test for excess errors)
Executing on host:
/users/joel/test-gcc/b-gccgo1-m32r/gcc/testsuite/go/../../gccgo
-B/users/joel/test-gcc/b-gccgo1-m32r/gcc/testsuite/go/../../
/users/joel/test-gcc/gcc-svn/gcc/testsuite/go.test/test/fixedbugs/bug271.go
go_tg.o -I/users/joel/test-gcc/b-gccgo1-m32r/m32r-rtems4.11/./libgo -w -O2
-g -B/users/joel/test-gcc/install-svn/m32r-rtems4.11/m32rsim/lib/ -specs
bsp_specs -qrtems /users/joel/test-gcc/b-gccgo1-m32r/gcc/rtems_gccgo_init.o
-L/users/joel/test-gcc/b-gccgo1-m32r/m32r-rtems4.11/./libgo
-L/users/joel/test-gcc/b-gccgo1-m32r/m32r-rtems4.11/./libgo/.libs
-Wl,-wrap,exit -Wl,-wrap,_exit -Wl,-wrap,main -Wl,-wrap,abort -lm -o
/users/joel/test-gcc/b-gccgo1-m32r/gcc/testsuite/go/bug271.x (timeout = 300)
/users/joel/test-gcc/b-gccgo1-m32r/m32r-rtems4.11/./libgo/.libs/libgo.a(go-go.o):
In function `gc_stop_handler':^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/go-go.c:307: undefined reference to
`__sync_bool_compare_and_swap_4'^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/go-go.c:316: undefined reference to
`__sync_bool_compare_and_swap_4'^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/go-go.c:325: undefined reference to
`__sync_bool_compare_and_swap_4'^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/go-go.c:330: undefined reference to
`__sync_bool_compare_and_swap_4'^M
/users/joel/test-gcc/b-gccgo1-m32r/m32r-rtems4.11/./libgo/.libs/libgo.a(go-signal.o):
In function `sighandler':^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/go-signal.c:136: undefined reference
to `__sync_bool_compare_and_swap_4'^M
/users/joel/test-gcc/b-gccgo1-m32r/m32r-rtems4.11/./libgo/.libs/libgo.a(thread.o):/users/joel/test-gcc/gcc-svn/libgo/runtime/thread.c:23:
more undefined references to `__sync_bool_compare_and_swap_4' follow^M
/users/joel/test-gcc/b-gccgo1-m32r/m32r-rtems4.11/./libgo/.libs/libgo.a(go-semacquire.o):
In function `libgo_runtime.runtime.Semrelease':^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/go-semacquire.c:93: undefined
reference to `__sync_fetch_and_add_4'^M
/users/joel/test-gcc/b-gccgo1-m32r/m32r-rtems4.11/./libgo/.libs/libgo.a(go-unwind.o):
In function `__go_check_defer':^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/go-unwind.c:135: undefined reference
to `_Unwind_Resume_or_Rethrow'^M
/users/joel/test-gcc/b-gccgo1-m32r/m32r-rtems4.11/./libgo/.libs/libgo.a(mfinal.o):
In function `runtime_addfinalizer':^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/mfinal.c:109: undefined reference to
`__sync_bool_compare_and_swap_4'^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/mfinal.c:115: undefined reference to
`__sync_bool_compare_and_swap_4'^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/mfinal.c:128: undefined reference to
`__sync_bool_compare_and_swap_4'^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/mfinal.c:166: undefined reference to
`__sync_bool_compare_and_swap_4'^M
/users/joel/test-gcc/gcc-svn/libgo/runtime/mfinal.c:168: undefined reference to
`__sync_bool_compare_and_swap_4'^M
/users/joel/test-gcc/b-gccgo1-m32r/m32r-rtems4.11/./libgo/.libs/libgo.a(mfinal.o):/users/joel/test-gcc/gcc-svn/libgo/runtime/mfinal.c:180:
more undefined references to `__sync_bool_compare_and_swap_4' follow^M
collect2: ld returned 1 exit status^M
compiler exited with status 1
More information about the Gcc-bugs
mailing list