aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-core/openjdk/openjdk-8-release-162b12.inc1
-rw-r--r--recipes-core/openjdk/patches-openjdk-8/0001-jdk-comparison-between-pointer-and-integer.patch144
2 files changed, 145 insertions, 0 deletions
diff --git a/recipes-core/openjdk/openjdk-8-release-162b12.inc b/recipes-core/openjdk/openjdk-8-release-162b12.inc
index b7e6392..5a577b9 100644
--- a/recipes-core/openjdk/openjdk-8-release-162b12.inc
+++ b/recipes-core/openjdk/openjdk-8-release-162b12.inc
@@ -6,6 +6,7 @@ PATCHES_URI = "\
file://openjdk8-no-unused-deps.patch;striplevel=0 \
file://openjdk8-find-compiler-fix-env-respect.patch;striplevel=0 \
file://openjdk8-prevent-debuginfo-in-favour-of-openembedded-package-split.patch;striplevel=0 \
+ file://0001-jdk-comparison-between-pointer-and-integer.patch \
"
# some patches extracted from http://cr.openjdk.java.net/~rkennke/shark-build-hotspot/webrev.01/hotspot.patch
# reported via http://mail.openjdk.java.net/pipermail/build-dev/2015-January/013972.html
diff --git a/recipes-core/openjdk/patches-openjdk-8/0001-jdk-comparison-between-pointer-and-integer.patch b/recipes-core/openjdk/patches-openjdk-8/0001-jdk-comparison-between-pointer-and-integer.patch
new file mode 100644
index 0000000..29a30d6
--- /dev/null
+++ b/recipes-core/openjdk/patches-openjdk-8/0001-jdk-comparison-between-pointer-and-integer.patch
@@ -0,0 +1,144 @@
+From 97d6911fb581f9e44785db29abbf97ce77713f50 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
+Date: Fri, 2 Mar 2018 11:13:08 +0000
+Subject: [PATCH 1/8] jdk: comparison between pointer and integer
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In file included from jdk/src/share/native/java/net/net_util.c:28:0:
+jdk/src/share/native/java/net/net_util.c: In function 'NET_SockaddrToInetAddress':
+jdk/src/share/native/common/jni_util.h:302:17: warning: comparison between pointer and integer
+ if ((x) == NULL) { \
+ ^
+jdk/src/share/native/java/net/net_util.c:225:13: note: in expansion of macro 'CHECK_NULL_RETURN'
+ CHECK_NULL_RETURN(ret, NULL);
+ ^~~~~~~~~~~~~~~~~
+
+Backport a patch to fix this.
+
+Upstream-Status: Backport [http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/90c643593ed7]
+Signed-off-by: André Draszik <andre.draszik@jci.com>
+---
+ jdk/src/share/native/java/net/net_util.c | 15 +++++++--------
+ jdk/src/share/native/java/net/net_util.h | 8 ++++----
+ jdk/src/solaris/native/java/net/Inet6AddressImpl.c | 4 ++--
+ 3 files changed, 13 insertions(+), 14 deletions(-)
+
+diff --git a/jdk/src/share/native/java/net/net_util.c b/jdk/src/share/native/java/net/net_util.c
+index 2194e2e6..00c9e2ac 100644
+--- a/jdk/src/share/native/java/net/net_util.c
++++ b/jdk/src/share/native/java/net/net_util.c
+@@ -108,7 +108,7 @@ jobject getInet6Address_scopeifname(JNIEnv *env, jobject iaObj) {
+ return (*env)->GetObjectField(env, holder, ia6_scopeifnameID);
+ }
+
+-int setInet6Address_scopeifname(JNIEnv *env, jobject iaObj, jobject scopeifname) {
++jboolean setInet6Address_scopeifname(JNIEnv *env, jobject iaObj, jobject scopeifname) {
+ jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID);
+ CHECK_NULL_RETURN(holder, JNI_FALSE);
+ (*env)->SetObjectField(env, holder, ia6_scopeifnameID, scopeifname);
+@@ -127,7 +127,7 @@ int getInet6Address_scopeid(JNIEnv *env, jobject iaObj) {
+ return (*env)->GetIntField(env, holder, ia6_scopeidID);
+ }
+
+-int setInet6Address_scopeid(JNIEnv *env, jobject iaObj, int scopeid) {
++jboolean setInet6Address_scopeid(JNIEnv *env, jobject iaObj, int scopeid) {
+ jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID);
+ CHECK_NULL_RETURN(holder, JNI_FALSE);
+ (*env)->SetIntField(env, holder, ia6_scopeidID, scopeid);
+@@ -138,7 +138,7 @@ int setInet6Address_scopeid(JNIEnv *env, jobject iaObj, int scopeid) {
+ }
+
+
+-int getInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *dest) {
++jboolean getInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *dest) {
+ jobject holder, addr;
+ jbyteArray barr;
+
+@@ -150,7 +150,7 @@ int getInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *dest) {
+ return JNI_TRUE;
+ }
+
+-int setInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *address) {
++jboolean setInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *address) {
+ jobject holder;
+ jbyteArray addr;
+
+@@ -202,7 +202,6 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) {
+ jobject iaObj;
+ #ifdef AF_INET6
+ if (him->sa_family == AF_INET6) {
+- jbyteArray ipaddress;
+ #ifdef WIN32
+ struct SOCKADDR_IN6 *him6 = (struct SOCKADDR_IN6 *)him;
+ #else
+@@ -218,11 +217,12 @@ NET_SockaddrToInetAddress(JNIEnv *env, struct sockaddr *him, int *port) {
+ setInetAddress_family(env, iaObj, IPv4);
+ } else {
+ jint scope;
+- int ret;
++ jboolean ret;
+ iaObj = (*env)->NewObject(env, ia6_class, ia6_ctrID);
+ CHECK_NULL_RETURN(iaObj, NULL);
+ ret = setInet6Address_ipaddress(env, iaObj, (char *)&(him6->sin6_addr));
+- CHECK_NULL_RETURN(ret, NULL);
++ if (ret == JNI_FALSE)
++ return NULL;
+ setInetAddress_family(env, iaObj, IPv6);
+ scope = getScopeID(him);
+ setInet6Address_scopeid(env, iaObj, scope);
+@@ -269,7 +269,6 @@ NET_SockaddrEqualsInetAddress(JNIEnv *env, struct sockaddr *him, jobject iaObj)
+ return JNI_FALSE;
+ }
+ } else {
+- jbyteArray ipaddress;
+ jbyte caddrCur[16];
+ int scope;
+
+diff --git a/jdk/src/share/native/java/net/net_util.h b/jdk/src/share/native/java/net/net_util.h
+index c8a5e68c..176ca586 100644
+--- a/jdk/src/share/native/java/net/net_util.h
++++ b/jdk/src/share/native/java/net/net_util.h
+@@ -64,12 +64,12 @@ JNIEXPORT void JNICALL initInetAddressIDs(JNIEnv *env);
+ * get_ methods that return objects return NULL on error.
+ */
+ extern jobject getInet6Address_scopeifname(JNIEnv *env, jobject ia6Obj);
+-extern int setInet6Address_scopeifname(JNIEnv *env, jobject ia6Obj, jobject scopeifname);
++extern jboolean setInet6Address_scopeifname(JNIEnv *env, jobject ia6Obj, jobject scopeifname);
+ extern int getInet6Address_scopeid_set(JNIEnv *env, jobject ia6Obj);
+ extern int getInet6Address_scopeid(JNIEnv *env, jobject ia6Obj);
+-extern int setInet6Address_scopeid(JNIEnv *env, jobject ia6Obj, int scopeid);
+-extern int getInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *dest);
+-extern int setInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *address);
++extern jboolean setInet6Address_scopeid(JNIEnv *env, jobject ia6Obj, int scopeid);
++extern jboolean getInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *dest);
++extern jboolean setInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *address);
+
+ extern void setInetAddress_addr(JNIEnv *env, jobject iaObj, int address);
+ extern void setInetAddress_family(JNIEnv *env, jobject iaObj, int family);
+diff --git a/jdk/src/solaris/native/java/net/Inet6AddressImpl.c b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
+index e29a25da..23ec2985 100644
+--- a/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
++++ b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
+@@ -403,7 +403,7 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
+ }
+
+ while (iterator != NULL) {
+- int ret1;
++ jboolean ret1;
+ if (iterator->ai_family == AF_INET) {
+ jobject iaObj = (*env)->NewObject(env, ia4_class, ia4_ctrID);
+ if (IS_NULL(iaObj)) {
+@@ -423,7 +423,7 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
+ goto cleanupAndReturn;
+ }
+ ret1 = setInet6Address_ipaddress(env, iaObj, (char *)&(((struct sockaddr_in6*)iterator->ai_addr)->sin6_addr));
+- if (!ret1) {
++ if (ret1 == JNI_FALSE) {
+ ret = NULL;
+ goto cleanupAndReturn;
+ }
+--
+2.16.2
+