[oe] [meta-java 2/5] icedtea6-native-1.7.10: backport S7103224

Steffen Sledz sledz at dresearch-fe.de
Mon Oct 8 06:10:11 UTC 2012


On 08.10.2012 00:29, Khem Raj wrote:
> I have posted some patches which covered this as well some weeks ago
> 
> see
> 
> http://patchwork.openembedded.org/patch/33463/

If i'm right they were for 1.8.11 only.

> On Fri, Oct 5, 2012 at 12:46 PM, Steffen Sledz <sledz at dresearch-fe.de> wrote:
>> 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 at dresearch-fe.de>
>> ---
>>  .../glibc_name_collision.patch                     |  523 ++++++++++++++++++++
>>  recipes-core/icedtea/icedtea6-native_1.7.10.bb     |    3 +-
>>  2 files changed, 525 insertions(+), 1 deletion(-)
>>  create mode 100644 recipes-core/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch
>>
>> diff --git a/recipes-core/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch b/recipes-core/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch
>> new file mode 100644
>> index 0000000..0702b77
>> --- /dev/null
>> +++ b/recipes-core/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 at 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 at ...>
>> ++
>> ++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 at ...>
>> ++
>> ++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-core/icedtea/icedtea6-native_1.7.10.bb b/recipes-core/icedtea/icedtea6-native_1.7.10.bb
>> index 54ac87d..a3edb98 100644
>> --- a/recipes-core/icedtea/icedtea6-native_1.7.10.bb
>> +++ b/recipes-core/icedtea/icedtea6-native_1.7.10.bb
>> @@ -2,7 +2,7 @@ require ${PN}.inc
>>
>>  LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
>>
>> -PR = "${INC_PR}.0"
>> +PR = "${INC_PR}.1"
>>
>>  SRC_URI = "\
>>         http://icedtea.classpath.org/download/source/icedtea6-${PV}.tar.gz;name=iced \
>> @@ -12,6 +12,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"
>> --
>> 1.7.10.4
>>
>>
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
> 


-- 
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, 10319 Berlin, Germany
Tel: +49 30 515932-237 mailto:sledz at dresearch-fe.de
Fax: +49 30 515932-299
Geschäftsführer: Dr. Michael Weber, Werner Mögle;
Amtsgericht Berlin Charlottenburg; HRB 130120 B;
Ust.-IDNr. DE273952058




More information about the Openembedded-devel mailing list