I have configured gcc like this: /n/08/rask/src/gcc/configure --target=arm-unknown-elf --disable-multilib --disable-nls --disable-gdb --with-newlib --enable-sim
Building libjava fails with this message: libtool: compile: /home/rask/build/gcc-arm-unknown-elf/./gcc/xgcc -shared-libgcc -B/home/rask/build/gcc-arm-unknown-elf/./gcc -nostdinc++ -L/home/rask/build/gcc-arm-unknown-elf/arm-unknown-elf/libstdc++-v3/src -L/home/rask/build/gcc-arm-unknown-elf/arm-unknown-elf/libstdc++-v3/src/.libs -nostdinc -B/home/rask/build/gcc-arm-unknown-elf/arm-unknown-elf/newlib/ -isystem /home/rask/build/gcc-arm-unknown-elf/arm-unknown-elf/newlib/targ-include -isystem /n/08/rask/src/gcc/newlib/libc/include -B/home/rask/build/gcc-arm-unknown-elf/arm-unknown-elf/libgloss/arm -L/home/rask/build/gcc-arm-unknown-elf/arm-unknown-elf/libgloss/libnosys -L/n/08/rask/src/gcc/libgloss/arm -B/usr/local/arm-unknown-elf/bin/ -B/usr/local/arm-unknown-elf/lib/ -isystem /usr/local/arm-unknown-elf/include -isystem /usr/local/arm-unknown-elf/sys-include -L/home/rask/build/gcc-arm-unknown-elf/./ld -DHAVE_CONFIG_H -I. -I/n/08/rask/src/gcc/libjava -I./include -I./gcj -I/n/08/rask/src/gcc/libjava -Iinclude -I/n/08/rask/src/gcc/libjava/include -I/n/08/rask/src/gcc/libjava/classpath/include -Iclasspath/include -I/n/08/rask/src/gcc/libjava/classpath/native/fdlibm -I/n/08/rask/src/gcc/libjava/../boehm-gc/include -I../boehm-gc/include -I/n/08/rask/src/gcc/libjava/.././libjava/../gcc -I/n/08/rask/src/gcc/libjava/../zlib -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"/usr/local\" -DTOOLEXECLIBDIR=\"/usr/local/arm-unknown-elf/lib\" -DJAVA_HOME=\"/usr/local\" -DBOOT_CLASS_PATH=\"/usr/local/share/java/libgcj-4.3.0.jar\" -DJAVA_EXT_DIRS=\"/usr/local/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"/usr/local/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"/usr/local/lib/gcj-4.3.0\" -DPATH_SEPARATOR=\":\" -DECJ_JAR_FILE=\"\" -DLIBGCJ_DEFAULT_DATABASE=\"/usr/local/lib/gcj-4.3.0/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.3.0/classmap.db\" -MT jni-libjvm.lo -MD -MP -MF .deps/jni-libjvm.Tpo -c /n/08/rask/src/gcc/libjava/jni-libjvm.cc -o jni-libjvm.o In file included from /n/08/rask/src/gcc/libjava/include/jvm.h:35, from /n/08/rask/src/gcc/libjava/jni-libjvm.cc:14: ./sysdep/locks.h:11:2: error: #error Thread synchronization primitives not implemented for this platform. In file included from /n/08/rask/src/gcc/libjava/jni-libjvm.cc:14: /n/08/rask/src/gcc/libjava/include/jvm.h:754: error: 'obj_addr_t' does not name a type /n/08/rask/src/gcc/libjava/include/jvm.h:763: error: 'ParkHelper' does not name a type make[3]: *** [jni-libjvm.lo] Error 1 make[3]: Leaving directory `/home/rask/build/gcc-arm-unknown-elf/arm-unknown-elf/libjava' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/rask/build/gcc-arm-unknown-elf/arm-unknown-elf/libjava' make[1]: *** [all-target-libjava] Error 2 make[1]: Leaving directory `/home/rask/build/gcc-arm-unknown-elf' make: *** [all] Error 2 -- Summary: libjava build failure due to missing thread synchronization primitives Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rask at sygehus dot dk GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: arm-unknown-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32340