overlay/dev-libs/libffi/files/libffi-3.0.9-irix.patch
2010-10-03 09:25:35 +00:00

56 lines
1.5 KiB
Diff

http://bugs.gentoo.org/show_bug.cgi?id=286911
--- src/mips/ffitarget.h.orig 2009-06-19 19:52:37.000000000 +0200
+++ src/mips/ffitarget.h 2009-06-19 19:52:43.000000000 +0200
@@ -43,7 +43,7 @@
# endif
#if !defined(_MIPS_SIM)
--- something is very wrong --
+# error -- something is very wrong --
#else
# if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64))
# define FFI_MIPS_N32
@@ -51,7 +51,7 @@
# if (_MIPS_SIM==_ABIO32 && defined(_ABIO32))
# define FFI_MIPS_O32
# else
--- this is an unsupported platform --
+# error -- this is an unsupported platform --
# endif
# endif
#endif
--- include/ffi.h.in.orig 2009-06-19 19:52:36.000000000 +0200
+++ include/ffi.h.in 2009-06-19 19:52:43.000000000 +0200
@@ -251,6 +251,9 @@
#if FFI_CLOSURES
+#ifdef __sgi
+# pragma pack 8
+#endif
typedef struct {
char tramp[FFI_TRAMPOLINE_SIZE];
ffi_cif *cif;
@@ -260,6 +263,9 @@
} ffi_closure __attribute__((aligned (8)));
#else
} ffi_closure;
+# ifdef __sgi
+# pragma pack 0
+# endif
#endif
void *ffi_closure_alloc (size_t size, void **code);
--- src/java_raw_api.c.dist 2009-09-29 11:04:56.517219880 +0100
+++ src/java_raw_api.c 2009-09-29 11:05:56.836581720 +0100
@@ -311,7 +311,7 @@
ffi_raw_closure *cl = (ffi_raw_closure*)user_data;
ffi_java_ptrarray_to_raw (cif, avalue, raw);
- (*cl->fun) (cif, rvalue, raw, cl->user_data);
+ (*cl->fun) (cif, rvalue, (ffi_raw*)raw, cl->user_data);
ffi_java_raw_to_rvalue (cif, rvalue);
}