[PATCH] Fix FFI return type for closures in the java interpreter

Tom Tromey tom@tromey.com
Tue Jun 28 08:09:00 GMT 2016


>>>>> "Matthew" == Matthew Fortune <Matthew.Fortune@imgtec.com> writes:
Matthew> I've identified a latent bug in the java interpreter that affects MIPS
Matthew> n32 and n64 ABIs both little and big endian and, I presume, any 64-bit
Matthew> big endian target with int as 32-bit.
[...]

Matthew> libjava/
Matthew> * interpret-run.cc: Use ffi_arg for FFI integer return types.
Matthew> libjava/testsuite/
Matthew> * libjava.jar/arraysort.java: New file.
Matthew> * libjava.jar/arraysort.jar: New file.
Matthew> * libjava.jar/arraysort.out: New file.
Matthew> * libjava.jar/arraysort.xfail: New file.

Tom> This is ok.

It occurred to me that this might not be correct on platforms using the
Java raw API; which I think is just x86.

I'm actually not sure -- I don't remember (if I ever knew) if the raw
API has the same return-value promotion rules as the ordinary API.

Could you check?  I think a -m32 build ought to show it.  Maybe your
x86-64 build already did this?

thanks,
Tom



More information about the Gcc-patches mailing list