aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/icedtea
diff options
context:
space:
mode:
authorSteffen Sledz <sledz@dresearch-fe.de>2012-05-03 15:35:44 +0200
committerSteffen Sledz <sledz@dresearch-fe.de>2012-05-03 15:44:24 +0200
commit36a56cbb69cda0c89f478e01183d61c6a66525c9 (patch)
treeeb2f5381a90ad8b33e1a65ecd637d2d0df4356d9 /recipes/icedtea
parent21613e405cad072feef779c8e9b374a2f0984158 (diff)
downloadopenembedded-36a56cbb69cda0c89f478e01183d61c6a66525c9.tar.gz
icedtea6-native-1.7.10: backport S7103224
Backport the fix for 7103224. This fix allows icedtea6 to be built with (very) new glibc versions. It was originally suggested by Omair Majid from RedHat. For details see: <http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/16103> <http://mail.openjdk.java.net/pipermail/hotspot-dev/2011-October/004589.html> Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
Diffstat (limited to 'recipes/icedtea')
-rw-r--r--recipes/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch523
-rw-r--r--recipes/icedtea/icedtea6-native_1.7.10.bb3
2 files changed, 525 insertions, 1 deletions
diff --git a/recipes/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch b/recipes/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch
new file mode 100644
index 0000000000..0702b77420
--- /dev/null
+++ b/recipes/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch
@@ -0,0 +1,523 @@
+icedtea6-native-1.7.10: backport S7103224
+
+Backport the fix for 7103224.
+
+This fix allows icedtea6 to be built with (very) new glibc versions.
+It was originally suggested by Omair Majid from RedHat.
+
+For details see:
+<http://permalink.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/16103>
+<http://mail.openjdk.java.net/pipermail/hotspot-dev/2011-October/004589.html>
+
+Upstream-Status: Pending
+
+Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
+
+diff -Nurd icedtea6-1.7.10.orig/Makefile.am icedtea6-1.7.10/Makefile.am
+--- icedtea6-1.7.10.orig/Makefile.am 2012-05-03 14:59:31.596076283 +0200
++++ icedtea6-1.7.10/Makefile.am 2012-05-03 15:03:43.787566714 +0200
+@@ -393,7 +393,8 @@
+ patches/openjdk/6541476-png-iTXt-chunk.patch \
+ patches/openjdk/6782079-png_metadata_oom.patch \
+ patches/rh676659-gcc-export-dynamic.patch \
+- patches/latent_jaxp_bug.patch
++ patches/latent_jaxp_bug.patch \
++ patches/openjdk/7103224-glibc_name_collision.patch
+
+ if WITH_ALT_HSBUILD
+ ICEDTEA_PATCHES += patches/hotspot/$(HSBUILD)/openjdk-6886353-ignore_deoptimizealot.patch \
+diff -Nurd icedtea6-1.7.10.orig/patches/openjdk/7103224-glibc_name_collision.patch icedtea6-1.7.10/patches/openjdk/7103224-glibc_name_collision.patch
+--- icedtea6-1.7.10.orig/patches/openjdk/7103224-glibc_name_collision.patch 1970-01-01 01:00:00.000000000 +0100
++++ icedtea6-1.7.10/patches/openjdk/7103224-glibc_name_collision.patch 2012-05-03 15:01:27.817684671 +0200
+@@ -0,0 +1,491 @@
++# HG changeset patch
++# User never
++# Date 1319555835 25200
++# Node ID a6eef545f1a2ceca6aeadf688a965df600ffef28
++# Parent 2ec638646e86e455978c31a9d47fc0ec271ed926
++7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc
++Reviewed-by: never
++Contributed-by: Omair Majid <omajid@...>
++
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/opto/addnode.cpp
++--- openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 08:17:15 2011 -0700
++@@ -34,8 +34,6 @@
++
++ // Portions of code courtesy of Clifford Click
++
++-#define MAXFLOAT ((float)3.40282346638528860e+38)
++-
++ // Classic Add functionality. This covers all the usual 'add' behaviors for
++ // an algebraic ring. Add-integer, add-float, add-double, and binary-or are
++ // all inherited from this class. The various identity values are supplied
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jniCheck.cpp
++--- openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 08:17:15 2011 -0700
++@@ -107,7 +107,7 @@
++ if (env != xenv) { \
++ NativeReportJNIFatalError(thr, warn_wrong_jnienv); \
++ } \
++- __ENTRY(result_type, header, thr)
+++ VM_ENTRY_BASE(result_type, header, thr)
++
++
++ #define UNCHECKED() (unchecked_jni_NativeInterface)
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnter.xsl
++--- openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 08:17:15 2011 -0700
++@@ -426,7 +426,7 @@
++ <xsl:value-of select="$space"/>
++ <xsl:text>ThreadInVMfromNative __tiv(current_thread);</xsl:text>
++ <xsl:value-of select="$space"/>
++- <xsl:text>__ENTRY(jvmtiError, </xsl:text>
+++ <xsl:text>VM_ENTRY_BASE(jvmtiError, </xsl:text>
++ <xsl:apply-templates select="." mode="functionid"/>
++ <xsl:text> , current_thread)</xsl:text>
++ <xsl:value-of select="$space"/>
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnv.cpp
++--- openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 08:17:15 2011 -0700
++@@ -173,7 +173,7 @@
++ // from native so as to resolve the jthread.
++
++ ThreadInVMfromNative __tiv(current_thread);
++- __ENTRY(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread)
+++ VM_ENTRY_BASE(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread)
++ debug_only(VMNativeEntryWrapper __vew;)
++
++ oop thread_oop = JNIHandles::resolve_external_guard(thread);
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiExport.cpp
++--- openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 08:17:15 2011 -0700
++@@ -373,7 +373,7 @@
++ JavaThread* current_thread = (JavaThread*) ThreadLocalStorage::thread();
++ // transition code: native to VM
++ ThreadInVMfromNative __tiv(current_thread);
++- __ENTRY(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread)
+++ VM_ENTRY_BASE(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread)
++ debug_only(VMNativeEntryWrapper __vew;)
++
++ JvmtiEnv *jvmti_env = JvmtiEnv::create_a_jvmti(version);
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/runtime/interfaceSupport.hpp
++--- openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 08:17:15 2011 -0700
++@@ -72,9 +72,9 @@
++ }
++ };
++
++-// InterfaceSupport provides functionality used by the __LEAF and __ENTRY
++-// macros. These macros are used to guard entry points into the VM and
++-// perform checks upon leave of the VM.
+++// InterfaceSupport provides functionality used by the VM_LEAF_BASE and
+++// VM_ENTRY_BASE macros. These macros are used to guard entry points into
+++// the VM and perform checks upon leave of the VM.
++
++
++ class InterfaceSupport: AllStatic {
++@@ -433,7 +433,7 @@
++
++ // LEAF routines do not lock, GC or throw exceptions
++
++-#define __LEAF(result_type, header) \
+++#define VM_LEAF_BASE(result_type, header) \
++ TRACE_CALL(result_type, header) \
++ debug_only(NoHandleMark __hm;) \
++ /* begin of body */
++@@ -441,7 +441,7 @@
++
++ // ENTRY routines may lock, GC and throw exceptions
++
++-#define __ENTRY(result_type, header, thread) \
+++#define VM_ENTRY_BASE(result_type, header, thread) \
++ TRACE_CALL(result_type, header) \
++ HandleMarkCleaner __hm(thread); \
++ Thread* THREAD = thread; \
++@@ -450,7 +450,7 @@
++
++ // QUICK_ENTRY routines behave like ENTRY but without a handle mark
++
++-#define __QUICK_ENTRY(result_type, header, thread) \
+++#define VM_QUICK_ENTRY_BASE(result_type, header, thread) \
++ TRACE_CALL(result_type, header) \
++ debug_only(NoHandleMark __hm;) \
++ Thread* THREAD = thread; \
++@@ -463,20 +463,20 @@
++ #define IRT_ENTRY(result_type, header) \
++ result_type header { \
++ ThreadInVMfromJava __tiv(thread); \
++- __ENTRY(result_type, header, thread) \
+++ VM_ENTRY_BASE(result_type, header, thread) \
++ debug_only(VMEntryWrapper __vew;)
++
++
++ #define IRT_LEAF(result_type, header) \
++ result_type header { \
++- __LEAF(result_type, header) \
+++ VM_LEAF_BASE(result_type, header) \
++ debug_only(No_Safepoint_Verifier __nspv(true);)
++
++
++ #define IRT_ENTRY_NO_ASYNC(result_type, header) \
++ result_type header { \
++ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
++- __ENTRY(result_type, header, thread) \
+++ VM_ENTRY_BASE(result_type, header, thread) \
++ debug_only(VMEntryWrapper __vew;)
++
++ // Another special case for nmethod_entry_point so the nmethod that the
++@@ -487,7 +487,7 @@
++ result_type header { \
++ nmethodLocker _nmlock(nm); \
++ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
++- __ENTRY(result_type, header, thread)
+++ VM_ENTRY_BASE(result_type, header, thread)
++
++ #define IRT_END }
++
++@@ -497,20 +497,20 @@
++ #define JRT_ENTRY(result_type, header) \
++ result_type header { \
++ ThreadInVMfromJava __tiv(thread); \
++- __ENTRY(result_type, header, thread) \
+++ VM_ENTRY_BASE(result_type, header, thread) \
++ debug_only(VMEntryWrapper __vew;)
++
++
++ #define JRT_LEAF(result_type, header) \
++ result_type header { \
++- __LEAF(result_type, header) \
+++ VM_LEAF_BASE(result_type, header) \
++ debug_only(JRT_Leaf_Verifier __jlv;)
++
++
++ #define JRT_ENTRY_NO_ASYNC(result_type, header) \
++ result_type header { \
++ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
++- __ENTRY(result_type, header, thread) \
+++ VM_ENTRY_BASE(result_type, header, thread) \
++ debug_only(VMEntryWrapper __vew;)
++
++ // Same as JRT Entry but allows for return value after the safepoint
++@@ -543,11 +543,11 @@
++ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
++ ThreadInVMfromNative __tiv(thread); \
++ debug_only(VMNativeEntryWrapper __vew;) \
++- __ENTRY(result_type, header, thread)
+++ VM_ENTRY_BASE(result_type, header, thread)
++
++
++ // Ensure that the VMNativeEntryWrapper constructor, which can cause
++-// a GC, is called outside the NoHandleMark (set via __QUICK_ENTRY).
+++// a GC, is called outside the NoHandleMark (set via VM_QUICK_ENTRY_BASE).
++ #define JNI_QUICK_ENTRY(result_type, header) \
++ extern "C" { \
++ result_type JNICALL header { \
++@@ -555,7 +555,7 @@
++ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
++ ThreadInVMfromNative __tiv(thread); \
++ debug_only(VMNativeEntryWrapper __vew;) \
++- __QUICK_ENTRY(result_type, header, thread)
+++ VM_QUICK_ENTRY_BASE(result_type, header, thread)
++
++
++ #define JNI_LEAF(result_type, header) \
++@@ -563,7 +563,7 @@
++ result_type JNICALL header { \
++ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
++ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
++- __LEAF(result_type, header)
+++ VM_LEAF_BASE(result_type, header)
++
++
++ // Close the routine and the extern "C"
++@@ -579,7 +579,7 @@
++ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
++ ThreadInVMfromNative __tiv(thread); \
++ debug_only(VMNativeEntryWrapper __vew;) \
++- __ENTRY(result_type, header, thread)
+++ VM_ENTRY_BASE(result_type, header, thread)
++
++
++ #define JVM_ENTRY_NO_ENV(result_type, header) \
++@@ -588,7 +588,7 @@
++ JavaThread* thread = (JavaThread*)ThreadLocalStorage::thread(); \
++ ThreadInVMfromNative __tiv(thread); \
++ debug_only(VMNativeEntryWrapper __vew;) \
++- __ENTRY(result_type, header, thread)
+++ VM_ENTRY_BASE(result_type, header, thread)
++
++
++ #define JVM_QUICK_ENTRY(result_type, header) \
++@@ -597,14 +597,14 @@
++ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
++ ThreadInVMfromNative __tiv(thread); \
++ debug_only(VMNativeEntryWrapper __vew;) \
++- __QUICK_ENTRY(result_type, header, thread)
+++ VM_QUICK_ENTRY_BASE(result_type, header, thread)
++
++
++ #define JVM_LEAF(result_type, header) \
++ extern "C" { \
++ result_type JNICALL header { \
++ VM_Exit::block_if_vm_exited(); \
++- __LEAF(result_type, header)
+++ VM_LEAF_BASE(result_type, header)
++
++
++ #define JVM_END } }
++
++iff --git a/Makefile.am b/Makefile.am
++-- a/Makefile.am
++++ b/Makefile.am
++@ -362,7 +362,8 @@
++ patches/openjdk/7036148-npe-null-jmenu-name.patch \
++ patches/jtreg-bug7036148-test.patch \
++ patches/support_linux_3.patch \
++ patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.patch
++ patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.patch \
++ patches/openjdk/7103224-glibc_name_collision.patch
++
++if WITH_ALT_HSBUILD
++ICEDTEA_PATCHES += \
++iff --git a/patches/openjdk/7103224-glibc_name_collision.patch b/patches/openjdk/7103224-glibc_name_collision.patch
++ew file mode 100644
++-- /dev/null
++++ b/patches/openjdk/7103224-glibc_name_collision.patch
++@ -0,0 +1,236 @@
++# HG changeset patch
++# User never
++# Date 1319555835 25200
++# Node ID a6eef545f1a2ceca6aeadf688a965df600ffef28
++# Parent 2ec638646e86e455978c31a9d47fc0ec271ed926
++7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc
++Reviewed-by: never
++Contributed-by: Omair Majid <omajid@...>
++
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/opto/addnode.cpp
++--- openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/opto/addnode.cpp Tue Oct 25 08:17:15 2011 -0700
++@@ -34,8 +34,6 @@
++
++ // Portions of code courtesy of Clifford Click
++
++-#define MAXFLOAT ((float)3.40282346638528860e+38)
++-
++ // Classic Add functionality. This covers all the usual 'add' behaviors for
++ // an algebraic ring. Add-integer, add-float, add-double, and binary-or are
++ // all inherited from this class. The various identity values are supplied
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jniCheck.cpp
++--- openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/prims/jniCheck.cpp Tue Oct 25 08:17:15 2011 -0700
++@@ -107,7 +107,7 @@
++ if (env != xenv) { \
++ NativeReportJNIFatalError(thr, warn_wrong_jnienv); \
++ } \
++- __ENTRY(result_type, header, thr)
+++ VM_ENTRY_BASE(result_type, header, thr)
++
++
++ #define UNCHECKED() (unchecked_jni_NativeInterface)
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnter.xsl
++--- openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl Tue Oct 25 08:17:15 2011 -0700
++@@ -426,7 +426,7 @@
++ <xsl:value-of select="$space"/>
++ <xsl:text>ThreadInVMfromNative __tiv(current_thread);</xsl:text>
++ <xsl:value-of select="$space"/>
++- <xsl:text>__ENTRY(jvmtiError, </xsl:text>
+++ <xsl:text>VM_ENTRY_BASE(jvmtiError, </xsl:text>
++ <xsl:apply-templates select="." mode="functionid"/>
++ <xsl:text> , current_thread)</xsl:text>
++ <xsl:value-of select="$space"/>
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiEnv.cpp
++--- openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp Tue Oct 25 08:17:15 2011 -0700
++@@ -173,7 +173,7 @@
++ // from native so as to resolve the jthread.
++
++ ThreadInVMfromNative __tiv(current_thread);
++- __ENTRY(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread)
+++ VM_ENTRY_BASE(jvmtiError, JvmtiEnv::GetThreadLocalStorage , current_thread)
++ debug_only(VMNativeEntryWrapper __vew;)
++
++ oop thread_oop = JNIHandles::resolve_external_guard(thread);
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/prims/jvmtiExport.cpp
++--- openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 25 08:17:15 2011 -0700
++@@ -373,7 +373,7 @@
++ JavaThread* current_thread = (JavaThread*) ThreadLocalStorage::thread();
++ // transition code: native to VM
++ ThreadInVMfromNative __tiv(current_thread);
++- __ENTRY(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread)
+++ VM_ENTRY_BASE(jvmtiEnv*, JvmtiExport::get_jvmti_interface, current_thread)
++ debug_only(VMNativeEntryWrapper __vew;)
++
++ JvmtiEnv *jvmti_env = JvmtiEnv::create_a_jvmti(version);
++diff -r 2ec638646e86 -r a6eef545f1a2 src/share/vm/runtime/interfaceSupport.hpp
++--- openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 04:07:20 2011 -0700
+++++ openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp Tue Oct 25 08:17:15 2011 -0700
++@@ -72,9 +72,9 @@
++ }
++ };
++
++-// InterfaceSupport provides functionality used by the __LEAF and __ENTRY
++-// macros. These macros are used to guard entry points into the VM and
++-// perform checks upon leave of the VM.
+++// InterfaceSupport provides functionality used by the VM_LEAF_BASE and
+++// VM_ENTRY_BASE macros. These macros are used to guard entry points into
+++// the VM and perform checks upon leave of the VM.
++
++
++ class InterfaceSupport: AllStatic {
++@@ -433,7 +433,7 @@
++
++ // LEAF routines do not lock, GC or throw exceptions
++
++-#define __LEAF(result_type, header) \
+++#define VM_LEAF_BASE(result_type, header) \
++ TRACE_CALL(result_type, header) \
++ debug_only(NoHandleMark __hm;) \
++ /* begin of body */
++@@ -441,7 +441,7 @@
++
++ // ENTRY routines may lock, GC and throw exceptions
++
++-#define __ENTRY(result_type, header, thread) \
+++#define VM_ENTRY_BASE(result_type, header, thread) \
++ TRACE_CALL(result_type, header) \
++ HandleMarkCleaner __hm(thread); \
++ Thread* THREAD = thread; \
++@@ -450,7 +450,7 @@
++
++ // QUICK_ENTRY routines behave like ENTRY but without a handle mark
++
++-#define __QUICK_ENTRY(result_type, header, thread) \
+++#define VM_QUICK_ENTRY_BASE(result_type, header, thread) \
++ TRACE_CALL(result_type, header) \
++ debug_only(NoHandleMark __hm;) \
++ Thread* THREAD = thread; \
++@@ -463,20 +463,20 @@
++ #define IRT_ENTRY(result_type, header) \
++ result_type header { \
++ ThreadInVMfromJava __tiv(thread); \
++- __ENTRY(result_type, header, thread) \
+++ VM_ENTRY_BASE(result_type, header, thread) \
++ debug_only(VMEntryWrapper __vew;)
++
++
++ #define IRT_LEAF(result_type, header) \
++ result_type header { \
++- __LEAF(result_type, header) \
+++ VM_LEAF_BASE(result_type, header) \
++ debug_only(No_Safepoint_Verifier __nspv(true);)
++
++
++ #define IRT_ENTRY_NO_ASYNC(result_type, header) \
++ result_type header { \
++ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
++- __ENTRY(result_type, header, thread) \
+++ VM_ENTRY_BASE(result_type, header, thread) \
++ debug_only(VMEntryWrapper __vew;)
++
++ // Another special case for nmethod_entry_point so the nmethod that the
++@@ -487,7 +487,7 @@
++ result_type header { \
++ nmethodLocker _nmlock(nm); \
++ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
++- __ENTRY(result_type, header, thread)
+++ VM_ENTRY_BASE(result_type, header, thread)
++
++ #define IRT_END }
++
++@@ -497,20 +497,20 @@
++ #define JRT_ENTRY(result_type, header) \
++ result_type header { \
++ ThreadInVMfromJava __tiv(thread); \
++- __ENTRY(result_type, header, thread) \
+++ VM_ENTRY_BASE(result_type, header, thread) \
++ debug_only(VMEntryWrapper __vew;)
++
++
++ #define JRT_LEAF(result_type, header) \
++ result_type header { \
++- __LEAF(result_type, header) \
+++ VM_LEAF_BASE(result_type, header) \
++ debug_only(JRT_Leaf_Verifier __jlv;)
++
++
++ #define JRT_ENTRY_NO_ASYNC(result_type, header) \
++ result_type header { \
++ ThreadInVMfromJavaNoAsyncException __tiv(thread); \
++- __ENTRY(result_type, header, thread) \
+++ VM_ENTRY_BASE(result_type, header, thread) \
++ debug_only(VMEntryWrapper __vew;)
++
++ // Same as JRT Entry but allows for return value after the safepoint
++@@ -543,11 +543,11 @@
++ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
++ ThreadInVMfromNative __tiv(thread); \
++ debug_only(VMNativeEntryWrapper __vew;) \
++- __ENTRY(result_type, header, thread)
+++ VM_ENTRY_BASE(result_type, header, thread)
++
++
++ // Ensure that the VMNativeEntryWrapper constructor, which can cause
++-// a GC, is called outside the NoHandleMark (set via __QUICK_ENTRY).
+++// a GC, is called outside the NoHandleMark (set via VM_QUICK_ENTRY_BASE).
++ #define JNI_QUICK_ENTRY(result_type, header) \
++ extern "C" { \
++ result_type JNICALL header { \
++@@ -555,7 +555,7 @@
++ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
++ ThreadInVMfromNative __tiv(thread); \
++ debug_only(VMNativeEntryWrapper __vew;) \
++- __QUICK_ENTRY(result_type, header, thread)
+++ VM_QUICK_ENTRY_BASE(result_type, header, thread)
++
++
++ #define JNI_LEAF(result_type, header) \
++@@ -563,7 +563,7 @@
++ result_type JNICALL header { \
++ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
++ assert( !VerifyJNIEnvThread || (thread == Thread::current()), "JNIEnv is only valid in same thread"); \
++- __LEAF(result_type, header)
+++ VM_LEAF_BASE(result_type, header)
++
++
++ // Close the routine and the extern "C"
++@@ -579,7 +579,7 @@
++ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
++ ThreadInVMfromNative __tiv(thread); \
++ debug_only(VMNativeEntryWrapper __vew;) \
++- __ENTRY(result_type, header, thread)
+++ VM_ENTRY_BASE(result_type, header, thread)
++
++
++ #define JVM_ENTRY_NO_ENV(result_type, header) \
++@@ -588,7 +588,7 @@
++ JavaThread* thread = (JavaThread*)ThreadLocalStorage::thread(); \
++ ThreadInVMfromNative __tiv(thread); \
++ debug_only(VMNativeEntryWrapper __vew;) \
++- __ENTRY(result_type, header, thread)
+++ VM_ENTRY_BASE(result_type, header, thread)
++
++
++ #define JVM_QUICK_ENTRY(result_type, header) \
++@@ -597,14 +597,14 @@
++ JavaThread* thread=JavaThread::thread_from_jni_environment(env); \
++ ThreadInVMfromNative __tiv(thread); \
++ debug_only(VMNativeEntryWrapper __vew;) \
++- __QUICK_ENTRY(result_type, header, thread)
+++ VM_QUICK_ENTRY_BASE(result_type, header, thread)
++
++
++ #define JVM_LEAF(result_type, header) \
++ extern "C" { \
++ result_type JNICALL header { \
++ VM_Exit::block_if_vm_exited(); \
++- __LEAF(result_type, header)
+++ VM_LEAF_BASE(result_type, header)
++
++
++ #define JVM_END } }
diff --git a/recipes/icedtea/icedtea6-native_1.7.10.bb b/recipes/icedtea/icedtea6-native_1.7.10.bb
index 77c6232e04..33636670e2 100644
--- a/recipes/icedtea/icedtea6-native_1.7.10.bb
+++ b/recipes/icedtea/icedtea6-native_1.7.10.bb
@@ -1,6 +1,6 @@
require ${PN}.inc
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
SRC_URI = "\
http://icedtea.classpath.org/download/source/icedtea6-${PV}.tar.gz;name=iced \
@@ -10,6 +10,7 @@ SRC_URI = "\
file://build-hacks-native.patch \
file://icedtea-sane-x86-arch-name.patch \
file://icedtea-javac-in.patch \
+ file://glibc_name_collision.patch \
${ICEDTEA_PATCHES} \
"
SRC_URI[ojdk.md5sum] = "078fe0ab744c98694decc77f2456c560"