All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-java 0/5] icedtea build fixes
@ 2012-10-05 19:45 Steffen Sledz
  2012-10-05 19:46 ` [meta-java 1/5] icedtea6-native-1.7.10: add missing LIC_FILES_CHKSUM Steffen Sledz
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Steffen Sledz @ 2012-10-05 19:45 UTC (permalink / raw)
  To: Henning Heinold, openembedded-devel

Hi meta-jav maintainers,

this is a set of patches which make icedtea6-native-1.7.10 and
icedtea6-native-1.8.11 buildable for us.

The following changes since commit da13c12203a4ba9020d7083861c0038c8ee67c88:

  openjdk-6: update to version 1.11.4 (2012-09-10 20:43:55 +0200)

are available in the git repository at:

  git://github.com/sledz/meta-java pull-request-1
  https://github.com/sledz/meta-java/tree/pull-request-1

Steffen Sledz (5):
  icedtea6-native-1.7.10: add missing LIC_FILES_CHKSUM
  icedtea6-native-1.7.10: backport S7103224
  icedtea6-native: fix problem on build hosts with linux kernel 3.x
  icedtea6-native: fix compile error
  icedtea6-native: fix build problem

 .../glibc_name_collision.patch                     |  523 ++++++++++++++++++++
 .../icedtea-hotspot-dont-return-booleans.patch     |   12 +
 .../icedtea-hotspot-dont-return-booleans.patch     |   12 +
 recipes-core/icedtea/icedtea6-native.inc           |    8 +
 recipes-core/icedtea/icedtea6-native_1.7.10.bb     |    7 +-
 recipes-core/icedtea/icedtea6-native_1.8.11.bb     |    4 +-
 6 files changed, 564 insertions(+), 2 deletions(-)
 create mode 100644 recipes-core/icedtea/icedtea6-native-1.7.10/glibc_name_collision.patch
 create mode 100644 recipes-core/icedtea/icedtea6-native-1.7.10/icedtea-hotspot-dont-return-booleans.patch
 create mode 100644 recipes-core/icedtea/icedtea6-native-1.8.11/icedtea-hotspot-dont-return-booleans.patch

-- 
1.7.10.4




^ permalink raw reply	[flat|nested] 9+ messages in thread

* [meta-java 1/5] icedtea6-native-1.7.10: add missing LIC_FILES_CHKSUM
  2012-10-05 19:45 [meta-java 0/5] icedtea build fixes Steffen Sledz
@ 2012-10-05 19:46 ` Steffen Sledz
  2012-10-05 19:46 ` [meta-java 2/5] icedtea6-native-1.7.10: backport S7103224 Steffen Sledz
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Steffen Sledz @ 2012-10-05 19:46 UTC (permalink / raw)
  To: Henning Heinold, openembedded-devel

Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
---
 recipes-core/icedtea/icedtea6-native_1.7.10.bb |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/recipes-core/icedtea/icedtea6-native_1.7.10.bb b/recipes-core/icedtea/icedtea6-native_1.7.10.bb
index 77c6232..54ac87d 100644
--- a/recipes-core/icedtea/icedtea6-native_1.7.10.bb
+++ b/recipes-core/icedtea/icedtea6-native_1.7.10.bb
@@ -1,5 +1,7 @@
 require ${PN}.inc
 
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
 PR = "${INC_PR}.0"
 
 SRC_URI = "\
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-java 2/5] icedtea6-native-1.7.10: backport S7103224
  2012-10-05 19:45 [meta-java 0/5] icedtea build fixes Steffen Sledz
  2012-10-05 19:46 ` [meta-java 1/5] icedtea6-native-1.7.10: add missing LIC_FILES_CHKSUM Steffen Sledz
@ 2012-10-05 19:46 ` Steffen Sledz
  2012-10-07 22:29   ` Khem Raj
  2012-10-05 19:46 ` [meta-java 3/5] icedtea6-native: fix problem on build hosts with linux kernel 3.x Steffen Sledz
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: Steffen Sledz @ 2012-10-05 19:46 UTC (permalink / raw)
  To: Henning Heinold, openembedded-devel

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>
---
 .../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@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-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




^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-java 3/5] icedtea6-native: fix problem on build hosts with linux kernel 3.x
  2012-10-05 19:45 [meta-java 0/5] icedtea build fixes Steffen Sledz
  2012-10-05 19:46 ` [meta-java 1/5] icedtea6-native-1.7.10: add missing LIC_FILES_CHKSUM Steffen Sledz
  2012-10-05 19:46 ` [meta-java 2/5] icedtea6-native-1.7.10: backport S7103224 Steffen Sledz
@ 2012-10-05 19:46 ` Steffen Sledz
  2012-10-05 19:46 ` [meta-java 4/5] icedtea6-native: fix compile error Steffen Sledz
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Steffen Sledz @ 2012-10-05 19:46 UTC (permalink / raw)
  To: Henning Heinold, openembedded-devel

see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7072341

Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
---
 recipes-core/icedtea/icedtea6-native.inc |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/recipes-core/icedtea/icedtea6-native.inc b/recipes-core/icedtea/icedtea6-native.inc
index 1414ac3..4a613ff 100644
--- a/recipes-core/icedtea/icedtea6-native.inc
+++ b/recipes-core/icedtea/icedtea6-native.inc
@@ -107,6 +107,13 @@ do_configure_append() {
 			-e"s|g++\$(GCC_SUFFIX)|${CXX}|" \
 			$F
 	done
+
+	for F in openjdk/hotspot/make/linux/Makefile openjdk-ecj/hotspot/make/linux/Makefile ;
+	do
+		sed -i \
+			-e"s|SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7%|SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%|" \
+			$F
+	done
 }
 
 EXTRA_OEMAKE = ' \
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-java 4/5] icedtea6-native: fix compile error
  2012-10-05 19:45 [meta-java 0/5] icedtea build fixes Steffen Sledz
                   ` (2 preceding siblings ...)
  2012-10-05 19:46 ` [meta-java 3/5] icedtea6-native: fix problem on build hosts with linux kernel 3.x Steffen Sledz
@ 2012-10-05 19:46 ` Steffen Sledz
  2012-10-05 19:46 ` [meta-java 5/5] icedtea6-native: fix build problem Steffen Sledz
  2012-10-18 13:30 ` [meta-java 0/5] icedtea build fixes Steffen Sledz
  5 siblings, 0 replies; 9+ messages in thread
From: Steffen Sledz @ 2012-10-05 19:46 UTC (permalink / raw)
  To: Henning Heinold, openembedded-devel

Don't return booleans from methods returning pointers.

see also: <http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f457154eee8b>

Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
---
 .../icedtea-hotspot-dont-return-booleans.patch             |   12 ++++++++++++
 .../icedtea-hotspot-dont-return-booleans.patch             |   12 ++++++++++++
 recipes-core/icedtea/icedtea6-native_1.7.10.bb             |    4 +++-
 recipes-core/icedtea/icedtea6-native_1.8.11.bb             |    4 +++-
 4 files changed, 30 insertions(+), 2 deletions(-)
 create mode 100644 recipes-core/icedtea/icedtea6-native-1.7.10/icedtea-hotspot-dont-return-booleans.patch
 create mode 100644 recipes-core/icedtea/icedtea6-native-1.8.11/icedtea-hotspot-dont-return-booleans.patch

diff --git a/recipes-core/icedtea/icedtea6-native-1.7.10/icedtea-hotspot-dont-return-booleans.patch b/recipes-core/icedtea/icedtea6-native-1.7.10/icedtea-hotspot-dont-return-booleans.patch
new file mode 100644
index 0000000..73f90b3
--- /dev/null
+++ b/recipes-core/icedtea/icedtea6-native-1.7.10/icedtea-hotspot-dont-return-booleans.patch
@@ -0,0 +1,12 @@
+diff -Nurd openjdk/hotspot/src/share/vm/opto/loopnode.cpp openjdk/hotspot/src/share/vm/opto/loopnode.cpp
+--- openjdk/hotspot/src/share/vm/opto/loopnode.cpp	2012-10-05 14:18:19.725747261 +0200
++++ openjdk/hotspot/src/share/vm/opto/loopnode.cpp	2012-10-05 14:18:40.751035242 +0200
+@@ -534,7 +534,7 @@
+ Node* CountedLoopNode::match_incr_with_optional_truncation(
+                       Node* expr, Node** trunc1, Node** trunc2, const TypeInt** trunc_type) {
+   // Quick cutouts:
+-  if (expr == NULL || expr->req() != 3)  return false;
++  if (expr == NULL || expr->req() != 3)  return NULL;
+ 
+   Node *t1 = NULL;
+   Node *t2 = NULL;
diff --git a/recipes-core/icedtea/icedtea6-native-1.8.11/icedtea-hotspot-dont-return-booleans.patch b/recipes-core/icedtea/icedtea6-native-1.8.11/icedtea-hotspot-dont-return-booleans.patch
new file mode 100644
index 0000000..73f90b3
--- /dev/null
+++ b/recipes-core/icedtea/icedtea6-native-1.8.11/icedtea-hotspot-dont-return-booleans.patch
@@ -0,0 +1,12 @@
+diff -Nurd openjdk/hotspot/src/share/vm/opto/loopnode.cpp openjdk/hotspot/src/share/vm/opto/loopnode.cpp
+--- openjdk/hotspot/src/share/vm/opto/loopnode.cpp	2012-10-05 14:18:19.725747261 +0200
++++ openjdk/hotspot/src/share/vm/opto/loopnode.cpp	2012-10-05 14:18:40.751035242 +0200
+@@ -534,7 +534,7 @@
+ Node* CountedLoopNode::match_incr_with_optional_truncation(
+                       Node* expr, Node** trunc1, Node** trunc2, const TypeInt** trunc_type) {
+   // Quick cutouts:
+-  if (expr == NULL || expr->req() != 3)  return false;
++  if (expr == NULL || expr->req() != 3)  return NULL;
+ 
+   Node *t1 = NULL;
+   Node *t2 = NULL;
diff --git a/recipes-core/icedtea/icedtea6-native_1.7.10.bb b/recipes-core/icedtea/icedtea6-native_1.7.10.bb
index a3edb98..4e86dac 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}.1"
+PR = "${INC_PR}.2"
 
 SRC_URI = "\
 	http://icedtea.classpath.org/download/source/icedtea6-${PV}.tar.gz;name=iced \
@@ -27,6 +27,7 @@ ICEDTEA_PATCHES = "\
 	file://icedtea-hotspot-make-arch-sane-for-x86.patch;apply=no \
 	file://icedtea-jdk-sane-x86-arch.patch;apply=no \
 	file://icedtea-unbreak-float.patch;apply=no \
+	file://icedtea-hotspot-dont-return-booleans.patch;apply=no \
 	"
 
 export DISTRIBUTION_PATCHES = "\
@@ -36,4 +37,5 @@ export DISTRIBUTION_PATCHES = "\
 	patches/icedtea-hotspot-make-arch-sane-for-x86.patch \
 	patches/icedtea-jdk-sane-x86-arch.patch \
 	patches/icedtea-unbreak-float.patch \
+	patches/icedtea-hotspot-dont-return-booleans.patch \
 	"
diff --git a/recipes-core/icedtea/icedtea6-native_1.8.11.bb b/recipes-core/icedtea/icedtea6-native_1.8.11.bb
index 7c2e6ea..65f29ea 100644
--- a/recipes-core/icedtea/icedtea6-native_1.8.11.bb
+++ b/recipes-core/icedtea/icedtea6-native_1.8.11.bb
@@ -4,7 +4,7 @@ require ${PN}.inc
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 
-PR = "${INC_PR}.2"
+PR = "${INC_PR}.3"
 
 SRC_URI = "\
 	http://icedtea.classpath.org/download/source/icedtea6-${PV}.tar.gz;name=iced \
@@ -44,6 +44,7 @@ ICEDTEA_PATCHES = "\
         file://icedtea-jdk-sane-x86-arch.patch;apply=no \
         file://icedtea-unbreak-float.patch;apply=no \
         file://icedtea-jdk-avoid-cdef-collision.patch;apply=no \
+	file://icedtea-hotspot-dont-return-booleans.patch;apply=no \
 	"
 
 export DISTRIBUTION_PATCHES = "\
@@ -54,6 +55,7 @@ export DISTRIBUTION_PATCHES = "\
         patches/icedtea-jdk-sane-x86-arch.patch \
 	patches/icedtea-unbreak-float.patch \
         patches/icedtea-jdk-avoid-cdef-collision.patch \
+	patches/icedtea-hotspot-dont-return-booleans.patch \
 	"
 
 EXTRA_OECONF += " --with-jaxws-drop-zip=${DL_DIR}/jdk6-jaxws-2009_10_27.zip \
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [meta-java 5/5] icedtea6-native: fix build problem
  2012-10-05 19:45 [meta-java 0/5] icedtea build fixes Steffen Sledz
                   ` (3 preceding siblings ...)
  2012-10-05 19:46 ` [meta-java 4/5] icedtea6-native: fix compile error Steffen Sledz
@ 2012-10-05 19:46 ` Steffen Sledz
  2012-10-18 13:30 ` [meta-java 0/5] icedtea build fixes Steffen Sledz
  5 siblings, 0 replies; 9+ messages in thread
From: Steffen Sledz @ 2012-10-05 19:46 UTC (permalink / raw)
  To: Henning Heinold, openembedded-devel

Fix problem with unknown gcc command line option '-mimpure-text'
which is an Solaris 2 only option (according to the man page).

Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
---
 recipes-core/icedtea/icedtea6-native.inc |    1 +
 1 file changed, 1 insertion(+)

diff --git a/recipes-core/icedtea/icedtea6-native.inc b/recipes-core/icedtea/icedtea6-native.inc
index 4a613ff..13e9d27 100644
--- a/recipes-core/icedtea/icedtea6-native.inc
+++ b/recipes-core/icedtea/icedtea6-native.inc
@@ -97,6 +97,7 @@ do_configure_append() {
 			-e"s|\$(COMPILER_PATH)gcc\$(GCC_SUFFIX)|${CC}|" \
 			-e"s|\$(COMPILER_PATH)gcc\$(GCC_SUFFIX) -E|${CPP}|" \
 			-e"s|\$(COMPILER_PATH)g++\$(GCC_SUFFIX)|${CXX}|" \
+			-e"s|-mimpure-text||" \
 			$F
 	done
 
-- 
1.7.10.4




^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [meta-java 2/5] icedtea6-native-1.7.10: backport S7103224
  2012-10-05 19:46 ` [meta-java 2/5] icedtea6-native-1.7.10: backport S7103224 Steffen Sledz
@ 2012-10-07 22:29   ` Khem Raj
  2012-10-08  6:10     ` Steffen Sledz
  0 siblings, 1 reply; 9+ messages in thread
From: Khem Raj @ 2012-10-07 22:29 UTC (permalink / raw)
  To: openembedded-devel

I have posted some patches which covered this as well some weeks ago

see

http://patchwork.openembedded.org/patch/33463/

On Fri, Oct 5, 2012 at 12:46 PM, Steffen Sledz <sledz@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@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@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-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@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [meta-java 2/5] icedtea6-native-1.7.10: backport S7103224
  2012-10-07 22:29   ` Khem Raj
@ 2012-10-08  6:10     ` Steffen Sledz
  0 siblings, 0 replies; 9+ messages in thread
From: Steffen Sledz @ 2012-10-08  6:10 UTC (permalink / raw)
  To: openembedded-devel

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@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@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@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-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@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@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@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



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [meta-java 0/5] icedtea build fixes
  2012-10-05 19:45 [meta-java 0/5] icedtea build fixes Steffen Sledz
                   ` (4 preceding siblings ...)
  2012-10-05 19:46 ` [meta-java 5/5] icedtea6-native: fix build problem Steffen Sledz
@ 2012-10-18 13:30 ` Steffen Sledz
  5 siblings, 0 replies; 9+ messages in thread
From: Steffen Sledz @ 2012-10-18 13:30 UTC (permalink / raw)
  To: Henning Heinold; +Cc: openembedded-devel

On 05.10.2012 21:45, Steffen Sledz wrote:
> Hi meta-jav maintainers,
> 
> this is a set of patches which make icedtea6-native-1.7.10 and
> icedtea6-native-1.8.11 buildable for us.
> 
> The following changes since commit da13c12203a4ba9020d7083861c0038c8ee67c88:
> 
>   openjdk-6: update to version 1.11.4 (2012-09-10 20:43:55 +0200)
> 
> are available in the git repository at:
> 
>   git://github.com/sledz/meta-java pull-request-1
>   https://github.com/sledz/meta-java/tree/pull-request-1
> 
> Steffen Sledz (5):
>   icedtea6-native-1.7.10: add missing LIC_FILES_CHKSUM
>   icedtea6-native-1.7.10: backport S7103224
>   icedtea6-native: fix problem on build hosts with linux kernel 3.x
>   icedtea6-native: fix compile error
>   icedtea6-native: fix build problem

Ping!

-- 
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, 10319 Berlin, Germany
Tel: +49 30 515932-237 mailto:sledz@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




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-10-18 13:43 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-05 19:45 [meta-java 0/5] icedtea build fixes Steffen Sledz
2012-10-05 19:46 ` [meta-java 1/5] icedtea6-native-1.7.10: add missing LIC_FILES_CHKSUM Steffen Sledz
2012-10-05 19:46 ` [meta-java 2/5] icedtea6-native-1.7.10: backport S7103224 Steffen Sledz
2012-10-07 22:29   ` Khem Raj
2012-10-08  6:10     ` Steffen Sledz
2012-10-05 19:46 ` [meta-java 3/5] icedtea6-native: fix problem on build hosts with linux kernel 3.x Steffen Sledz
2012-10-05 19:46 ` [meta-java 4/5] icedtea6-native: fix compile error Steffen Sledz
2012-10-05 19:46 ` [meta-java 5/5] icedtea6-native: fix build problem Steffen Sledz
2012-10-18 13:30 ` [meta-java 0/5] icedtea build fixes Steffen Sledz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.