Crash invoke()'ing Method with "double" as return type

Martin Egholm Nielsen martin@egholm-nielsen.dk
Wed Jun 28 07:43:00 GMT 2006


Hi,

>> Martin> Just ran into a strange problem on my target: When calling 
>> invoke() on
>> Martin> a java.lang.reflect.Method returning a double, my target 
>> crashes with
>> Martin> an "Illegal instruction" attempting to return:
>>
>> Martin> And it's not working on double in general that sucks - output 
>> line 3
>> Martin> is the output after invoking the same method in a non-reflective
>> Martin> manner.
>>
>> This I don't recall.
>>
>> Martin> This is on my ancient (hacked) GCJ 3.4.x, running on my PPC405EP
>> Martin> target... I know it's old - but does it ring a bell?
>>
>> The only problem I recall is that returning a double via libffi on
>> PPC64 could cause a buffer overflow.  

> Maybe it's a similar problem. I've tracked down the problem to occur 
> invoking "ffi_call_SYSV" in "sysv.S" (from ffi.c's "ffi_call"). And 
> that's where my trace stop.
> 
> So, next step is to try with SVN trunk - if possible...

And that did not change anything - it still fails invoking "ffi_call_SYSV".
Maybe there is a similar buffer overflow on PPC32?
Can anybody else verify/try this on PPC32?
Maybe I'm just not doing it right...

BR,
  Martin Egholm - changing the return type to java.lang.Double for now...



More information about the Java mailing list