JNI on ARM/XScale
Bryce McKinlay
mckinlay@redhat.com
Wed Oct 6 14:23:00 GMT 2004
Jari Korva wrote:
>On Thu, 30 Sep 2004, Bryce McKinlay wrote:
>
>
>>Hmm, so if you printf() lib_name immediately before and after the
>>JvSynchronize(), it prints the correct value before the call and
>>corrupted afterwards? If so, that sounds like a C++ compiler bug, as a
>>value on the stack is somehow being overwritten.
>>
>>You could try building natRuntime.cc with -O0 to confirm this theory.
>>
>>
>
>Thanks again! I removed -O2 from libjava/Makefile, touched natRuntime.cc
>and ran make again. Then I rebuild my JNI-HelloWorld - and it really
>worked!
>
>
It'd be interesting to know if you can still reproduce this with the
latest code from CVS. If so, then it would be worth trying to isolate a
small test case and reporting a compiler bug.
Andrew Haley wrote:
> > I also tried printfs instead of debugger on -O2 optimized binary. That
> > way, it seems that the value is corrupted already before JvSynchronize.
> > The trace and modified source are below (the most bizarre thing is that it
> > jumps directly from trace 3-1 to 4).
>
>There's nothing weird about that: all it means is that you're getting
>an ArrayIndexOutOfBoundsException. This is Bad.
>
>
... but probably "normal" if stack traces are not working correctly on
this version/target?
Regards
Bryce
More information about the Java
mailing list