[kaffe] still having trouble cross compiling for arm

Dalibor Topic robilad at kaffe.org
Sat Oct 6 04:55:34 PDT 2007


Dario Laverde wrote:
> Any pointers would be appreciated! (same prob on both a Mac PPC and a Linux i686)
> 
> thanks,
> Dario
> 
> /usr/local/bin/arm-apple-darwin-gcc -DHAVE_CONFIG_H -I. -I. -I../../config
> -I../../kaffe/kaffevm/systems/unix-pthreads -I../../kaffe/kaffevm/jni -Iintrp
> -I./intrp -I../../libltdl -DINTERPRETER -I../../kaffe/jvmpi -I../../kaffe/xprof
> -I../../include -I../../kaffe/kaffevm/verifier -I../../kaffe/kaffevm/jni
> -I/root/kaffe-1.1.7/./kaffe/kaffevm -I/root/kaffe-1.1.7/./kaffe/kaffevm/intrp
> -I/root/kaffe-1.1.7/./kaffe/kaffevm/systems/unix-pthreads -I../../replace
> -I../../config -I../../include -I../../libraries/javalib/external/classpath/include
> -DNDEBUG -D_REENTRANT -g -O2 -Wall -W -Wextra -fsigned-char -fno-omit-frame-pointer
> -MT libkaffevm_la-locks.lo -MD -MP -MF .deps/libkaffevm_la-locks.Tpo -c locks.c 
> -fno-common -DPIC -o .libs/libkaffevm_la-locks.o
> locks.c: In function 'getHeavyLock':
> locks.c:109: warning: assignment makes pointer from integer without a cast
> locks.c:135: warning: assignment makes pointer from integer without a cast
> locks.c: In function 'locks_internal_slowUnlockMutexIfHeld':
> locks.c:349: warning: assignment makes pointer from integer without a cast
> locks.c: In function 'locks_internal_lockMutex':
> locks.c:506: warning: assignment makes pointer from integer without a cast
> locks.c: In function 'locks_internal_unlockMutex':
> locks.c:518: warning: assignment makes pointer from integer without a cast
> /tmp/ccvTdC4g.s:86:Unknown instruction 'swp'
> /tmp/ccvTdC4g.s:86:syntax error, unexpected $end
> /tmp/ccvTdC4g.s:87:Unknown instruction 'wp'
> /tmp/ccvTdC4g.s:87:syntax error, unexpected $end

the code in question comes from the compare_and_swap implementation for
arm implemented in assembler in config/arm/atomicity.h . That code comes
from GNU C library, and has been slightly tweaked.

Your mission would be to implement (or find a GPL compatible
implementation of to include) compare_and_swap in a way that works for
your assembler. Alternatively, there is a generic (but slow) compare and
swap implementation in config/generic that you could tweak the code to use.

cheers,
dalibor topic




More information about the kaffe mailing list