--- openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h +++ openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h @@ -27,6 +27,7 @@ #ifndef MLIB_TYPES_H #define MLIB_TYPES_H +#include /* for NULL */ #include #if defined(_MSC_VER) #include /* for FLT_MAX and DBL_MAX */ --- openjdk.orig/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c +++ openjdk/jdk/src/solaris/hpi/native_threads/src/sys_api_td.c @@ -64,11 +64,11 @@ #endif /* NO_INTERRUPTIBLE_IO */ /* - * Linux does not define rlim_t (solaris + * GLIBC does not define rlim_t (solaris * does). THIS IS PROBABLY NOT THE RIGHT THING TO DO, so * somebody please fix this. */ -#ifdef __linux__ +#ifdef __GLIBC__ typedef int rlim_t ; #else #include --- openjdk.orig/jdk/src/solaris/native/java/io/UnixFileSystem_md.c +++ openjdk/jdk/src/solaris/native/java/io/UnixFileSystem_md.c @@ -66,7 +66,7 @@ * linux_largefile.h with a good stat64 structure to compile on * glibc2.0 based systems. */ -#if defined(__solaris__) && !defined(_LFS_LARGEFILE) || !_LFS_LARGEFILE +#if defined(__solaris__) && (!defined(_LFS_LARGEFILE) || !_LFS_LARGEFILE) /* The stat64 structure must be provided for systems without large-file support (e.g., Solaris 2.5.1). These definitions are copied from the Solaris 2.6 --- openjdk.orig/jdk/src/solaris/native/java/lang/java_props_md.c +++ openjdk/jdk/src/solaris/native/java/lang/java_props_md.c @@ -45,11 +45,13 @@ #include "locale_str.h" #include "java_props.h" +#if !defined(CODESET) #ifdef __linux__ #define CODESET _NL_CTYPE_CODESET_NAME #else #ifdef ALT_CODESET_KEY #define CODESET ALT_CODESET_KEY +#endif #endif #endif --- openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c +++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c @@ -45,6 +45,11 @@ #define HENT_BUF_SIZE 1024 #define BIG_HENT_BUF_SIZE 10240 /* a jumbo-sized one */ +/* glibc vs. linux confusion, define glibc locally to fix musl build */ +#if defined(__linux__) && !defined(__GLIBC__) +#define __GLIBC__ +#endif + #ifndef __GLIBC__ /* gethostname() is in libc.so but I can't find a header file for it */ extern int gethostname(char *buf, int buf_len); --- openjdk.orig/jdk/src/solaris/native/java/net/Inet6AddressImpl.c +++ openjdk/jdk/src/solaris/native/java/net/Inet6AddressImpl.c @@ -48,6 +48,11 @@ #define NI_MAXHOST 1025 #endif +/* glibc vs. linux confusion, define glibc locally to fix musl build */ +#if defined(__linux__) && !defined(__GLIBC__) +#define __GLIBC__ +#endif + #ifndef __GLIBC__ /* gethostname() is in libc.so but I can't find a header file for it */ extern int gethostname(char *buf, int buf_len); --- openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c +++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c @@ -40,7 +40,6 @@ #endif #ifdef __linux__ #include -#include #include #include #include --- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c +++ openjdk/jdk/src/solaris/native/java/net/linux_close.c @@ -59,7 +59,7 @@ /* * Signal to unblock thread */ -static int sigWakeup = (__SIGRTMAX - 2); +static int sigWakeup; /* * The fd table and the number of file descriptors @@ -98,6 +98,7 @@ /* * Setup the signal handler */ + sigWakeup = SIGRTMAX - 2; sa.sa_handler = sig_wakeup; sa.sa_flags = 0; sigemptyset(&sa.sa_mask); --- openjdk.orig/jdk/src/solaris/native/java/util/FileSystemPreferences.c +++ openjdk/jdk/src/solaris/native/java/util/FileSystemPreferences.c @@ -47,7 +47,6 @@ return (jint) result; } - typedef struct flock64 FLOCK; /** --- openjdk.orig/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_config.h +++ openjdk/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_config.h @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include #include --- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/EPollArrayWrapper.c +++ openjdk/jdk/src/solaris/native/sun/nio/ch/EPollArrayWrapper.c @@ -34,7 +34,9 @@ #include #include #include +#include +#if 0 #ifdef __cplusplus extern "C" { #endif @@ -63,6 +65,7 @@ #ifdef __cplusplus } +#endif #endif #define RESTARTABLE(_cmd, _result) do { \ --- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c +++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c @@ -38,7 +38,7 @@ #include /* 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) --- openjdk.orig/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h +++ openjdk/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h @@ -27,6 +27,7 @@ #define OGLFuncs_md_h_Included #include +#include #include #include "J2D_GL/glx.h" #include "OGLFuncMacros.h" --- 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 @@ -23,9 +23,7 @@ * questions. */ -#define ushort unsigned short -#define uint unsigned int -#define uchar unsigned char +#include struct unpacker; --- 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 @@ -46,6 +46,8 @@ #include "zip.h" +#define uchar unsigned char + #ifdef NO_ZLIB inline bool jar::deflate_bytes(bytes& head, bytes& tail) {