Description: Initial GNU/kFreeBSD support for openjdk-8 (JDK part) - Alter build system to consider GNU/kFreeBSD like linux since this port is libc based. openjdk/jdk/make/common/shared/Platform.gmk - ENODATA is undefined : openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java - sendfile implementation : openjdk/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c (from bsd-port) - BSD network stack usage : openjdk/jdk/src/solaris/native/java/net/* (from bsd-port) - Don't build sctp protocol openjdk/jdk/make/com/sun/nio/Makefile - Don't build jsoundalsa openjdk/jdk/make/javax/sound/Makefile - Disable epoll feature and so LinuxWatchService openjdk/jdk/make/java/nio/Makefile Author: Damien Raude-Morvan Author: Guido Günther Author: Steven Chamberlain Forwarded: no Index: b/jdk/src/solaris/bin/ergo_i586.c =================================================================== --- a/jdk/src/solaris/bin/ergo_i586.c +++ b/jdk/src/solaris/bin/ergo_i586.c @@ -106,7 +106,7 @@ ServerClassMachineImpl(void) { #endif /* __solaris__ */ -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) /* * A utility method for asking the CPU about itself. Index: b/jdk/src/solaris/bin/jexec.c =================================================================== --- a/jdk/src/solaris/bin/jexec.c +++ b/jdk/src/solaris/bin/jexec.c @@ -76,7 +76,7 @@ #include #include #include -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) # include # include # include @@ -92,7 +92,7 @@ static const char * CRAZY_EXEC_MSG = " static const char * MISSING_JAVA_MSG = "can't locate java"; static const char * BAD_ARG_MSG = "incorrect number of arguments"; static const char * MEM_FAILED_MSG = "memory allocation failed"; -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) static const char * BAD_PATHNAME_MSG = "invalid path"; static const char * BAD_FILE_MSG = "invalid file"; static const char * BAD_MAGIC_MSG = "invalid file (bad magic number)"; @@ -101,7 +101,7 @@ static const char * UNKNOWN_ERROR = " /* Define a constant that represents the number of directories to pop off the * current location to find the java binary */ -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) static const int RELATIVE_DEPTH = 2; #else /* Solaris */ static const int RELATIVE_DEPTH = 3; @@ -114,7 +114,7 @@ static const char * BIN_PATH = "/bin/jav static const char * JAR_FLAG = "-jar"; -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) /* largest possible size for a local file header */ static const size_t CHUNK_SIZE = 65535; @@ -126,7 +126,7 @@ static const ssize_t MIN_SIZE = LOCHDR + int main(int argc, const char * argv[]); void errorExit(int error, const char * message); int getJavaPath(const char * path, char * buf, int depth); -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) const char * isJar(const char * path); #endif @@ -182,7 +182,7 @@ int main(int argc, const char * argv[]) } nargv[nargc++] = java; -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) /* The "-jar" flag is already in the original args list on Solaris, * so it only needs to be added on Linux. */ nargv[nargc++] = JAR_FLAG; @@ -192,7 +192,7 @@ int main(int argc, const char * argv[]) const char * jarfile = argv[argi++]; const char * message = NULL; -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) /* On Linux we also need to make sure argv[1] is really a JAR * file (this will also resolve any symlinks, which helps). */ char jarPath[PATH_MAX + 1]; @@ -301,7 +301,7 @@ int getJavaPath(const char * path, char } -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) /* * Check if the given file is a JAR file. * Index: b/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c =================================================================== --- a/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c +++ b/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c @@ -42,7 +42,7 @@ #include #endif -#if defined(__linux__) || defined(_AIX) +#if defined(__linux__) || defined(_AIX) || defined(__GLIBC__) #include #endif Index: b/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c =================================================================== --- a/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c +++ b/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c @@ -35,7 +35,7 @@ #include #endif -#if defined(__linux__) +#if defined(__linux__) || defined(__GLIBC__) #include #endif Index: b/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c =================================================================== --- a/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c +++ b/jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c @@ -41,7 +41,7 @@ #include #elif defined(_AIX) #include -#elif defined(_ALLBSD_SOURCE) +#elif defined(_ALLBSD_SOURCE) || defined(__FreeBSD_kernel__) #include #include #include @@ -216,6 +216,31 @@ Java_sun_nio_ch_FileChannelImpl_transfer if (numBytes > 0) return numBytes; + + if (result == -1) { + if (errno == EAGAIN) + return IOS_UNAVAILABLE; + if (errno == EOPNOTSUPP || errno == ENOTSOCK || errno == ENOTCONN) + return IOS_UNSUPPORTED_CASE; + if ((errno == EINVAL) && ((ssize_t)count >= 0)) + return IOS_UNSUPPORTED_CASE; + if (errno == EINTR) + return IOS_INTERRUPTED; + JNU_ThrowIOExceptionWithLastError(env, "Transfer failed"); + return IOS_THROWN; + } + + return result; +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + off_t numBytes; + int result; + + numBytes = count; + + result = sendfile(srcFD, dstFD, position, count, NULL, &numBytes, 0); + + if (numBytes > 0) + return numBytes; if (result == -1) { if (errno == EAGAIN) Index: b/jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h =================================================================== --- a/jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h +++ b/jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h @@ -65,9 +65,25 @@ typedef int sctp_freepaddrs_func(void *a typedef int sctp_bindx_func(int sock, void *addrs, int addrcnt, int flags); typedef int sctp_peeloff_func(int sock, sctp_assoc_t id); +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +#include +#include +#include +#include +#include +#include +#include "jni.h" + +#define nio_sctp_getladdrs sctp_getladdrs +#define nio_sctp_freeladdrs sctp_freeladdrs +#define nio_sctp_getpaddrs sctp_getpaddrs +#define nio_sctp_freepaddrs sctp_freepaddrs +#define nio_sctp_bindx sctp_bindx +#define nio_sctp_peeloff sctp_peeloff #else /* __linux__ */ + #include #include #include @@ -319,9 +335,19 @@ typedef int sctp_freepaddrs_func(struct typedef int sctp_bindx_func(int sd, struct sockaddr *addrs, int addrcnt, int flags); typedef int sctp_peeloff_func(int sock, sctp_assoc_t id); - #endif /* __linux__ */ +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + +#define nio_sctp_getladdrs sctp_getladdrs +#define nio_sctp_freeladdrs sctp_freeladdrs +#define nio_sctp_getpaddrs sctp_getpaddrs +#define nio_sctp_freepaddrs sctp_freepaddrs +#define nio_sctp_bindx sctp_bindx +#define nio_sctp_peeloff sctp_peeloff + +#else + sctp_getladdrs_func* nio_sctp_getladdrs; sctp_freeladdrs_func* nio_sctp_freeladdrs; sctp_getpaddrs_func* nio_sctp_getpaddrs; @@ -329,6 +355,8 @@ sctp_freepaddrs_func* nio_sctp_freepaddr sctp_bindx_func* nio_sctp_bindx; sctp_peeloff_func* nio_sctp_peeloff; +#endif + jboolean loadSocketExtensionFuncs(JNIEnv* env); #endif /* !SUN_NIO_CH_SCTP_H */ Index: b/jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c =================================================================== --- a/jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c +++ b/jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c @@ -445,7 +445,7 @@ JNIEXPORT jint JNICALL Java_sun_nio_ch_s } else if (errno == EINTR) { return IOS_INTERRUPTED; -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) } else if (errno == ENOTCONN) { /* ENOTCONN when EOF reached */ rv = 0; Index: b/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c =================================================================== --- a/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c +++ b/jdk/src/solaris/native/sun/nio/ch/DatagramChannelImpl.c @@ -35,7 +35,7 @@ #include #include -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) #include #endif @@ -91,7 +91,7 @@ Java_sun_nio_ch_DatagramChannelImpl_disc rv = connect(fd, 0, 0); #endif -#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(_AIX) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(_AIX) || defined(__GLIBC__) { int len; SOCKADDR sa; Index: b/jdk/src/solaris/native/sun/nio/ch/Net.c =================================================================== --- a/jdk/src/solaris/native/sun/nio/ch/Net.c +++ b/jdk/src/solaris/native/sun/nio/ch/Net.c @@ -273,7 +273,7 @@ Java_sun_nio_ch_Net_socket0(JNIEnv *env, } } -#if defined(__linux__) +#ifdef __linux__ if (type == SOCK_DGRAM) { int arg = 0; int level = (domain == AF_INET6) ? IPPROTO_IPV6 : IPPROTO_IP; Index: b/jdk/src/solaris/native/sun/nio/ch/NativeThread.c =================================================================== --- a/jdk/src/solaris/native/sun/nio/ch/NativeThread.c +++ b/jdk/src/solaris/native/sun/nio/ch/NativeThread.c @@ -32,7 +32,7 @@ #include "sun_nio_ch_NativeThread.h" #include "nio_util.h" -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) #include #include /* Also defined in net/linux_close.c */ Index: b/jdk/src/solaris/native/sun/nio/ch/SocketChannelImpl.c =================================================================== --- a/jdk/src/solaris/native/sun/nio/ch/SocketChannelImpl.c +++ b/jdk/src/solaris/native/sun/nio/ch/SocketChannelImpl.c @@ -31,7 +31,7 @@ #include #include -#if __linux__ +#if defined(__linux__) || defined(__GLIBC__) #include #endif Index: b/jdk/src/solaris/native/sun/nio/ch/ServerSocketChannelImpl.c =================================================================== --- a/jdk/src/solaris/native/sun/nio/ch/ServerSocketChannelImpl.c +++ b/jdk/src/solaris/native/sun/nio/ch/ServerSocketChannelImpl.c @@ -28,7 +28,7 @@ #include #include -#if __linux__ +#if defined(__linux__) || defined(__GLIBC__) #include #endif Index: b/jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c =================================================================== --- a/jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c +++ b/jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c @@ -58,6 +58,7 @@ static int preCloseFD = -1; /* File */ jboolean loadSocketExtensionFuncs (JNIEnv* env) { +#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) if (dlopen(nativeSctpLib, RTLD_GLOBAL | RTLD_LAZY) == NULL) { JNU_ThrowByName(env, "java/lang/UnsupportedOperationException", dlerror()); @@ -105,6 +106,7 @@ jboolean loadSocketExtensionFuncs dlerror()); return JNI_FALSE; } +#endif /* __FreeBSD__ */ funcsLoaded = JNI_TRUE; return JNI_TRUE; Index: b/jdk/src/solaris/native/sun/awt/extutil.h =================================================================== --- a/jdk/src/solaris/native/sun/awt/extutil.h +++ b/jdk/src/solaris/native/sun/awt/extutil.h @@ -58,7 +58,7 @@ in this Software without prior written a */ /* $XFree86: xc/include/extensions/extutil.h,v 1.5 2001/01/17 17:53:20 dawes Exp $ */ -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) #ifndef _EXTUTIL_H_ #define _EXTUTIL_H_ Index: b/jdk/src/solaris/native/sun/awt/VDrawingArea.c =================================================================== --- a/jdk/src/solaris/native/sun/awt/VDrawingArea.c +++ b/jdk/src/solaris/native/sun/awt/VDrawingArea.c @@ -33,7 +33,7 @@ #include #include -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) /* XXX: Shouldn't be necessary. */ #include "awt_p.h" #endif /* __linux__ */ Index: b/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c =================================================================== --- a/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c +++ b/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c @@ -121,7 +121,8 @@ static char *x11GraphicsConfigClassName */ #define MAXFRAMEBUFFERS 16 -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + typedef struct { int screen_number; short x_org; @@ -440,7 +441,7 @@ getAllConfigs (JNIEnv *env, int screen, RTLD_LAZY | RTLD_GLOBAL); } -#ifndef __linux__ /* SOLARIS */ +#if ! defined(__linux__) && ! defined(__GLIBC__) /* SOLARIS */ if (xrenderLibHandle == NULL) { xrenderLibHandle = dlopen("/usr/sfw/lib/libXrender.so.1", RTLD_LAZY | RTLD_GLOBAL); @@ -584,7 +585,8 @@ getAllConfigs (JNIEnv *env, int screen, } #ifndef HEADLESS -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + static void xinerama_init_linux() { void* libHandle = NULL; @@ -635,7 +637,7 @@ static void xinerama_init_linux() } } #endif -#if !defined(__linux__) && !defined(MACOSX) /* Solaris */ +#if !defined(__linux__) && !defined(MACOSX) && !defined(__GLIBC__) /* Solaris */ static void xinerama_init_solaris() { void* libHandle = NULL; @@ -695,11 +697,11 @@ static void xineramaInit(void) { } DTRACE_PRINTLN("Xinerama extension is available"); -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) xinerama_init_linux(); #else /* Solaris */ xinerama_init_solaris(); -#endif /* __linux__ || MACOSX */ +#endif /* __linux__ || MACOSX || __GLIBC__ */ } #endif /* HEADLESS */ @@ -1597,7 +1599,7 @@ Java_sun_awt_X11GraphicsEnvironment_getX { jobject point = NULL; #ifndef HEADLESS /* return NULL in HEADLESS, Linux */ -#if !defined(__linux__) && !defined(MACOSX) +#if !defined(__linux__) && !defined(MACOSX) && !defined(__GLIBC__) int x,y; AWT_LOCK(); Index: b/jdk/src/solaris/native/sun/awt/awt_Font.c =================================================================== --- a/jdk/src/solaris/native/sun/awt/awt_Font.c +++ b/jdk/src/solaris/native/sun/awt/awt_Font.c @@ -255,7 +255,7 @@ loadFont(Display * display, char *name, if (strcmp(style, "regular") == 0) { altstyle = "roman"; } -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) if (!strcmp(family, "lucidasans")) { family = "lucida"; } Index: b/jdk/src/solaris/native/sun/awt/awt_InputMethod.c =================================================================== --- a/jdk/src/solaris/native/sun/awt/awt_InputMethod.c +++ b/jdk/src/solaris/native/sun/awt/awt_InputMethod.c @@ -52,7 +52,7 @@ static void PreeditDrawCallback(XIC, XPo XIMPreeditDrawCallbackStruct *); static void PreeditCaretCallback(XIC, XPointer, XIMPreeditCaretCallbackStruct *); -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) static void StatusStartCallback(XIC, XPointer, XPointer); static void StatusDoneCallback(XIC, XPointer, XPointer); static void StatusDrawCallback(XIC, XPointer, @@ -66,7 +66,7 @@ static void StatusDrawCallback(XIC, XPoi #define PreeditDoneIndex 1 #define PreeditDrawIndex 2 #define PreeditCaretIndex 3 -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) #define StatusStartIndex 4 #define StatusDoneIndex 5 #define StatusDrawIndex 6 @@ -84,14 +84,14 @@ static XIMProc callback_funcs[NCALLBACKS (XIMProc)PreeditDoneCallback, (XIMProc)PreeditDrawCallback, (XIMProc)PreeditCaretCallback, -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) (XIMProc)StatusStartCallback, (XIMProc)StatusDoneCallback, (XIMProc)StatusDrawCallback, #endif }; -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) #define MAX_STATUS_LEN 100 typedef struct { Window w; /*status window id */ @@ -124,7 +124,7 @@ typedef struct _X11InputMethodData { XIMCallback *callbacks; /* callback parameters */ jobject x11inputmethod; /* global ref to X11InputMethod instance */ /* associated with the XIC */ -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) StatusWindow *statusWindow; /* our own status window */ #endif char *lookup_buf; /* buffer used for XmbLookupString */ @@ -370,7 +370,7 @@ destroyX11InputMethodData(JNIEnv *env, X static void freeX11InputMethodData(JNIEnv *env, X11InputMethodData *pX11IMData) { -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) if (pX11IMData->statusWindow != NULL){ StatusWindow *sw = pX11IMData->statusWindow; XFreeGC(awt_display, sw->lightGC); @@ -473,7 +473,7 @@ awt_x11inputmethod_lookupString(XKeyPres pX11IMData = getX11InputMethodData(env, currentX11InputMethodInstance); if (pX11IMData == NULL) { -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) return False; #else return result; @@ -481,7 +481,7 @@ awt_x11inputmethod_lookupString(XKeyPres } if ((ic = pX11IMData->current_ic) == (XIC)0){ -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) return False; #else return result; @@ -573,7 +573,7 @@ awt_x11inputmethod_lookupString(XKeyPres return result; } -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) static StatusWindow *createStatusWindow( Window parent) { StatusWindow *statusWindow; @@ -886,7 +886,7 @@ static void adjustStatusWindow(Window sh } } } -#endif /* __linux__ || MACOSX */ +#endif /* __linux__ || MACOSX || __GLIBC__ */ /* * Creates two XICs, one for active clients and the other for passive * clients. All information on those XICs are stored in the @@ -929,7 +929,7 @@ createXIC(JNIEnv * env, X11InputMethodDa return FALSE ; } -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) on_the_spot_styles |= XIMStatusNothing; /*kinput does not support XIMPreeditCallbacks and XIMStatusArea @@ -942,9 +942,9 @@ createXIC(JNIEnv * env, X11InputMethodDa break; } } -#else /*! __linux__ && !MACOSX */ +#else /*! __linux__ && !MACOSX && !__GLIBC__ */ on_the_spot_styles |= XIMStatusNothing; -#endif /* __linux__ || MACOSX */ +#endif /* __linux__ || MACOSX || __GLIBC__ */ for (i = 0; i < im_styles->count_styles; i++) { active_styles |= im_styles->supported_styles[i] & on_the_spot_styles; @@ -998,7 +998,7 @@ createXIC(JNIEnv * env, X11InputMethodDa NULL); if (preedit == (XVaNestedList)NULL) goto err; -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) /*always try XIMStatusCallbacks for active client...*/ { status = (XVaNestedList)XVaCreateNestedList(0, @@ -1020,7 +1020,7 @@ createXIC(JNIEnv * env, X11InputMethodDa XFree((void *)status); XFree((void *)preedit); } -#else /* !__linux__ && !MACOSX */ +#else /* !__linux__ && !MACOSX && !__GLIBC__ */ pX11IMData->ic_active = XCreateIC(X11im, XNClientWindow, w, XNFocusWindow, w, @@ -1028,7 +1028,7 @@ createXIC(JNIEnv * env, X11InputMethodDa XNPreeditAttributes, preedit, NULL); XFree((void *)preedit); -#endif /* __linux__ || MACOSX */ +#endif /* __linux__ || MACOSX || __GLIBC__ */ } else { pX11IMData->ic_active = XCreateIC(X11im, XNClientWindow, w, @@ -1188,7 +1188,7 @@ PreeditCaretCallback(XIC ic, XPointer cl } -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) static void StatusStartCallback(XIC ic, XPointer client_data, XPointer call_data) { @@ -1256,7 +1256,7 @@ StatusDrawCallback(XIC ic, XPointer clie finally: AWT_UNLOCK(); } -#endif /* __linux__ || MACOSX */ +#endif /* __linux__ || MACOSX || __GLIBC__ */ static void CommitStringCallback(XIC ic, XPointer client_data, XPointer call_data) { JNIEnv *env = GetJNIEnv(); @@ -1353,14 +1353,14 @@ Java_sun_awt_X11_XInputMethod_openXIMNat /* Use IMInstantiate call back only on Linux, as there is a bug in Solaris (4768335) */ -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) registered = XRegisterIMInstantiateCallback(dpy, NULL, NULL, NULL, (XIDProc)OpenXIMCallback, NULL); if (!registered) { /* directly call openXIM callback */ #endif OpenXIMCallback(dpy, NULL, NULL); -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) } #endif @@ -1395,9 +1395,9 @@ Java_sun_awt_X11_XInputMethod_createXICN globalRef = (*env)->NewGlobalRef(env, this); pX11IMData->x11inputmethod = globalRef; -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) pX11IMData->statusWindow = NULL; -#endif /* __linux__ || MACOSX */ +#endif /* __linux__ || MACOSX || __GLIBC__ */ pX11IMData->lookup_buf = 0; pX11IMData->lookup_buf_len = 0; @@ -1447,14 +1447,14 @@ Java_sun_awt_X11_XInputMethod_setXICFocu setXICFocus(pX11IMData->current_ic, req); currentX11InputMethodInstance = pX11IMData->x11inputmethod; currentFocusWindow = w; -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) if (active && pX11IMData->statusWindow && pX11IMData->statusWindow->on) onoffStatusWindow(pX11IMData, w, True); #endif } else { currentX11InputMethodInstance = NULL; currentFocusWindow = 0; -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) onoffStatusWindow(pX11IMData, 0, False); if (pX11IMData->current_ic != NULL) #endif @@ -1471,7 +1471,7 @@ JNIEXPORT void JNICALL Java_sun_awt_X11InputMethod_turnoffStatusWindow(JNIEnv *env, jobject this) { -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) X11InputMethodData *pX11IMData; StatusWindow *statusWindow; @@ -1639,7 +1639,7 @@ JNIEXPORT jboolean JNICALL Java_sun_awt_ JNIEXPORT void JNICALL Java_sun_awt_X11_XInputMethod_adjustStatusWindow (JNIEnv *env, jobject this, jlong window) { -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) AWT_LOCK(); adjustStatusWindow(window); AWT_UNLOCK(); Index: b/jdk/src/solaris/native/sun/awt/fontpath.c =================================================================== --- a/jdk/src/solaris/native/sun/awt/fontpath.c +++ b/jdk/src/solaris/native/sun/awt/fontpath.c @@ -23,9 +23,9 @@ * questions. */ -#if defined(__linux__) +#if defined(__linux__) || defined(__GLIBC__) #include -#endif /* __linux__ */ +#endif /* __linux__ || __GLIBC__ */ #include #include #include Index: b/jdk/src/solaris/native/sun/awt/awt_Robot.c =================================================================== --- a/jdk/src/solaris/native/sun/awt/awt_Robot.c +++ b/jdk/src/solaris/native/sun/awt/awt_Robot.c @@ -45,7 +45,7 @@ #include "wsutils.h" #include "list.h" #include "multiVis.h" -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) #include #endif Index: b/jdk/src/solaris/native/sun/java2d/j2d_md.h =================================================================== --- a/jdk/src/solaris/native/sun/java2d/j2d_md.h +++ b/jdk/src/solaris/native/sun/java2d/j2d_md.h @@ -30,7 +30,8 @@ /* * Linux and MACOSX's version of does not define intptr_t */ -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) + #include #endif /* __linux__ || MACOSX */ Index: b/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c =================================================================== --- a/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c +++ b/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c @@ -804,7 +804,7 @@ static AnyFunc* hash_table_vis[HASH_SIZE static int initialized; static int usevis = JNI_TRUE; -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) # define ULTRA_CHIP "sparc64" #else # define ULTRA_CHIP "sun4u" Index: b/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c =================================================================== --- a/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c +++ b/jdk/src/solaris/native/sun/net/dns/ResolverConfigurationImpl.c @@ -33,7 +33,7 @@ #include #endif -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) #include #endif Index: b/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c =================================================================== --- a/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c +++ b/jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c @@ -32,7 +32,7 @@ #include #include #include -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) #include #else #include Index: b/jdk/src/solaris/native/sun/xawt/XToolkit.c =================================================================== --- a/jdk/src/solaris/native/sun/xawt/XToolkit.c +++ b/jdk/src/solaris/native/sun/xawt/XToolkit.c @@ -27,7 +27,7 @@ #include #include #include -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) #include #endif @@ -799,7 +799,7 @@ JNIEXPORT jstring JNICALL Java_sun_awt_X return ret; } -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) void print_stack(void) { void *array[10]; Index: b/jdk/src/solaris/native/java/nio/MappedByteBuffer.c =================================================================== --- a/jdk/src/solaris/native/java/nio/MappedByteBuffer.c +++ b/jdk/src/solaris/native/java/nio/MappedByteBuffer.c @@ -40,7 +40,7 @@ Java_java_nio_MappedByteBuffer_isLoaded0 int result = 0; int i = 0; void *a = (void *) jlong_to_ptr(address); -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) unsigned char *vec = (unsigned char *)malloc(numPages * sizeof(char)); #else char *vec = (char *)malloc(numPages * sizeof(char)); Index: b/jdk/src/solaris/native/java/util/TimeZone_md.c =================================================================== --- a/jdk/src/solaris/native/java/util/TimeZone_md.c +++ b/jdk/src/solaris/native/java/util/TimeZone_md.c @@ -55,7 +55,7 @@ #define fileclose fclose #endif -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) static const char *ETC_TIMEZONE_FILE = "/etc/timezone"; static const char *ZONEINFO_DIR = "/usr/share/zoneinfo"; static const char *DEFAULT_ZONEINFO_FILE = "/etc/localtime"; @@ -69,7 +69,7 @@ static const char *DEFAULT_ZONEINFO_FILE static const char *ETC_ENVIRONMENT_FILE = "/etc/environment"; #endif -#if defined(__linux__) || defined(MACOSX) || defined(__solaris__) +#if defined(__linux__) || defined(MACOSX) || defined(__solaris__) || defined(__GLIBC__) /* * Returns a pointer to the zone ID portion of the given zoneinfo file @@ -215,7 +215,7 @@ findZoneinfoFile(char *buf, size_t size, return tz; } -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(MACOSX) || defined(__GLIBC__) /* * Performs Linux specific mapping and returns a zone ID @@ -231,7 +231,7 @@ getPlatformTimeZoneID() char *buf; size_t size; -#if defined(__linux__) +#ifdef __linux__ || defined(__GLIBC__) /* * Try reading the /etc/timezone file for Debian distros. There's * no spec of the file format available. This parsing assumes that @@ -771,7 +771,7 @@ findJavaTZ_md(const char *java_home_dir) if (*tz == ':') { tz++; } -#if defined(__linux__) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) /* Ignore "posix/" prefix on Linux. */ if (strncmp(tz, "posix/", 6) == 0) { tz += 6; Index: b/jdk/src/solaris/native/java/io/io_util_md.c =================================================================== --- a/jdk/src/solaris/native/java/io/io_util_md.c +++ b/jdk/src/solaris/native/java/io/io_util_md.c @@ -99,7 +99,7 @@ fileOpen(JNIEnv *env, jobject this, jstr WITH_PLATFORM_STRING(env, path, ps) { FD fd; -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) /* Remove trailing slashes, since the kernel won't */ char *p = (char *)ps + strlen(ps) - 1; while ((p > ps) && (*p == '/')) Index: b/jdk/src/solaris/native/java/lang/locale_str.h =================================================================== --- a/jdk/src/solaris/native/java/lang/locale_str.h +++ b/jdk/src/solaris/native/java/lang/locale_str.h @@ -48,7 +48,7 @@ "gl", "gl_ES", "he", "iw_IL", "hr", "hr_HR", -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) "hs", "en_US", // used on Linux, not clear what it stands for #endif "hu", "hu_HU", @@ -78,14 +78,14 @@ "sv", "sv_SE", "th", "th_TH", "tr", "tr_TR", -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) "ua", "en_US", // used on Linux, not clear what it stands for #endif "uk", "uk_UA", "vi", "vi_VN", "wa", "wa_BE", "zh", "zh_CN", -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) "bokmal", "nb_NO", "bokm\xE5l", "nb_NO", "catalan", "ca_ES", @@ -146,13 +146,13 @@ static char *language_names[] = { "POSIX", "en", "cz", "cs", "he", "iw", -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) "hs", "en", // used on Linux, not clear what it stands for #endif "id", "in", "sh", "sr", // sh is deprecated "su", "fi", -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) "ua", "en", // used on Linux, not clear what it stands for "catalan", "ca", "croatian", "hr", @@ -195,7 +195,7 @@ static char *language_names[] = { * Linux/Solaris script string to Java script name mapping table. */ static char *script_names[] = { -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) "cyrillic", "Cyrl", "devanagari", "Deva", "iqtelif", "Latn", @@ -208,7 +208,7 @@ static char *script_names[] = { * Linux/Solaris country string to ISO3166 string mapping table. */ static char *country_names[] = { -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) "RN", "US", // used on Linux, not clear what it stands for #endif "YU", "CS", // YU has been removed from ISO 3166 Index: b/jdk/src/solaris/native/java/lang/UNIXProcess_md.c =================================================================== --- a/jdk/src/solaris/native/java/lang/UNIXProcess_md.c +++ b/jdk/src/solaris/native/java/lang/UNIXProcess_md.c @@ -397,7 +397,7 @@ __attribute_noinline__ #ifdef START_CHILD_USE_CLONE static pid_t cloneChild(ChildStuff *c) { -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) #define START_CHILD_CLONE_STACK_SIZE (64 * 1024) /* * See clone(2). Index: b/jdk/src/solaris/native/java/lang/java_props_md.c =================================================================== --- a/jdk/src/solaris/native/java/lang/java_props_md.c +++ b/jdk/src/solaris/native/java/lang/java_props_md.c @@ -23,7 +23,7 @@ * questions. */ -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) #include #include #endif @@ -57,7 +57,7 @@ #include "java_props.h" #if !defined(_ALLBSD_SOURCE) -#ifdef __linux__ +#ifdef __linux__ || defined(__GLIBC__) #ifndef CODESET #define CODESET _NL_CTYPE_CODESET_NAME #endif @@ -151,7 +151,7 @@ static int ParseLocale(JNIEnv* env, int lc = setlocale(cat, NULL); #endif -#ifndef __linux__ +#if !defined(__linux__) && !defined(__GLIBC__) if (lc == NULL) { return 0; } @@ -331,7 +331,7 @@ static int ParseLocale(JNIEnv* env, int * in order to use optimizations. */ *std_encoding = (*p != '\0') ? p : "ISO8859-1"; -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) /* * Remap the encoding string to a different value for japanese * locales on linux so that customized converters are used instead @@ -559,7 +559,7 @@ GetJavaProperties(JNIEnv *env) sprops.unicode_encoding = "UnicodeBig"; #endif #else /* !_ALLBSD_SOURCE */ -#ifdef __linux__ +#ifdef __linux__ || defined(__GLIBC__) #if __BYTE_ORDER == __LITTLE_ENDIAN sprops.unicode_encoding = "UnicodeLittle"; #else Index: b/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c =================================================================== --- a/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c +++ b/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c @@ -39,7 +39,7 @@ #define BSD_COMP #endif #endif -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) #include #include #include @@ -299,7 +299,7 @@ Java_java_net_PlainDatagramSocketImpl_di /* The fdObj'fd */ jint fd; -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) SOCKADDR addr; int len; #endif @@ -309,19 +309,26 @@ Java_java_net_PlainDatagramSocketImpl_di } fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID); -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) memset(&addr, 0, sizeof(addr)); #ifdef AF_INET6 if (ipv6_available()) { struct sockaddr_in6 *him6 = (struct sockaddr_in6 *)&addr; +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + him6->sin6_family = AF_INET6; +#else him6->sin6_family = AF_UNSPEC; +#endif len = sizeof(struct sockaddr_in6); } else #endif { struct sockaddr_in *him4 = (struct sockaddr_in*)&addr; +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) him4->sin_family = AF_UNSPEC; +#else len = sizeof(struct sockaddr_in); +#endif } JVM_Connect(fd, (struct sockaddr *)&addr, len); Index: b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c =================================================================== --- a/jdk/src/solaris/native/java/net/Inet6AddressImpl.c +++ b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c @@ -75,7 +75,7 @@ Java_java_net_Inet6AddressImpl_getLocalH } else { // ensure null-terminated hostname[NI_MAXHOST] = '\0'; -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) /* On Linux/FreeBSD gethostname() says "host.domain.sun.com". On * Solaris gethostname() says "host", so extra work is needed. */ @@ -805,7 +805,7 @@ Java_java_net_Inet6AddressImpl_isReachab case ENETUNREACH: /* Network Unreachable */ case EAFNOSUPPORT: /* Address Family not supported */ case EADDRNOTAVAIL: /* address is not available on the remote machine */ -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) case EINVAL: case EHOSTUNREACH: /* Index: b/jdk/src/solaris/native/java/net/Inet4AddressImpl.c =================================================================== --- a/jdk/src/solaris/native/java/net/Inet4AddressImpl.c +++ b/jdk/src/solaris/native/java/net/Inet4AddressImpl.c @@ -645,7 +645,7 @@ ping4(JNIEnv *env, jint fd, struct socka n = sendto(fd, sendbuf, plen, 0, (struct sockaddr *)him, sizeof(struct sockaddr)); if (n < 0 && errno != EINPROGRESS ) { -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) if (errno != EINVAL && errno != EHOSTUNREACH) /* * On some Linux versions, when a socket is bound to the loopback @@ -811,7 +811,7 @@ Java_java_net_Inet4AddressImpl_isReachab case ENETUNREACH: /* Network Unreachable */ case EAFNOSUPPORT: /* Address Family not supported */ case EADDRNOTAVAIL: /* address is not available on the remote machine */ -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) case EINVAL: case EHOSTUNREACH: /* Index: b/jdk/src/solaris/native/java/net/NetworkInterface.c =================================================================== --- a/jdk/src/solaris/native/java/net/NetworkInterface.c +++ b/jdk/src/solaris/native/java/net/NetworkInterface.c @@ -63,17 +63,17 @@ #define _PATH_PROCNET_IFINET6 "/proc/net/if_inet6" #endif -#if defined(_ALLBSD_SOURCE) +#if defined(_ALLBSD_SOURCE) || defined(__FreeBSD_kernel__) #include #include #include -#if defined(__APPLE__) +#if defined(__APPLE__) || defined(__FreeBSD_kernel__) #include #include #include #include -#include #endif +#include #endif #include "jvm.h" @@ -1821,7 +1821,11 @@ static int getMacAddress(JNIEnv *env, in * try the old way. */ memset(&lif, 0, sizeof(lif)); +#if defined(__FreeBSD_kernel__) + strcpy(lif.lifr_name, ifname); +#else strlcpy(lif.lifr_name, ifname, sizeof(lif.lifr_name)); +#endif if (ioctl(sock, SIOCGLIFHWADDR, &lif) != -1) { struct sockaddr_dl *sp; @@ -1907,7 +1911,7 @@ static int getFlags(int sock, const char /** BSD **/ -#ifdef _ALLBSD_SOURCE +#if defined(_ALLBSD_SOURCE) || defined(__FreeBSD_kernel__) /* Open socket for further ioct calls, try v4 socket first and * if it falls return v6 socket */ @@ -2036,7 +2040,11 @@ static netif *enumIPv6Interfaces(JNIEnv continue; memset(&ifr6, 0, sizeof(ifr6)); +#if defined(__FreeBSD_kernel__) + strcpy(ifr6.ifr_name, ifa->ifa_name); +#else strlcpy(ifr6.ifr_name, ifa->ifa_name, sizeof(ifr6.ifr_name)); +#endif memcpy(&ifr6.ifr_addr, ifa->ifa_addr, MIN(sizeof(ifr6.ifr_addr), ifa->ifa_addr->sa_len)); if (ioctl(sock, SIOCGIFNETMASK_IN6, (caddr_t)&ifr6) < 0) { Index: b/jdk/src/solaris/native/java/net/net_util_md.c =================================================================== --- a/jdk/src/solaris/native/java/net/net_util_md.c +++ b/jdk/src/solaris/native/java/net/net_util_md.c @@ -56,6 +56,11 @@ #include #include +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +#include +#include +#endif + #ifndef IPV6_FLOWINFO_SEND #define IPV6_FLOWINFO_SEND 33 #endif Index: b/jdk/src/solaris/native/java/net/PlainSocketImpl.c =================================================================== --- a/jdk/src/solaris/native/java/net/PlainSocketImpl.c +++ b/jdk/src/solaris/native/java/net/PlainSocketImpl.c @@ -32,7 +32,7 @@ #endif #include /* Defines TCP_NODELAY, needed for 2.6 */ #include -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) #include #endif #include @@ -41,7 +41,7 @@ #ifdef __solaris__ #include #endif -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) #include #endif @@ -467,7 +467,7 @@ Java_java_net_PlainSocketImpl_socketConn /* report the appropriate exception */ if (connect_rv < 0) { -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) /* * Linux/GNU distribution setup /etc/hosts so that * InetAddress.getLocalHost gets back the loopback address Index: b/jdk/src/solaris/native/java/net/net_util_md.h =================================================================== --- a/jdk/src/solaris/native/java/net/net_util_md.h +++ b/jdk/src/solaris/native/java/net/net_util_md.h @@ -47,7 +47,7 @@ close subroutine does not return until the select call returns. ... */ -#if defined(__linux__) || defined(MACOSX) || defined (_AIX) +#if defined(__linux__) || defined(MACOSX) || defined (_AIX) || defined(__GLIBC__) extern int NET_Timeout(int s, long timeout); extern int NET_Read(int s, void* buf, size_t len); extern int NET_RecvFrom(int s, void *buf, int len, unsigned int flags, @@ -179,7 +179,7 @@ extern jint NET_Wait(JNIEnv *env, jint f /************************************************************************ * Utilities */ -#ifdef __linux__ +#if defined(__linux__) extern int kernelIsV24(); #endif Index: b/jdk/src/solaris/classes/sun/font/FcFontConfiguration.java =================================================================== --- a/jdk/src/solaris/classes/sun/font/FcFontConfiguration.java +++ b/jdk/src/solaris/classes/sun/font/FcFontConfiguration.java @@ -306,7 +306,7 @@ public class FcFontConfiguration extends super.setOsNameAndVersion(); - if (!osName.equals("Linux")) { + if (!(osName.equals("Linux") || osName.equals("GNU/kFreeBSD"))) { return; } try { Index: b/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java =================================================================== --- a/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java +++ b/jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java @@ -161,6 +161,7 @@ public class UnixPrintServiceLookup exte static boolean isBSD() { return (osname.equals("Linux") || + osname.equals("GNU/kFreeBSD") || osname.contains("OS X")); } Index: b/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java =================================================================== --- a/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java +++ b/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java @@ -102,9 +102,7 @@ class LinuxFileStore LinuxNativeDispatcher.fgetxattr(fd, name, 0L, 0); return true; } catch (UnixException e) { - // attribute does not exist - if (e.errno() == UnixConstants.ENODATA) - return true; + return false; } finally { UnixNativeDispatcher.close(fd); } Index: b/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java =================================================================== --- a/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java +++ b/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java @@ -238,9 +238,6 @@ class LinuxDosFileAttributeView } throw new UnixException("Value of " + DOS_XATTR_NAME + " attribute is invalid"); } catch (UnixException x) { - // default value when attribute does not exist - if (x.errno() == ENODATA) - return 0; throw x; } finally { buffer.release(); Index: b/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java =================================================================== --- a/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java +++ b/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java @@ -61,6 +61,8 @@ public class DefaultFileSystemProvider { return createProvider("sun.nio.fs.SolarisFileSystemProvider"); if (osname.equals("Linux")) return createProvider("sun.nio.fs.LinuxFileSystemProvider"); + if (osname.equals("GNU/kFreeBSD")) + return createProvider("sun.nio.fs.BsdFileSystemProvider"); if (osname.contains("OS X")) return createProvider("sun.nio.fs.MacOSXFileSystemProvider"); if (osname.equals("AIX")) Index: b/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java =================================================================== --- a/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java +++ b/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java @@ -64,7 +64,7 @@ public class DefaultAsynchronousChannelP .doPrivileged(new GetPropertyAction("os.name")); if (osname.equals("SunOS")) return createProvider("sun.nio.ch.SolarisAsynchronousChannelProvider"); - if (osname.equals("Linux")) + if (osname.equals("Linux") || osname.equals("GNU/kFreeBSD")) return createProvider("sun.nio.ch.LinuxAsynchronousChannelProvider"); if (osname.contains("OS X")) return createProvider("sun.nio.ch.BsdAsynchronousChannelProvider"); Index: b/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java =================================================================== --- a/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java +++ b/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java @@ -74,7 +74,7 @@ class XScrollbarPeer extends XComponentP * Currently uses hardcoded values */ private int getDefaultDimension() { - if (System.getProperty("os.name").equals("Linux")) { + if (System.getProperty("os.name").equals("Linux") || System.getProperty("os.name").equals("GNU/kFreeBSD")) { return DEFAULT_WIDTH_LINUX; } else { return DEFAULT_WIDTH_SOLARIS; Index: b/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h =================================================================== --- a/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h +++ b/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h @@ -61,7 +61,7 @@ #define log1p jlog1p #define expm1 jexpm1 -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(__GLIBC__) #define __ieee754_sqrt __j__ieee754_sqrt #define __ieee754_acos __j__ieee754_acos #define __ieee754_log __j__ieee754_log Index: b/jdk/src/share/classes/sun/font/FontUtilities.java =================================================================== --- a/jdk/src/share/classes/sun/font/FontUtilities.java +++ b/jdk/src/share/classes/sun/font/FontUtilities.java @@ -76,7 +76,7 @@ public final class FontUtilities { String osName = System.getProperty("os.name", "unknownOS"); isSolaris = osName.startsWith("SunOS"); - isLinux = osName.startsWith("Linux"); + isLinux = osName.startsWith("Linux") || osName.equals("GNU/kFreeBSD"); isMacOSX = osName.contains("OS X"); // TODO: MacOSX Index: b/jdk/src/share/classes/sun/print/PSPrinterJob.java =================================================================== --- a/jdk/src/share/classes/sun/print/PSPrinterJob.java +++ b/jdk/src/share/classes/sun/print/PSPrinterJob.java @@ -1587,7 +1587,9 @@ public class PSPrinterJob extends Raster } String osname = System.getProperty("os.name"); - if (osname.equals("Linux") || osname.contains("OS X")) { + if (osname.equals("Linux") || + osname.equals("GNU/kFreeBSD") || + osname.contains("OS X")) { execCmd = new String[ncomps]; execCmd[n++] = "/usr/bin/lpr"; if ((pFlags & PRINTER) != 0) { Index: b/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java =================================================================== --- a/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java +++ b/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java @@ -1306,6 +1306,7 @@ public class ExtendedCharsets String osName = AccessController.doPrivileged( new GetPropertyAction("os.name")); if ("SunOS".equals(osName) || "Linux".equals(osName) || "AIX".equals(osName) + || "GNU/kFreeBSD".equals(osName) || osName.contains("OS X")) { charset("x-COMPOUND_TEXT", "COMPOUND_TEXT", new String[] { Index: b/jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java =================================================================== --- a/jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java +++ b/jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java @@ -49,6 +49,7 @@ public class GSSManagerImpl extends GSSM String osname = System.getProperty("os.name"); if (osname.startsWith("SunOS") || osname.contains("OS X") || + osname.startsWith("GNU/kFreeBSD") || osname.startsWith("Linux")) { return new Boolean(System.getProperty (USE_NATIVE_PROP)); Index: b/jdk/src/solaris/native/sun/net/portconfig.c =================================================================== --- a/jdk/src/solaris/native/sun/net/portconfig.c +++ b/jdk/src/solaris/native/sun/net/portconfig.c @@ -28,7 +28,7 @@ #include #include -#if defined(_ALLBSD_SOURCE) +#if defined(_ALLBSD_SOURCE) || defined (__FreeBSD_kernel__) #include #endif @@ -67,7 +67,7 @@ static int getPortRange(struct portrange range->lower = net_getParam("/dev/tcp", "tcp_smallest_anon_port"); return 0; } -#elif defined(_ALLBSD_SOURCE) +#elif defined(_ALLBSD_SOURCE) || defined (__FreeBSD_kernel__) { int ret; size_t size = sizeof(range->lower); Index: b/jdk/src/solaris/classes/sun/net/PortConfig.java =================================================================== --- a/jdk/src/solaris/classes/sun/net/PortConfig.java +++ b/jdk/src/solaris/classes/sun/net/PortConfig.java @@ -63,6 +63,9 @@ public final class PortConfig { // /usr/sbin/no -a | fgrep ephemeral defaultLower = 32768; defaultUpper = 65535; + } else if (os.contains("FreeBSD")) { + defaultLower = 10000; + defaultUpper = 65535; } else { throw new InternalError( "sun.net.PortConfig: unknown OS"); Index: b/jdk/src/share/classes/java/awt/GraphicsEnvironment.java =================================================================== --- a/jdk/src/share/classes/java/awt/GraphicsEnvironment.java +++ b/jdk/src/share/classes/java/awt/GraphicsEnvironment.java @@ -180,6 +180,7 @@ public abstract class GraphicsEnvironmen ("Linux".equals(osName) || "SunOS".equals(osName) || "FreeBSD".equals(osName) || + "GNU/kFreeBSD".equals(osName) || "NetBSD".equals(osName) || "OpenBSD".equals(osName) || "AIX".equals(osName)) && Index: b/jdk/make/mapfiles/libattach/mapfile-bsd =================================================================== --- /dev/null +++ b/jdk/make/mapfiles/libattach/mapfile-bsd @@ -0,0 +1,41 @@ +# +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Define public interface. + +SUNWprivate_1.1 { + global: + Java_sun_tools_attach_BsdVirtualMachine_checkPermissions; + Java_sun_tools_attach_BsdVirtualMachine_close; + Java_sun_tools_attach_BsdVirtualMachine_connect; + Java_sun_tools_attach_BsdVirtualMachine_createAttachFile; + Java_sun_tools_attach_BsdVirtualMachine_getTempDir; + Java_sun_tools_attach_BsdVirtualMachine_sendQuitTo; + Java_sun_tools_attach_BsdVirtualMachine_socket; + Java_sun_tools_attach_BsdVirtualMachine_read; + Java_sun_tools_attach_BsdVirtualMachine_write; + local: + *; +}; Index: b/jdk/make/lib/ServiceabilityLibraries.gmk =================================================================== --- a/jdk/make/lib/ServiceabilityLibraries.gmk +++ b/jdk/make/lib/ServiceabilityLibraries.gmk @@ -34,7 +34,7 @@ endif ifneq ($(OPENJDK_TARGET_OS), linux) LIBATTACH_EXCLUDE_FILES += LinuxVirtualMachine.c endif -ifneq ($(OPENJDK_TARGET_OS), macosx) +ifeq (,$(findstring $(OPENJDK_TARGET_OS), bsd macosx)) LIBATTACH_EXCLUDE_FILES += BsdVirtualMachine.c endif ifneq ($(OPENJDK_TARGET_OS),aix) @@ -160,6 +160,7 @@ $(eval $(call SetupNativeCompilation,BUI LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX_linux := $(LIBDL), \ + LDFLAGS_SUFFIX_bsd := $(LIBDL), \ LDFLAGS_SUFFIX_solaris := $(LIBDL) -lc, \ LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX), \ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ @@ -189,6 +190,7 @@ $(eval $(call SetupNativeCompilation,BUI LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX_linux := $(LIBDL), \ + LDFLAGS_SUFFIX_bsd := $(LIBDL), \ LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL), \ LDFLAGS_SUFFIX_macosx := $(LIBDL), \ LDFLAGS_SUFFIX_solaris := -lc, \ @@ -260,6 +262,7 @@ $(eval $(call SetupNativeCompilation,BUI $(call SET_SHARED_LIBRARY_ORIGIN) \ $(LIBINSTRUMENT_LDFLAGS), \ LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \ + LDFLAGS_bsd := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \ LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \ LDFLAGS_macosx := -Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \ -framework Cocoa -framework Security -framework ApplicationServices, \ @@ -267,6 +270,7 @@ $(eval $(call SetupNativeCompilation,BUI LDFLAGS_SUFFIX_macosx := -liconv $(LIBZ), \ LDFLAGS_SUFFIX_solaris := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc, \ LDFLAGS_SUFFIX_linux := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL), \ + LDFLAGS_SUFFIX_bsd := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL), \ LDFLAGS_SUFFIX_aix := $(LIBZ) -L$(JDK_OUTPUTDIR)/objs -ljli_static $(LIBDL),\ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ RC_FLAGS := $(RC_FLAGS) \ @@ -379,6 +383,7 @@ $(eval $(call SetupNativeCompilation,BUI $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_windows := wsock32.lib winmm.lib advapi32.lib, \ LDFLAGS_SUFFIX_linux := $(LIBDL), \ + LDFLAGS_SUFFIX_bsd := $(LIBDL), \ LDFLAGS_SUFFIX_macosx := $(LIBDL), \ LDFLAGS_SUFFIX_solaris := -lsocket -lnsl $(LIBDL) -lc, \ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ Index: b/jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider =================================================================== --- a/jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider +++ b/jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider @@ -31,4 +31,5 @@ #[windows]sun.tools.attach.WindowsAttachProvider #[linux]sun.tools.attach.LinuxAttachProvider #[macosx]sun.tools.attach.BsdAttachProvider +#[bsd]sun.tools.attach.BsdAttachProvider #[aix]sun.tools.attach.AixAttachProvider Index: b/jdk/make/CompileJavaClasses.gmk =================================================================== --- a/jdk/make/CompileJavaClasses.gmk +++ b/jdk/make/CompileJavaClasses.gmk @@ -135,16 +135,22 @@ ifneq ($(OPENJDK_TARGET_OS), linux) endif ifneq ($(OPENJDK_TARGET_OS), macosx) + EXFILES += sun/nio/fs/MacOSXFileSystemProvider.java \ + sun/nio/fs/MacOSXFileSystem.java \ + sun/nio/fs/MacOSXNativeDispatcher.java +endif + +ifeq (, $(filter $(OPENJDK_TARGET_OS), bsd macosx)) EXFILES += sun/nio/ch/BsdAsynchronousChannelProvider.java \ sun/nio/ch/KQueue.java \ + sun/nio/ch/KQueueArrayWrapper.java \ sun/nio/ch/KQueuePort.java \ + sun/nio/ch/KQueueSelectorImpl.java \ + sun/nio/ch/KQueueSelectorProvider.java \ sun/nio/fs/BsdFileStore.java \ sun/nio/fs/BsdFileSystem.java \ sun/nio/fs/BsdFileSystemProvider.java \ sun/nio/fs/BsdNativeDispatcher.java \ - sun/nio/fs/MacOSXFileSystemProvider.java \ - sun/nio/fs/MacOSXFileSystem.java \ - sun/nio/fs/MacOSXNativeDispatcher.java \ sun/tools/attach/BsdAttachProvider.java \ sun/tools/attach/BsdVirtualMachine.java endif Index: b/jdk/src/solaris/native/sun/management/OperatingSystemImpl.c =================================================================== --- a/jdk/src/solaris/native/sun/management/OperatingSystemImpl.c +++ b/jdk/src/solaris/native/sun/management/OperatingSystemImpl.c @@ -352,7 +352,13 @@ Java_sun_management_OperatingSystemImpl_ size_t rlen; mib[0] = CTL_HW; +#if defined (HW_MEMSIZE) // Apple mib[1] = HW_MEMSIZE; +#elif defined(HW_PHYSMEM) // Most of BSD + mib[1] = HW_PHYSMEM; +#else + #error No ways to get physmem +#endif rlen = sizeof(result); if (sysctl(mib, 2, &result, &rlen, NULL, 0) != 0) { throw_internal_error(env, "sysctl failed"); Index: b/jdk/make/lib/SoundLibraries.gmk =================================================================== --- a/jdk/make/lib/SoundLibraries.gmk +++ b/jdk/make/lib/SoundLibraries.gmk @@ -71,6 +71,11 @@ ifeq ($(OPENJDK_TARGET_OS), linux) LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX endif # OPENJDK_TARGET_OS linux +ifeq ($(OPENJDK_TARGET_OS), bsd) + EXTRA_SOUND_JNI_LIBS += jsoundalsa + LIBJSOUND_CFLAGS += -DX_PLATFORM=X_BSD +endif # OPENJDK_TARGET_OS bsd + ifeq ($(OPENJDK_TARGET_OS), aix) LIBJSOUND_CFLAGS += -DX_PLATFORM=X_AIX endif # OPENJDK_TARGET_OS aix Index: b/jdk/make/lib/CoreLibraries.gmk =================================================================== --- a/jdk/make/lib/CoreLibraries.gmk +++ b/jdk/make/lib/CoreLibraries.gmk @@ -199,6 +199,7 @@ $(eval $(call SetupNativeCompilation,BUI LDFLAGS_SUFFIX_posix := -ljvm -lverify, \ LDFLAGS_SUFFIX_solaris := -lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc, \ LDFLAGS_SUFFIX_linux := $(LIBDL) $(BUILD_LIBFDLIBM), \ + LDFLAGS_SUFFIX_bsd := $(LIBDL) $(BUILD_LIBFDLIBM), \ LDFLAGS_SUFFIX_aix := $(LIBDL) $(BUILD_LIBFDLIBM) -lm,\ LDFLAGS_SUFFIX_macosx := -L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \ -framework CoreFoundation \ @@ -268,6 +269,7 @@ $(eval $(call SetupNativeCompilation,BUI -export:ZIP_ReadEntry -export:ZIP_GetNextEntry -export:ZIP_CRC32 jvm.lib \ $(WIN_JAVA_LIB), \ LDFLAGS_SUFFIX_linux := -ljvm -ljava $(LIBZ), \ + LDFLAGS_SUFFIX_bsd := -ljvm -ljava $(LIBZ), \ LDFLAGS_SUFFIX_solaris := -ljvm -ljava $(LIBZ) -lc, \ LDFLAGS_SUFFIX_aix := -ljvm -ljava $(LIBZ),\ LDFLAGS_SUFFIX_macosx := $(LIBZ) -ljava -ljvm, \ @@ -414,10 +416,12 @@ $(eval $(call SetupNativeCompilation,BUI LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ + LDFLAGS_bsd := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ LDFLAGS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \ LDFLAGS_SUFFIX_solaris := $(LIBZ) $(LIBDL) -lc, \ LDFLAGS_SUFFIX_linux := $(LIBZ) $(LIBDL) -lc -lpthread, \ + LDFLAGS_SUFFIX_bsd := $(LIBZ) $(LIBDL) -lc -pthread, \ LDFLAGS_SUFFIX_aix := $(LIBZ) $(LIBDL),\ LDFLAGS_SUFFIX_macosx := $(LIBZ), \ LDFLAGS_SUFFIX_windows := \ Index: b/jdk/make/lib/NioLibraries.gmk =================================================================== --- a/jdk/make/lib/NioLibraries.gmk +++ b/jdk/make/lib/NioLibraries.gmk @@ -77,6 +77,24 @@ ifeq ($(OPENJDK_TARGET_OS), linux) UnixNativeDispatcher.c endif +ifeq ($(OPENJDK_TARGET_OS), bsd) + BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) +# BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/bsd/native/sun/nio/ch + BUILD_LIBNIO_FILES += \ + BsdNativeDispatcher.c \ + GnomeFileTypeDetector.c \ + InheritedChannel.c \ + KQueue.c \ + KQueueArrayWrapper.c \ + KQueuePort.c \ + NativeThread.c \ + PollArrayWrapper.c \ + UnixAsynchronousServerSocketChannelImpl.c \ + UnixAsynchronousSocketChannelImpl.c \ + UnixCopyFile.c \ + UnixNativeDispatcher.c +endif + ifeq ($(OPENJDK_TARGET_OS), macosx) BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch @@ -143,6 +161,7 @@ $(eval $(call SetupNativeCompilation,BUI LDFLAGS := $(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX_linux := -ljava -lnet -lpthread $(LIBDL), \ + LDFLAGS_SUFFIX_bsd := -ljava -lnet -lpthread $(LIBDL), \ LDFLAGS_SUFFIX_aix := -ljava -lnet $(LIBDL),\ LDFLAGS_SUFFIX_solaris := -ljvm -lsocket -lposix4 $(LIBDL) \ -lsendfile -ljava -lnet -lc, \ @@ -192,6 +211,7 @@ ifeq ($(OPENJDK_TARGET_OS_API), posix) LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX_linux := -lpthread $(LIBDL) -ljava -ljvm, \ + LDFLAGS_SUFFIX_bsd := -lpthread $(LIBDL) -ljava -ljvm, \ LDFLAGS_SUFFIX_posix := -lnio -lnet, \ LDFLAGS_SUFFIX_solaris := -lsocket -ljava -ljvm -lc, \ LDFLAGS_SUFFIX_macosx := -ljava -ljvm, \ Index: b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c =================================================================== --- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c +++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c @@ -675,6 +675,7 @@ int xrun_recovery(AlsaPcmInfo* info, int return -1; } return 1; +#ifdef __linux__ } else if (err == -ESTRPIPE) { TRACE0("xrun_recovery: suspended.\n"); ret = snd_pcm_resume(info->handle); @@ -690,6 +691,7 @@ int xrun_recovery(AlsaPcmInfo* info, int return -1; } return 1; +#endif } else if (err == -EAGAIN) { TRACE0("xrun_recovery: EAGAIN try again flag.\n"); return 0; Index: b/jdk/make/CompileLaunchers.gmk =================================================================== --- a/jdk/make/CompileLaunchers.gmk +++ b/jdk/make/CompileLaunchers.gmk @@ -163,13 +163,13 @@ define SetupLauncher -DLAUNCHER_NAME='"$(LAUNCHER_NAME)"' \ -DPROGNAME='"$1"' $(DPACKAGEPATH) \ $2, \ - CFLAGS_linux := -fPIC, \ + CFLAGS_bsd := -fPIC, \ CFLAGS_solaris := -KPIC -DHAVE_GETHRTIME, \ LDFLAGS := $(LDFLAGS_JDKEXE) \ $(ORIGIN_ARG) \ $$($1_LDFLAGS), \ LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_NAME,$1), \ - LDFLAGS_linux := -lpthread \ + LDFLAGS_bsd := -lpthread \ $(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX)), \ LDFLAGS_solaris := $$($1_LDFLAGS_solaris) \ $(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX)), \ @@ -178,7 +178,7 @@ define SetupLauncher LDFLAGS_SUFFIX_posix := $4, \ LDFLAGS_SUFFIX_windows := $$($1_WINDOWS_JLI_LIB) \ $(JDK_OUTPUTDIR)/objs/libjava/java.lib advapi32.lib $5, \ - LDFLAGS_SUFFIX_linux := -L$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli $(LIBDL) -lc, \ + LDFLAGS_SUFFIX_bsd := -L$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli $(LIBDL) -lc, \ LDFLAGS_SUFFIX_solaris := -L$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli -lthread $(LIBDL) -lc, \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/$1_objs$(OUTPUT_SUBDIR), \ OUTPUT_DIR := $$($1_OUTPUT_DIR_ARG)$(OUTPUT_SUBDIR), \ @@ -538,7 +538,7 @@ ifeq ($(OPENJDK_TARGET_OS), solaris) endif endif -ifeq ($(OPENJDK_TARGET_OS), linux) +ifneq ($(findstring $(OPENJDK_TARGET_OS), linux bsd), ) BUILD_JEXEC := 1 endif # OPENJDK_TARGET_OS @@ -554,7 +554,7 @@ ifeq ($(BUILD_JEXEC), 1) BUILD_JEXEC_SRC := $(JDK_TOPDIR)/src/solaris/bin endif - ifeq ($(OPENJDK_TARGET_OS), linux) + ifneq ($(findstring $(OPENJDK_TARGET_OS), linux bsd), ) BUILD_JEXEC_DST_DIR := $(JDK_OUTPUTDIR)/lib BUILD_JEXEC_INC += -I$(JDK_TOPDIR)/src/share/bin endif @@ -590,7 +590,7 @@ endif # The java-rmi.cgi script in bin/ only gets delivered in certain situations # JAVA_RMI_CGI := $(JDK_OUTPUTDIR)/bin$(OUTPUT_SUBDIR)/java-rmi.cgi -ifeq ($(OPENJDK_TARGET_OS), linux) +ifneq ($(findstring $(OPENJDK_TARGET_OS), linux bsd), ) BUILD_LAUNCHERS += $(JAVA_RMI_CGI) endif ifeq ($(OPENJDK_TARGET_OS), solaris) @@ -621,11 +621,11 @@ BUILD_JSPAWNHELPER_DST_DIR := $(JDK_OUTP LINK_JSPAWNHELPER_OBJECTS := $(JDK_OUTPUTDIR)/objs/libjava/childproc.o LINK_JSPAWNHELPER_FLAGS := -ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris aix), ) +ifneq ($(findstring $(OPENJDK_TARGET_OS), bsd macosx solaris aix), ) BUILD_JSPAWNHELPER := 1 endif -ifeq ($(OPENJDK_TARGET_OS), macosx) +ifeq ($(OPENJDK_TARGET_OS), bsd macosx) BUILD_JSPAWNHELPER_DST_DIR := $(JDK_OUTPUTDIR)/lib endif Index: b/jdk/src/share/bin/jli_util.h =================================================================== --- a/jdk/src/share/bin/jli_util.h +++ b/jdk/src/share/bin/jli_util.h @@ -83,7 +83,7 @@ void JLI_CmdToArgs(char *cmdline); #ifdef __solaris__ #define JLI_Lseek llseek #endif -#ifdef __linux__ +#if defined(__linux__) || defined (__GLIBC__) #define _LARGFILE64_SOURCE #define JLI_Lseek lseek64 #endif Index: b/jdk/make/data/classlist/classlist.bsd =================================================================== --- /dev/null +++ b/jdk/make/data/classlist/classlist.bsd @@ -0,0 +1,2454 @@ +com/sun/java/swing/SwingUtilities3 +com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI +com/sun/swing/internal/plaf/basic/resources/basic +com/sun/swing/internal/plaf/metal/resources/metal +java/applet/Applet +java/awt/AWTEvent +java/awt/AWTEvent$1 +java/awt/AWTEventMulticaster +java/awt/AWTKeyStroke +java/awt/AWTKeyStroke$1 +java/awt/ActiveEvent +java/awt/Adjustable +java/awt/AlphaComposite +java/awt/BasicStroke +java/awt/BorderLayout +java/awt/BufferCapabilities +java/awt/Canvas +java/awt/CardLayout +java/awt/CardLayout$Card +java/awt/Color +java/awt/Component +java/awt/Component$1 +java/awt/Component$3 +java/awt/Component$AWTTreeLock +java/awt/Component$AccessibleAWTComponent +java/awt/Component$BaselineResizeBehavior +java/awt/Component$BltBufferStrategy +java/awt/Component$BltSubRegionBufferStrategy +java/awt/Component$DummyRequestFocusController +java/awt/Component$FlipBufferStrategy +java/awt/ComponentOrientation +java/awt/Composite +java/awt/Conditional +java/awt/Container +java/awt/Container$1 +java/awt/Container$AccessibleAWTContainer +java/awt/ContainerOrderFocusTraversalPolicy +java/awt/Cursor +java/awt/Cursor$1 +java/awt/DefaultFocusTraversalPolicy +java/awt/DefaultKeyboardFocusManager +java/awt/DefaultKeyboardFocusManager$1 +java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent +java/awt/DefaultKeyboardFocusManager$TypeAheadMarker +java/awt/Dialog +java/awt/Dialog$ModalExclusionType +java/awt/Dialog$ModalityType +java/awt/Dimension +java/awt/Event +java/awt/EventDispatchThread +java/awt/EventDispatchThread$1 +java/awt/EventDispatchThread$HierarchyEventFilter +java/awt/EventFilter +java/awt/EventFilter$FilterAction +java/awt/EventQueue +java/awt/EventQueue$1 +java/awt/EventQueue$1AWTInvocationLock +java/awt/EventQueue$2 +java/awt/EventQueue$3 +java/awt/EventQueue$4 +java/awt/EventQueue$5 +java/awt/FlowLayout +java/awt/FocusTraversalPolicy +java/awt/Font +java/awt/Font$FontAccessImpl +java/awt/FontFormatException +java/awt/FontMetrics +java/awt/Frame +java/awt/Frame$1 +java/awt/Graphics +java/awt/Graphics2D +java/awt/GraphicsCallback +java/awt/GraphicsCallback$PaintCallback +java/awt/GraphicsConfiguration +java/awt/GraphicsDevice +java/awt/GraphicsEnvironment +java/awt/GraphicsEnvironment$1 +java/awt/GridLayout +java/awt/Image +java/awt/Image$1 +java/awt/ImageCapabilities +java/awt/ImageMediaEntry +java/awt/Insets +java/awt/ItemSelectable +java/awt/KeyEventDispatcher +java/awt/KeyEventPostProcessor +java/awt/KeyboardFocusManager +java/awt/KeyboardFocusManager$1 +java/awt/KeyboardFocusManager$3 +java/awt/KeyboardFocusManager$HeavyweightFocusRequest +java/awt/KeyboardFocusManager$LightweightFocusRequest +java/awt/Label +java/awt/LayoutManager +java/awt/LayoutManager2 +java/awt/LightweightDispatcher +java/awt/LightweightDispatcher$2 +java/awt/MediaEntry +java/awt/MediaTracker +java/awt/MenuBar +java/awt/MenuComponent +java/awt/MenuContainer +java/awt/ModalEventFilter +java/awt/Paint +java/awt/Panel +java/awt/Point +java/awt/PrintGraphics +java/awt/Queue +java/awt/Rectangle +java/awt/RenderingHints +java/awt/RenderingHints$Key +java/awt/SentEvent +java/awt/SequencedEvent +java/awt/SequencedEvent$1 +java/awt/Shape +java/awt/SplashScreen +java/awt/Stroke +java/awt/SystemColor +java/awt/Toolkit +java/awt/Toolkit$1 +java/awt/Toolkit$2 +java/awt/Toolkit$3 +java/awt/Toolkit$4 +java/awt/Toolkit$5 +java/awt/Toolkit$DesktopPropertyChangeSupport +java/awt/Toolkit$DesktopPropertyChangeSupport$1 +java/awt/Toolkit$SelectiveAWTEventListener +java/awt/Toolkit$ToolkitEventMulticaster +java/awt/Transparency +java/awt/TrayIcon +java/awt/VKCollection +java/awt/Window +java/awt/Window$1 +java/awt/Window$1DisposeAction +java/awt/Window$Type +java/awt/Window$WindowDisposerRecord +java/awt/color/ColorSpace +java/awt/color/ICC_ColorSpace +java/awt/color/ICC_Profile +java/awt/color/ICC_Profile$1 +java/awt/color/ICC_ProfileRGB +java/awt/datatransfer/Clipboard +java/awt/datatransfer/ClipboardOwner +java/awt/datatransfer/FlavorMap +java/awt/datatransfer/FlavorTable +java/awt/datatransfer/SystemFlavorMap +java/awt/datatransfer/Transferable +java/awt/dnd/DropTarget +java/awt/dnd/DropTargetContext +java/awt/dnd/DropTargetListener +java/awt/dnd/peer/DragSourceContextPeer +java/awt/dnd/peer/DropTargetContextPeer +java/awt/dnd/peer/DropTargetPeer +java/awt/event/AWTEventListener +java/awt/event/AWTEventListenerProxy +java/awt/event/ActionEvent +java/awt/event/ActionListener +java/awt/event/AdjustmentEvent +java/awt/event/AdjustmentListener +java/awt/event/ComponentAdapter +java/awt/event/ComponentEvent +java/awt/event/ComponentListener +java/awt/event/ContainerEvent +java/awt/event/ContainerListener +java/awt/event/FocusAdapter +java/awt/event/FocusEvent +java/awt/event/FocusListener +java/awt/event/HierarchyBoundsListener +java/awt/event/HierarchyListener +java/awt/event/InputEvent +java/awt/event/InputEvent$1 +java/awt/event/InputMethodEvent +java/awt/event/InputMethodListener +java/awt/event/InvocationEvent +java/awt/event/InvocationEvent$1 +java/awt/event/ItemEvent +java/awt/event/ItemListener +java/awt/event/KeyAdapter +java/awt/event/KeyEvent +java/awt/event/KeyEvent$1 +java/awt/event/KeyListener +java/awt/event/MouseAdapter +java/awt/event/MouseEvent +java/awt/event/MouseListener +java/awt/event/MouseMotionAdapter +java/awt/event/MouseMotionListener +java/awt/event/MouseWheelListener +java/awt/event/NativeLibLoader +java/awt/event/NativeLibLoader$1 +java/awt/event/PaintEvent +java/awt/event/TextListener +java/awt/event/WindowAdapter +java/awt/event/WindowEvent +java/awt/event/WindowFocusListener +java/awt/event/WindowListener +java/awt/event/WindowStateListener +java/awt/font/FontRenderContext +java/awt/font/GlyphVector +java/awt/font/LineMetrics +java/awt/font/TextAttribute +java/awt/geom/AffineTransform +java/awt/geom/Dimension2D +java/awt/geom/GeneralPath +java/awt/geom/Line2D +java/awt/geom/Line2D$Float +java/awt/geom/Path2D +java/awt/geom/Path2D$Float +java/awt/geom/PathIterator +java/awt/geom/Point2D +java/awt/geom/Point2D$Float +java/awt/geom/RectIterator +java/awt/geom/Rectangle2D +java/awt/geom/Rectangle2D$Float +java/awt/geom/RectangularShape +java/awt/im/InputContext +java/awt/im/InputMethodRequests +java/awt/im/spi/InputMethod +java/awt/im/spi/InputMethodContext +java/awt/im/spi/InputMethodDescriptor +java/awt/image/BufferStrategy +java/awt/image/BufferedImage +java/awt/image/BufferedImage$1 +java/awt/image/ColorModel +java/awt/image/ColorModel$1 +java/awt/image/ComponentSampleModel +java/awt/image/DataBuffer +java/awt/image/DataBuffer$1 +java/awt/image/DataBufferByte +java/awt/image/DataBufferInt +java/awt/image/DirectColorModel +java/awt/image/FilteredImageSource +java/awt/image/ImageConsumer +java/awt/image/ImageFilter +java/awt/image/ImageObserver +java/awt/image/ImageProducer +java/awt/image/IndexColorModel +java/awt/image/PackedColorModel +java/awt/image/PixelInterleavedSampleModel +java/awt/image/RGBImageFilter +java/awt/image/Raster +java/awt/image/RenderedImage +java/awt/image/SampleModel +java/awt/image/SinglePixelPackedSampleModel +java/awt/image/VolatileImage +java/awt/image/WritableRaster +java/awt/image/WritableRenderedImage +java/awt/peer/CanvasPeer +java/awt/peer/ComponentPeer +java/awt/peer/ContainerPeer +java/awt/peer/FramePeer +java/awt/peer/KeyboardFocusManagerPeer +java/awt/peer/LabelPeer +java/awt/peer/LightweightPeer +java/awt/peer/PanelPeer +java/awt/peer/SystemTrayPeer +java/awt/peer/WindowPeer +java/awt/print/PrinterGraphics +java/beans/ChangeListenerMap +java/beans/PropertyChangeEvent +java/beans/PropertyChangeListener +java/beans/PropertyChangeListenerProxy +java/beans/PropertyChangeSupport +java/beans/PropertyChangeSupport$PropertyChangeListenerMap +java/beans/VetoableChangeListener +java/io/Bits +java/io/BufferedInputStream +java/io/BufferedOutputStream +java/io/BufferedReader +java/io/BufferedWriter +java/io/ByteArrayInputStream +java/io/ByteArrayOutputStream +java/io/Closeable +java/io/DataInput +java/io/DataInputStream +java/io/DataOutput +java/io/DataOutputStream +java/io/DefaultFileSystem +java/io/EOFException +java/io/ExpiringCache +java/io/ExpiringCache$1 +java/io/ExpiringCache$Entry +java/io/Externalizable +java/io/File +java/io/File$PathStatus +java/io/FileDescriptor +java/io/FileDescriptor$1 +java/io/FileInputStream +java/io/FileInputStream$1 +java/io/FileNotFoundException +java/io/FileOutputStream +java/io/FileOutputStream$1 +java/io/FilePermission +java/io/FilePermission$1 +java/io/FilePermissionCollection +java/io/FileReader +java/io/FileSystem +java/io/FileWriter +java/io/FilenameFilter +java/io/FilterInputStream +java/io/FilterOutputStream +java/io/FilterReader +java/io/Flushable +java/io/IOException +java/io/InputStream +java/io/InputStreamReader +java/io/InterruptedIOException +java/io/ObjectInput +java/io/ObjectInputStream +java/io/ObjectInputStream$BlockDataInputStream +java/io/ObjectInputStream$GetField +java/io/ObjectInputStream$GetFieldImpl +java/io/ObjectInputStream$HandleTable +java/io/ObjectInputStream$HandleTable$HandleList +java/io/ObjectInputStream$PeekInputStream +java/io/ObjectInputStream$ValidationList +java/io/ObjectOutput +java/io/ObjectOutputStream +java/io/ObjectOutputStream$BlockDataOutputStream +java/io/ObjectOutputStream$HandleTable +java/io/ObjectOutputStream$ReplaceTable +java/io/ObjectStreamClass +java/io/ObjectStreamClass$1 +java/io/ObjectStreamClass$2 +java/io/ObjectStreamClass$3 +java/io/ObjectStreamClass$4 +java/io/ObjectStreamClass$5 +java/io/ObjectStreamClass$Caches +java/io/ObjectStreamClass$ClassDataSlot +java/io/ObjectStreamClass$EntryFuture +java/io/ObjectStreamClass$ExceptionInfo +java/io/ObjectStreamClass$FieldReflector +java/io/ObjectStreamClass$FieldReflectorKey +java/io/ObjectStreamClass$MemberSignature +java/io/ObjectStreamClass$WeakClassKey +java/io/ObjectStreamConstants +java/io/ObjectStreamField +java/io/OutputStream +java/io/OutputStreamWriter +java/io/PrintStream +java/io/PushbackInputStream +java/io/RandomAccessFile +java/io/RandomAccessFile$1 +java/io/Reader +java/io/SerialCallbackContext +java/io/Serializable +java/io/StreamTokenizer +java/io/StringReader +java/io/StringWriter +java/io/UnixFileSystem +java/io/UnsupportedEncodingException +java/io/Writer +java/lang/AbstractStringBuilder +java/lang/Appendable +java/lang/ApplicationShutdownHooks +java/lang/ApplicationShutdownHooks$1 +java/lang/ArithmeticException +java/lang/ArrayIndexOutOfBoundsException +java/lang/ArrayStoreException +java/lang/AutoCloseable +java/lang/Boolean +java/lang/BootstrapMethodError +java/lang/Byte +java/lang/CharSequence +java/lang/Character +java/lang/Character$CharacterCache +java/lang/CharacterData +java/lang/CharacterData00 +java/lang/CharacterDataLatin1 +java/lang/Class +java/lang/Class$1 +java/lang/Class$3 +java/lang/Class$4 +java/lang/Class$AnnotationData +java/lang/Class$Atomic +java/lang/Class$ReflectionData +java/lang/ClassCastException +java/lang/ClassFormatError +java/lang/ClassLoader +java/lang/ClassLoader$2 +java/lang/ClassLoader$3 +java/lang/ClassLoader$NativeLibrary +java/lang/ClassLoader$ParallelLoaders +java/lang/ClassNotFoundException +java/lang/ClassValue$ClassValueMap +java/lang/CloneNotSupportedException +java/lang/Cloneable +java/lang/Comparable +java/lang/Compiler +java/lang/Compiler$1 +java/lang/Double +java/lang/Enum +java/lang/Error +java/lang/Exception +java/lang/ExceptionInInitializerError +java/lang/Float +java/lang/IllegalAccessError +java/lang/IllegalAccessException +java/lang/IllegalArgumentException +java/lang/IllegalMonitorStateException +java/lang/IllegalStateException +java/lang/IncompatibleClassChangeError +java/lang/IndexOutOfBoundsException +java/lang/InheritableThreadLocal +java/lang/InstantiationException +java/lang/Integer +java/lang/Integer$IntegerCache +java/lang/InternalError +java/lang/InterruptedException +java/lang/Iterable +java/lang/LinkageError +java/lang/Long +java/lang/Long$LongCache +java/lang/Math +java/lang/NoClassDefFoundError +java/lang/NoSuchFieldException +java/lang/NoSuchMethodError +java/lang/NoSuchMethodException +java/lang/NullPointerException +java/lang/Number +java/lang/NumberFormatException +java/lang/Object +java/lang/OutOfMemoryError +java/lang/Package +java/lang/Process +java/lang/ProcessBuilder +java/lang/ProcessBuilder$NullOutputStream +java/lang/ProcessEnvironment +java/lang/ProcessEnvironment$ExternalData +java/lang/ProcessEnvironment$StringEnvironment +java/lang/ProcessEnvironment$Value +java/lang/ProcessEnvironment$Variable +java/lang/ProcessImpl +java/lang/Readable +java/lang/ReflectiveOperationException +java/lang/Runnable +java/lang/Runtime +java/lang/RuntimeException +java/lang/RuntimePermission +java/lang/SecurityException +java/lang/SecurityManager +java/lang/Short +java/lang/Shutdown +java/lang/Shutdown$Lock +java/lang/StackOverflowError +java/lang/StackTraceElement +java/lang/StrictMath +java/lang/String +java/lang/String$CaseInsensitiveComparator +java/lang/StringBuffer +java/lang/StringBuilder +java/lang/StringCoding +java/lang/StringCoding$StringDecoder +java/lang/StringCoding$StringEncoder +java/lang/StringIndexOutOfBoundsException +java/lang/System +java/lang/System$2 +java/lang/SystemClassLoaderAction +java/lang/Terminator +java/lang/Terminator$1 +java/lang/Thread +java/lang/Thread$State +java/lang/Thread$UncaughtExceptionHandler +java/lang/ThreadDeath +java/lang/ThreadGroup +java/lang/ThreadLocal +java/lang/ThreadLocal$ThreadLocalMap +java/lang/ThreadLocal$ThreadLocalMap$Entry +java/lang/Throwable +java/lang/Throwable$PrintStreamOrWriter +java/lang/Throwable$WrappedPrintStream +java/lang/UNIXProcess +java/lang/UNIXProcess$1 +java/lang/UNIXProcess$2 +java/lang/UNIXProcess$3 +java/lang/UNIXProcess$4 +java/lang/UNIXProcess$LaunchMechanism +java/lang/UNIXProcess$ProcessPipeInputStream +java/lang/UNIXProcess$ProcessPipeOutputStream +java/lang/UNIXProcess$ProcessReaperThreadFactory +java/lang/UNIXProcess$ProcessReaperThreadFactory$1 +java/lang/UnsatisfiedLinkError +java/lang/UnsupportedOperationException +java/lang/VirtualMachineError +java/lang/Void +java/lang/annotation/Annotation +java/lang/invoke/CallSite +java/lang/invoke/ConstantCallSite +java/lang/invoke/DirectMethodHandle +java/lang/invoke/Invokers +java/lang/invoke/LambdaForm +java/lang/invoke/LambdaForm$NamedFunction +java/lang/invoke/MemberName +java/lang/invoke/MemberName$Factory +java/lang/invoke/MethodHandle +java/lang/invoke/MethodHandleImpl +java/lang/invoke/MethodHandleNatives +java/lang/invoke/MethodHandleStatics +java/lang/invoke/MethodHandleStatics$1 +java/lang/invoke/MethodType +java/lang/invoke/MethodType$ConcurrentWeakInternSet +java/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry +java/lang/invoke/MethodTypeForm +java/lang/invoke/MutableCallSite +java/lang/invoke/VolatileCallSite +java/lang/ref/FinalReference +java/lang/ref/Finalizer +java/lang/ref/Finalizer$FinalizerThread +java/lang/ref/PhantomReference +java/lang/ref/Reference +java/lang/ref/Reference$Lock +java/lang/ref/Reference$ReferenceHandler +java/lang/ref/ReferenceQueue +java/lang/ref/ReferenceQueue$Lock +java/lang/ref/ReferenceQueue$Null +java/lang/ref/SoftReference +java/lang/ref/WeakReference +java/lang/reflect/AccessibleObject +java/lang/reflect/AnnotatedElement +java/lang/reflect/Array +java/lang/reflect/Constructor +java/lang/reflect/Executable +java/lang/reflect/Field +java/lang/reflect/GenericDeclaration +java/lang/reflect/InvocationHandler +java/lang/reflect/InvocationTargetException +java/lang/reflect/Member +java/lang/reflect/Method +java/lang/reflect/Modifier +java/lang/reflect/Parameter +java/lang/reflect/Proxy +java/lang/reflect/Proxy$KeyFactory +java/lang/reflect/Proxy$ProxyClassFactory +java/lang/reflect/ReflectAccess +java/lang/reflect/ReflectPermission +java/lang/reflect/Type +java/lang/reflect/WeakCache +java/math/BigInteger +java/math/BigInteger$UnsafeHolder +java/math/MutableBigInteger +java/math/RoundingMode +java/math/SignedMutableBigInteger +java/net/AbstractPlainDatagramSocketImpl +java/net/AbstractPlainDatagramSocketImpl$1 +java/net/AbstractPlainSocketImpl +java/net/AbstractPlainSocketImpl$1 +java/net/Authenticator +java/net/BindException +java/net/ConnectException +java/net/DatagramPacket +java/net/DatagramPacket$1 +java/net/DatagramSocket +java/net/DatagramSocket$1 +java/net/DatagramSocketImpl +java/net/DefaultDatagramSocketImplFactory +java/net/DefaultInterface +java/net/FileNameMap +java/net/HttpURLConnection +java/net/Inet4Address +java/net/Inet4AddressImpl +java/net/Inet6Address +java/net/Inet6Address$Inet6AddressHolder +java/net/Inet6AddressImpl +java/net/InetAddress +java/net/InetAddress$1 +java/net/InetAddress$2 +java/net/InetAddress$Cache +java/net/InetAddress$Cache$Type +java/net/InetAddress$CacheEntry +java/net/InetAddress$InetAddressHolder +java/net/InetAddressImpl +java/net/InetAddressImplFactory +java/net/InetSocketAddress +java/net/InetSocketAddress$InetSocketAddressHolder +java/net/InterfaceAddress +java/net/JarURLConnection +java/net/MalformedURLException +java/net/MulticastSocket +java/net/NetworkInterface +java/net/NetworkInterface$1 +java/net/NoRouteToHostException +java/net/Parts +java/net/PlainDatagramSocketImpl +java/net/PlainSocketImpl +java/net/Proxy +java/net/Proxy$Type +java/net/ProxySelector +java/net/ServerSocket +java/net/Socket +java/net/SocketAddress +java/net/SocketException +java/net/SocketImpl +java/net/SocketImplFactory +java/net/SocketOptions +java/net/SocksConsts +java/net/SocksSocketImpl +java/net/SocksSocketImpl$3 +java/net/URI +java/net/URI$Parser +java/net/URL +java/net/URLClassLoader +java/net/URLClassLoader$1 +java/net/URLClassLoader$2 +java/net/URLClassLoader$3 +java/net/URLClassLoader$3$1 +java/net/URLClassLoader$7 +java/net/URLConnection +java/net/URLConnection$1 +java/net/URLStreamHandler +java/net/URLStreamHandlerFactory +java/net/UnknownHostException +java/nio/Bits +java/nio/Bits$1 +java/nio/Buffer +java/nio/ByteBuffer +java/nio/ByteBufferAsIntBufferB +java/nio/ByteBufferAsShortBufferB +java/nio/ByteOrder +java/nio/CharBuffer +java/nio/DirectByteBuffer +java/nio/DirectByteBuffer$Deallocator +java/nio/DirectByteBufferR +java/nio/DirectLongBufferU +java/nio/HeapByteBuffer +java/nio/HeapCharBuffer +java/nio/IntBuffer +java/nio/LongBuffer +java/nio/MappedByteBuffer +java/nio/ShortBuffer +java/nio/channels/ByteChannel +java/nio/channels/Channel +java/nio/channels/FileChannel +java/nio/channels/FileChannel$MapMode +java/nio/channels/GatheringByteChannel +java/nio/channels/InterruptibleChannel +java/nio/channels/NetworkChannel +java/nio/channels/ReadableByteChannel +java/nio/channels/ScatteringByteChannel +java/nio/channels/SeekableByteChannel +java/nio/channels/SelectableChannel +java/nio/channels/SocketChannel +java/nio/channels/WritableByteChannel +java/nio/channels/spi/AbstractInterruptibleChannel +java/nio/channels/spi/AbstractInterruptibleChannel$1 +java/nio/channels/spi/AbstractSelectableChannel +java/nio/charset/Charset +java/nio/charset/CharsetDecoder +java/nio/charset/CharsetEncoder +java/nio/charset/CoderResult +java/nio/charset/CoderResult$1 +java/nio/charset/CoderResult$2 +java/nio/charset/CoderResult$Cache +java/nio/charset/CodingErrorAction +java/nio/charset/StandardCharsets +java/nio/charset/spi/CharsetProvider +java/nio/file/Path +java/nio/file/Watchable +java/nio/file/attribute/FileAttribute +java/security/AccessControlContext +java/security/AccessController +java/security/AlgorithmParameters +java/security/AlgorithmParametersSpi +java/security/AllPermission +java/security/AllPermissionCollection +java/security/BasicPermission +java/security/BasicPermissionCollection +java/security/CodeSigner +java/security/CodeSource +java/security/GeneralSecurityException +java/security/Guard +java/security/InvalidKeyException +java/security/Key +java/security/KeyException +java/security/MessageDigest +java/security/MessageDigest$Delegate +java/security/MessageDigestSpi +java/security/NoSuchAlgorithmException +java/security/Permission +java/security/PermissionCollection +java/security/Permissions +java/security/Principal +java/security/PrivateKey +java/security/PrivilegedAction +java/security/PrivilegedActionException +java/security/PrivilegedExceptionAction +java/security/ProtectionDomain +java/security/ProtectionDomain$1 +java/security/ProtectionDomain$3 +java/security/ProtectionDomain$Key +java/security/Provider +java/security/Provider$EngineDescription +java/security/Provider$Service +java/security/Provider$ServiceKey +java/security/Provider$UString +java/security/PublicKey +java/security/SecureClassLoader +java/security/SecureRandomSpi +java/security/Security +java/security/Security$1 +java/security/Signature +java/security/Signature$Delegate +java/security/SignatureException +java/security/SignatureSpi +java/security/UnresolvedPermission +java/security/cert/Certificate +java/security/interfaces/DSAKey +java/security/interfaces/DSAParams +java/security/interfaces/DSAPrivateKey +java/security/interfaces/DSAPublicKey +java/security/spec/AlgorithmParameterSpec +java/security/spec/DSAParameterSpec +java/text/AttributedCharacterIterator$Attribute +java/text/CharacterIterator +java/text/Collator +java/text/DateFormat +java/text/DateFormat$Field +java/text/DateFormatSymbols +java/text/DecimalFormat +java/text/DecimalFormatSymbols +java/text/DigitList +java/text/DontCareFieldPosition +java/text/DontCareFieldPosition$1 +java/text/EntryPair +java/text/FieldPosition +java/text/Format +java/text/Format$Field +java/text/Format$FieldDelegate +java/text/MergeCollation +java/text/MessageFormat +java/text/MessageFormat$Field +java/text/NumberFormat +java/text/NumberFormat$Field +java/text/ParseException +java/text/PatternEntry +java/text/PatternEntry$Parser +java/text/RBCollationTables +java/text/RBCollationTables$BuildAPI +java/text/RBTableBuilder +java/text/RuleBasedCollator +java/text/SimpleDateFormat +java/text/spi/BreakIteratorProvider +java/text/spi/CollatorProvider +java/text/spi/DateFormatProvider +java/text/spi/DateFormatSymbolsProvider +java/text/spi/DecimalFormatSymbolsProvider +java/text/spi/NumberFormatProvider +java/util/AbstractCollection +java/util/AbstractList +java/util/AbstractList$Itr +java/util/AbstractList$ListItr +java/util/AbstractMap +java/util/AbstractQueue +java/util/AbstractSequentialList +java/util/AbstractSet +java/util/ArrayDeque +java/util/ArrayList +java/util/ArrayList$Itr +java/util/ArrayList$ListItr +java/util/ArrayList$SubList +java/util/ArrayList$SubList$1 +java/util/Arrays +java/util/Arrays$ArrayList +java/util/Arrays$LegacyMergeSort +java/util/BitSet +java/util/Calendar +java/util/Calendar$Builder +java/util/Collection +java/util/Collections +java/util/Collections$3 +java/util/Collections$EmptyEnumeration +java/util/Collections$EmptyIterator +java/util/Collections$EmptyList +java/util/Collections$EmptyMap +java/util/Collections$EmptySet +java/util/Collections$SetFromMap +java/util/Collections$SynchronizedCollection +java/util/Collections$SynchronizedMap +java/util/Collections$SynchronizedSet +java/util/Collections$UnmodifiableCollection +java/util/Collections$UnmodifiableCollection$1 +java/util/Collections$UnmodifiableList +java/util/Collections$UnmodifiableList$1 +java/util/Collections$UnmodifiableMap +java/util/Collections$UnmodifiableRandomAccessList +java/util/Collections$UnmodifiableSet +java/util/ComparableTimSort +java/util/Comparator +java/util/Currency +java/util/Currency$1 +java/util/Currency$CurrencyNameGetter +java/util/Date +java/util/Deque +java/util/Dictionary +java/util/Enumeration +java/util/EventListener +java/util/EventListenerProxy +java/util/EventObject +java/util/GregorianCalendar +java/util/HashMap +java/util/HashMap$EntryIterator +java/util/HashMap$EntrySet +java/util/HashMap$HashIterator +java/util/HashMap$KeyIterator +java/util/HashMap$KeySet +java/util/HashMap$Node +java/util/HashMap$TreeNode +java/util/HashMap$ValueIterator +java/util/HashMap$Values +java/util/HashSet +java/util/Hashtable +java/util/Hashtable$Entry +java/util/Hashtable$EntrySet +java/util/Hashtable$Enumerator +java/util/Hashtable$ValueCollection +java/util/IdentityHashMap +java/util/IdentityHashMap$IdentityHashMapIterator +java/util/IdentityHashMap$KeyIterator +java/util/IdentityHashMap$KeySet +java/util/IdentityHashMap$ValueIterator +java/util/IdentityHashMap$Values +java/util/Iterator +java/util/LinkedHashMap +java/util/LinkedHashMap$Entry +java/util/LinkedHashMap$LinkedEntryIterator +java/util/LinkedHashMap$LinkedEntrySet +java/util/LinkedHashMap$LinkedHashIterator +java/util/LinkedHashMap$LinkedKeyIterator +java/util/LinkedHashMap$LinkedKeySet +java/util/LinkedList +java/util/LinkedList$ListItr +java/util/LinkedList$Node +java/util/List +java/util/ListIterator +java/util/ListResourceBundle +java/util/Locale +java/util/Locale$1 +java/util/Locale$Cache +java/util/Locale$Category +java/util/Locale$LocaleKey +java/util/Map +java/util/Map$Entry +java/util/MissingResourceException +java/util/NavigableMap +java/util/Objects +java/util/PriorityQueue +java/util/Properties +java/util/Properties$LineReader +java/util/PropertyResourceBundle +java/util/Queue +java/util/Random +java/util/RandomAccess +java/util/ResourceBundle +java/util/ResourceBundle$1 +java/util/ResourceBundle$BundleReference +java/util/ResourceBundle$CacheKey +java/util/ResourceBundle$CacheKeyReference +java/util/ResourceBundle$Control +java/util/ResourceBundle$Control$1 +java/util/ResourceBundle$Control$CandidateListCache +java/util/ResourceBundle$LoaderReference +java/util/ResourceBundle$RBClassLoader +java/util/ResourceBundle$RBClassLoader$1 +java/util/ResourceBundle$SingleFormatControl +java/util/ServiceLoader +java/util/ServiceLoader$1 +java/util/ServiceLoader$LazyIterator +java/util/Set +java/util/SortedMap +java/util/Stack +java/util/StringTokenizer +java/util/TimSort +java/util/TimeZone +java/util/TimeZone$1 +java/util/TreeMap +java/util/TreeMap$Entry +java/util/Vector +java/util/Vector$1 +java/util/Vector$Itr +java/util/Vector$ListItr +java/util/WeakHashMap +java/util/WeakHashMap$Entry +java/util/WeakHashMap$KeySet +java/util/concurrent/AbstractExecutorService +java/util/concurrent/BlockingQueue +java/util/concurrent/ConcurrentHashMap +java/util/concurrent/ConcurrentHashMap$BaseIterator +java/util/concurrent/ConcurrentHashMap$CollectionView +java/util/concurrent/ConcurrentHashMap$CounterCell +java/util/concurrent/ConcurrentHashMap$EntrySetView +java/util/concurrent/ConcurrentHashMap$ForwardingNode +java/util/concurrent/ConcurrentHashMap$KeyIterator +java/util/concurrent/ConcurrentHashMap$KeySetView +java/util/concurrent/ConcurrentHashMap$Node +java/util/concurrent/ConcurrentHashMap$Segment +java/util/concurrent/ConcurrentHashMap$Traverser +java/util/concurrent/ConcurrentHashMap$ValueIterator +java/util/concurrent/ConcurrentHashMap$ValuesView +java/util/concurrent/ConcurrentMap +java/util/concurrent/CopyOnWriteArrayList +java/util/concurrent/DelayQueue +java/util/concurrent/Delayed +java/util/concurrent/Executor +java/util/concurrent/ExecutorService +java/util/concurrent/Executors +java/util/concurrent/RejectedExecutionHandler +java/util/concurrent/SynchronousQueue +java/util/concurrent/SynchronousQueue$TransferStack +java/util/concurrent/SynchronousQueue$TransferStack$SNode +java/util/concurrent/SynchronousQueue$Transferer +java/util/concurrent/ThreadFactory +java/util/concurrent/ThreadPoolExecutor +java/util/concurrent/ThreadPoolExecutor$AbortPolicy +java/util/concurrent/ThreadPoolExecutor$Worker +java/util/concurrent/TimeUnit +java/util/concurrent/TimeUnit$1 +java/util/concurrent/TimeUnit$2 +java/util/concurrent/TimeUnit$3 +java/util/concurrent/TimeUnit$4 +java/util/concurrent/TimeUnit$5 +java/util/concurrent/TimeUnit$6 +java/util/concurrent/TimeUnit$7 +java/util/concurrent/atomic/AtomicBoolean +java/util/concurrent/atomic/AtomicInteger +java/util/concurrent/atomic/AtomicLong +java/util/concurrent/atomic/AtomicMarkableReference +java/util/concurrent/atomic/AtomicMarkableReference$Pair +java/util/concurrent/atomic/AtomicReferenceFieldUpdater +java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl +java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1 +java/util/concurrent/locks/AbstractOwnableSynchronizer +java/util/concurrent/locks/AbstractQueuedSynchronizer +java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject +java/util/concurrent/locks/AbstractQueuedSynchronizer$Node +java/util/concurrent/locks/Condition +java/util/concurrent/locks/Lock +java/util/concurrent/locks/LockSupport +java/util/concurrent/locks/ReentrantLock +java/util/concurrent/locks/ReentrantLock$NonfairSync +java/util/concurrent/locks/ReentrantLock$Sync +java/util/function/BiFunction +java/util/jar/Attributes +java/util/jar/Attributes$Name +java/util/jar/JarEntry +java/util/jar/JarFile +java/util/jar/JarFile$JarEntryIterator +java/util/jar/JarFile$JarFileEntry +java/util/jar/JarVerifier +java/util/jar/JarVerifier$3 +java/util/jar/JavaUtilJarAccessImpl +java/util/jar/Manifest +java/util/jar/Manifest$FastInputStream +java/util/logging/Handler +java/util/logging/Level +java/util/logging/Level$KnownLevel +java/util/logging/LogManager +java/util/logging/LogManager$1 +java/util/logging/LogManager$2 +java/util/logging/LogManager$3 +java/util/logging/LogManager$5 +java/util/logging/LogManager$Cleaner +java/util/logging/LogManager$LogNode +java/util/logging/LogManager$LoggerContext +java/util/logging/LogManager$LoggerContext$1 +java/util/logging/LogManager$LoggerWeakRef +java/util/logging/LogManager$RootLogger +java/util/logging/LogManager$SystemLoggerContext +java/util/logging/Logger +java/util/logging/Logger$1 +java/util/logging/LoggingPermission +java/util/logging/LoggingProxyImpl +java/util/spi/CalendarDataProvider +java/util/spi/CurrencyNameProvider +java/util/spi/LocaleNameProvider +java/util/spi/LocaleServiceProvider +java/util/spi/ResourceBundleControlProvider +java/util/spi/TimeZoneNameProvider +java/util/zip/CRC32 +java/util/zip/Checksum +java/util/zip/DeflaterOutputStream +java/util/zip/GZIPInputStream +java/util/zip/Inflater +java/util/zip/InflaterInputStream +java/util/zip/ZStreamRef +java/util/zip/ZipCoder +java/util/zip/ZipConstants +java/util/zip/ZipEntry +java/util/zip/ZipFile +java/util/zip/ZipFile$1 +java/util/zip/ZipFile$ZipEntryIterator +java/util/zip/ZipFile$ZipFileInflaterInputStream +java/util/zip/ZipFile$ZipFileInputStream +java/util/zip/ZipInputStream +java/util/zip/ZipUtils +javax/accessibility/Accessible +javax/accessibility/AccessibleAction +javax/accessibility/AccessibleBundle +javax/accessibility/AccessibleComponent +javax/accessibility/AccessibleContext +javax/accessibility/AccessibleExtendedComponent +javax/accessibility/AccessibleRelationSet +javax/accessibility/AccessibleState +javax/accessibility/AccessibleText +javax/accessibility/AccessibleValue +javax/security/auth/Destroyable +javax/sound/sampled/Control$Type +javax/sound/sampled/DataLine +javax/sound/sampled/DataLine$Info +javax/sound/sampled/FloatControl$Type +javax/sound/sampled/Line +javax/sound/sampled/Line$Info +javax/sound/sampled/LineUnavailableException +javax/sound/sampled/UnsupportedAudioFileException +javax/swing/AbstractAction +javax/swing/AbstractButton +javax/swing/AbstractButton$AccessibleAbstractButton +javax/swing/AbstractButton$Handler +javax/swing/AbstractCellEditor +javax/swing/AbstractListModel +javax/swing/Action +javax/swing/ActionMap +javax/swing/AncestorNotifier +javax/swing/ArrayTable +javax/swing/BorderFactory +javax/swing/BoundedRangeModel +javax/swing/Box +javax/swing/Box$Filler +javax/swing/BoxLayout +javax/swing/BufferStrategyPaintManager +javax/swing/BufferStrategyPaintManager$BufferInfo +javax/swing/ButtonGroup +javax/swing/ButtonModel +javax/swing/CellEditor +javax/swing/CellRendererPane +javax/swing/ClientPropertyKey +javax/swing/ClientPropertyKey$1 +javax/swing/ComboBoxEditor +javax/swing/ComboBoxModel +javax/swing/ComponentInputMap +javax/swing/DefaultBoundedRangeModel +javax/swing/DefaultButtonModel +javax/swing/DefaultCellEditor +javax/swing/DefaultCellEditor$1 +javax/swing/DefaultCellEditor$EditorDelegate +javax/swing/DefaultComboBoxModel +javax/swing/DefaultListCellRenderer +javax/swing/DefaultListCellRenderer$UIResource +javax/swing/DefaultListModel +javax/swing/DefaultListSelectionModel +javax/swing/DefaultSingleSelectionModel +javax/swing/DropMode +javax/swing/FocusManager +javax/swing/GrayFilter +javax/swing/Icon +javax/swing/ImageIcon +javax/swing/ImageIcon$1 +javax/swing/ImageIcon$2 +javax/swing/ImageIcon$2$1 +javax/swing/ImageIcon$3 +javax/swing/InputMap +javax/swing/InternalFrameFocusTraversalPolicy +javax/swing/JButton +javax/swing/JCheckBox +javax/swing/JCheckBoxMenuItem +javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem +javax/swing/JComboBox +javax/swing/JComboBox$1 +javax/swing/JComboBox$KeySelectionManager +javax/swing/JComponent +javax/swing/JComponent$1 +javax/swing/JComponent$2 +javax/swing/JComponent$AccessibleJComponent +javax/swing/JDialog +javax/swing/JEditorPane +javax/swing/JFrame +javax/swing/JInternalFrame +javax/swing/JLabel +javax/swing/JLayer +javax/swing/JLayeredPane +javax/swing/JList +javax/swing/JList$3 +javax/swing/JList$ListSelectionHandler +javax/swing/JMenu +javax/swing/JMenu$MenuChangeListener +javax/swing/JMenu$WinListener +javax/swing/JMenuBar +javax/swing/JMenuItem +javax/swing/JMenuItem$AccessibleJMenuItem +javax/swing/JMenuItem$MenuItemFocusListener +javax/swing/JPanel +javax/swing/JPopupMenu +javax/swing/JPopupMenu$Separator +javax/swing/JProgressBar +javax/swing/JProgressBar$ModelListener +javax/swing/JRadioButton +javax/swing/JRadioButtonMenuItem +javax/swing/JRootPane +javax/swing/JRootPane$1 +javax/swing/JRootPane$RootLayout +javax/swing/JScrollBar +javax/swing/JScrollBar$ModelListener +javax/swing/JScrollPane +javax/swing/JScrollPane$ScrollBar +javax/swing/JSeparator +javax/swing/JSlider +javax/swing/JSlider$ModelListener +javax/swing/JSplitPane +javax/swing/JTabbedPane +javax/swing/JTabbedPane$ModelListener +javax/swing/JTabbedPane$Page +javax/swing/JTable +javax/swing/JTable$2 +javax/swing/JTable$5 +javax/swing/JTable$Resizable2 +javax/swing/JTable$Resizable3 +javax/swing/JTextArea +javax/swing/JTextField +javax/swing/JTextField$NotifyAction +javax/swing/JTextField$ScrollRepainter +javax/swing/JToggleButton +javax/swing/JToggleButton$ToggleButtonModel +javax/swing/JToolBar +javax/swing/JToolBar$DefaultToolBarLayout +javax/swing/JToolBar$Separator +javax/swing/JToolTip +javax/swing/JTree +javax/swing/JTree$TreeModelHandler +javax/swing/JTree$TreeSelectionRedirector +javax/swing/JViewport +javax/swing/JViewport$ViewListener +javax/swing/JWindow +javax/swing/KeyStroke +javax/swing/KeyboardManager +javax/swing/KeyboardManager$ComponentKeyStrokePair +javax/swing/LayoutComparator +javax/swing/LayoutFocusTraversalPolicy +javax/swing/ListCellRenderer +javax/swing/ListModel +javax/swing/ListSelectionModel +javax/swing/LookAndFeel +javax/swing/MenuElement +javax/swing/MenuSelectionManager +javax/swing/MultiUIDefaults +javax/swing/MutableComboBoxModel +javax/swing/RepaintManager +javax/swing/RepaintManager$2 +javax/swing/RepaintManager$3 +javax/swing/RepaintManager$DisplayChangedHandler +javax/swing/RepaintManager$PaintManager +javax/swing/RepaintManager$ProcessingRunnable +javax/swing/RootPaneContainer +javax/swing/ScrollPaneConstants +javax/swing/ScrollPaneLayout +javax/swing/ScrollPaneLayout$UIResource +javax/swing/Scrollable +javax/swing/SingleSelectionModel +javax/swing/SizeRequirements +javax/swing/SortingFocusTraversalPolicy +javax/swing/SwingConstants +javax/swing/SwingContainerOrderFocusTraversalPolicy +javax/swing/SwingDefaultFocusTraversalPolicy +javax/swing/SwingPaintEventDispatcher +javax/swing/SwingUtilities +javax/swing/SwingUtilities$SharedOwnerFrame +javax/swing/Timer +javax/swing/Timer$DoPostEvent +javax/swing/TimerQueue +javax/swing/TimerQueue$1 +javax/swing/TimerQueue$DelayedTimer +javax/swing/ToolTipManager +javax/swing/ToolTipManager$AccessibilityKeyListener +javax/swing/ToolTipManager$MoveBeforeEnterListener +javax/swing/ToolTipManager$insideTimerAction +javax/swing/ToolTipManager$outsideTimerAction +javax/swing/ToolTipManager$stillInsideTimerAction +javax/swing/TransferHandler +javax/swing/TransferHandler$DropHandler +javax/swing/TransferHandler$HasGetTransferHandler +javax/swing/TransferHandler$SwingDropTarget +javax/swing/TransferHandler$TransferAction +javax/swing/TransferHandler$TransferSupport +javax/swing/UIDefaults +javax/swing/UIDefaults$ActiveValue +javax/swing/UIDefaults$LazyInputMap +javax/swing/UIDefaults$LazyValue +javax/swing/UIDefaults$TextAndMnemonicHashMap +javax/swing/UIManager +javax/swing/UIManager$1 +javax/swing/UIManager$2 +javax/swing/UIManager$LAFState +javax/swing/UIManager$LookAndFeelInfo +javax/swing/UnsupportedLookAndFeelException +javax/swing/ViewportLayout +javax/swing/WindowConstants +javax/swing/border/AbstractBorder +javax/swing/border/BevelBorder +javax/swing/border/Border +javax/swing/border/CompoundBorder +javax/swing/border/EmptyBorder +javax/swing/border/EtchedBorder +javax/swing/border/LineBorder +javax/swing/border/MatteBorder +javax/swing/border/TitledBorder +javax/swing/event/AncestorEvent +javax/swing/event/AncestorListener +javax/swing/event/CaretEvent +javax/swing/event/CaretListener +javax/swing/event/CellEditorListener +javax/swing/event/ChangeEvent +javax/swing/event/ChangeListener +javax/swing/event/DocumentEvent +javax/swing/event/DocumentEvent$ElementChange +javax/swing/event/DocumentEvent$EventType +javax/swing/event/DocumentListener +javax/swing/event/EventListenerList +javax/swing/event/ListDataEvent +javax/swing/event/ListDataListener +javax/swing/event/ListSelectionEvent +javax/swing/event/ListSelectionListener +javax/swing/event/MenuDragMouseListener +javax/swing/event/MenuEvent +javax/swing/event/MenuKeyListener +javax/swing/event/MenuListener +javax/swing/event/MouseInputAdapter +javax/swing/event/MouseInputListener +javax/swing/event/PopupMenuListener +javax/swing/event/RowSorterListener +javax/swing/event/SwingPropertyChangeSupport +javax/swing/event/TableColumnModelEvent +javax/swing/event/TableColumnModelListener +javax/swing/event/TableModelEvent +javax/swing/event/TableModelListener +javax/swing/event/TreeExpansionListener +javax/swing/event/TreeModelEvent +javax/swing/event/TreeModelListener +javax/swing/event/TreeSelectionEvent +javax/swing/event/TreeSelectionListener +javax/swing/event/UndoableEditEvent +javax/swing/event/UndoableEditListener +javax/swing/filechooser/FileFilter +javax/swing/plaf/ActionMapUIResource +javax/swing/plaf/BorderUIResource +javax/swing/plaf/BorderUIResource$CompoundBorderUIResource +javax/swing/plaf/BorderUIResource$EmptyBorderUIResource +javax/swing/plaf/BorderUIResource$LineBorderUIResource +javax/swing/plaf/ButtonUI +javax/swing/plaf/ColorUIResource +javax/swing/plaf/ComboBoxUI +javax/swing/plaf/ComponentInputMapUIResource +javax/swing/plaf/ComponentUI +javax/swing/plaf/DimensionUIResource +javax/swing/plaf/FontUIResource +javax/swing/plaf/InputMapUIResource +javax/swing/plaf/InsetsUIResource +javax/swing/plaf/LabelUI +javax/swing/plaf/ListUI +javax/swing/plaf/MenuBarUI +javax/swing/plaf/MenuItemUI +javax/swing/plaf/PanelUI +javax/swing/plaf/PopupMenuUI +javax/swing/plaf/ProgressBarUI +javax/swing/plaf/RootPaneUI +javax/swing/plaf/ScrollBarUI +javax/swing/plaf/ScrollPaneUI +javax/swing/plaf/SeparatorUI +javax/swing/plaf/SliderUI +javax/swing/plaf/SplitPaneUI +javax/swing/plaf/TabbedPaneUI +javax/swing/plaf/TableHeaderUI +javax/swing/plaf/TableUI +javax/swing/plaf/TextUI +javax/swing/plaf/ToolBarUI +javax/swing/plaf/TreeUI +javax/swing/plaf/UIResource +javax/swing/plaf/ViewportUI +javax/swing/plaf/basic/BasicArrowButton +javax/swing/plaf/basic/BasicBorders +javax/swing/plaf/basic/BasicBorders$ButtonBorder +javax/swing/plaf/basic/BasicBorders$MarginBorder +javax/swing/plaf/basic/BasicBorders$RadioButtonBorder +javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder +javax/swing/plaf/basic/BasicBorders$SplitPaneBorder +javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder +javax/swing/plaf/basic/BasicButtonListener +javax/swing/plaf/basic/BasicButtonUI +javax/swing/plaf/basic/BasicCheckBoxMenuItemUI +javax/swing/plaf/basic/BasicComboBoxEditor +javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField +javax/swing/plaf/basic/BasicComboBoxEditor$UIResource +javax/swing/plaf/basic/BasicComboBoxRenderer +javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource +javax/swing/plaf/basic/BasicComboBoxUI +javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager +javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager +javax/swing/plaf/basic/BasicComboBoxUI$Handler +javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler +javax/swing/plaf/basic/BasicComboPopup +javax/swing/plaf/basic/BasicComboPopup$1 +javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass +javax/swing/plaf/basic/BasicComboPopup$Handler +javax/swing/plaf/basic/BasicGraphicsUtils +javax/swing/plaf/basic/BasicHTML +javax/swing/plaf/basic/BasicLabelUI +javax/swing/plaf/basic/BasicListUI +javax/swing/plaf/basic/BasicListUI$Handler +javax/swing/plaf/basic/BasicListUI$ListTransferHandler +javax/swing/plaf/basic/BasicLookAndFeel +javax/swing/plaf/basic/BasicLookAndFeel$1 +javax/swing/plaf/basic/BasicLookAndFeel$2 +javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper +javax/swing/plaf/basic/BasicMenuBarUI +javax/swing/plaf/basic/BasicMenuBarUI$Handler +javax/swing/plaf/basic/BasicMenuItemUI +javax/swing/plaf/basic/BasicMenuItemUI$Handler +javax/swing/plaf/basic/BasicMenuUI +javax/swing/plaf/basic/BasicMenuUI$Handler +javax/swing/plaf/basic/BasicPanelUI +javax/swing/plaf/basic/BasicPopupMenuUI +javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener +javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener +javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper +javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper$1 +javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber +javax/swing/plaf/basic/BasicProgressBarUI +javax/swing/plaf/basic/BasicProgressBarUI$Handler +javax/swing/plaf/basic/BasicRadioButtonMenuItemUI +javax/swing/plaf/basic/BasicRadioButtonUI +javax/swing/plaf/basic/BasicRootPaneUI +javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap +javax/swing/plaf/basic/BasicScrollBarUI +javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener +javax/swing/plaf/basic/BasicScrollBarUI$Handler +javax/swing/plaf/basic/BasicScrollBarUI$ModelListener +javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler +javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener +javax/swing/plaf/basic/BasicScrollBarUI$TrackListener +javax/swing/plaf/basic/BasicScrollPaneUI +javax/swing/plaf/basic/BasicScrollPaneUI$Handler +javax/swing/plaf/basic/BasicSeparatorUI +javax/swing/plaf/basic/BasicSliderUI +javax/swing/plaf/basic/BasicSliderUI$Actions +javax/swing/plaf/basic/BasicSliderUI$Handler +javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler +javax/swing/plaf/basic/BasicSliderUI$ScrollListener +javax/swing/plaf/basic/BasicSliderUI$TrackListener +javax/swing/plaf/basic/BasicSplitPaneDivider +javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout +javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler +javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler +javax/swing/plaf/basic/BasicSplitPaneUI +javax/swing/plaf/basic/BasicSplitPaneUI$1 +javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager +javax/swing/plaf/basic/BasicSplitPaneUI$Handler +javax/swing/plaf/basic/BasicTabbedPaneUI +javax/swing/plaf/basic/BasicTabbedPaneUI$Handler +javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout +javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout +javax/swing/plaf/basic/BasicTableHeaderUI +javax/swing/plaf/basic/BasicTableHeaderUI$1 +javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler +javax/swing/plaf/basic/BasicTableUI +javax/swing/plaf/basic/BasicTableUI$Handler +javax/swing/plaf/basic/BasicTableUI$TableTransferHandler +javax/swing/plaf/basic/BasicTextAreaUI +javax/swing/plaf/basic/BasicTextFieldUI +javax/swing/plaf/basic/BasicTextUI +javax/swing/plaf/basic/BasicTextUI$BasicCaret +javax/swing/plaf/basic/BasicTextUI$BasicCursor +javax/swing/plaf/basic/BasicTextUI$BasicHighlighter +javax/swing/plaf/basic/BasicTextUI$DragListener +javax/swing/plaf/basic/BasicTextUI$FocusAction +javax/swing/plaf/basic/BasicTextUI$RootView +javax/swing/plaf/basic/BasicTextUI$TextActionWrapper +javax/swing/plaf/basic/BasicTextUI$TextTransferHandler +javax/swing/plaf/basic/BasicTextUI$UpdateHandler +javax/swing/plaf/basic/BasicToggleButtonUI +javax/swing/plaf/basic/BasicToolBarSeparatorUI +javax/swing/plaf/basic/BasicToolBarUI +javax/swing/plaf/basic/BasicToolBarUI$DockingListener +javax/swing/plaf/basic/BasicToolBarUI$Handler +javax/swing/plaf/basic/BasicTreeUI +javax/swing/plaf/basic/BasicTreeUI$Actions +javax/swing/plaf/basic/BasicTreeUI$Handler +javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler +javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler +javax/swing/plaf/basic/BasicViewportUI +javax/swing/plaf/basic/ComboPopup +javax/swing/plaf/basic/DefaultMenuLayout +javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag +javax/swing/plaf/basic/LazyActionMap +javax/swing/plaf/metal/DefaultMetalTheme +javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate +javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1 +javax/swing/plaf/metal/MetalBorders +javax/swing/plaf/metal/MetalBorders$ButtonBorder +javax/swing/plaf/metal/MetalBorders$Flush3DBorder +javax/swing/plaf/metal/MetalBorders$MenuBarBorder +javax/swing/plaf/metal/MetalBorders$MenuItemBorder +javax/swing/plaf/metal/MetalBorders$PopupMenuBorder +javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder +javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder +javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder +javax/swing/plaf/metal/MetalBorders$TextFieldBorder +javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder +javax/swing/plaf/metal/MetalBorders$ToolBarBorder +javax/swing/plaf/metal/MetalBumps +javax/swing/plaf/metal/MetalButtonUI +javax/swing/plaf/metal/MetalCheckBoxUI +javax/swing/plaf/metal/MetalComboBoxButton +javax/swing/plaf/metal/MetalComboBoxButton$1 +javax/swing/plaf/metal/MetalComboBoxEditor +javax/swing/plaf/metal/MetalComboBoxEditor$1 +javax/swing/plaf/metal/MetalComboBoxEditor$EditorBorder +javax/swing/plaf/metal/MetalComboBoxEditor$UIResource +javax/swing/plaf/metal/MetalComboBoxIcon +javax/swing/plaf/metal/MetalComboBoxUI +javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager +javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener +javax/swing/plaf/metal/MetalIconFactory +javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon +javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon +javax/swing/plaf/metal/MetalIconFactory$FolderIcon16 +javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon +javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon +javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon +javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon +javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon +javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon +javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon +javax/swing/plaf/metal/MetalLabelUI +javax/swing/plaf/metal/MetalLookAndFeel +javax/swing/plaf/metal/MetalLookAndFeel$AATextListener +javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue +javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue +javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue$1 +javax/swing/plaf/metal/MetalPopupMenuSeparatorUI +javax/swing/plaf/metal/MetalProgressBarUI +javax/swing/plaf/metal/MetalRadioButtonUI +javax/swing/plaf/metal/MetalRootPaneUI +javax/swing/plaf/metal/MetalScrollBarUI +javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener +javax/swing/plaf/metal/MetalScrollButton +javax/swing/plaf/metal/MetalScrollPaneUI +javax/swing/plaf/metal/MetalScrollPaneUI$1 +javax/swing/plaf/metal/MetalSeparatorUI +javax/swing/plaf/metal/MetalSliderUI +javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener +javax/swing/plaf/metal/MetalSplitPaneDivider +javax/swing/plaf/metal/MetalSplitPaneDivider$1 +javax/swing/plaf/metal/MetalSplitPaneDivider$2 +javax/swing/plaf/metal/MetalSplitPaneUI +javax/swing/plaf/metal/MetalTabbedPaneUI +javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout +javax/swing/plaf/metal/MetalTextFieldUI +javax/swing/plaf/metal/MetalTheme +javax/swing/plaf/metal/MetalToggleButtonUI +javax/swing/plaf/metal/MetalToolBarUI +javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener +javax/swing/plaf/metal/MetalTreeUI +javax/swing/plaf/metal/MetalTreeUI$LineListener +javax/swing/plaf/metal/OceanTheme +javax/swing/plaf/metal/OceanTheme$1 +javax/swing/plaf/metal/OceanTheme$2 +javax/swing/plaf/metal/OceanTheme$3 +javax/swing/plaf/metal/OceanTheme$4 +javax/swing/plaf/metal/OceanTheme$5 +javax/swing/plaf/metal/OceanTheme$6 +javax/swing/plaf/synth/SynthConstants +javax/swing/plaf/synth/SynthUI +javax/swing/table/AbstractTableModel +javax/swing/table/DefaultTableCellRenderer +javax/swing/table/DefaultTableColumnModel +javax/swing/table/DefaultTableModel +javax/swing/table/JTableHeader +javax/swing/table/TableCellEditor +javax/swing/table/TableCellRenderer +javax/swing/table/TableColumn +javax/swing/table/TableColumnModel +javax/swing/table/TableModel +javax/swing/text/AbstractDocument +javax/swing/text/AbstractDocument$1 +javax/swing/text/AbstractDocument$AbstractElement +javax/swing/text/AbstractDocument$AttributeContext +javax/swing/text/AbstractDocument$BidiElement +javax/swing/text/AbstractDocument$BidiRootElement +javax/swing/text/AbstractDocument$BranchElement +javax/swing/text/AbstractDocument$Content +javax/swing/text/AbstractDocument$DefaultDocumentEvent +javax/swing/text/AbstractDocument$ElementEdit +javax/swing/text/AbstractDocument$InsertStringResult +javax/swing/text/AbstractDocument$LeafElement +javax/swing/text/AttributeSet +javax/swing/text/AttributeSet$CharacterAttribute +javax/swing/text/AttributeSet$ColorAttribute +javax/swing/text/AttributeSet$FontAttribute +javax/swing/text/AttributeSet$ParagraphAttribute +javax/swing/text/Caret +javax/swing/text/DefaultCaret +javax/swing/text/DefaultCaret$Handler +javax/swing/text/DefaultEditorKit +javax/swing/text/DefaultEditorKit$BeepAction +javax/swing/text/DefaultEditorKit$BeginAction +javax/swing/text/DefaultEditorKit$BeginLineAction +javax/swing/text/DefaultEditorKit$BeginParagraphAction +javax/swing/text/DefaultEditorKit$BeginWordAction +javax/swing/text/DefaultEditorKit$CopyAction +javax/swing/text/DefaultEditorKit$CutAction +javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction +javax/swing/text/DefaultEditorKit$DeleteNextCharAction +javax/swing/text/DefaultEditorKit$DeletePrevCharAction +javax/swing/text/DefaultEditorKit$DeleteWordAction +javax/swing/text/DefaultEditorKit$DumpModelAction +javax/swing/text/DefaultEditorKit$EndAction +javax/swing/text/DefaultEditorKit$EndLineAction +javax/swing/text/DefaultEditorKit$EndParagraphAction +javax/swing/text/DefaultEditorKit$EndWordAction +javax/swing/text/DefaultEditorKit$InsertBreakAction +javax/swing/text/DefaultEditorKit$InsertContentAction +javax/swing/text/DefaultEditorKit$InsertTabAction +javax/swing/text/DefaultEditorKit$NextVisualPositionAction +javax/swing/text/DefaultEditorKit$NextWordAction +javax/swing/text/DefaultEditorKit$PageAction +javax/swing/text/DefaultEditorKit$PasteAction +javax/swing/text/DefaultEditorKit$PreviousWordAction +javax/swing/text/DefaultEditorKit$ReadOnlyAction +javax/swing/text/DefaultEditorKit$SelectAllAction +javax/swing/text/DefaultEditorKit$SelectLineAction +javax/swing/text/DefaultEditorKit$SelectParagraphAction +javax/swing/text/DefaultEditorKit$SelectWordAction +javax/swing/text/DefaultEditorKit$ToggleComponentOrientationAction +javax/swing/text/DefaultEditorKit$UnselectAction +javax/swing/text/DefaultEditorKit$VerticalPageAction +javax/swing/text/DefaultEditorKit$WritableAction +javax/swing/text/DefaultHighlighter +javax/swing/text/DefaultHighlighter$DefaultHighlightPainter +javax/swing/text/DefaultHighlighter$SafeDamager +javax/swing/text/Document +javax/swing/text/EditorKit +javax/swing/text/Element +javax/swing/text/FieldView +javax/swing/text/GapContent +javax/swing/text/GapContent$InsertUndo +javax/swing/text/GapContent$MarkData +javax/swing/text/GapContent$MarkVector +javax/swing/text/GapContent$StickyPosition +javax/swing/text/GapVector +javax/swing/text/Highlighter +javax/swing/text/Highlighter$Highlight +javax/swing/text/Highlighter$HighlightPainter +javax/swing/text/JTextComponent +javax/swing/text/JTextComponent$1 +javax/swing/text/JTextComponent$DefaultKeymap +javax/swing/text/JTextComponent$KeymapActionMap +javax/swing/text/JTextComponent$KeymapWrapper +javax/swing/text/JTextComponent$MutableCaretEvent +javax/swing/text/Keymap +javax/swing/text/LayeredHighlighter +javax/swing/text/LayeredHighlighter$LayerPainter +javax/swing/text/MutableAttributeSet +javax/swing/text/PlainDocument +javax/swing/text/PlainView +javax/swing/text/Position +javax/swing/text/Position$Bias +javax/swing/text/Segment +javax/swing/text/SegmentCache +javax/swing/text/SegmentCache$CachedSegment +javax/swing/text/SimpleAttributeSet +javax/swing/text/SimpleAttributeSet$EmptyAttributeSet +javax/swing/text/Style +javax/swing/text/StyleConstants +javax/swing/text/StyleConstants$CharacterConstants +javax/swing/text/StyleConstants$ColorConstants +javax/swing/text/StyleConstants$FontConstants +javax/swing/text/StyleConstants$ParagraphConstants +javax/swing/text/StyleContext +javax/swing/text/StyleContext$FontKey +javax/swing/text/StyleContext$KeyEnumeration +javax/swing/text/StyleContext$NamedStyle +javax/swing/text/StyleContext$SmallAttributeSet +javax/swing/text/TabExpander +javax/swing/text/TextAction +javax/swing/text/Utilities +javax/swing/text/View +javax/swing/text/ViewFactory +javax/swing/tree/AbstractLayoutCache +javax/swing/tree/AbstractLayoutCache$NodeDimensions +javax/swing/tree/DefaultMutableTreeNode +javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration +javax/swing/tree/DefaultTreeCellEditor +javax/swing/tree/DefaultTreeCellEditor$1 +javax/swing/tree/DefaultTreeCellEditor$DefaultTextField +javax/swing/tree/DefaultTreeCellEditor$EditorContainer +javax/swing/tree/DefaultTreeCellRenderer +javax/swing/tree/DefaultTreeModel +javax/swing/tree/DefaultTreeSelectionModel +javax/swing/tree/MutableTreeNode +javax/swing/tree/PathPlaceHolder +javax/swing/tree/RowMapper +javax/swing/tree/TreeCellEditor +javax/swing/tree/TreeCellRenderer +javax/swing/tree/TreeModel +javax/swing/tree/TreeNode +javax/swing/tree/TreePath +javax/swing/tree/TreeSelectionModel +javax/swing/tree/VariableHeightLayoutCache +javax/swing/tree/VariableHeightLayoutCache$TreeStateNode +javax/swing/undo/AbstractUndoableEdit +javax/swing/undo/CompoundEdit +javax/swing/undo/UndoableEdit +javax/xml/parsers/DocumentBuilder +javax/xml/parsers/DocumentBuilderFactory +javax/xml/parsers/FactoryFinder +javax/xml/parsers/FactoryFinder$1 +javax/xml/parsers/ParserConfigurationException +javax/xml/parsers/SecuritySupport +javax/xml/parsers/SecuritySupport$2 +javax/xml/parsers/SecuritySupport$5 +org/w3c/dom/Attr +org/w3c/dom/CDATASection +org/w3c/dom/CharacterData +org/w3c/dom/Comment +org/w3c/dom/DOMException +org/w3c/dom/Document +org/w3c/dom/DocumentFragment +org/w3c/dom/DocumentType +org/w3c/dom/Element +org/w3c/dom/Entity +org/w3c/dom/EntityReference +org/w3c/dom/NamedNodeMap +org/w3c/dom/Node +org/w3c/dom/NodeList +org/w3c/dom/Notation +org/w3c/dom/ProcessingInstruction +org/w3c/dom/Text +org/w3c/dom/events/DocumentEvent +org/w3c/dom/events/Event +org/w3c/dom/events/EventException +org/w3c/dom/events/EventTarget +org/w3c/dom/events/MutationEvent +org/w3c/dom/ranges/DocumentRange +org/w3c/dom/ranges/Range +org/w3c/dom/traversal/DocumentTraversal +org/w3c/dom/traversal/NodeIterator +org/w3c/dom/traversal/TreeWalker +org/xml/sax/AttributeList +org/xml/sax/ContentHandler +org/xml/sax/DTDHandler +org/xml/sax/EntityResolver +org/xml/sax/ErrorHandler +org/xml/sax/InputSource +org/xml/sax/Locator +org/xml/sax/SAXException +org/xml/sax/SAXNotRecognizedException +org/xml/sax/SAXNotSupportedException +org/xml/sax/SAXParseException +org/xml/sax/helpers/DefaultHandler +sun/awt/AWTAccessor +sun/awt/AWTAccessor$AWTEventAccessor +sun/awt/AWTAccessor$ClientPropertyKeyAccessor +sun/awt/AWTAccessor$ComponentAccessor +sun/awt/AWTAccessor$ContainerAccessor +sun/awt/AWTAccessor$CursorAccessor +sun/awt/AWTAccessor$DefaultKeyboardFocusManagerAccessor +sun/awt/AWTAccessor$EventQueueAccessor +sun/awt/AWTAccessor$FrameAccessor +sun/awt/AWTAccessor$InputEventAccessor +sun/awt/AWTAccessor$InvocationEventAccessor +sun/awt/AWTAccessor$KeyEventAccessor +sun/awt/AWTAccessor$KeyboardFocusManagerAccessor +sun/awt/AWTAccessor$SequencedEventAccessor +sun/awt/AWTAccessor$ToolkitAccessor +sun/awt/AWTAccessor$WindowAccessor +sun/awt/AWTAutoShutdown +sun/awt/AWTIcon32_java_icon16_png +sun/awt/AWTIcon32_java_icon24_png +sun/awt/AWTIcon32_java_icon32_png +sun/awt/AWTIcon32_java_icon48_png +sun/awt/AppContext +sun/awt/AppContext$1 +sun/awt/AppContext$2 +sun/awt/AppContext$3 +sun/awt/AppContext$6 +sun/awt/AppContext$GetAppContextLock +sun/awt/AppContext$State +sun/awt/CausedFocusEvent +sun/awt/CausedFocusEvent$Cause +sun/awt/ComponentFactory +sun/awt/ConstrainableGraphics +sun/awt/DisplayChangedListener +sun/awt/EmbeddedFrame +sun/awt/EventQueueDelegate +sun/awt/EventQueueItem +sun/awt/FontConfiguration +sun/awt/FontDescriptor +sun/awt/GlobalCursorManager +sun/awt/GlobalCursorManager$NativeUpdater +sun/awt/HeadlessToolkit +sun/awt/IconInfo +sun/awt/InputMethodSupport +sun/awt/KeyboardFocusManagerPeerImpl +sun/awt/KeyboardFocusManagerPeerProvider +sun/awt/LightweightFrame +sun/awt/ModalityListener +sun/awt/MostRecentKeyValue +sun/awt/NullComponentPeer +sun/awt/OSInfo +sun/awt/OSInfo$1 +sun/awt/OSInfo$OSType +sun/awt/OSInfo$WindowsVersion +sun/awt/PaintEventDispatcher +sun/awt/PeerEvent +sun/awt/PostEventQueue +sun/awt/RepaintArea +sun/awt/RequestFocusController +sun/awt/SubRegionShowable +sun/awt/SunDisplayChanger +sun/awt/SunGraphicsCallback +sun/awt/SunHints +sun/awt/SunHints$Key +sun/awt/SunHints$LCDContrastKey +sun/awt/SunHints$Value +sun/awt/SunToolkit +sun/awt/SunToolkit$ModalityListenerList +sun/awt/TimedWindowEvent +sun/awt/UNIXToolkit +sun/awt/WindowClosingListener +sun/awt/WindowClosingSupport +sun/awt/X11/AwtGraphicsConfigData +sun/awt/X11/AwtScreenData +sun/awt/X11/MotifColorUtilities +sun/awt/X11/MotifDnDConstants +sun/awt/X11/MotifDnDDragSourceProtocol +sun/awt/X11/MotifDnDDropTargetProtocol +sun/awt/X11/Native +sun/awt/X11/Native$1 +sun/awt/X11/OwnershipListener +sun/awt/X11/PropMwmHints +sun/awt/X11/UnsafeXDisposerRecord +sun/awt/X11/WindowDimensions +sun/awt/X11/WindowPropertyGetter +sun/awt/X11/XAWTXSettings +sun/awt/X11/XAnyEvent +sun/awt/X11/XAtom +sun/awt/X11/XAtomList +sun/awt/X11/XAwtState +sun/awt/X11/XBaseWindow +sun/awt/X11/XBaseWindow$1 +sun/awt/X11/XBaseWindow$InitialiseState +sun/awt/X11/XBaseWindow$StateLock +sun/awt/X11/XCanvasPeer +sun/awt/X11/XClientMessageEvent +sun/awt/X11/XClipboard +sun/awt/X11/XComponentPeer +sun/awt/X11/XComponentPeer$1 +sun/awt/X11/XConfigureEvent +sun/awt/X11/XContentWindow +sun/awt/X11/XCreateWindowParams +sun/awt/X11/XDecoratedPeer +sun/awt/X11/XDnDConstants +sun/awt/X11/XDnDDragSourceProtocol +sun/awt/X11/XDnDDropTargetProtocol +sun/awt/X11/XDragAndDropProtocols +sun/awt/X11/XDragSourceContextPeer +sun/awt/X11/XDragSourceProtocol +sun/awt/X11/XDragSourceProtocolListener +sun/awt/X11/XDropTargetContextPeer +sun/awt/X11/XDropTargetContextPeer$XDropTargetProtocolListenerImpl +sun/awt/X11/XDropTargetEventProcessor +sun/awt/X11/XDropTargetProtocol +sun/awt/X11/XDropTargetProtocolListener +sun/awt/X11/XDropTargetRegistry +sun/awt/X11/XEmbeddedFramePeer +sun/awt/X11/XErrorEvent +sun/awt/X11/XErrorHandler +sun/awt/X11/XErrorHandler$IgnoreBadWindowHandler +sun/awt/X11/XErrorHandler$VerifyChangePropertyHandler +sun/awt/X11/XErrorHandler$XBaseErrorHandler +sun/awt/X11/XErrorHandler$XErrorHandlerWithFlag +sun/awt/X11/XErrorHandler$XShmAttachHandler +sun/awt/X11/XErrorHandlerUtil +sun/awt/X11/XEvent +sun/awt/X11/XEventDispatcher +sun/awt/X11/XExposeEvent +sun/awt/X11/XFocusChangeEvent +sun/awt/X11/XFocusProxyWindow +sun/awt/X11/XFramePeer +sun/awt/X11/XGlobalCursorManager +sun/awt/X11/XInputMethod +sun/awt/X11/XInputMethodDescriptor +sun/awt/X11/XKeyboardFocusManagerPeer +sun/awt/X11/XLabelPeer +sun/awt/X11/XLayerProtocol +sun/awt/X11/XMSelection +sun/awt/X11/XMSelection$1 +sun/awt/X11/XMSelection$3 +sun/awt/X11/XMSelectionListener +sun/awt/X11/XModifierKeymap +sun/awt/X11/XNETProtocol +sun/awt/X11/XPanelPeer +sun/awt/X11/XPropertyCache +sun/awt/X11/XPropertyEvent +sun/awt/X11/XProtocol +sun/awt/X11/XRepaintArea +sun/awt/X11/XReparentEvent +sun/awt/X11/XRootWindow +sun/awt/X11/XSelection +sun/awt/X11/XSelection$IncrementalTransferHandler +sun/awt/X11/XSelection$SelectionEventHandler +sun/awt/X11/XSetWindowAttributes +sun/awt/X11/XSizeHints +sun/awt/X11/XStateProtocol +sun/awt/X11/XSystemTrayPeer +sun/awt/X11/XToolkit +sun/awt/X11/XToolkit$1 +sun/awt/X11/XToolkit$2 +sun/awt/X11/XToolkit$2$1 +sun/awt/X11/XToolkit$3 +sun/awt/X11/XToolkit$4 +sun/awt/X11/XToolkit$5 +sun/awt/X11/XUnmapEvent +sun/awt/X11/XVisibilityEvent +sun/awt/X11/XVisualInfo +sun/awt/X11/XWINProtocol +sun/awt/X11/XWM +sun/awt/X11/XWM$1 +sun/awt/X11/XWMHints +sun/awt/X11/XWindow +sun/awt/X11/XWindowAttributes +sun/awt/X11/XWindowAttributesData +sun/awt/X11/XWindowPeer +sun/awt/X11/XWindowPeer$2 +sun/awt/X11/XWindowPeer$4 +sun/awt/X11/XWrapperBase +sun/awt/X11/XlibUtil +sun/awt/X11/XlibWrapper +sun/awt/X11ComponentPeer +sun/awt/X11FontManager +sun/awt/X11GraphicsConfig +sun/awt/X11GraphicsConfig$X11GCDisposerRecord +sun/awt/X11GraphicsDevice +sun/awt/X11GraphicsEnvironment +sun/awt/X11GraphicsEnvironment$1 +sun/awt/X11InputMethod +sun/awt/X11InputMethodDescriptor +sun/awt/XSettings +sun/awt/XSettings$Update +sun/awt/datatransfer/SunClipboard +sun/awt/dnd/SunDragSourceContextPeer +sun/awt/dnd/SunDropTargetContextPeer +sun/awt/dnd/SunDropTargetEvent +sun/awt/event/IgnorePaintEvent +sun/awt/geom/PathConsumer2D +sun/awt/im/ExecutableInputMethodManager +sun/awt/im/ExecutableInputMethodManager$3 +sun/awt/im/InputContext +sun/awt/im/InputMethodAdapter +sun/awt/im/InputMethodContext +sun/awt/im/InputMethodLocator +sun/awt/im/InputMethodManager +sun/awt/image/BufImgSurfaceData +sun/awt/image/BufImgSurfaceData$ICMColorData +sun/awt/image/BufImgSurfaceManager +sun/awt/image/BufferedImageGraphicsConfig +sun/awt/image/ByteComponentRaster +sun/awt/image/ByteInterleavedRaster +sun/awt/image/BytePackedRaster +sun/awt/image/FetcherInfo +sun/awt/image/GifFrame +sun/awt/image/GifImageDecoder +sun/awt/image/ImageConsumerQueue +sun/awt/image/ImageDecoder +sun/awt/image/ImageDecoder$1 +sun/awt/image/ImageFetchable +sun/awt/image/ImageFetcher +sun/awt/image/ImageFetcher$1 +sun/awt/image/ImageRepresentation +sun/awt/image/ImageWatched +sun/awt/image/ImageWatched$Link +sun/awt/image/ImageWatched$WeakLink +sun/awt/image/InputStreamImageSource +sun/awt/image/IntegerComponentRaster +sun/awt/image/IntegerInterleavedRaster +sun/awt/image/NativeLibLoader +sun/awt/image/NativeLibLoader$1 +sun/awt/image/OffScreenImage +sun/awt/image/PNGFilterInputStream +sun/awt/image/PNGImageDecoder +sun/awt/image/PixelConverter +sun/awt/image/PixelConverter$Argb +sun/awt/image/PixelConverter$ArgbBm +sun/awt/image/PixelConverter$ArgbPre +sun/awt/image/PixelConverter$Bgrx +sun/awt/image/PixelConverter$ByteGray +sun/awt/image/PixelConverter$Rgba +sun/awt/image/PixelConverter$RgbaPre +sun/awt/image/PixelConverter$Rgbx +sun/awt/image/PixelConverter$Ushort4444Argb +sun/awt/image/PixelConverter$Ushort555Rgb +sun/awt/image/PixelConverter$Ushort555Rgbx +sun/awt/image/PixelConverter$Ushort565Rgb +sun/awt/image/PixelConverter$UshortGray +sun/awt/image/PixelConverter$Xbgr +sun/awt/image/PixelConverter$Xrgb +sun/awt/image/SunVolatileImage +sun/awt/image/SunWritableRaster +sun/awt/image/SunWritableRaster$DataStealer +sun/awt/image/SurfaceManager +sun/awt/image/SurfaceManager$ImageAccessor +sun/awt/image/SurfaceManager$ProxiedGraphicsConfig +sun/awt/image/ToolkitImage +sun/awt/image/URLImageSource +sun/awt/image/VolatileSurfaceManager +sun/awt/motif/MFontConfiguration +sun/awt/resources/awt +sun/awt/util/IdentityArrayList +sun/dc/DuctusRenderingEngine +sun/dc/path/PathConsumer +sun/dc/pr/PathDasher +sun/dc/pr/PathDasher$1 +sun/dc/pr/PathStroker +sun/dc/pr/PathStroker$1 +sun/font/AttributeValues +sun/font/CMap +sun/font/CMap$CMapFormat12 +sun/font/CMap$NullCMapClass +sun/font/CharToGlyphMapper +sun/font/CompositeFont +sun/font/CompositeFontDescriptor +sun/font/CompositeGlyphMapper +sun/font/CompositeStrike +sun/font/CoreMetrics +sun/font/EAttribute +sun/font/FcFontConfiguration +sun/font/FileFont +sun/font/FileFontStrike +sun/font/Font2D +sun/font/Font2DHandle +sun/font/FontAccess +sun/font/FontConfigManager +sun/font/FontConfigManager$FcCompFont +sun/font/FontConfigManager$FontConfigFont +sun/font/FontConfigManager$FontConfigInfo +sun/font/FontDesignMetrics +sun/font/FontDesignMetrics$KeyReference +sun/font/FontDesignMetrics$MetricsKey +sun/font/FontFamily +sun/font/FontLineMetrics +sun/font/FontManager +sun/font/FontManagerFactory +sun/font/FontManagerFactory$1 +sun/font/FontManagerForSGE +sun/font/FontManagerNativeLibrary +sun/font/FontManagerNativeLibrary$1 +sun/font/FontScaler +sun/font/FontStrike +sun/font/FontStrikeDesc +sun/font/FontStrikeDisposer +sun/font/FontUtilities +sun/font/FontUtilities$1 +sun/font/GlyphList +sun/font/PhysicalFont +sun/font/PhysicalStrike +sun/font/StandardGlyphVector +sun/font/StandardGlyphVector$GlyphStrike +sun/font/StrikeCache +sun/font/StrikeCache$1 +sun/font/StrikeCache$DisposableStrike +sun/font/StrikeCache$SoftDisposerRef +sun/font/StrikeMetrics +sun/font/SunFontManager +sun/font/SunFontManager$1 +sun/font/SunFontManager$11 +sun/font/SunFontManager$2 +sun/font/SunFontManager$3 +sun/font/SunFontManager$FontRegistrationInfo +sun/font/SunFontManager$T1Filter +sun/font/SunFontManager$TTFilter +sun/font/T2KFontScaler +sun/font/T2KFontScaler$1 +sun/font/TrueTypeFont +sun/font/TrueTypeFont$1 +sun/font/TrueTypeFont$DirectoryEntry +sun/font/TrueTypeFont$TTDisposerRecord +sun/font/TrueTypeGlyphMapper +sun/font/Type1Font +sun/font/Type1Font$1 +sun/font/X11TextRenderer +sun/java2d/BackBufferCapsProvider +sun/java2d/DefaultDisposerRecord +sun/java2d/DestSurfaceProvider +sun/java2d/Disposer +sun/java2d/Disposer$1 +sun/java2d/Disposer$2 +sun/java2d/Disposer$PollDisposable +sun/java2d/DisposerRecord +sun/java2d/DisposerTarget +sun/java2d/FontSupport +sun/java2d/InvalidPipeException +sun/java2d/NullSurfaceData +sun/java2d/StateTrackable +sun/java2d/StateTrackable$State +sun/java2d/StateTrackableDelegate +sun/java2d/StateTrackableDelegate$2 +sun/java2d/SunGraphics2D +sun/java2d/SunGraphicsEnvironment +sun/java2d/SunGraphicsEnvironment$1 +sun/java2d/Surface +sun/java2d/SurfaceData +sun/java2d/SurfaceData$PixelToPgramLoopConverter +sun/java2d/SurfaceData$PixelToShapeLoopConverter +sun/java2d/SurfaceManagerFactory +sun/java2d/UnixSurfaceManagerFactory +sun/java2d/cmm/CMSManager +sun/java2d/cmm/ProfileActivator +sun/java2d/cmm/ProfileDeferralInfo +sun/java2d/cmm/ProfileDeferralMgr +sun/java2d/loops/Blit +sun/java2d/loops/BlitBg +sun/java2d/loops/CompositeType +sun/java2d/loops/CustomComponent +sun/java2d/loops/DrawGlyphList +sun/java2d/loops/DrawGlyphListAA +sun/java2d/loops/DrawGlyphListLCD +sun/java2d/loops/DrawLine +sun/java2d/loops/DrawParallelogram +sun/java2d/loops/DrawPath +sun/java2d/loops/DrawPolygons +sun/java2d/loops/DrawRect +sun/java2d/loops/FillParallelogram +sun/java2d/loops/FillPath +sun/java2d/loops/FillRect +sun/java2d/loops/FillSpans +sun/java2d/loops/FontInfo +sun/java2d/loops/GeneralRenderer +sun/java2d/loops/GraphicsPrimitive +sun/java2d/loops/GraphicsPrimitiveMgr +sun/java2d/loops/GraphicsPrimitiveMgr$1 +sun/java2d/loops/GraphicsPrimitiveMgr$2 +sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec +sun/java2d/loops/GraphicsPrimitiveProxy +sun/java2d/loops/MaskBlit +sun/java2d/loops/MaskFill +sun/java2d/loops/RenderCache +sun/java2d/loops/RenderCache$Entry +sun/java2d/loops/RenderLoops +sun/java2d/loops/ScaledBlit +sun/java2d/loops/SurfaceType +sun/java2d/loops/TransformHelper +sun/java2d/loops/XORComposite +sun/java2d/opengl/GLXGraphicsConfig +sun/java2d/opengl/OGLGraphicsConfig +sun/java2d/pipe/AAShapePipe +sun/java2d/pipe/AATextRenderer +sun/java2d/pipe/AlphaColorPipe +sun/java2d/pipe/AlphaPaintPipe +sun/java2d/pipe/CompositePipe +sun/java2d/pipe/DrawImage +sun/java2d/pipe/DrawImagePipe +sun/java2d/pipe/GeneralCompositePipe +sun/java2d/pipe/GlyphListLoopPipe +sun/java2d/pipe/GlyphListPipe +sun/java2d/pipe/LCDTextRenderer +sun/java2d/pipe/LoopBasedPipe +sun/java2d/pipe/LoopPipe +sun/java2d/pipe/NullPipe +sun/java2d/pipe/OutlineTextRenderer +sun/java2d/pipe/ParallelogramPipe +sun/java2d/pipe/PixelDrawPipe +sun/java2d/pipe/PixelFillPipe +sun/java2d/pipe/PixelToParallelogramConverter +sun/java2d/pipe/PixelToShapeConverter +sun/java2d/pipe/Region +sun/java2d/pipe/Region$ImmutableRegion +sun/java2d/pipe/RegionIterator +sun/java2d/pipe/RenderingEngine +sun/java2d/pipe/RenderingEngine$1 +sun/java2d/pipe/ShapeDrawPipe +sun/java2d/pipe/ShapeSpanIterator +sun/java2d/pipe/SolidTextRenderer +sun/java2d/pipe/SpanClipRenderer +sun/java2d/pipe/SpanIterator +sun/java2d/pipe/SpanShapeRenderer +sun/java2d/pipe/SpanShapeRenderer$Composite +sun/java2d/pipe/TextPipe +sun/java2d/pipe/TextRenderer +sun/java2d/pipe/ValidatePipe +sun/java2d/pipe/hw/AccelGraphicsConfig +sun/java2d/pipe/hw/BufferedContextProvider +sun/java2d/x11/X11Renderer +sun/java2d/x11/X11SurfaceData +sun/java2d/x11/X11SurfaceData$LazyPipe +sun/java2d/x11/X11SurfaceData$X11WindowSurfaceData +sun/java2d/x11/X11VolatileSurfaceManager +sun/java2d/x11/XSurfaceData +sun/java2d/xr/XRGraphicsConfig +sun/launcher/LauncherHelper +sun/launcher/LauncherHelper$FXHelper +sun/misc/ASCIICaseInsensitiveComparator +sun/misc/Cleaner +sun/misc/CompoundEnumeration +sun/misc/ExtensionDependency +sun/misc/FDBigInteger +sun/misc/FileURLMapper +sun/misc/FloatingDecimal +sun/misc/FloatingDecimal$1 +sun/misc/FloatingDecimal$ASCIIToBinaryBuffer +sun/misc/FloatingDecimal$ASCIIToBinaryConverter +sun/misc/FloatingDecimal$BinaryToASCIIBuffer +sun/misc/FloatingDecimal$BinaryToASCIIConverter +sun/misc/FloatingDecimal$ExceptionalBinaryToASCIIBuffer +sun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer +sun/misc/IOUtils +sun/misc/JarIndex +sun/misc/JavaAWTAccess +sun/misc/JavaIOFileDescriptorAccess +sun/misc/JavaLangAccess +sun/misc/JavaNetAccess +sun/misc/JavaNioAccess +sun/misc/JavaSecurityAccess +sun/misc/JavaSecurityProtectionDomainAccess +sun/misc/JavaUtilJarAccess +sun/misc/JavaUtilZipFileAccess +sun/misc/Launcher +sun/misc/Launcher$AppClassLoader +sun/misc/Launcher$AppClassLoader$1 +sun/misc/Launcher$BootClassPathHolder +sun/misc/Launcher$BootClassPathHolder$1 +sun/misc/Launcher$ExtClassLoader +sun/misc/Launcher$ExtClassLoader$1 +sun/misc/Launcher$Factory +sun/misc/MetaIndex +sun/misc/NativeSignalHandler +sun/misc/OSEnvironment +sun/misc/Perf +sun/misc/Perf$GetPerfAction +sun/misc/PerfCounter +sun/misc/PerfCounter$CoreCounters +sun/misc/PerformanceLogger +sun/misc/PerformanceLogger$TimeData +sun/misc/PostVMInitHook +sun/misc/Resource +sun/misc/SharedSecrets +sun/misc/Signal +sun/misc/SignalHandler +sun/misc/SoftCache +sun/misc/SoftCache$ValueCell +sun/misc/URLClassPath +sun/misc/URLClassPath$1 +sun/misc/URLClassPath$2 +sun/misc/URLClassPath$3 +sun/misc/URLClassPath$FileLoader +sun/misc/URLClassPath$JarLoader +sun/misc/URLClassPath$JarLoader$1 +sun/misc/URLClassPath$JarLoader$2 +sun/misc/URLClassPath$Loader +sun/misc/Unsafe +sun/misc/VM +sun/misc/Version +sun/net/DefaultProgressMeteringPolicy +sun/net/InetAddressCachePolicy +sun/net/InetAddressCachePolicy$1 +sun/net/InetAddressCachePolicy$2 +sun/net/NetHooks +sun/net/NetHooks$Provider +sun/net/NetProperties +sun/net/NetProperties$1 +sun/net/ProgressMeteringPolicy +sun/net/ProgressMonitor +sun/net/ResourceManager +sun/net/sdp/SdpProvider +sun/net/spi/DefaultProxySelector +sun/net/spi/DefaultProxySelector$1 +sun/net/spi/DefaultProxySelector$3 +sun/net/spi/DefaultProxySelector$NonProxyInfo +sun/net/spi/nameservice/NameService +sun/net/util/IPAddressUtil +sun/net/util/URLUtil +sun/net/www/MessageHeader +sun/net/www/MimeEntry +sun/net/www/MimeTable +sun/net/www/MimeTable$1 +sun/net/www/MimeTable$DefaultInstanceHolder +sun/net/www/MimeTable$DefaultInstanceHolder$1 +sun/net/www/ParseUtil +sun/net/www/URLConnection +sun/net/www/protocol/file/FileURLConnection +sun/net/www/protocol/file/Handler +sun/net/www/protocol/http/Handler +sun/net/www/protocol/jar/Handler +sun/net/www/protocol/jar/JarFileFactory +sun/net/www/protocol/jar/JarURLConnection +sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream +sun/net/www/protocol/jar/URLJarFile +sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController +sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry +sun/nio/ByteBuffered +sun/nio/ch/DirectBuffer +sun/nio/ch/FileChannelImpl +sun/nio/ch/FileChannelImpl$Unmapper +sun/nio/ch/FileDispatcher +sun/nio/ch/FileDispatcherImpl +sun/nio/ch/IOStatus +sun/nio/ch/IOUtil +sun/nio/ch/IOUtil$1 +sun/nio/ch/Interruptible +sun/nio/ch/NativeDispatcher +sun/nio/ch/NativeThread +sun/nio/ch/NativeThreadSet +sun/nio/ch/Util +sun/nio/ch/Util$1 +sun/nio/ch/Util$4 +sun/nio/ch/Util$BufferCache +sun/nio/cs/ArrayDecoder +sun/nio/cs/ArrayEncoder +sun/nio/cs/FastCharsetProvider +sun/nio/cs/HistoricallyNamedCharset +sun/nio/cs/ISO_8859_1 +sun/nio/cs/ISO_8859_1$Encoder +sun/nio/cs/StandardCharsets +sun/nio/cs/StandardCharsets$Aliases +sun/nio/cs/StandardCharsets$Cache +sun/nio/cs/StandardCharsets$Classes +sun/nio/cs/StreamDecoder +sun/nio/cs/StreamEncoder +sun/nio/cs/Surrogate +sun/nio/cs/Surrogate$Parser +sun/nio/cs/US_ASCII +sun/nio/cs/US_ASCII$Decoder +sun/nio/cs/UTF_16 +sun/nio/cs/UTF_16$Decoder +sun/nio/cs/UTF_16BE +sun/nio/cs/UTF_16LE +sun/nio/cs/UTF_8 +sun/nio/cs/UTF_8$Decoder +sun/nio/cs/UTF_8$Encoder +sun/nio/cs/Unicode +sun/nio/cs/UnicodeDecoder +sun/print/PrinterGraphicsConfig +sun/reflect/AccessorGenerator +sun/reflect/BootstrapConstructorAccessorImpl +sun/reflect/ByteVector +sun/reflect/ByteVectorFactory +sun/reflect/ByteVectorImpl +sun/reflect/CallerSensitive +sun/reflect/ClassDefiner +sun/reflect/ClassDefiner$1 +sun/reflect/ClassFileAssembler +sun/reflect/ClassFileConstants +sun/reflect/ConstantPool +sun/reflect/ConstructorAccessor +sun/reflect/ConstructorAccessorImpl +sun/reflect/DelegatingClassLoader +sun/reflect/DelegatingConstructorAccessorImpl +sun/reflect/DelegatingMethodAccessorImpl +sun/reflect/FieldAccessor +sun/reflect/FieldAccessorImpl +sun/reflect/Label +sun/reflect/Label$PatchInfo +sun/reflect/LangReflectAccess +sun/reflect/MagicAccessorImpl +sun/reflect/MethodAccessor +sun/reflect/MethodAccessorGenerator +sun/reflect/MethodAccessorGenerator$1 +sun/reflect/MethodAccessorImpl +sun/reflect/NativeConstructorAccessorImpl +sun/reflect/NativeMethodAccessorImpl +sun/reflect/Reflection +sun/reflect/ReflectionFactory +sun/reflect/ReflectionFactory$1 +sun/reflect/ReflectionFactory$GetReflectionFactoryAction +sun/reflect/SerializationConstructorAccessorImpl +sun/reflect/UTF8 +sun/reflect/UnsafeFieldAccessorFactory +sun/reflect/UnsafeFieldAccessorImpl +sun/reflect/UnsafeObjectFieldAccessorImpl +sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl +sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl +sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl +sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl +sun/reflect/UnsafeStaticFieldAccessorImpl +sun/reflect/annotation/AnnotationType +sun/reflect/generics/repository/AbstractRepository +sun/reflect/generics/repository/ClassRepository +sun/reflect/generics/repository/GenericDeclRepository +sun/reflect/misc/MethodUtil +sun/reflect/misc/MethodUtil$1 +sun/reflect/misc/ReflectUtil +sun/security/action/GetBooleanAction +sun/security/action/GetIntegerAction +sun/security/action/GetPropertyAction +sun/security/jca/GetInstance +sun/security/jca/GetInstance$Instance +sun/security/jca/ProviderConfig +sun/security/jca/ProviderConfig$2 +sun/security/jca/ProviderList +sun/security/jca/ProviderList$1 +sun/security/jca/ProviderList$2 +sun/security/jca/ProviderList$3 +sun/security/jca/ProviderList$ServiceList +sun/security/jca/ProviderList$ServiceList$1 +sun/security/jca/Providers +sun/security/jca/ServiceId +sun/security/provider/ByteArrayAccess +sun/security/provider/DSA +sun/security/provider/DSA$LegacyDSA +sun/security/provider/DSA$SHA1withDSA +sun/security/provider/DSAParameters +sun/security/provider/DSAPublicKey +sun/security/provider/DigestBase +sun/security/provider/NativePRNG +sun/security/provider/NativePRNG$1 +sun/security/provider/NativePRNG$2 +sun/security/provider/NativePRNG$Blocking +sun/security/provider/NativePRNG$NonBlocking +sun/security/provider/NativePRNG$RandomIO +sun/security/provider/NativePRNG$Variant +sun/security/provider/SHA +sun/security/provider/Sun +sun/security/provider/SunEntries +sun/security/provider/SunEntries$1 +sun/security/util/BitArray +sun/security/util/ByteArrayLexOrder +sun/security/util/Debug +sun/security/util/DerEncoder +sun/security/util/DerIndefLenConverter +sun/security/util/DerInputBuffer +sun/security/util/DerInputStream +sun/security/util/DerOutputStream +sun/security/util/DerValue +sun/security/util/ManifestEntryVerifier +sun/security/util/ObjectIdentifier +sun/security/util/SignatureFileVerifier +sun/security/x509/AlgorithmId +sun/security/x509/X509Key +sun/swing/DefaultLookup +sun/swing/ImageIconUIResource +sun/swing/JLightweightFrame +sun/swing/MenuItemLayoutHelper +sun/swing/MenuItemLayoutHelper$ColumnAlignment +sun/swing/MenuItemLayoutHelper$LayoutResult +sun/swing/MenuItemLayoutHelper$RectSize +sun/swing/PrintColorUIResource +sun/swing/StringUIClientPropertyKey +sun/swing/SwingAccessor +sun/swing/SwingAccessor$JTextComponentAccessor +sun/swing/SwingLazyValue +sun/swing/SwingLazyValue$1 +sun/swing/SwingUtilities2 +sun/swing/SwingUtilities2$2 +sun/swing/SwingUtilities2$AATextInfo +sun/swing/SwingUtilities2$LSBCacheEntry +sun/swing/UIAction +sun/swing/UIClientPropertyKey +sun/swing/table/DefaultTableCellHeaderRenderer +sun/swing/table/DefaultTableCellHeaderRenderer$EmptyIcon +sun/text/ComposedCharIter +sun/text/IntHashtable +sun/text/UCompactIntArray +sun/text/normalizer/CharTrie +sun/text/normalizer/CharTrie$FriendAgent +sun/text/normalizer/ICUBinary +sun/text/normalizer/ICUBinary$Authenticate +sun/text/normalizer/ICUData +sun/text/normalizer/IntTrie +sun/text/normalizer/NormalizerDataReader +sun/text/normalizer/NormalizerImpl +sun/text/normalizer/NormalizerImpl$AuxTrieImpl +sun/text/normalizer/NormalizerImpl$DecomposeArgs +sun/text/normalizer/NormalizerImpl$FCDTrieImpl +sun/text/normalizer/NormalizerImpl$NormTrieImpl +sun/text/normalizer/Trie +sun/text/normalizer/Trie$DataManipulate +sun/text/normalizer/UTF16 +sun/text/normalizer/UnicodeMatcher +sun/text/normalizer/UnicodeSet +sun/text/resources/CollationData +sun/text/resources/FormatData +sun/text/resources/en/FormatData_en +sun/text/resources/en/FormatData_en_US +sun/util/CoreResourceBundleControl +sun/util/PreHashedMap +sun/util/ResourceBundleEnumeration +sun/util/calendar/AbstractCalendar +sun/util/calendar/BaseCalendar +sun/util/calendar/BaseCalendar$Date +sun/util/calendar/CalendarDate +sun/util/calendar/CalendarSystem +sun/util/calendar/CalendarUtils +sun/util/calendar/Gregorian +sun/util/calendar/Gregorian$Date +sun/util/calendar/ZoneInfo +sun/util/calendar/ZoneInfoFile +sun/util/calendar/ZoneInfoFile$1 +sun/util/calendar/ZoneInfoFile$Checksum +sun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule +sun/util/locale/BaseLocale +sun/util/locale/BaseLocale$Cache +sun/util/locale/BaseLocale$Key +sun/util/locale/LanguageTag +sun/util/locale/LocaleObjectCache +sun/util/locale/LocaleObjectCache$CacheEntry +sun/util/locale/LocaleUtils +sun/util/locale/provider/AuxLocaleProviderAdapter +sun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider +sun/util/locale/provider/AvailableLanguageTags +sun/util/locale/provider/CalendarDataProviderImpl +sun/util/locale/provider/CalendarDataUtility +sun/util/locale/provider/CalendarDataUtility$CalendarWeekParameterGetter +sun/util/locale/provider/CalendarProviderImpl +sun/util/locale/provider/CollatorProviderImpl +sun/util/locale/provider/CurrencyNameProviderImpl +sun/util/locale/provider/DateFormatSymbolsProviderImpl +sun/util/locale/provider/DecimalFormatSymbolsProviderImpl +sun/util/locale/provider/JRELocaleProviderAdapter +sun/util/locale/provider/JRELocaleProviderAdapter$1 +sun/util/locale/provider/LocaleDataMetaInfo +sun/util/locale/provider/LocaleProviderAdapter +sun/util/locale/provider/LocaleProviderAdapter$1 +sun/util/locale/provider/LocaleProviderAdapter$Type +sun/util/locale/provider/LocaleResources +sun/util/locale/provider/LocaleResources$ResourceReference +sun/util/locale/provider/LocaleServiceProviderPool +sun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter +sun/util/locale/provider/NumberFormatProviderImpl +sun/util/locale/provider/ResourceBundleBasedAdapter +sun/util/locale/provider/SPILocaleProviderAdapter +sun/util/locale/provider/SPILocaleProviderAdapter$1 +sun/util/locale/provider/TimeZoneNameProviderImpl +sun/util/locale/provider/TimeZoneNameUtility +sun/util/locale/provider/TimeZoneNameUtility$TimeZoneNameGetter +sun/util/logging/LoggingProxy +sun/util/logging/LoggingSupport +sun/util/logging/LoggingSupport$1 +sun/util/logging/LoggingSupport$2 +sun/util/logging/PlatformLogger +sun/util/logging/PlatformLogger$1 +sun/util/logging/PlatformLogger$DefaultLoggerProxy +sun/util/logging/PlatformLogger$JavaLoggerProxy +sun/util/logging/PlatformLogger$Level +sun/util/logging/PlatformLogger$LoggerProxy +sun/util/logging/resources/logging +sun/util/resources/CalendarData +sun/util/resources/CurrencyNames +sun/util/resources/LocaleData +sun/util/resources/LocaleData$1 +sun/util/resources/LocaleData$LocaleDataResourceBundleControl +sun/util/resources/LocaleNamesBundle +sun/util/resources/OpenListResourceBundle +sun/util/resources/ParallelListResourceBundle +sun/util/resources/ParallelListResourceBundle$KeySet +sun/util/resources/TimeZoneNames +sun/util/resources/TimeZoneNamesBundle +sun/util/resources/en/CalendarData_en +sun/util/resources/en/CurrencyNames_en_US +sun/util/resources/en/TimeZoneNames_en +sun/util/spi/CalendarProvider +# e4fe875988768cf5 Index: b/jdk/make/Images.gmk =================================================================== --- a/jdk/make/Images.gmk +++ b/jdk/make/Images.gmk @@ -236,11 +236,11 @@ ifeq ($(PROFILE), ) endif JDK_LIB_FILES := $(NOT_JRE_LIB_FILES) -ifeq ($(OPENJDK_TARGET_OS), linux) +ifneq ($(findstring $(OPENJDK_TARGET_OS), linux bsd),) JDK_LIB_FILES += jexec endif -ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris),) # If Linux or Solaris +ifneq ($(findstring $(OPENJDK_TARGET_OS), linux bsd solaris),) # If Linux, BSD or Solaris JDK_LIB_FILES += $(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX) \ $(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX) endif @@ -383,7 +383,7 @@ ifneq ($(OPENJDK_TARGET_OS), windows) # This variable is potentially overridden in the closed makefile. MAN_SRC_BASEDIR ?= $(JDK_TOPDIR)/src - ifeq ($(OPENJDK_TARGET_OS), linux) + ifneq ($(findstring $(OPENJDK_TARGET_OS), linux bsd),) MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/linux/doc MAN1_SUBDIR = man endif @@ -447,7 +447,7 @@ ifneq ($(OPENJDK_TARGET_OS), windows) $(install-file) endif - ifeq ($(OPENJDK_TARGET_OS), linux) + ifneq ($(findstring $(OPENJDK_TARGET_OS), linux bsd),) $(JRE_IMAGE_DIR)/man/ja: $(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@) $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja @@ -467,7 +467,7 @@ ifneq ($(OPENJDK_TARGET_OS), windows) $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja endif - ifeq ($(OPENJDK_TARGET_OS), linux) + ifneq ($(findstring $(OPENJDK_TARGET_OS), linux bsd),) JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ $(JRE_IMAGE_DIR)/man/ja Index: b/jdk/make/mapfiles/libnio/mapfile-bsd =================================================================== --- /dev/null +++ b/jdk/make/mapfiles/libnio/mapfile-bsd @@ -0,0 +1,190 @@ +# +# Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +SUNWprivate_1.1 { + global: + Java_java_nio_MappedByteBuffer_force0; + Java_java_nio_MappedByteBuffer_isLoaded0; + Java_java_nio_MappedByteBuffer_load0; + Java_sun_nio_ch_DatagramChannelImpl_disconnect0; + Java_sun_nio_ch_DatagramChannelImpl_initIDs; + Java_sun_nio_ch_DatagramChannelImpl_receive0; + Java_sun_nio_ch_DatagramChannelImpl_send0; + Java_sun_nio_ch_DatagramDispatcher_read0; + Java_sun_nio_ch_DatagramDispatcher_readv0; + Java_sun_nio_ch_DatagramDispatcher_write0; + Java_sun_nio_ch_DatagramDispatcher_writev0; + Java_sun_nio_ch_EPollArrayWrapper_epollCreate; + Java_sun_nio_ch_EPollArrayWrapper_epollCtl; + Java_sun_nio_ch_EPollArrayWrapper_epollWait; + Java_sun_nio_ch_EPollArrayWrapper_init; + Java_sun_nio_ch_EPollArrayWrapper_interrupt; + Java_sun_nio_ch_EPollArrayWrapper_offsetofData; + Java_sun_nio_ch_EPollArrayWrapper_sizeofEPollEvent; + Java_sun_nio_ch_EPoll_eventSize; + Java_sun_nio_ch_EPoll_eventsOffset; + Java_sun_nio_ch_EPoll_dataOffset; + Java_sun_nio_ch_EPoll_epollCreate; + Java_sun_nio_ch_EPoll_epollCtl; + Java_sun_nio_ch_EPoll_epollWait; + Java_sun_nio_ch_EPollPort_close0; + Java_sun_nio_ch_EPollPort_drain1; + Java_sun_nio_ch_EPollPort_interrupt; + Java_sun_nio_ch_EPollPort_socketpair; + Java_sun_nio_ch_FileChannelImpl_close0; + Java_sun_nio_ch_FileChannelImpl_initIDs; + Java_sun_nio_ch_FileChannelImpl_map0; + Java_sun_nio_ch_FileChannelImpl_position0; + Java_sun_nio_ch_FileChannelImpl_transferTo0; + Java_sun_nio_ch_FileChannelImpl_unmap0; + Java_sun_nio_ch_FileDispatcherImpl_close0; + Java_sun_nio_ch_FileDispatcherImpl_closeIntFD; + Java_sun_nio_ch_FileDispatcherImpl_force0; + Java_sun_nio_ch_FileDispatcherImpl_init; + Java_sun_nio_ch_FileDispatcherImpl_lock0; + Java_sun_nio_ch_FileDispatcherImpl_preClose0; + Java_sun_nio_ch_FileDispatcherImpl_pread0; + Java_sun_nio_ch_FileDispatcherImpl_pwrite0; + Java_sun_nio_ch_FileDispatcherImpl_read0; + Java_sun_nio_ch_FileDispatcherImpl_readv0; + Java_sun_nio_ch_FileDispatcherImpl_release0; + Java_sun_nio_ch_FileDispatcherImpl_size0; + Java_sun_nio_ch_FileDispatcherImpl_truncate0; + Java_sun_nio_ch_FileDispatcherImpl_write0; + Java_sun_nio_ch_FileDispatcherImpl_writev0; + Java_sun_nio_ch_FileKey_init; + Java_sun_nio_ch_FileKey_initIDs; + Java_sun_nio_ch_InheritedChannel_close0; + Java_sun_nio_ch_InheritedChannel_dup; + Java_sun_nio_ch_InheritedChannel_dup2; + Java_sun_nio_ch_InheritedChannel_open0; + Java_sun_nio_ch_InheritedChannel_peerAddress0; + Java_sun_nio_ch_InheritedChannel_peerPort0; + Java_sun_nio_ch_InheritedChannel_soType0; + Java_sun_nio_ch_IOUtil_configureBlocking; + Java_sun_nio_ch_IOUtil_drain; + Java_sun_nio_ch_IOUtil_fdVal; + Java_sun_nio_ch_IOUtil_fdLimit; + Java_sun_nio_ch_IOUtil_initIDs; + Java_sun_nio_ch_IOUtil_iovMax; + Java_sun_nio_ch_IOUtil_makePipe; + Java_sun_nio_ch_IOUtil_randomBytes; + Java_sun_nio_ch_IOUtil_setfdVal; + Java_sun_nio_ch_NativeThread_current; + Java_sun_nio_ch_NativeThread_init; + Java_sun_nio_ch_NativeThread_signal; + Java_sun_nio_ch_Net_canIPv6SocketJoinIPv4Group0; + Java_sun_nio_ch_Net_canJoin6WithIPv4Group0; + Java_sun_nio_ch_Net_socket0; + Java_sun_nio_ch_Net_bind0; + Java_sun_nio_ch_Net_connect0; + Java_sun_nio_ch_Net_listen; + Java_sun_nio_ch_Net_localPort; + Java_sun_nio_ch_Net_localInetAddress; + Java_sun_nio_ch_Net_getIntOption0; + Java_sun_nio_ch_Net_setIntOption0; + Java_sun_nio_ch_Net_initIDs; + Java_sun_nio_ch_Net_isIPv6Available0; + Java_sun_nio_ch_Net_joinOrDrop4; + Java_sun_nio_ch_Net_blockOrUnblock4; + Java_sun_nio_ch_Net_joinOrDrop6; + Java_sun_nio_ch_Net_blockOrUnblock6; + Java_sun_nio_ch_Net_setInterface4; + Java_sun_nio_ch_Net_getInterface4; + Java_sun_nio_ch_Net_setInterface6; + Java_sun_nio_ch_Net_getInterface6; + Java_sun_nio_ch_Net_shutdown; + Java_sun_nio_ch_Net_poll; + Java_sun_nio_ch_Net_pollinValue; + Java_sun_nio_ch_Net_polloutValue; + Java_sun_nio_ch_Net_pollerrValue; + Java_sun_nio_ch_Net_pollhupValue; + Java_sun_nio_ch_Net_pollnvalValue; + Java_sun_nio_ch_Net_pollconnValue; + Java_sun_nio_ch_Net_isExclusiveBindAvailable; + Java_sun_nio_ch_PollArrayWrapper_interrupt; + Java_sun_nio_ch_PollArrayWrapper_poll0; + Java_sun_nio_ch_ServerSocketChannelImpl_accept0; + Java_sun_nio_ch_ServerSocketChannelImpl_initIDs; + Java_sun_nio_ch_SocketChannelImpl_checkConnect; + Java_sun_nio_ch_SocketChannelImpl_sendOutOfBandData; + Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_accept0; + Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_initIDs; + Java_sun_nio_ch_UnixAsynchronousSocketChannelImpl_checkConnect; + Java_sun_nio_fs_GnomeFileTypeDetector_initializeGio; + Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGio; + Java_sun_nio_fs_GnomeFileTypeDetector_initializeGnomeVfs; + Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGnomeVfs; + Java_sun_nio_fs_UnixNativeDispatcher_init; + Java_sun_nio_fs_UnixNativeDispatcher_getcwd; + Java_sun_nio_fs_UnixNativeDispatcher_strerror; + Java_sun_nio_fs_UnixNativeDispatcher_dup; + Java_sun_nio_fs_UnixNativeDispatcher_access0; + Java_sun_nio_fs_UnixNativeDispatcher_stat0; + Java_sun_nio_fs_UnixNativeDispatcher_lstat0; + Java_sun_nio_fs_UnixNativeDispatcher_fstat; + Java_sun_nio_fs_UnixNativeDispatcher_fstatat0; + Java_sun_nio_fs_UnixNativeDispatcher_chmod0; + Java_sun_nio_fs_UnixNativeDispatcher_fchmod; + Java_sun_nio_fs_UnixNativeDispatcher_chown0; + Java_sun_nio_fs_UnixNativeDispatcher_lchown0; + Java_sun_nio_fs_UnixNativeDispatcher_fchown; + Java_sun_nio_fs_UnixNativeDispatcher_utimes0; + Java_sun_nio_fs_UnixNativeDispatcher_futimes; + Java_sun_nio_fs_UnixNativeDispatcher_open0; + Java_sun_nio_fs_UnixNativeDispatcher_openat0; + Java_sun_nio_fs_UnixNativeDispatcher_close; + Java_sun_nio_fs_UnixNativeDispatcher_read; + Java_sun_nio_fs_UnixNativeDispatcher_write; + Java_sun_nio_fs_UnixNativeDispatcher_fopen0; + Java_sun_nio_fs_UnixNativeDispatcher_fclose; + Java_sun_nio_fs_UnixNativeDispatcher_opendir0; + Java_sun_nio_fs_UnixNativeDispatcher_fdopendir; + Java_sun_nio_fs_UnixNativeDispatcher_readdir; + Java_sun_nio_fs_UnixNativeDispatcher_closedir; + Java_sun_nio_fs_UnixNativeDispatcher_link0; + Java_sun_nio_fs_UnixNativeDispatcher_unlink0; + Java_sun_nio_fs_UnixNativeDispatcher_unlinkat0; + Java_sun_nio_fs_UnixNativeDispatcher_rename0; + Java_sun_nio_fs_UnixNativeDispatcher_renameat0; + Java_sun_nio_fs_UnixNativeDispatcher_mkdir0; + Java_sun_nio_fs_UnixNativeDispatcher_rmdir0; + Java_sun_nio_fs_UnixNativeDispatcher_symlink0; + Java_sun_nio_fs_UnixNativeDispatcher_readlink0; + Java_sun_nio_fs_UnixNativeDispatcher_realpath0; + Java_sun_nio_fs_UnixNativeDispatcher_statvfs0; + Java_sun_nio_fs_UnixNativeDispatcher_pathconf0; + Java_sun_nio_fs_UnixNativeDispatcher_fpathconf; + Java_sun_nio_fs_UnixNativeDispatcher_mknod0; + Java_sun_nio_fs_UnixNativeDispatcher_getpwuid; + Java_sun_nio_fs_UnixNativeDispatcher_getgrgid; + Java_sun_nio_fs_UnixNativeDispatcher_getpwnam0; + Java_sun_nio_fs_UnixNativeDispatcher_getgrnam0; + Java_sun_nio_fs_UnixCopyFile_transfer; + handleSocketError; + + local: + *; +}; Index: b/jdk/src/solaris/native/sun/nio/ch/FileDispatcherImpl.c =================================================================== --- a/jdk/src/solaris/native/sun/nio/ch/FileDispatcherImpl.c +++ b/jdk/src/solaris/native/sun/nio/ch/FileDispatcherImpl.c @@ -45,8 +45,12 @@ #define stat64 stat #define flock64 flock #define off64_t off_t +#ifndef F_SETLKW64 #define F_SETLKW64 F_SETLKW +#endif +#ifndef F_SETLK64 #define F_SETLK64 F_SETLK +#endif #define pread64 pread #define pwrite64 pwrite Index: b/jdk/make/lib/Awt2dLibraries.gmk =================================================================== --- a/jdk/make/lib/Awt2dLibraries.gmk +++ b/jdk/make/lib/Awt2dLibraries.gmk @@ -309,7 +309,7 @@ LIBAWT_FILES := \ debug_trace.c \ debug_util.c -ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris linux aix)) +ifneq (, $(filter $(OPENJDK_TARGET_OS), bsd solaris linux aix)) LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c endif @@ -478,7 +478,7 @@ $(eval $(call SetupNativeCompilation,BUI MAPFILE := $(LIBAWT_MAPFILE), \ LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_solaris := -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \ - LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \ + LDFLAGS_SUFFIX_bsd := -ljvm $(LIBM) $(LIBDL) -ljava, \ LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \ LDFLAGS_SUFFIX_aix :=-ljvm $(LIBM) $(LIBDL) -ljava -lm,\ LDFLAGS_SUFFIX_macosx := -lmlib_image -ljvm $(LIBM) \ @@ -637,7 +637,7 @@ ifeq ($(findstring $(OPENJDK_TARGET_OS), MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS), \ - LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN) \ + LDFLAGS_bsd := $(call SET_SHARED_LIBRARY_ORIGIN) \ $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ LDFLAGS_solaris := -L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) \ -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) \ @@ -687,7 +687,7 @@ $(eval $(call SetupNativeCompilation,BUI LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \ LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \ LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \ - LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm -llcms2, \ + LDFLAGS_SUFFIX_bsd := -lm -lawt -ljava -ljvm -llcms2, \ LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm,\ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ RC_FLAGS := $(RC_FLAGS) \ @@ -854,13 +854,13 @@ ifeq ($(BUILD_HEADLESS), true) MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_headless/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ - LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ + LDFLAGS_bsd := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..) \ -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) \ -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \ LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN)., \ REORDER := $(LIBAWT_HEADLESS_REORDER), \ - LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \ + LDFLAGS_SUFFIX_bsd := -ljvm -lawt -lm $(LIBDL) -ljava, \ LDFLAGS_SUFFIX_aix := -ljvm -lawt -ljava,\ LDFLAGS_SUFFIX_solaris := $(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc, \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_headless, \ @@ -937,7 +937,7 @@ $(eval $(call SetupNativeCompilation,BUI LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \ - LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \ + LDFLAGS_SUFFIX_bsd := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \ LDFLAGS_SUFFIX_solaris := -lawt -lawt_headless -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \ LDFLAGS_SUFFIX_aix := -lawt -lawt_headless $(LIBM) $(LIBCXX) -ljava -ljvm,\ LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \ @@ -1088,7 +1088,7 @@ else # OPENJDK_TARGET_OS not windows LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_solaris := -L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \ - LDFLAGS_SUFFIX_linux := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \ + LDFLAGS_SUFFIX_bsd := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \ LDFLAGS_SUFFIX_aix := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\ LDFLAGS_SUFFIX_solaris := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender, \ LDFLAGS_SUFFIX_macosx := -Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \ @@ -1144,7 +1144,7 @@ ifndef OPENJDK MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libkcms/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ - LDFLAGS_SUFFIX_linux := -lc -lpthread, \ + LDFLAGS_SUFFIX_bsd := -lc -lpthread, \ LDFLAGS_SUFFIX_solaris := -lc, \ LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib version.lib, \ LDFLAGS_SUFFIX_posix := -lm -ljava -ljvm, \ Index: b/jdk/src/share/lib/security/java.security-bsd =================================================================== --- /dev/null +++ b/jdk/src/share/lib/security/java.security-bsd @@ -0,0 +1,569 @@ +# +# This is the "master security properties file". +# +# An alternate java.security properties file may be specified +# from the command line via the system property +# +# -Djava.security.properties= +# +# This properties file appends to the master security properties file. +# If both properties files specify values for the same key, the value +# from the command-line properties file is selected, as it is the last +# one loaded. +# +# Also, if you specify +# +# -Djava.security.properties== (2 equals), +# +# then that properties file completely overrides the master security +# properties file. +# +# To disable the ability to specify an additional properties file from +# the command line, set the key security.overridePropertiesFile +# to false in the master security properties file. It is set to true +# by default. + +# In this file, various security properties are set for use by +# java.security classes. This is where users can statically register +# Cryptography Package Providers ("providers" for short). The term +# "provider" refers to a package or set of packages that supply a +# concrete implementation of a subset of the cryptography aspects of +# the Java Security API. A provider may, for example, implement one or +# more digital signature algorithms or message digest algorithms. +# +# Each provider must implement a subclass of the Provider class. +# To register a provider in this master security properties file, +# specify the Provider subclass name and priority in the format +# +# security.provider.= +# +# This declares a provider, and specifies its preference +# order n. The preference order is the order in which providers are +# searched for requested algorithms (when no specific provider is +# requested). The order is 1-based; 1 is the most preferred, followed +# by 2, and so on. +# +# must specify the subclass of the Provider class whose +# constructor sets the values of various properties that are required +# for the Java Security API to look up the algorithms or other +# facilities implemented by the provider. +# +# There must be at least one provider specification in java.security. +# There is a default provider that comes standard with the JDK. It +# is called the "SUN" provider, and its Provider subclass +# named Sun appears in the sun.security.provider package. Thus, the +# "SUN" provider is registered via the following: +# +# security.provider.1=sun.security.provider.Sun +# +# (The number 1 is used for the default provider.) +# +# Note: Providers can be dynamically registered instead by calls to +# either the addProvider or insertProviderAt method in the Security +# class. + +# +# List of providers and their preference orders (see above): +# +security.provider.1=sun.security.provider.Sun +security.provider.2=sun.security.rsa.SunRsaSign +security.provider.3=sun.security.ec.SunEC +security.provider.4=com.sun.net.ssl.internal.ssl.Provider +security.provider.5=com.sun.crypto.provider.SunJCE +security.provider.6=sun.security.jgss.SunProvider +security.provider.7=com.sun.security.sasl.Provider +security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI +security.provider.9=sun.security.smartcardio.SunPCSC + +# +# Sun Provider SecureRandom seed source. +# +# Select the primary source of seed data for the "SHA1PRNG" and +# "NativePRNG" SecureRandom implementations in the "Sun" provider. +# (Other SecureRandom implementations might also use this property.) +# +# On Unix-like systems (for example, Solaris/Linux/MacOS), the +# "NativePRNG" and "SHA1PRNG" implementations obtains seed data from +# special device files such as file:/dev/random. +# +# On Windows systems, specifying the URLs "file:/dev/random" or +# "file:/dev/urandom" will enable the native Microsoft CryptoAPI seeding +# mechanism for SHA1PRNG. +# +# By default, an attempt is made to use the entropy gathering device +# specified by the "securerandom.source" Security property. If an +# exception occurs while accessing the specified URL: +# +# SHA1PRNG: +# the traditional system/thread activity algorithm will be used. +# +# NativePRNG: +# a default value of /dev/random will be used. If neither +# are available, the implementation will be disabled. +# "file" is the only currently supported protocol type. +# +# The entropy gathering device can also be specified with the System +# property "java.security.egd". For example: +# +# % java -Djava.security.egd=file:/dev/random MainClass +# +# Specifying this System property will override the +# "securerandom.source" Security property. +# +# In addition, if "file:/dev/random" or "file:/dev/urandom" is +# specified, the "NativePRNG" implementation will be more preferred than +# SHA1PRNG in the Sun provider. +# +securerandom.source=file:/dev/random + +# +# A list of known strong SecureRandom implementations. +# +# To help guide applications in selecting a suitable strong +# java.security.SecureRandom implementation, Java distributions should +# indicate a list of known strong implementations using the property. +# +# This is a comma-separated list of algorithm and/or algorithm:provider +# entries. +# +securerandom.strongAlgorithms=NativePRNGBlocking:SUN + +# +# Class to instantiate as the javax.security.auth.login.Configuration +# provider. +# +login.configuration.provider=sun.security.provider.ConfigFile + +# +# Default login configuration file +# +#login.config.url.1=file:${user.home}/.java.login.config + +# +# Class to instantiate as the system Policy. This is the name of the class +# that will be used as the Policy object. +# +policy.provider=sun.security.provider.PolicyFile + +# The default is to have a single system-wide policy file, +# and a policy file in the user's home directory. +policy.url.1=file:${java.home}/lib/security/java.policy +policy.url.2=file:${user.home}/.java.policy + +# whether or not we expand properties in the policy file +# if this is set to false, properties (${...}) will not be expanded in policy +# files. +policy.expandProperties=true + +# whether or not we allow an extra policy to be passed on the command line +# with -Djava.security.policy=somefile. Comment out this line to disable +# this feature. +policy.allowSystemProperty=true + +# whether or not we look into the IdentityScope for trusted Identities +# when encountering a 1.1 signed JAR file. If the identity is found +# and is trusted, we grant it AllPermission. +policy.ignoreIdentityScope=false + +# +# Default keystore type. +# +keystore.type=jks + +# +# Controls compatibility mode for the JKS keystore type. +# +# When set to 'true', the JKS keystore type supports loading +# keystore files in either JKS or PKCS12 format. When set to 'false' +# it supports loading only JKS keystore files. +# +keystore.type.compat=true + +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when +# passed to checkPackageAccess unless the +# corresponding RuntimePermission ("accessClassInPackage."+package) has +# been granted. +package.access=sun.,\ + com.sun.xml.internal.,\ + com.sun.imageio.,\ + com.sun.istack.internal.,\ + com.sun.jmx.,\ + com.sun.media.sound.,\ + com.sun.naming.internal.,\ + com.sun.proxy.,\ + com.sun.corba.se.,\ + com.sun.org.apache.bcel.internal.,\ + com.sun.org.apache.regexp.internal.,\ + com.sun.org.apache.xerces.internal.,\ + com.sun.org.apache.xpath.internal.,\ + com.sun.org.apache.xalan.internal.extensions.,\ + com.sun.org.apache.xalan.internal.lib.,\ + com.sun.org.apache.xalan.internal.res.,\ + com.sun.org.apache.xalan.internal.templates.,\ + com.sun.org.apache.xalan.internal.utils.,\ + com.sun.org.apache.xalan.internal.xslt.,\ + com.sun.org.apache.xalan.internal.xsltc.cmdline.,\ + com.sun.org.apache.xalan.internal.xsltc.compiler.,\ + com.sun.org.apache.xalan.internal.xsltc.trax.,\ + com.sun.org.apache.xalan.internal.xsltc.util.,\ + com.sun.org.apache.xml.internal.res.,\ + com.sun.org.apache.xml.internal.security.,\ + com.sun.org.apache.xml.internal.serializer.utils.,\ + com.sun.org.apache.xml.internal.utils.,\ + com.sun.org.glassfish.,\ + com.oracle.xmlns.internal.,\ + com.oracle.webservices.internal.,\ + oracle.jrockit.jfr.,\ + org.jcp.xml.dsig.internal.,\ + jdk.internal.,\ + jdk.nashorn.internal.,\ + jdk.nashorn.tools.,\ + com.sun.activation.registries. + +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when +# passed to checkPackageDefinition unless the +# corresponding RuntimePermission ("defineClassInPackage."+package) has +# been granted. +# +# by default, none of the class loaders supplied with the JDK call +# checkPackageDefinition. +# +package.definition=sun.,\ + com.sun.xml.internal.,\ + com.sun.imageio.,\ + com.sun.istack.internal.,\ + com.sun.jmx.,\ + com.sun.media.sound.,\ + com.sun.naming.internal.,\ + com.sun.proxy.,\ + com.sun.corba.se.,\ + com.sun.org.apache.bcel.internal.,\ + com.sun.org.apache.regexp.internal.,\ + com.sun.org.apache.xerces.internal.,\ + com.sun.org.apache.xpath.internal.,\ + com.sun.org.apache.xalan.internal.extensions.,\ + com.sun.org.apache.xalan.internal.lib.,\ + com.sun.org.apache.xalan.internal.res.,\ + com.sun.org.apache.xalan.internal.templates.,\ + com.sun.org.apache.xalan.internal.utils.,\ + com.sun.org.apache.xalan.internal.xslt.,\ + com.sun.org.apache.xalan.internal.xsltc.cmdline.,\ + com.sun.org.apache.xalan.internal.xsltc.compiler.,\ + com.sun.org.apache.xalan.internal.xsltc.trax.,\ + com.sun.org.apache.xalan.internal.xsltc.util.,\ + com.sun.org.apache.xml.internal.res.,\ + com.sun.org.apache.xml.internal.security.,\ + com.sun.org.apache.xml.internal.serializer.utils.,\ + com.sun.org.apache.xml.internal.utils.,\ + com.sun.org.glassfish.,\ + com.oracle.xmlns.internal.,\ + com.oracle.webservices.internal.,\ + oracle.jrockit.jfr.,\ + org.jcp.xml.dsig.internal.,\ + jdk.internal.,\ + jdk.nashorn.internal.,\ + jdk.nashorn.tools.,\ + com.sun.activation.registries. + +# +# Determines whether this properties file can be appended to +# or overridden on the command line via -Djava.security.properties +# +security.overridePropertiesFile=true + +# +# Determines the default key and trust manager factory algorithms for +# the javax.net.ssl package. +# +ssl.KeyManagerFactory.algorithm=SunX509 +ssl.TrustManagerFactory.algorithm=PKIX + +# +# The Java-level namelookup cache policy for successful lookups: +# +# any negative value: caching forever +# any positive value: the number of seconds to cache an address for +# zero: do not cache +# +# default value is forever (FOREVER). For security reasons, this +# caching is made forever when a security manager is set. When a security +# manager is not set, the default behavior in this implementation +# is to cache for 30 seconds. +# +# NOTE: setting this to anything other than the default value can have +# serious security implications. Do not set it unless +# you are sure you are not exposed to DNS spoofing attack. +# +#networkaddress.cache.ttl=-1 + +# The Java-level namelookup cache policy for failed lookups: +# +# any negative value: cache forever +# any positive value: the number of seconds to cache negative lookup results +# zero: do not cache +# +# In some Microsoft Windows networking environments that employ +# the WINS name service in addition to DNS, name service lookups +# that fail may take a noticeably long time to return (approx. 5 seconds). +# For this reason the default caching policy is to maintain these +# results for 10 seconds. +# +# +networkaddress.cache.negative.ttl=10 + +# +# Properties to configure OCSP for certificate revocation checking +# + +# Enable OCSP +# +# By default, OCSP is not used for certificate revocation checking. +# This property enables the use of OCSP when set to the value "true". +# +# NOTE: SocketPermission is required to connect to an OCSP responder. +# +# Example, +# ocsp.enable=true + +# +# Location of the OCSP responder +# +# By default, the location of the OCSP responder is determined implicitly +# from the certificate being validated. This property explicitly specifies +# the location of the OCSP responder. The property is used when the +# Authority Information Access extension (defined in RFC 3280) is absent +# from the certificate or when it requires overriding. +# +# Example, +# ocsp.responderURL=http://ocsp.example.net:80 + +# +# Subject name of the OCSP responder's certificate +# +# By default, the certificate of the OCSP responder is that of the issuer +# of the certificate being validated. This property identifies the certificate +# of the OCSP responder when the default does not apply. Its value is a string +# distinguished name (defined in RFC 2253) which identifies a certificate in +# the set of certificates supplied during cert path validation. In cases where +# the subject name alone is not sufficient to uniquely identify the certificate +# then both the "ocsp.responderCertIssuerName" and +# "ocsp.responderCertSerialNumber" properties must be used instead. When this +# property is set then those two properties are ignored. +# +# Example, +# ocsp.responderCertSubjectName="CN=OCSP Responder, O=XYZ Corp" + +# +# Issuer name of the OCSP responder's certificate +# +# By default, the certificate of the OCSP responder is that of the issuer +# of the certificate being validated. This property identifies the certificate +# of the OCSP responder when the default does not apply. Its value is a string +# distinguished name (defined in RFC 2253) which identifies a certificate in +# the set of certificates supplied during cert path validation. When this +# property is set then the "ocsp.responderCertSerialNumber" property must also +# be set. When the "ocsp.responderCertSubjectName" property is set then this +# property is ignored. +# +# Example, +# ocsp.responderCertIssuerName="CN=Enterprise CA, O=XYZ Corp" + +# +# Serial number of the OCSP responder's certificate +# +# By default, the certificate of the OCSP responder is that of the issuer +# of the certificate being validated. This property identifies the certificate +# of the OCSP responder when the default does not apply. Its value is a string +# of hexadecimal digits (colon or space separators may be present) which +# identifies a certificate in the set of certificates supplied during cert path +# validation. When this property is set then the "ocsp.responderCertIssuerName" +# property must also be set. When the "ocsp.responderCertSubjectName" property +# is set then this property is ignored. +# +# Example, +# ocsp.responderCertSerialNumber=2A:FF:00 + +# +# Policy for failed Kerberos KDC lookups: +# +# When a KDC is unavailable (network error, service failure, etc), it is +# put inside a blacklist and accessed less often for future requests. The +# value (case-insensitive) for this policy can be: +# +# tryLast +# KDCs in the blacklist are always tried after those not on the list. +# +# tryLess[:max_retries,timeout] +# KDCs in the blacklist are still tried by their order in the configuration, +# but with smaller max_retries and timeout values. max_retries and timeout +# are optional numerical parameters (default 1 and 5000, which means once +# and 5 seconds). Please notes that if any of the values defined here is +# more than what is defined in krb5.conf, it will be ignored. +# +# Whenever a KDC is detected as available, it is removed from the blacklist. +# The blacklist is reset when krb5.conf is reloaded. You can add +# refreshKrb5Config=true to a JAAS configuration file so that krb5.conf is +# reloaded whenever a JAAS authentication is attempted. +# +# Example, +# krb5.kdc.bad.policy = tryLast +# krb5.kdc.bad.policy = tryLess:2,2000 +krb5.kdc.bad.policy = tryLast + +# Algorithm restrictions for certification path (CertPath) processing +# +# In some environments, certain algorithms or key lengths may be undesirable +# for certification path building and validation. For example, "MD2" is +# generally no longer considered to be a secure hash algorithm. This section +# describes the mechanism for disabling algorithms based on algorithm name +# and/or key length. This includes algorithms used in certificates, as well +# as revocation information such as CRLs and signed OCSP Responses. +# +# The syntax of the disabled algorithm string is described as this Java +# BNF-style: +# DisabledAlgorithms: +# " DisabledAlgorithm { , DisabledAlgorithm } " +# +# DisabledAlgorithm: +# AlgorithmName [Constraint] +# +# AlgorithmName: +# (see below) +# +# Constraint: +# KeySizeConstraint +# +# KeySizeConstraint: +# keySize Operator DecimalInteger +# +# Operator: +# <= | < | == | != | >= | > +# +# DecimalInteger: +# DecimalDigits +# +# DecimalDigits: +# DecimalDigit {DecimalDigit} +# +# DecimalDigit: one of +# 1 2 3 4 5 6 7 8 9 0 +# +# The "AlgorithmName" is the standard algorithm name of the disabled +# algorithm. See "Java Cryptography Architecture Standard Algorithm Name +# Documentation" for information about Standard Algorithm Names. Matching +# is performed using a case-insensitive sub-element matching rule. (For +# example, in "SHA1withECDSA" the sub-elements are "SHA1" for hashing and +# "ECDSA" for signatures.) If the assertion "AlgorithmName" is a +# sub-element of the certificate algorithm name, the algorithm will be +# rejected during certification path building and validation. For example, +# the assertion algorithm name "DSA" will disable all certificate algorithms +# that rely on DSA, such as NONEwithDSA, SHA1withDSA. However, the assertion +# will not disable algorithms related to "ECDSA". +# +# A "Constraint" provides further guidance for the algorithm being specified. +# The "KeySizeConstraint" requires a key of a valid size range if the +# "AlgorithmName" is of a key algorithm. The "DecimalInteger" indicates the +# key size specified in number of bits. For example, "RSA keySize <= 1024" +# indicates that any RSA key with key size less than or equal to 1024 bits +# should be disabled, and "RSA keySize < 1024, RSA keySize > 2048" indicates +# that any RSA key with key size less than 1024 or greater than 2048 should +# be disabled. Note that the "KeySizeConstraint" only makes sense to key +# algorithms. +# +# Note: This property is currently used by Oracle's PKIX implementation. It +# is not guaranteed to be examined and used by other implementations. +# +# Example: +# jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048 +# +# +jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024 + +# Algorithm restrictions for Secure Socket Layer/Transport Layer Security +# (SSL/TLS) processing +# +# In some environments, certain algorithms or key lengths may be undesirable +# when using SSL/TLS. This section describes the mechanism for disabling +# algorithms during SSL/TLS security parameters negotiation, including +# protocol version negotiation, cipher suites selection, peer authentication +# and key exchange mechanisms. +# +# Disabled algorithms will not be negotiated for SSL/TLS connections, even +# if they are enabled explicitly in an application. +# +# For PKI-based peer authentication and key exchange mechanisms, this list +# of disabled algorithms will also be checked during certification path +# building and validation, including algorithms used in certificates, as +# well as revocation information such as CRLs and signed OCSP Responses. +# This is in addition to the jdk.certpath.disabledAlgorithms property above. +# +# See the specification of "jdk.certpath.disabledAlgorithms" for the +# syntax of the disabled algorithm string. +# +# Note: This property is currently used by Oracle's JSSE implementation. +# It is not guaranteed to be examined and used by other implementations. +# +# Example: +# jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048 +jdk.tls.disabledAlgorithms=SSLv3, RC4, DH keySize < 768 + +# Legacy algorithms for Secure Socket Layer/Transport Layer Security (SSL/TLS) +# processing in JSSE implementation. +# +# In some environments, a certain algorithm may be undesirable but it +# cannot be disabled because of its use in legacy applications. Legacy +# algorithms may still be supported, but applications should not use them +# as the security strength of legacy algorithms are usually not strong enough +# in practice. +# +# During SSL/TLS security parameters negotiation, legacy algorithms will +# not be negotiated unless there are no other candidates. +# +# The syntax of the disabled algorithm string is described as this Java +# BNF-style: +# LegacyAlgorithms: +# " LegacyAlgorithm { , LegacyAlgorithm } " +# +# LegacyAlgorithm: +# AlgorithmName (standard JSSE algorithm name) +# +# See the specification of security property "jdk.certpath.disabledAlgorithms" +# for the syntax and description of the "AlgorithmName" notation. +# +# Per SSL/TLS specifications, cipher suites have the form: +# SSL_KeyExchangeAlg_WITH_CipherAlg_MacAlg +# or +# TLS_KeyExchangeAlg_WITH_CipherAlg_MacAlg +# +# For example, the cipher suite TLS_RSA_WITH_AES_128_CBC_SHA uses RSA as the +# key exchange algorithm, AES_128_CBC (128 bits AES cipher algorithm in CBC +# mode) as the cipher (encryption) algorithm, and SHA-1 as the message digest +# algorithm for HMAC. +# +# The LegacyAlgorithm can be one of the following standard algorithm names: +# 1. JSSE cipher suite name, e.g., TLS_RSA_WITH_AES_128_CBC_SHA +# 2. JSSE key exchange algorithm name, e.g., RSA +# 3. JSSE cipher (encryption) algorithm name, e.g., AES_128_CBC +# 4. JSSE message digest algorithm name, e.g., SHA +# +# See SSL/TLS specifications and "Java Cryptography Architecture Standard +# Algorithm Name Documentation" for information about the algorithm names. +# +# Note: This property is currently used by Oracle's JSSE implementation. +# It is not guaranteed to be examined and used by other implementations. +# There is no guarantee the property will continue to exist or be of the +# same syntax in future releases. +# +# Example: +# jdk.tls.legacyAlgorithms=DH_anon, DES_CBC, SSL_RSA_WITH_RC4_128_MD5 +# +jdk.tls.legacyAlgorithms= \ + K_NULL, C_NULL, M_NULL, \ + DHE_DSS_EXPORT, DHE_RSA_EXPORT, DH_anon_EXPORT, DH_DSS_EXPORT, \ + DH_RSA_EXPORT, RSA_EXPORT, \ + DH_anon, ECDH_anon, \ + RC4_128, RC4_40, DES_CBC, DES40_CBC Index: b/jdk/src/solaris/classes/java/lang/UNIXProcess.java =================================================================== --- a/jdk/src/solaris/classes/java/lang/UNIXProcess.java +++ b/jdk/src/solaris/classes/java/lang/UNIXProcess.java @@ -157,6 +157,7 @@ final class UNIXProcess extends Process ); if (osName.equals("Linux")) { return LINUX; } + if (osName.contains("GNU")) { return BSD; } /* glibc-based, but not Linux */ if (osName.contains("OS X")) { return BSD; } if (osName.equals("SunOS")) { return SOLARIS; } if (osName.equals("AIX")) { return AIX; } Index: b/jdk/make/lib/NetworkingLibraries.gmk =================================================================== --- a/jdk/make/lib/NetworkingLibraries.gmk +++ b/jdk/make/lib/NetworkingLibraries.gmk @@ -42,7 +42,7 @@ ifneq ($(OPENJDK_TARGET_OS), linux) LIBNET_EXCLUDE_FILES += linux_close.c endif -ifneq ($(OPENJDK_TARGET_OS), macosx) +ifeq (,$(findstring $(OPENJDK_TARGET_OS), bsd macosx)) LIBNET_EXCLUDE_FILES += bsd_close.c endif @@ -72,7 +72,7 @@ $(eval $(call SetupNativeCompilation,BUI $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_SUFFIX_macosx := -ljvm -ljava, \ LDFLAGS_SUFFIX_solaris := -ljvm -ljava -lnsl -lsocket $(LIBDL) -lc, \ - LDFLAGS_SUFFIX_linux := $(LIBDL) -ljvm -lpthread -ljava, \ + LDFLAGS_SUFFIX_bsd := $(LIBDL) -ljvm -lpthread -ljava, \ LDFLAGS_SUFFIX_aix := $(LIBDL) -ljvm -ljava,\ LDFLAGS_SUFFIX_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \ delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \