changeset 2565:8bcd76a839dd

S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc 2011-10-26 Omair Majid <omajid@redhat.com> S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc * NEWS: Update with fix. * patches/openjdk/7103224-glibc_name_collision.patch: New file. Export of OpenJDK changeset. * Makefile.am (ICEDTEA_PATCHES): Add the above.
author Andrew John Hughes <ahughes@redhat.com>
date Fri, 11 May 2012 10:52:57 +0100
parents 4515e31b48fa
children bfdaab44fa5a
files ChangeLog Makefile.am NEWS patches/openjdk/7103224-glibc_name_collision.patch
diffstat 4 files changed, 249 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Apr 18 18:41:40 2012 +0200
+++ b/ChangeLog	Fri May 11 10:52:57 2012 +0100
@@ -1,3 +1,12 @@
+2011-10-26  Omair Majid  <omajid@redhat.com>
+
+	S7103224: collision between __LEAF define in interfaceSupport.hpp and
+	/usr/include/sys/cdefs.h with gcc
+	* NEWS: Update with fix.
+	* patches/openjdk/7103224-glibc_name_collision.patch: New file. Export of
+	OpenJDK changeset.
+	* Makefile.am (ICEDTEA_PATCHES): Add the above.
+
 2012-04-18  Pavel Tisnovsky  <ptisnovs@redhat.com>
 
 	* patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch:
--- a/Makefile.am	Wed Apr 18 18:41:40 2012 +0200
+++ b/Makefile.am	Fri May 11 10:52:57 2012 +0100
@@ -381,7 +381,8 @@
 	patches/openjdk/6851973-kerberos.patch \
 	patches/openjdk/7091528-javadoc_class_files.patch \
 	patches/idresolver_fix.patch \
-	patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch
+	patches/openjdk/6792400-Avoid_loading_Normalizer_resources.patch \
+	patches/openjdk/7103224-glibc_name_collision.patch
 
 if WITH_ALT_HSBUILD
 ICEDTEA_PATCHES += \
@@ -602,7 +603,7 @@
 	DISABLE_NIMBUS="true" \
 	NO_DOCS="true" \
 	XSLT="$(XSLTPROC)"
-	
+
 # Source files
 # FIXME (distclean): Add generated file list
 # FIXME (distclean): Add jtreg sources
--- a/NEWS	Wed Apr 18 18:41:40 2012 +0200
+++ b/NEWS	Fri May 11 10:52:57 2012 +0100
@@ -15,6 +15,7 @@
   - PR881: Sign tests (wsse.policy.basic) failures with OpenJDK6
 * Backports
   - S6792400: Avoid loading of Normalizer resources for simple uses
+  - S7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc
 
 New in release 1.10.6 (2012-02-14):
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openjdk/7103224-glibc_name_collision.patch	Fri May 11 10:52:57 2012 +0100
@@ -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@redhat.com>
+
+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 } }