From 378bd10b7c603f3ae5115fee9a1433bb9a423f13 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Sun, 16 Mar 2025 23:00:00 -0700 Subject: [PATCH] openjdk8: fix build with gcc14 --- .../patches/105_implicit_declaration.patch | 25 +++++++++++++++++++ .../openjdk8/patches/106_int_conversion.patch | 16 ++++++++++++ .../107_incompatible_pointer_types.patch | 24 ++++++++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 srcpkgs/openjdk8/patches/105_implicit_declaration.patch create mode 100644 srcpkgs/openjdk8/patches/106_int_conversion.patch create mode 100644 srcpkgs/openjdk8/patches/107_incompatible_pointer_types.patch diff --git a/srcpkgs/openjdk8/patches/105_implicit_declaration.patch b/srcpkgs/openjdk8/patches/105_implicit_declaration.patch new file mode 100644 index 00000000000..7a04c21ec91 --- /dev/null +++ b/srcpkgs/openjdk8/patches/105_implicit_declaration.patch @@ -0,0 +1,25 @@ +The isnanf BSD extension was deprecated with the +introduction of isnan in c99 and isn't implemented in musl. +Use the isnan function instead. + +--- a/jdk/src/solaris/native/common/jdk_util_md.h ++++ b/jdk/src/solaris/native/common/jdk_util_md.h +@@ -37,7 +37,7 @@ + #define ISNAND(d) isnan(d) + #elif defined(__linux__) || defined(_ALLBSD_SOURCE) + #include +-#define ISNANF(f) isnanf(f) ++#define ISNANF(f) isnan(f) + #define ISNAND(d) isnan(d) + #elif defined(_AIX) + #include +--- a/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c ++++ b/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c +@@ -29,6 +29,7 @@ + #include "jlong.h" + + #include ++#include + #include + #include + #include diff --git a/srcpkgs/openjdk8/patches/106_int_conversion.patch b/srcpkgs/openjdk8/patches/106_int_conversion.patch new file mode 100644 index 00000000000..2c57cb01353 --- /dev/null +++ b/srcpkgs/openjdk8/patches/106_int_conversion.patch @@ -0,0 +1,16 @@ +--- a/jdk/src/share/bin/splashscreen_stubs.c ++++ b/jdk/src/share/bin/splashscreen_stubs.c +@@ -61,11 +61,11 @@ + #define INVOKEV(name) _INVOKE(name, ,;) + + int DoSplashLoadMemory(void* pdata, int size) { +- INVOKE(SplashLoadMemory, NULL)(pdata, size); ++ INVOKE(SplashLoadMemory, 0)(pdata, size); + } + + int DoSplashLoadFile(const char* filename) { +- INVOKE(SplashLoadFile, NULL)(filename); ++ INVOKE(SplashLoadFile, 0)(filename); + } + + void DoSplashInit(void) { diff --git a/srcpkgs/openjdk8/patches/107_incompatible_pointer_types.patch b/srcpkgs/openjdk8/patches/107_incompatible_pointer_types.patch new file mode 100644 index 00000000000..94e304d4e56 --- /dev/null +++ b/srcpkgs/openjdk8/patches/107_incompatible_pointer_types.patch @@ -0,0 +1,24 @@ +From 6632e6c6ca74101b45b052fb7962376fbe97605e Mon Sep 17 00:00:00 2001 +From: Vadim Pakhnushev +Date: Tue, 26 Jul 2016 18:45:05 +0300 +Subject: [PATCH] 8162545: Mac build failure + +Reviewed-by: psadhukhan, prr +--- + jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c b/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c +index 91b2e18c880..26645b45f82 100644 +--- a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c ++++ a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c +@@ -2634,7 +2634,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeTables + RELEASE_ARRAYS(env, data, NULL); + } + +-static void freeArray(void** arr, jint size) { ++static void freeArray(UINT8** arr, jint size) { + int i; + if (arr != NULL) { + for (i = 0; i < size; i++) { +