OpenJDK ports and 13-CURRENT
Yasuhiro KIMURA
yasu at utahime.org
Sun Oct 11 04:41:56 UTC 2020
From: Yasuhiro KIMURA <yasu at utahime.org>
Subject: Re: OpenJDK ports and 13-CURRENT
Date: Sun, 11 Oct 2020 08:35:39 +0900 (JST)
> From: Dimitry Andric <dim at FreeBSD.org>
> Subject: Re: OpenJDK ports and 13-CURRENT
> Date: Sun, 11 Oct 2020 00:57:33 +0200
>
>> Can you try the attached patch? I haven't yet looked at openjdk 13 and
>> up, but I assume they will need at least the XSynchronize fix, and maybe
>> the above ones, if the upstream branches were made after 2020-02-05.
>
> I tried your patch but it fails at patch phase as following.
I modified your patch as following and now build of java/openjdk12
succeeeds on 13-CURRENT amd64 r366578.
>From 5fb14c6b20c000f57ad975d79aed0072f142ec80 Mon Sep 17 00:00:00 2001
From: Yasuhiro KIMURA <yasu at utahime.org>
Date: Sun, 11 Oct 2020 10:28:47 +0900
Subject: [PATCH] java/openjdk12: Fix build with -fno-common (Clang 11/GCC 10)
Fix build with -fno-common (Clang 11/GCC 10)
---
java/openjdk12/files/patch-changeset-57932 | 27 +++++++++++++++++++
java/openjdk12/files/patch-changeset-57994 | 26 ++++++++++++++++++
..._unix_classes_sun_awt_X11_XlibWrapper.java | 11 ++++++++
...nix_native_libawt__xawt_xawt_XlibWrapper.c | 15 +++++++++++
4 files changed, 79 insertions(+)
create mode 100644 java/openjdk12/files/patch-changeset-57932
create mode 100644 java/openjdk12/files/patch-changeset-57994
create mode 100644 java/openjdk12/files/patch-src_java.desktop_unix_classes_sun_awt_X11_XlibWrapper.java
create mode 100644 java/openjdk12/files/patch-src_java.desktop_unix_native_libawt__xawt_xawt_XlibWrapper.c
diff --git a/java/openjdk12/files/patch-changeset-57932 b/java/openjdk12/files/patch-changeset-57932
new file mode 100644
index 000000000000..24b929d5ac08
--- /dev/null
+++ b/java/openjdk12/files/patch-changeset-57932
@@ -0,0 +1,27 @@
+changeset: 57932:9e54ea7d9cd9
+user: qpzhang
+date: Wed Feb 05 20:31:09 2020 +0800
+summary: 8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10
+
+--- src/java.security.jgss/share/native/libj2gss/NativeFunc.c.orig 2020-04-17 22:35:42 UTC
++++ src/java.security.jgss/share/native/libj2gss/NativeFunc.c
+@@ -27,6 +27,9 @@
+ #include <stdlib.h>
+ #include "NativeFunc.h"
+
++/* global GSS function table */
++GSS_FUNCTION_TABLE_PTR ftab;
++
+ /* standard GSS method names (ordering is from mapfile) */
+ static const char RELEASE_NAME[] = "gss_release_name";
+ static const char IMPORT_NAME[] = "gss_import_name";
+--- src/java.security.jgss/share/native/libj2gss/NativeFunc.h.orig 2020-04-17 22:35:42 UTC
++++ src/java.security.jgss/share/native/libj2gss/NativeFunc.h
+@@ -277,6 +277,6 @@ typedef struct GSS_FUNCTION_TABLE {
+ typedef GSS_FUNCTION_TABLE *GSS_FUNCTION_TABLE_PTR;
+
+ /* global GSS function table */
+-GSS_FUNCTION_TABLE_PTR ftab;
++extern GSS_FUNCTION_TABLE_PTR ftab;
+
+ #endif
diff --git a/java/openjdk12/files/patch-changeset-57994 b/java/openjdk12/files/patch-changeset-57994
new file mode 100644
index 000000000000..ac5ef8190d89
--- /dev/null
+++ b/java/openjdk12/files/patch-changeset-57994
@@ -0,0 +1,26 @@
+changeset: 57994:6925fca95959
+user: qpzhang
+date: Tue Feb 04 21:27:10 2020 +0800
+summary: 8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10
+
+--- src/java.base/unix/native/libjava/childproc.c.orig 2020-04-17 22:35:42 UTC
++++ src/java.base/unix/native/libjava/childproc.c
+@@ -33,6 +33,7 @@
+
+ #include "childproc.h"
+
++const char * const *parentPathv;
+
+ ssize_t
+ restartableWrite(int fd, const void *buf, size_t count)
+--- src/java.base/unix/native/libjava/childproc.h.orig 2020-04-17 22:35:42 UTC
++++ src/java.base/unix/native/libjava/childproc.h
+@@ -118,7 +118,7 @@ typedef struct _SpawnInfo {
+ * The cached and split version of the JDK's effective PATH.
+ * (We don't support putenv("PATH=...") in native code)
+ */
+-const char * const *parentPathv;
++extern const char * const *parentPathv;
+
+ ssize_t restartableWrite(int fd, const void *buf, size_t count);
+ int restartableDup2(int fd_from, int fd_to);
diff --git a/java/openjdk12/files/patch-src_java.desktop_unix_classes_sun_awt_X11_XlibWrapper.java b/java/openjdk12/files/patch-src_java.desktop_unix_classes_sun_awt_X11_XlibWrapper.java
new file mode 100644
index 000000000000..4f3913a95410
--- /dev/null
+++ b/java/openjdk12/files/patch-src_java.desktop_unix_classes_sun_awt_X11_XlibWrapper.java
@@ -0,0 +1,11 @@
+--- src/java.desktop/unix/classes/sun/awt/X11/XlibWrapper.java.orig 2020-04-17 22:35:42 UTC
++++ src/java.desktop/unix/classes/sun/awt/X11/XlibWrapper.java
+@@ -529,7 +529,7 @@ static native String XSetLocaleModifiers(String modifi
+ display Specifies the connection to the X server.
+ onoff Specifies a Boolean value that indicates whether to enable or disable synchronization.
+ */
+- static native int XSynchronize(long display, boolean onoff);
++ static native long XSynchronize(long display, boolean onoff);
+
+ /**
+ * Extracts an X event that can be processed in a secondary loop.
diff --git a/java/openjdk12/files/patch-src_java.desktop_unix_native_libawt__xawt_xawt_XlibWrapper.c b/java/openjdk12/files/patch-src_java.desktop_unix_native_libawt__xawt_xawt_XlibWrapper.c
new file mode 100644
index 000000000000..b4d602993ab9
--- /dev/null
+++ b/java/openjdk12/files/patch-src_java.desktop_unix_native_libawt__xawt_xawt_XlibWrapper.c
@@ -0,0 +1,15 @@
+--- src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c.orig 2020-04-17 22:35:42 UTC
++++ src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c
+@@ -2180,10 +2180,10 @@ Java_sun_awt_X11_XlibWrapper_copyLongArray(JNIEnv *env
+ }
+ }
+
+-JNIEXPORT jint JNICALL
++JNIEXPORT jlong JNICALL
+ Java_sun_awt_X11_XlibWrapper_XSynchronize(JNIEnv *env, jclass clazz, jlong display, jboolean onoff)
+ {
+- return (jint) XSynchronize((Display*)jlong_to_ptr(display), (onoff == JNI_TRUE ? True : False));
++ return ptr_to_jlong(XSynchronize((Display*)jlong_to_ptr(display), (onoff == JNI_TRUE ? True : False)));
+ }
+
+ JNIEXPORT jboolean JNICALL
--
2.28.0
---
Yasuhiro KIMURA
More information about the freebsd-ports
mailing list