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

AltStyle によって変換されたページ (->オリジナル) /