# HG changeset patch # User Andrew John Hughes # Date 1478714724 0 # Node ID bb5cee047e34f43a0fe1be1956fa0a4a6d556dc9 # Parent ae65c7a53ada7184d9651d1f34e6debd3785d00d PR3136: CACAO is broken due to 2 new native methods in sun.misc.Unsafe (from S8158260) 2016-08-18 Stefan Ring 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. diff -r ae65c7a53ada -r bb5cee047e34 ChangeLog --- 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 + + 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 PR3212: Disable ARM32 JIT by default diff -r ae65c7a53ada -r bb5cee047e34 Makefile.am --- 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 += \ diff -r ae65c7a53ada -r bb5cee047e34 NEWS --- 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 diff -r ae65c7a53ada -r bb5cee047e34 patches/cacao/pr3136-unsafe_methods.patch --- /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 }, + }; + +