[oe] [meta-java][PATCH V2 3/3] icedtea-native: Fix build on ubuntu 12.04 release
Henning Heinold
heinold at inf.fu-berlin.de
Fri Aug 17 07:48:33 UTC 2012
On Tue, Jul 31, 2012 at 12:20:25PM -0700, Khem Raj wrote:
> It conflicts definitions from standard include
> so backport a patch from upstream
>
> When here also change the LICENSE field to be more compatible
> to avoid warnings like
>
> WARNING: icedtea6-native: No generic license file exists for: GPL in any
> provider
> WARNING: icedtea6-native: No generic license file exists for: with in
> any provider
> WARNING: icedtea6-native: No generic license file exists for: Classpath
> in any provider
> WARNING: icedtea6-native: No generic license file exists for: Exception
> in any provider
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
> .../icedtea-jdk-avoid-cdef-collision.patch | 203 ++++++++++++++++++++
> recipes-core/icedtea/icedtea6-native.inc | 2 +-
> recipes-core/icedtea/icedtea6-native_1.8.11.bb | 4 +-
> recipes-core/openjdk/openjdk-6-common.inc | 4 +-
> 4 files changed, 209 insertions(+), 4 deletions(-)
> create mode 100644 recipes-core/icedtea/icedtea6-native-1.8.11/icedtea-jdk-avoid-cdef-collision.patch
>
> diff --git a/recipes-core/icedtea/icedtea6-native-1.8.11/icedtea-jdk-avoid-cdef-collision.patch b/recipes-core/icedtea/icedtea6-native-1.8.11/icedtea-jdk-avoid-cdef-collision.patch
> new file mode 100644
> index 0000000..023ce4d
> --- /dev/null
> +++ b/recipes-core/icedtea/icedtea6-native-1.8.11/icedtea-jdk-avoid-cdef-collision.patch
> @@ -0,0 +1,203 @@
> +Fixes collisions with standard namespace
> +
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +Upstream-Status: Backport
> +
> +Index: openjdk/hotspot/src/share/vm/opto/addnode.cpp
> +===================================================================
> +--- openjdk/hotspot/src/share/vm/opto/addnode.cpp 2010-02-16 19:11:09.000000000 -0800
> ++++ openjdk/hotspot/src/share/vm/opto/addnode.cpp 2012-07-30 15:54:25.999551792 -0700
> +@@ -27,8 +27,6 @@
> + #include "incls/_precompiled.incl"
> + #include "incls/_addnode.cpp.incl"
> +
> +-#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
> +Index: openjdk/hotspot/src/share/vm/prims/jniCheck.cpp
> +===================================================================
> +--- openjdk/hotspot/src/share/vm/prims/jniCheck.cpp 2010-02-16 19:11:10.000000000 -0800
> ++++ openjdk/hotspot/src/share/vm/prims/jniCheck.cpp 2012-07-30 16:05:20.779549364 -0700
> +@@ -80,7 +80,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)
> +Index: openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl
> +===================================================================
> +--- openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl 2010-02-16 19:11:10.000000000 -0800
> ++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnter.xsl 2012-07-30 16:03:50.491550815 -0700
> +@@ -424,7 +424,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"/>
> +Index: openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp
> +===================================================================
> +--- openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp 2010-02-16 19:11:10.000000000 -0800
> ++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp 2012-07-30 16:04:03.683550594 -0700
> +@@ -126,7 +126,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);
> +Index: openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp
> +===================================================================
> +--- openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp 2010-02-16 19:11:10.000000000 -0800
> ++++ openjdk/hotspot/src/share/vm/prims/jvmtiExport.cpp 2012-07-30 15:59:43.175550785 -0700
> +@@ -345,7 +345,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);
> +Index: openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp
> +===================================================================
> +--- openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp 2010-02-16 19:11:10.000000000 -0800
> ++++ openjdk/hotspot/src/share/vm/runtime/interfaceSupport.hpp 2012-07-30 16:36:53.391544578 -0700
> +@@ -46,7 +46,7 @@
> + }
> + };
> +
> +-// InterfaceSupport provides functionality used by the __LEAF and __ENTRY
> ++// 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.
> +
> +@@ -391,7 +391,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 */
> +@@ -399,7 +399,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; \
> +@@ -421,20 +421,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
> +@@ -445,7 +445,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 }
> +
> +@@ -455,20 +455,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
> +@@ -501,7 +501,7 @@
> + 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
> +@@ -521,7 +521,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"
> +@@ -537,7 +537,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) \
> +@@ -546,7 +546,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) \
> +@@ -562,7 +562,7 @@
> + 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.inc b/recipes-core/icedtea/icedtea6-native.inc
> index 700bfb0..1414ac3 100644
> --- a/recipes-core/icedtea/icedtea6-native.inc
> +++ b/recipes-core/icedtea/icedtea6-native.inc
> @@ -1,6 +1,6 @@
> DESCRIPTION = "Harness to build the source code from OpenJDK using Free Software build tools"
> HOMEPAGE = "http://icedtea.classpath.org"
> -LICENSE = "GPL with Classpath Exception"
> +LICENSE = "GPL-2.0-with-classpath-exception"
> INC_PR = "r5"
>
> DEPENDS = "virtual/javac-native virtual/java-native classpath-native \
> diff --git a/recipes-core/icedtea/icedtea6-native_1.8.11.bb b/recipes-core/icedtea/icedtea6-native_1.8.11.bb
> index 4e3ff27..7c2e6ea 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}.1"
> +PR = "${INC_PR}.2"
>
> SRC_URI = "\
> http://icedtea.classpath.org/download/source/icedtea6-${PV}.tar.gz;name=iced \
> @@ -43,6 +43,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-jdk-avoid-cdef-collision.patch;apply=no \
> "
>
> export DISTRIBUTION_PATCHES = "\
> @@ -52,6 +53,7 @@ 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-jdk-avoid-cdef-collision.patch \
> "
>
> EXTRA_OECONF += " --with-jaxws-drop-zip=${DL_DIR}/jdk6-jaxws-2009_10_27.zip \
> diff --git a/recipes-core/openjdk/openjdk-6-common.inc b/recipes-core/openjdk/openjdk-6-common.inc
> index c7693fe..a9adbc8 100644
> --- a/recipes-core/openjdk/openjdk-6-common.inc
> +++ b/recipes-core/openjdk/openjdk-6-common.inc
> @@ -1,6 +1,6 @@
> DESCRIPTION = "Java runtime based upon the OpenJDK- and Icedtea Project"
> HOMEPAGE = "http://icedtea.classpath.org"
> -LICENSE = "GPL with Classpath Exception"
> +LICENSE = "GPL-2.0-with-classpath-exception"
> PRIORITY = "optional"
> SECTION = "libs"
>
> @@ -10,7 +10,7 @@ ICEDTEA = "NEEDS TO BE SET"
> S = "${WORKDIR}/${ICEDTEA}"
> B = "${S}/build"
>
> -INC_PR = "r19"
> +INC_PR = "r20"
>
> SRC_URI = "\
> ${ICEDTEA_URI} \
> --
> 1.7.5.4
Patch is applied to master, thanks and do not forget to update patch-work.
Bye Henning
More information about the Openembedded-devel
mailing list