summaryrefslogtreecommitdiff
path: root/debian/patches/libjava-mips64el.diff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2017-05-13 13:54:49 +0300
committerIgor Pashev <pashev.igor@gmail.com>2017-05-13 13:54:49 +0300
commit42156b5190f4fa150e1fab6777eb81e69d4db8c9 (patch)
tree3bf47de81cf1f89892789535a036d2d55d93a136 /debian/patches/libjava-mips64el.diff
downloadgcc-6-debian.tar.gz
Imported gcc-6 (6.3.0-17)debian/6.3.0-17debian
Diffstat (limited to 'debian/patches/libjava-mips64el.diff')
-rw-r--r--debian/patches/libjava-mips64el.diff58
1 files changed, 58 insertions, 0 deletions
diff --git a/debian/patches/libjava-mips64el.diff b/debian/patches/libjava-mips64el.diff
new file mode 100644
index 0000000..d01afe0
--- /dev/null
+++ b/debian/patches/libjava-mips64el.diff
@@ -0,0 +1,58 @@
+2016-07-13 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * java/lang/reflect/natVMProxy.cc (unbox): Use ffi_arg for
+ integer return types smaller than a word.
+
+2016-07-13 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * interpret-run.cc: Use ffi_arg for FFI integer return types.
+
+--- a/src/libjava/interpret-run.cc
++++ b/src/libjava/interpret-run.cc
+@@ -1838,7 +1838,7 @@ details. */
+ return;
+
+ insn_ireturn:
+- *(jint *) retp = POPI ();
++ *(ffi_arg *) retp = POPI ();
+ return;
+
+ insn_return:
+--- a/src/libjava/java/lang/reflect/natVMProxy.cc
++++ b/src/libjava/java/lang/reflect/natVMProxy.cc
+@@ -272,17 +272,17 @@ unbox (jobject o, jclass klass, void *rvalue, FFI_TYPE type)
+ if (klass == JvPrimClass (byte))
+ {
+ _Jv_CheckCast (&Byte::class$, o);
+- *(jbyte*)rvalue = ((Byte*)o)->byteValue();
++ *(ffi_arg*)rvalue = ((Byte*)o)->byteValue();
+ }
+ else if (klass == JvPrimClass (short))
+ {
+ _Jv_CheckCast (&Short::class$, o);
+- *(jshort*)rvalue = ((Short*)o)->shortValue();
++ *(ffi_arg*)rvalue = ((Short*)o)->shortValue();
+ }
+ else if (klass == JvPrimClass (int))
+ {
+ _Jv_CheckCast (&Integer::class$, o);
+- *(jint*)rvalue = ((Integer*)o)->intValue();
++ *(ffi_arg*)rvalue = ((Integer*)o)->intValue();
+ }
+ else if (klass == JvPrimClass (long))
+ {
+@@ -302,12 +302,12 @@ unbox (jobject o, jclass klass, void *rvalue, FFI_TYPE type)
+ else if (klass == JvPrimClass (boolean))
+ {
+ _Jv_CheckCast (&Boolean::class$, o);
+- *(jboolean*)rvalue = ((Boolean*)o)->booleanValue();
++ *(ffi_arg*)rvalue = ((Boolean*)o)->booleanValue();
+ }
+ else if (klass == JvPrimClass (char))
+ {
+ _Jv_CheckCast (&Character::class$, o);
+- *(jchar*)rvalue = ((Character*)o)->charValue();
++ *(ffi_arg*)rvalue = ((Character*)o)->charValue();
+ }
+ else
+ JvFail ("Bad ffi type in proxy");