diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2017-05-13 13:54:49 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2017-05-13 13:54:49 +0300 |
commit | 42156b5190f4fa150e1fab6777eb81e69d4db8c9 (patch) | |
tree | 3bf47de81cf1f89892789535a036d2d55d93a136 /debian/patches/libjava-mips64el.diff | |
download | gcc-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.diff | 58 |
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"); |