java: add musl patches to icedtea-7.

This commit is contained in:
Andrius Štikonas 2020-07-16 09:46:04 +01:00
parent 7ea413975a
commit 1ad7f5e454
6 changed files with 237 additions and 1 deletions

View File

@ -1,4 +1,8 @@
AUX generate-cacerts.pl 11051 BLAKE2B e6d54319153735bd4b445581dfbd2b78e2e27a19f3b8a78d2fe6912efa207d133fa550652295648bc0bd1370956f71374d4b42de71776fa253f44d4e9dff2527 SHA512 22d1be675362c09ed61af4dc3ece14cab81e9514937d588ff5d324e61b7eba7d3dd99b26bc5ec0953365de56d099f708b2afdb13cca37bc4ff07fd8ce31fbe97
AUX icedtea-jdk-execinfo.patch 1026 BLAKE2B c09c343ead869275a945d5e2437c833a641728fc39ad3e9218291fd12376b6684fbcf7f129b69fcd1bde11949c6998865b131ee0734cc33d80f332eb7261428e SHA512 0391970e6a32946aa3cccf38fdef9c0fe2af26cd0df824b98aa2fcfa1bf661d4a68e339bffcfd16f386c565fc68bb28a29208a67d4bad8a0e847ad02bd8becbb
AUX icedtea-jdk-fix-build.patch 2150 BLAKE2B ebfc48db63836bd3f60f946ad2a647ddfa3aea3e97742a475098ae8a8cd4a4a8b1bc9986f3b41d98c8da49713d374c39aff2199bcaebbb8a2fc112d2de805bb7 SHA512 213a537de5f011cb39d608515c3413513ac75fb93593f9a9ef4205f71d72bdd8b097c80db185f7b26021d5bb85045b866f34f3478482dc4189972d8614a13458
AUX icedtea-jdk-musl.patch 4861 BLAKE2B 40028881fd456a7643501aee235e015039ea7e363c094bb0a23cab2faae1e8ae72501d562f6366f1630c3d1d08f7ee31f05bc95e802be7e146976d9087a07358 SHA512 44a35941c80f408d0607e32763b3b6ccee21e1d39886309327d3d74d2900117e4346ef59e77c663fd022fec10ee8f365eeb46c1260014d5765d226ce175ce3c5
AUX icedtea-jdk-no-soname.patch 369 BLAKE2B e44f1f539abd742963664a6f64cdd8aaaa7b108b20535ca0a5a20b0892a083e81b676fd1c71a6b021b2fa1f15404520be388f14ac326ac909f0a11f1aac20864 SHA512 bf4b184e170f7b0ff64ab30d2162784fe2bd5460d1fa31973259f7065fd4c511c46f97724fe2bd72bb94e9006cb568d0e0c87d1a9c90819e65880f8f44830bb1
AUX icedtea.env.sh 1130 BLAKE2B 8ffd3a9c558b9abb9df723efc531496537d7883d676c145411d9a4f02ecd6826c5edec9451ced8187224a9c24b408e6cbad3dc11ebcbe2f69a38b0966cb691c7 SHA512 79c279338cc2790df91c92d8d9b97c007f1a030374066dfacbbb2f9aac754eafba9197b748adcb9fe6fbff16bd998b6536298443028df281d1b12d3b348da66f
AUX jamvm-1.6.0-aarch64-support.patch 23347 BLAKE2B b80462ea9d8ceb54f8039d1a2c6e161a45eceabcd5e27993dec602605397d70754bcc4c70fcc6be197f17a7d1383d6d91ae57c01063dbc55c61537f50fb71de6 SHA512 aa602103865d64dc0d53d8d46002888b99afb7b92e95f39dacd36a2d3b937006f7816826efc418d0e3b9e7b3eec5b0b01a1642e37875635577c0c5653418596c
AUX jamvm-1.6.0-opcode-guard.patch 1416 BLAKE2B 4e866f4dde142d591d3dce89f10589fd3fbd290b1429ad83ba4ba4d4dfcb91d7e9da4ea7797859337690e24a8f1ebcf39eaa5aad085d03233306db02147f18cb SHA512 396d18eaad17bc76d8316bfc8fa2553e081389deade1ce0cd72f082226a91dbd70ec983636d324243be0a502ae9e0dd91d40952f13bf77c991601e61385af728
@ -25,4 +29,4 @@ DIST icedtea-cacao-c182f119eaad.tar.gz 4485353 BLAKE2B 5c1faa3cbbfea62f819562a01
DIST icedtea-cacao-c182f119eaad.tar.xz 3056520 BLAKE2B 6b1be66ce19f491d49f1591babcd8c088e8e327f828dca3f30b8f8b04c132140f8b9f487ef6d91aed212aebab2c7c3052d79fa3f2d76d3832341d94d48e77089 SHA512 22e8a031db5f93f82b276b310c175f1e926e48d64e1e50bebe51138e0f66391cd005501491a959d31663f338f27a29ec984ac29f77078f59472856e4d08edef7
DIST icedtea-jamvm-ec18fb9e49e62dce16c5094ef1527eed619463aa.tar.gz 317187 BLAKE2B 1ca581a02be4cf5c09162687bbc90ec01b58b4910d866d11512cf17a1caff181fdc69e42f7498b2df9deb875ddc6efc6bc2888428f411da94bbc2313ddf5a2c9 SHA512 a31348481e1c02747f5bb9db333f855c45a1555aa187ee35de5ef553a10a8a47dfcc1beb1e69502046c1758438b91958a328e0a0015812c153221f67734a70a6
EBUILD icedtea-3.7.0.ebuild 13476 BLAKE2B 83ff27f01a25038abf19cbfe5b13d495fe1845e112d6fa916f3192664779ae5bcef95b6b3d0fe189cf5c5baa24dae6ab901b9c50ee99f6679a4a1b6ffd6d4720 SHA512 beacbf9b65aba5ca2a624f1d3a68245feee9331b694e3a0f6993eacfdae78332174702bed0933809d97e8d5ee2ed2a1007e31f5e246720d2baa3ad0e47dc4619
EBUILD icedtea-7.2.6.9.ebuild 11581 BLAKE2B 9f345d9e77df6e08248b715c3ff706ab796456d703299459b0e4cf56b51b4f8725cba99565e907f78de39b9f12fa1ef102df70bb12452a15a438bbb0a2a2a3c6 SHA512 a06c1e882cb57095889cc2ca296f55a5165354a5b1554eb397da4cf6b485217ec3eb5272661ff600cec547fb6fa4433aa8322f94ef9c18b7fab56d34f79eae0d
EBUILD icedtea-7.2.6.9.ebuild 12085 BLAKE2B c392b85759817efe9f53de6eea1051f8b3e9d3671d1b5cc558cb2449830be7e1c53c39ba8a360757dbcf3e43ada82aeb51b56e3bb9e925bbadb406ee965d02f5 SHA512 86643a8bfb678efef4feaad2a9103e64947914d80c2fa14d4fb43ce66a562e0756b64db3d72413e23aa420fa4cf8408b51e51a9928d3a5522b216f09ee4de916

View File

@ -0,0 +1,40 @@
--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_xembed_server.c
+++ openjdk/jdk/src/solaris/native/sun/awt/awt_xembed_server.c
@@ -35,7 +35,7 @@
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <Xm/MwmUtil.h>
-#ifdef __linux__
+#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
#include <execinfo.h>
#endif
#include <stdio.h>
@@ -835,7 +835,7 @@
AWT_UNLOCK();
}
-#ifdef __linux__
+#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
void
print_stack (void)
{
--- openjdk.orig/jdk/src/solaris/native/sun/xawt/XToolkit.c
+++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
@@ -27,7 +27,7 @@
#include <X11/Xutil.h>
#include <X11/Xos.h>
#include <X11/Xatom.h>
-#ifdef __linux__
+#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
#include <execinfo.h>
#endif
@@ -689,7 +689,7 @@
return ret;
}
-#ifdef __linux__
+#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__)
void print_stack(void)
{
void *array[10];

View File

@ -0,0 +1,56 @@
Fixes three issues:
- so's should not be linked to -ljvm as dlopen(/abs/name) is
used by the launcher to load libjvm.so; it is thus not available
(musl/uclibc) ld.so to satisfy NEEDED dependency inserted by
-ljvm. Fix to not link against -ljvm, and disable -z defs so
undefined symbols are allowed in sos
- the previous makes ldd generate errors on unresolved symbols (musl)
remove it altogether as it's used for informative purposes only
(display things - not check anything useful)
- Don't delete the generated directory $(GENCSEXT), this can
confuse make in highly parallel builds with:
make[6]: *** INTERNAL: readdir: No such file or directory. Stop.
make[6]: Leaving directory '.../openjdk-boot/jdk/make/sun/nio/cs'
--- openjdk.orig/jdk/make/common/Defs-linux.gmk
+++ openjdk/jdk/make/common/Defs-linux.gmk
@@ -350,7 +350,7 @@
EXTRA_LIBS += -lc
-LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker defs
+LDFLAGS_DEFS_OPTION =
LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
#
@@ -407,7 +407,7 @@
# the library itself should not.
#
VM_NAME = server
-JVMLIB = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm
+JVMLIB =
JAVALIB = -ljava $(JVMLIB)
#
--- openjdk.orig/jdk/make/sun/nio/cs/Makefile
+++ openjdk/jdk/make/sun/nio/cs/Makefile
@@ -107,7 +107,7 @@
$(GENCSDATASRC)/DoubleByte-X.java.template \
$(GENCSDATASRC)/extsbcs $(GENCSDATASRC)/dbcs
@$(prep-target)
- $(RM) -r $(GENCSEXT)
+ $(RM) -f "$(GENCSEXT)"/*
$(MKDIR) -p $(GENCSEXT)
$(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) extsbcs
$(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) euctw \
--- openjdk.orig/jdk/make/common/shared/Defs-linux.gmk
+++ openjdk/jdk/make/common/shared/Defs-linux.gmk
@@ -207,8 +207,6 @@
if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
$(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \
fi && \
- $(ECHO) "Library loads for: $1" && \
- $(LDD) $1 && \
$(ECHO) "RUNPATH for: $1" && \
( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
)

View File

@ -0,0 +1,116 @@
diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp 2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp 2014-07-15 07:19:52.186682096 +0000
@@ -46,6 +46,8 @@
#include "zip.h"
+#define uchar unsigned char
+
#ifdef NO_ZLIB
inline bool jar::deflate_bytes(bytes& head, bytes& tail) {
diff -ru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h
--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h 2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h 2014-07-15 07:19:52.186682096 +0000
@@ -23,9 +23,7 @@
* questions.
*/
-#define ushort unsigned short
-#define uint unsigned int
-#define uchar unsigned char
+#include <sys/types.h>
struct unpacker;
diff -ru openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h
--- openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h 2014-07-15 07:19:52.186682096 +0000
@@ -27,6 +27,7 @@
#ifndef MLIB_TYPES_H
#define MLIB_TYPES_H
+#include <stddef.h> /* for NULL */
#include <limits.h>
#if defined(_MSC_VER)
#include <float.h> /* for FLT_MAX and DBL_MAX */
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
--- openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c 2014-07-15 07:19:52.186682096 +0000
@@ -47,7 +47,7 @@
#include "java_net_Inet4AddressImpl.h"
-#if defined(__GLIBC__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104))
+#if defined(__linux__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104))
#define HAS_GLIBC_GETHOSTBY_R 1
#endif
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c
--- openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c 2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c 2014-07-15 07:19:52.186682096 +0000
@@ -47,7 +47,6 @@
#ifdef __linux__
#include <sys/ioctl.h>
-#include <bits/ioctls.h>
#include <sys/utsname.h>
#include <stdio.h>
#endif
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
--- openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2014-07-15 07:19:52.190015524 +0000
@@ -35,7 +35,6 @@
#endif
#ifdef __linux__
#include <unistd.h>
-#include <sys/sysctl.h>
#include <sys/utsname.h>
#include <netinet/ip.h>
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c
--- openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2014-07-15 07:19:52.190015524 +0000
@@ -43,7 +43,6 @@
#endif
#ifdef __linux__
#include <unistd.h>
-#include <sys/sysctl.h>
#endif
#include "jvm.h"
diff -ru openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c openjdk/jdk/src/solaris/native/java/net/linux_close.c
--- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c 2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/java/net/linux_close.c 2014-07-15 07:22:17.609355950 +0000
@@ -75,7 +75,7 @@
#ifdef _AIX
static int sigWakeup = (SIGRTMAX - 1);
#else
-static int sigWakeup = (__SIGRTMAX - 2);
+static int sigWakeup;
#endif
/*
@@ -148,6 +148,9 @@
/*
* Setup the signal handler
*/
+#ifndef __AIX
+ sigWakeup = SIGRTMAX - 2;
+#endif
sa.sa_handler = sig_wakeup;
sa.sa_flags = 0;
sigemptyset(&sa.sa_mask);
diff -ru openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c 2014-06-12 20:14:44.000000000 +0000
+++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c 2014-07-15 07:19:52.190015524 +0000
@@ -38,7 +38,7 @@
#include <sys/signal.h>
/* Also defined in src/solaris/native/java/net/linux_close.c */
-#define INTERRUPT_SIGNAL (__SIGRTMAX - 2)
+#define INTERRUPT_SIGNAL (SIGRTMAX - 2)
static void
nullHandler(int sig)

View File

@ -0,0 +1,12 @@
--- ./openjdk/jdk/make/common/Defs-linux.gmk.orig
+++ ./openjdk/jdk/make/common/Defs-linux.gmk
@@ -248,7 +248,9 @@
#
LDFLAGS_OPT = -Xlinker -O1
LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ifdef LIBRARY
LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+endif
#
# -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always

View File

@ -170,6 +170,10 @@ src_unpack() {
ln -s "${FILESDIR}/jamvm-1.6.0-aarch64-support.patch" "${S}/patches/jamvm" || die
ln -s "${FILESDIR}/jamvm-1.6.0-opcode-guard.patch" "${S}/patches/jamvm" || die
ln -s "${FILESDIR}/${PN}-jdk-musl.patch" "${S}/patches" || die
ln -s "${FILESDIR}/${PN}-jdk-no-soname.patch" "${S}/patches" || die
ln -s "${FILESDIR}/${PN}-jdk-fix-build.patch" "${S}/patches" || die
ln -s "${FILESDIR}/${PN}-jdk-execinfo.patch" "${S}/patches" || die
}
src_configure() {
@ -189,6 +193,10 @@ src_configure() {
DISTRIBUTION_PATCHES+="patches/jamvm/jamvm-1.6.0-aarch64-support.patch "
DISTRIBUTION_PATCHES+="patches/jamvm/jamvm-1.6.0-opcode-guard.patch "
DISTRIBUTION_PATCHES+="patches/${PN}-jdk-musl.patch "
DISTRIBUTION_PATCHES+="patches/${PN}-jdk-no-soname.patch "
DISTRIBUTION_PATCHES+="patches/${PN}-jdk-fix-build.patch "
DISTRIBUTION_PATCHES+="patches/${PN}-jdk-execinfo.patch "
export DISTRIBUTION_PATCHES