70 lines
2.7 KiB
Diff
70 lines
2.7 KiB
Diff
|
From ec37e9e5663611e49c7c976d34450ea6b90d0f24 Mon Sep 17 00:00:00 2001
|
|||
|
From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik at jci.com <https://lists.yoctoproject.org/listinfo/yocto>>
|
|||
|
Date: Fri, 2 Mar 2018 13:37:20 +0000
|
|||
|
Subject: [PATCH 8/9] jdk: musl build fix (use SIGRTMAX rather than __SIGRTMAX)
|
|||
|
MIME-Version: 1.0
|
|||
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|||
|
__SIGRTMAX is a private glibc symbol, which isn't provided
|
|||
|
by musl, thus failing compilation.
|
|||
|
|
|||
|
From https://sourceware.org/ml/rda/2005-q4/msg00011.html
|
|||
|
On a GNU(ish) system, [SIGRTMIN / SIGRTMAX] these macros are defined
|
|||
|
to call functions which compute the actual minimum and maximum
|
|||
|
realtime signal numbers. In particular, this computation will exclude
|
|||
|
any signals used by the C library for its own purposes. These signals
|
|||
|
could include signals related to thread debugging or, more
|
|||
|
importantly, for thread cancellation.
|
|||
|
[...]
|
|||
|
[The __SIGRTMIN and __SIGRTMAX] constants represent a hard minumum
|
|||
|
and maximum.
|
|||
|
|
|||
|
Patch taken from Alpine Linux:
|
|||
|
https://git.alpinelinux.org/cgit/aports/tree/community/openjdk8/icedtea-jdk-musl.patch?id=4d34f29dddd3934358df7a9607706d09ae0433c3
|
|||
|
|
|||
|
Upstream-Status: Inappropriate [musl specific]
|
|||
|
Signed-off-by: Andr<64> Draszik <andre.draszik at jci.com <https://lists.yoctoproject.org/listinfo/yocto>>
|
|||
|
---
|
|||
|
jdk/src/solaris/native/java/net/linux_close.c | 3 ++-
|
|||
|
jdk/src/solaris/native/sun/nio/ch/NativeThread.c | 2 +-
|
|||
|
2 files changed, 3 insertions(+), 2 deletions(-)
|
|||
|
|
|||
|
diff --git a/jdk/src/solaris/native/java/net/linux_close.c b/jdk/src/solaris/native/java/net/linux_close.c
|
|||
|
index 85fba135..e635dafd 100644
|
|||
|
--- a/jdk/src/java.base/linux/native/libnet/linux_close.c
|
|||
|
+++ b/jdk/src/java.base/linux/native/libnet/linux_close.c
|
|||
|
@@ -56,7 +56,7 @@ typedef struct {
|
|||
|
/*
|
|||
|
* Signal to unblock thread
|
|||
|
*/
|
|||
|
-static int sigWakeup = (__SIGRTMAX - 2);
|
|||
|
+static int sigWakeup;
|
|||
|
|
|||
|
/*
|
|||
|
* The fd table and the number of file descriptors
|
|||
|
@@ -95,6 +95,7 @@ static void __attribute((constructor)) init() {
|
|||
|
/*
|
|||
|
* Setup the signal handler
|
|||
|
*/
|
|||
|
+ sigWakeup = SIGRTMAX - 2;
|
|||
|
sa.sa_handler = sig_wakeup;
|
|||
|
sa.sa_flags = 0;
|
|||
|
sigemptyset(&sa.sa_mask);
|
|||
|
diff --git a/jdk/src/solaris/native/sun/nio/ch/NativeThread.c b/jdk/src/solaris/native/sun/nio/ch/NativeThread.c
|
|||
|
index 204f0441..f5483bbd 100644
|
|||
|
--- a/jdk/src/java.base/unix/native/libnio/ch/NativeThread.c
|
|||
|
+++ b/jdk/src/java.base/unix/native/libnio/ch/NativeThread.c
|
|||
|
@@ -36,7 +36,7 @@
|
|||
|
#include <pthread.h>
|
|||
|
#include <sys/signal.h>
|
|||
|
/* Also defined in net/linux_close.c */
|
|||
|
- #define INTERRUPT_SIGNAL (__SIGRTMAX - 2)
|
|||
|
+ #define INTERRUPT_SIGNAL (SIGRTMAX - 2)
|
|||
|
#elif _AIX
|
|||
|
#include <pthread.h>
|
|||
|
#include <sys/signal.h>
|
|||
|
--
|
|||
|
2.16.2
|
|||
|
|