This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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...


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]