This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: PATCH: libffi: add MIPS O32 DWARF-2 unwind info
- From: Casey Marshall <csm at gnu dot org>
- To: java-patches at gcc dot gnu dot org
- Date: Sat, 26 Jun 2004 23:31:05 -0700
- Subject: Re: PATCH: libffi: add MIPS O32 DWARF-2 unwind info
- References: <87wu1yc8k2.fsf@gnu.org>
>>>>> "Casey" == Casey Marshall <csm@gnu.org> writes:
I discovered a buglet in ffi_call_O32 that prevented long values from
being returned by methods called through Method.invoke (the top half
of the returned value was never stored anywhere).
The attached patch fixes four FAILs for me in the libjava test suite
(all four are from InvokeReturn). I think it's correct, at least for
little-endian machines. I don't think big-endian would be different,
but am not sure.
This is, again, only tested on my patched 3.3.3 tree, but the MIPS
libffi part hasn't changed terribly much since then.
--
Casey Marshall || csm@gnu.org
Index: src/mips/o32.S
===================================================================
RCS file: /cvsroot/gcc/gcc/libffi/src/mips/o32.S,v
retrieving revision 1.3
diff -u -r1.3 o32.S
--- src/mips/o32.S 21 Oct 2003 19:01:56 -0000 1.3
+++ src/mips/o32.S 27 Jun 2004 02:50:21 -0000
@@ -139,6 +139,7 @@
bne t2, FFI_TYPE_INT, retfloat
jal t9
REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp)
+ REG_S v1, 4(t0)
REG_S v0, 0(t0)
b epilogue