changeset 2908:944d519d7ead

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 Fri, 11 Nov 2016 06:12:55 +0000
parents a2edcfab7d93
children 8ff91dbf84a7
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	Fri Nov 11 06:11:16 2016 +0000
+++ b/ChangeLog	Fri Nov 11 06:12:55 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-08-10  Tiago Stuermer Daitx  <tdaitx@gmail.com>
 
 	PR3134: JamVM is broken due to 2 new native
--- a/Makefile.am	Fri Nov 11 06:11:16 2016 +0000
+++ b/Makefile.am	Fri Nov 11 06:12:55 2016 +0000
@@ -388,7 +388,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	Fri Nov 11 06:11:16 2016 +0000
+++ b/NEWS	Fri Nov 11 06:12:55 2016 +0000
@@ -55,6 +55,8 @@
   - PR3135: Makefile.am rule stamps/add/tzdata-support-debug.stamp has a typo in add-tzdata dependency
   - PR3141: Pass $(CC) and $(CXX) to OpenJDK build
   - PR3166: invalid zip timestamp handling leads to error building bootstrap-javac
+* CACAO
+  - PR3136: CACAO is broken due to 2 new native methods in sun.misc.Unsafe (from S8158260)
 * JamVM
   - PR3134: JamVM is broken due to 2 new native methods in sun.misc.Unsafe (from S8158260)
 * AArch64 port
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/cacao/pr3136-unsafe_methods.patch	Fri Nov 11 06:12:55 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                 },
+ };
+ 
+