changeset 2901:bb5cee047e34

PR3136: CACAO is broken due to 2 new native methods in sun.misc.Unsafe (from S8158260) 2016-08-18 Stefan Ring <stefan@complang.tuwien.ac.at> PR3136: CACAO is broken due to 2 new native methods in sun.misc.Unsafe (from S8158260) * Makefile.am: (ICEDTEA_PATCHES): Add CACAO patch for PR3136. * NEWS: Updated. * patches/cacao/pr3136-unsafe_methods.patch: Add implementation of isBigEndian0 and unalignedAccess0.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Wed, 09 Nov 2016 18:05:24 +0000
parents ae65c7a53ada
children 3f1ac6eef871
files ChangeLog Makefile.am NEWS patches/cacao/pr3136-unsafe_methods.patch
diffstat 4 files changed, 57 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Nov 08 19:54:30 2016 +0000
+++ b/ChangeLog	Wed Nov 09 18:05:24 2016 +0000
@@ -1,3 +1,13 @@
+2016-08-18  Stefan Ring <stefan@complang.tuwien.ac.at>
+
+	PR3136: CACAO is broken due to 2 new native
+	methods in sun.misc.Unsafe (from S8158260)
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add CACAO patch for PR3136.
+	* NEWS: Updated.
+	* patches/cacao/pr3136-unsafe_methods.patch:
+	Add implementation of isBigEndian0 and unalignedAccess0.
+
 2016-11-08  Andrew John Hughes  <gnu.andrew@member.fsf.org>
 
 	PR3212: Disable ARM32 JIT by default
--- a/Makefile.am	Tue Nov 08 19:54:30 2016 +0000
+++ b/Makefile.am	Wed Nov 09 18:05:24 2016 +0000
@@ -387,7 +387,8 @@
 	patches/cacao/pr2032.patch \
 	patches/cacao/pr2520-tempdir.patch \
 	patches/cacao/pr2652-classloader.patch \
-	patches/cacao/pr2781-refactoring_error.patch
+	patches/cacao/pr2781-refactoring_error.patch \
+	patches/cacao/pr3136-unsafe_methods.patch
 else
 if USING_CACAO
 ICEDTEA_PATCHES += \
--- a/NEWS	Tue Nov 08 19:54:30 2016 +0000
+++ b/NEWS	Wed Nov 09 18:05:24 2016 +0000
@@ -61,6 +61,8 @@
   - PR3166: invalid zip timestamp handling leads to error building bootstrap-javac
   - PR3202: Update infinality configure test
   - PR3212: Disable ARM32 JIT by default
+* CACAO
+  - PR3136: CACAO is broken due to 2 new native methods in sun.misc.Unsafe (from S8158260)
 * AArch64 port
   - S8167200: AArch64: Broken stack pointer adjustment in interpreter
   - PR3211: AArch64 build fails with pre-compiled headers disabled
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/cacao/pr3136-unsafe_methods.patch	Wed Nov 09 18:05:24 2016 +0000
@@ -0,0 +1,43 @@
+diff --git a/src/native/vm/sun_misc_Unsafe.cpp b/src/native/vm/sun_misc_Unsafe.cpp
+--- cacao.orig/cacao/src/native/vm/sun_misc_Unsafe.cpp
++++ cacao/cacao/src/native/vm/sun_misc_Unsafe.cpp
+@@ -1303,6 +1303,30 @@
+ 	return result;
+ }
+ 
++/*
++ * Class:     sun/misc/Unsafe
++ * Method:    isBigEndian0
++ * Signature: ()Z
++ */
++JNIEXPORT jboolean JNICALL Java_sun_misc_Unsafe_isBigEndian0(JNIEnv *env, jobject _this)
++{
++#if WORDS_BIGENDIAN == 1
++	return true;
++#else
++	return false;
++#endif
++}
++
++/*
++ * Class:     sun/misc/Unsafe
++ * Method:    unalignedAccess0
++ * Signature: ()Z
++ */
++JNIEXPORT jboolean JNICALL Java_sun_misc_Unsafe_unalignedAccess0(JNIEnv *env, jobject _this)
++{
++	return false;
++}
++
+ } // extern "C"
+ 
+ 
+@@ -1390,6 +1414,8 @@
+ 	{ (char*) "unpark",                 (char*) "(Ljava/lang/Object;)V",                                      (void*) (uintptr_t) &Java_sun_misc_Unsafe_unpark                           },
+ 	{ (char*) "park",                   (char*) "(ZJ)V",                                                      (void*) (uintptr_t) &Java_sun_misc_Unsafe_park                             },
+ 	{ (char*) "getLoadAverage",         (char*) "([DI)I",                                                     (void*) (uintptr_t) &Java_sun_misc_Unsafe_getLoadAverage                   },
++	{ (char*) "isBigEndian0",           (char*) "()Z",                                                        (void*) (uintptr_t) &Java_sun_misc_Unsafe_isBigEndian0                     },
++	{ (char*) "unalignedAccess0",       (char*) "()Z",                                                        (void*) (uintptr_t) &Java_sun_misc_Unsafe_unalignedAccess0                 },
+ };
+ 
+