Ciao Riccardo,

Riccardo wrote:
In <[EMAIL PROTECTED]> Dalibor Topic wrote:

Riccardo wrote:


My compilation of CVS on NetBSD/sparc fails with the following:


<cut>


that's m68k-netbsd, right?


sometimes it's me, but sometimes it's you.... read the first line and compare it with your question ;)

To be precise:
netbsd 1.6.1, sparc 32 bit

Judging by the build log Riccardo sent me, there may be some problem with the exception frame register being clobbered in jni call.


[snip]
../../../kaffe/kaffe/kaffevm/jni.c: In function `Kaffe_NewGlobalRef':
../../../kaffe/kaffe/kaffevm/jni.c:313: warning: variable `ef' might be clobbered by `longjmp' or `vfork'
../../../kaffe/kaffe/kaffevm/jni.c: In function `Kaffe_DefineClass':
../../../kaffe/kaffe/kaffevm/jni.c:341: warning: variable `ef' might be clobbered by `longjmp' or `vfork'
[snip ... as it goes on like this for any jni function]


ef is defined in config/sparc/jit.h:

register exceptionFrame* ef asm("%sp"); \

So I'm wondering if saving the register before the sepjump/longjump magic would do the trick. The only problem is that I don't know how to do it, as I haven't programmed GCC assembler yet (not sparc assembler in particular). Could someone who's speaks sparc/gcc assembler jump in and provide a patch or point me to relevant information on how to patch this?

cheers,
dalibor topic


_______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to