BZ #135: cacao fails to build on arm with thumb2

Status fields:

creation_ts:2009-11-10 16:59
component:vm
version:default branch
rep_platform:arm
op_sys:Linux
bug_status:RESOLVED
resolution:FIXED
reporter:doko@ubuntu.com
arm-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src
-I../../../src/vm/jit/arm -I../../../src/vm/jit/arm/linux -I../../../src
"-I/build/buildd/openjdk-6-6b17~pre2/build/openjdk/jdk/src/solaris/javavm/export"
"-I/build/buildd/openjdk-6-6b17~pre2/build/openjdk/jdk/src/share/javavm/export"
"-I/build/buildd/openjdk-6-6b17~pre2/build/openjdk/jdk/src/solaris/hpi/export"
"-I/build/buildd/openjdk-6-6b17~pre2/build/openjdk/jdk/src/share/hpi/export" -D__ARM__
-D__LINUX__ -std=c99 -pedantic -Wall -Wno-long-long -D_POSIX_C_SOURCE=200112L
-D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_REENTRANT -g -O2 -fno-
strict-aliasing -MT sun_misc_Unsafe.lo -MD -MP -MF .deps/sun_misc_Unsafe.Tpo -c
sun_misc_Unsafe.c  -fPIC -DPIC -o .libs/sun_misc_Unsafe.o
In file included from ../../../src/vm/stringlocal.h:34,
                 from ../../../src/vmcore/class.h:46,
                 from ../../../src/toolbox/logging.h:36,
                 from ../../../src/vm/builtin.h:39,
                 from ../../../src/vmcore/method.h:41,
                 from ../../../src/mm/gc-common.h:35,
                 from ../../../src/mm/memory.h:51,
                 from sun_misc_Unsafe.c:33:
../../../src/vmcore/system.h: In function 'system_scandir':
../../../src/vmcore/system.h:381: warning: passing argument 4 of 'scandir' from
incompatible pointer type
/usr/include/dirent.h:252: note: expected 'int (*)(const struct dirent **, const struct
dirent **)' but argument is of type 'int (*)(const void *, const void *)'
/tmp/ccXIagkk.s: Assembler messages:
/tmp/ccXIagkk.s:895: Error: selected processor does not support `swp ip,r1,[r2]'
/tmp/ccXIagkk.s:897: Error: selected processor does not support `swpne r0,ip,[r2]'
/tmp/ccXIagkk.s:949: Error: selected processor does not support `swp ip,r1,[r2]'
/tmp/ccXIagkk.s:951: Error: selected processor does not support `swpne r0,ip,[r2]'
make[6]: *** [sun_misc_Unsafe.lo] Error 1
make[6]: Leaving directory
`/build/buildd/openjdk-6-6b17~pre2/build/cacao/cacao-0.99.4/src/native/vm'
make[5]: *** [install-recursive] Error 1

"The ideal workaround is to use the __sync_val_compare_and_swap builtin in GCC (see the
GCC info pages).  This "does something that works", based on the build-time -march=
flags and the running kernel."

Comment #1 by stefan@complang.tuwien.ac.at on 2010-08-25 10:11:05

Related IcedTea bug: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=429

Comment #2 by stefan@complang.tuwien.ac.at on 2010-12-29 19:57:29

Not really a problem, as IcedTea has a patch for this. I might apply it in CACAO itself,
but I’m in no hurry…

The patch: http://icedtea.classpath.org/hg/icedtea6/file/9560facaefcc/patches/cacao/arm-
arch-defines.patch

Comment #3 by xerxes@zafena.se on 2011-03-12 22:10:54

Fixed in
http://mips.complang.tuwien.ac.at/hg/cacao/rev/c7bf150bfa46