diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2014-03-28 22:11:29 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2014-03-28 22:11:29 +0000 |
commit | aa8f38c3b67bc647eb1082c28adbf84a577ec664 (patch) | |
tree | 1b5de55f915e26fa07bf8ea7645eecd4f2478dd2 /java | |
parent | - Update to 0.9.11 (diff) |
Add a port of OpenJDK8.
Submitted by: Brian Gardner <openjdk@getsnappy.com> (preliminary version)
Notes
Notes:
svn path=/head/; revision=349468
Diffstat (limited to 'java')
18 files changed, 8780 insertions, 0 deletions
diff --git a/java/Makefile b/java/Makefile index 37d753d5749b..db1215f75f81 100644 --- a/java/Makefile +++ b/java/Makefile @@ -128,6 +128,7 @@ SUBDIR += openjdk6 SUBDIR += openjdk6-jre SUBDIR += openjdk7 + SUBDIR += openjdk8 SUBDIR += phpeclipse SUBDIR += poseidon SUBDIR += proguard diff --git a/java/openjdk8/Makefile b/java/openjdk8/Makefile new file mode 100644 index 000000000000..b6b0c787e8d4 --- /dev/null +++ b/java/openjdk8/Makefile @@ -0,0 +1,211 @@ +# $FreeBSD$ + +PORTNAME= openjdk +PORTVERSION= ${JDK_MAJOR_VERSION}.${PORT_MINOR_VERSION}.${PORT_BUILD_NUMBER:S/^0//} +CATEGORIES= java devel +MASTER_SITES= http://download.java.net/openjdk/jdk8/promoted/b${JDK_BUILD_NUMBER}/:jdk \ + https://adopt-openjdk.ci.cloudbees.com/job/jtreg/${JTREG_JENKINS_BUILD}/artifact/:jtreg \ + LOCAL/jkim:jdk LOCAL/jkim:jtreg +DISTNAME= ${PORTNAME}-${JDK_MAJOR_VERSION}-src-b${JDK_BUILD_NUMBER}-${JDK_BUILD_DATE} +DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:jdk + +MAINTAINER= java@FreeBSD.org +COMMENT= Java Development Kit 8 + +LICENSE= GPLv2 + +BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip \ + ${LOCALBASE}/include/cups/cups.h:${PORTSDIR}/print/cups-client \ + bash:${PORTSDIR}/shells/bash +LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib \ + libfreetype.so:${PORTSDIR}/print/freetype2 \ + libgif.so:${PORTSDIR}/graphics/giflib +RUN_DEPENDS= javavm:${PORTSDIR}/java/javavmwrapper \ + ${LOCALBASE}/lib/X11/fonts/dejavu:${PORTSDIR}/x11-fonts/dejavu + +USES= compiler:features dos2unix gmake iconv pkgconfig shebangfix zip +USE_AUTOTOOLS= autoconf +USE_XORG= x11 xext xi xrender xt xtst + +LATEST_LINK= openjdk8 +ONLY_FOR_ARCHS= i386 amd64 +WRKSRC= ${WRKDIR}/${PORTNAME} + +DOS2UNIX_FILES= jdk/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties +SHEBANG_FILES= configure + +_MAKE_JOBS= # +CPPFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib +MAKE_ENV= LANG="C" LC_ALL="C" +MAKE_ENV+= CLASSPATH="" JAVA_HOME="" LD_LIBRARY_PATH="" MAKEFLAGS="" +MAKE_ENV+= IGNORE_OLD_CONFIG=true + +JDK_BUILDDIR= ${WRKSRC}/build/${JDK_OSARCH}-normal-server-${JDK_BUILD_TYPE} +JDK_IMAGEDIR= ${JDK_BUILDDIR}/images/j2sdk-image +JDK_OSARCH= bsd-${ARCH:S/i386/x86/:S/amd64/x86_64/} +INSTALLDIR= ${PREFIX}/${PORTNAME}${JDK_MAJOR_VERSION} + +NOPRECIOUSMAKEVARS= yes + +JDK_MAJOR_VERSION= 8 +JDK_BUILD_NUMBER= 132 +JDK_BUILD_DATE= 03_mar_2014 +JTREG_VERSION= 4.1 +JTREG_BUILD_NUMBER= b08 +JTREG_JENKINS_BUILD= 77 +PORT_MINOR_VERSION= 0 +PORT_BUILD_NUMBER= ${JDK_BUILD_NUMBER} + +CONFIGURE_ARGS= --with-boot-jdk=${BOOTSTRAPJDKDIR} +CONFIGURE_ARGS+= --with-build-number="b${PORT_BUILD_NUMBER}" +.if ${PORT_MINOR_VERSION} > 0 +CONFIGURE_ARGS+= --with-update-version=${PORT_MINOR_VERSION} +.endif +CONFIGURE_ARGS+= --disable-freetype-bundling \ + --disable-zip-debug-info \ + --with-alsa=${LOCALBASE} \ + --with-cacerts-file=${FILESDIR}/cacerts \ + --with-cups=${LOCALBASE} \ + --with-debug-level=${JDK_BUILD_TYPE} \ + --with-freetype=${LOCALBASE} \ + --with-freetype-include=${LOCALBASE}/include/freetype2 \ + --with-giflib=system \ + --with-jobs=${MAKE_JOBS_NUMBER} \ + --with-milestone=fcs \ + --with-zlib=system +CONFIGURE_SCRIPT= ../../configure +CONFIGURE_WRKSRC= ${WRKSRC}/common/autoconf + +OPTIONS_DEFINE= POLICY TEST TZUPDATE +OPTIONS_DEFAULT= POLICY RELEASE TZUPDATE +OPTIONS_SINGLE= BUILD +OPTIONS_SINGLE_BUILD= DEBUG DEBUGFAST RELEASE +BUILD_DESC= Select OpenJDK build type +DEBUG_DESC= Build for debugging (without optimizations) +DEBUGFAST_DESC= Build for debugging (with optimizations) +POLICY_DESC= Install the Unlimited Strength Policy Files +RELEASE_DESC= Build for release (default) +TEST_DESC= Run regression tests +TZUPDATE_DESC= Update the time zone data + +POLICY_CONFIGURE_ENABLE=unlimited-crypto +RELEASE_CONFIGURE_ON= --disable-debug-symbols +TEST_ALL_TARGET= test +TEST_CONFIGURE_ON= --with-jtreg=${WRKDIR}/jtreg +TEST_DISTFILES= jtreg${JTREG_VERSION}-${JTREG_BUILD_NUMBER}.tar.gz:jtreg +TZUPDATE_RUN_DEPENDS= ${LOCALBASE}/share/java/zi:${PORTSDIR}/java/java-zoneinfo:${PORTSDIR}/converters/libiconv + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MDEBUG} +JDK_BUILD_TYPE= slowdebug +.elif ${PORT_OPTIONS:MDEBUGFAST} +JDK_BUILD_TYPE= fastdebug +.elif ${PORT_OPTIONS:MRELEASE} +JDK_BUILD_TYPE= release +.endif + +.include <bsd.port.pre.mk> + +BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk8 \ + ${LOCALBASE}/openjdk7 + +# do we have valid native jdk installed? +.for BJDK in ${BOOTSTRAP_JDKS} +. if !defined(BOOTSTRAPJDKDIR) && exists(${BJDK}/bin/javac) +BOOTSTRAPJDKDIR= ${BJDK} +. endif +.endfor + +# if no valid jdk found, set dependency +.if !defined(BOOTSTRAPJDKDIR) +BOOTSTRAPJDKDIR?= ${LOCALBASE}/openjdk7 +BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/openjdk7 +.endif + +.if ${COMPILER_TYPE} == clang +MAKE_ENV+= USE_CLANG=true +.if ${COMPILER_FEATURES:Mlibc++} +CONFIGURE_ENV= LIBCXX="-lc++" +.endif +.endif + +.if empty(ICONV_LIB) +ICONV_CPPFLAGS= -DLIBICONV_PLUG +.else +ICONV_CPPFLAGS= -I${LOCALBASE}/include +ICONV_LDFLAGS= -L${LOCALBASE}/lib ${ICONV_LIB} +.endif + +post-extract: + @${MKDIR} ${WRKSRC}/jdk/src/bsd/classes/java/net \ + ${WRKSRC}/jdk/src/bsd/classes/sun/nio/ch + @${MV} -f ${WRKSRC}/jdk/src/macosx/classes/java/net/DefaultInterface.java \ + ${WRKSRC}/jdk/src/bsd/classes/java/net + @${MV} -f ${WRKSRC}/jdk/src/macosx/classes/sun/nio/ch/DefaultSelectorProvider.java \ + ${WRKSRC}/jdk/src/bsd/classes/sun/nio/ch + @${MV} -f ${WRKSRC}/jdk/src/macosx/classes/sun/nio/ch/KQueue*.java \ + ${WRKSRC}/jdk/src/solaris/classes/sun/nio/ch + @${MV} -f ${WRKSRC}/jdk/src/macosx/native/sun/nio/ch/KQueue*.c \ + ${WRKSRC}/jdk/src/solaris/native/sun/nio/ch + @${RMDIR} ${WRKSRC}/jdk/src/macosx/classes/java/net \ + ${WRKSRC}/jdk/src/macosx/native/sun/nio/ch \ + ${WRKSRC}/jdk/src/macosx/native/sun/nio + +post-patch: + @${SED} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ + ${FILESDIR}/bsd.fontconfig.properties.in > \ + ${WRKSRC}/jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ + ${WRKSRC}/configure \ + ${WRKSRC}/hotspot/src/os/bsd/vm/os_bsd.cpp \ + ${WRKSRC}/jdk/make/lib/SoundLibraries.gmk \ + ${WRKSRC}/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java \ + ${WRKSRC}/jdk/src/solaris/bin/java_md_solinux.h \ + ${WRKSRC}/jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java + @${REINPLACE_CMD} -e 's|%%ICONV_CPPFLAGS%%|${ICONV_CPPFLAGS}|' \ + -e 's|%%ICONV_LDFLAGS%%|${ICONV_LDFLAGS}|' \ + ${WRKSRC}/jdk/make/lib/CoreLibraries.gmk \ + ${WRKSRC}/jdk/make/lib/ServiceabilityLibraries.gmk + @${CHMOD} 755 ${WRKSRC}/configure + +post-build: + @${JDK_IMAGEDIR}/bin/jar cfe \ + ${JDK_IMAGEDIR}/jre/lib/compilefontconfig.jar \ + build.tools.compilefontconfig.CompileFontConfig \ + -C ${JDK_BUILDDIR}/jdk/btclasses build/tools/compilefontconfig + @${JDK_IMAGEDIR}/bin/jar cfe \ + ${JDK_IMAGEDIR}/jre/lib/javazic.jar \ + build.tools.tzdb.TzdbZoneRulesCompiler \ + -C ${JDK_BUILDDIR}/jdk/btclasses build/tools/tzdb +.if ${PORT_OPTIONS:MTZUPDATE} + @# Update time zones + @${RM} -rf ${JDK_IMAGEDIR}/jre/lib/zi + @${LN} -sf ${LOCALBASE}/share/java/zi ${JDK_IMAGEDIR}/jre/lib +.endif + +do-install: + @${MKDIR} ${STAGEDIR}${INSTALLDIR} + @cd ${JDK_IMAGEDIR} && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} \ + "-not ( -type d -name bin -prune )" + @cd ${JDK_IMAGEDIR} && \ + ${COPYTREE_BIN} "bin jre/bin" ${STAGEDIR}${INSTALLDIR} + @cd ${JDK_IMAGEDIR} && \ + ${INSTALL_PROGRAM} jre/lib/jspawnhelper \ + ${STAGEDIR}${INSTALLDIR}/jre/lib + @cd ${JDK_IMAGEDIR} && \ + ${INSTALL_PROGRAM} jre/lib/${ARCH}/jexec \ + ${STAGEDIR}${INSTALLDIR}/jre/lib/${ARCH} + @cd ${JDK_IMAGEDIR} && \ + ${INSTALL_PROGRAM} lib/${ARCH}/jexec \ + ${STAGEDIR}${INSTALLDIR}/lib/${ARCH} + @${ECHO} "@unexec ${LOCALBASE}/bin/unregistervm ${INSTALLDIR}/bin/java" >> ${TMPPLIST} + @${FIND} -s ${STAGEDIR}${INSTALLDIR} -not -type d | ${SORT} | \ + ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST} + @${FIND} ${STAGEDIR}${INSTALLDIR} -type d | ${SORT} -r | \ + ${SED} -e 's,^${STAGEDIR}${PREFIX}/,@dirrm ,' >> ${TMPPLIST} + @${ECHO} "@exec ${LOCALBASE}/bin/registervm '${INSTALLDIR}/bin/java # OpenJDK${JDK_MAJOR_VERSION}'" >> ${TMPPLIST} + +.include <bsd.port.post.mk> diff --git a/java/openjdk8/distinfo b/java/openjdk8/distinfo new file mode 100644 index 000000000000..9f52b48205d1 --- /dev/null +++ b/java/openjdk8/distinfo @@ -0,0 +1,4 @@ +SHA256 (openjdk-8-src-b132-03_mar_2014.zip) = ba651f9aa68fdc823b2ef55510710a013ab9f78fff291d5dc1c4d166f3e1e589 +SIZE (openjdk-8-src-b132-03_mar_2014.zip) = 124099402 +SHA256 (jtreg4.1-b08.tar.gz) = a9fbfac903313c12687e60978c4688c20189cdf873560125917d6ad53d55b30c +SIZE (jtreg4.1-b08.tar.gz) = 6834252 diff --git a/java/openjdk8/files/bsd.fontconfig.properties.in b/java/openjdk8/files/bsd.fontconfig.properties.in new file mode 100644 index 000000000000..8d5d4f6b4fc4 --- /dev/null +++ b/java/openjdk8/files/bsd.fontconfig.properties.in @@ -0,0 +1,191 @@ +# +# +# Copyright (c) 2007, 2012, 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. +# + +# Version + +# Uses FreeBSD ports Tree fonts and file paths. +version=1 + +# Component Font Mappings + +dialog.plain.latin-1=DejaVu Sans +dialog.plain.japanese-x0208=Sazanami Gothic +dialog.plain.korean=NanumGothic +dialog.plain.chinese-big5=AR PL UMing +dialog.plain.chinese-gb18030=AR PL UMing + +dialog.bold.latin-1=DejaVu Sans Bold +dialog.bold.japanese-x0208=Sazanami Gothic +dialog.bold.korean=NanumGothic Bold +dialog.bold.chinese-big5=AR PL UMing +dialog.bold.chinese-gb18030=AR PL UMing + +dialog.italic.latin-1=DejaVu Sans Oblique +dialog.italic.japanese-x0208=Sazanami Gothic +dialog.italic.korean=NanumGothic +dialog.italic.chinese-big5=AR PL UMing +dialog.italic.chinese-gb18030=AR PL UMing + +dialog.bolditalic.latin-1=DejaVu Sans Bold Oblique +dialog.bolditalic.japanese-x0208=Sazanami Gothic +dialog.bolditalic.korean=NanumGothic Bold +dialog.bolditalic.chinese-big5=AR PL UMing +dialog.bolditalic.chinese-gb18030=AR PL UMing + + +sansserif.plain.latin-1=DejaVu Sans +sansserif.plain.japanese-x0208=Sazanami Gothic +sansserif.plain.korean=NanumGothic +sansserif.plain.chinese-big5=AR PL UMing +sansserif.plain.chinese-gb18030=AR PL UMing + +sansserif.bold.latin-1=DejaVu Sans Bold +sansserif.bold.japanese-x0208=Sazanami Gothic +sansserif.bold.korean=NanumGothic Bold +sansserif.bold.chinese-big5=AR PL UMing +sansserif.bold.chinese-gb18030=AR PL UMing + +sansserif.italic.latin-1=DejaVu Sans Oblique +sansserif.italic.japanese-x0208=Sazanami Gothic +sansserif.italic.korean=NanumGothic +sansserif.italic.chinese-big5=AR PL UMing +sansserif.italic.chinese-gb18030=AR PL UMing + +sansserif.bolditalic.latin-1=DejaVu Sans Bold Oblique +sansserif.bolditalic.japanese-x0208=Sazanami Gothic +sansserif.bolditalic.korean=NanumGothic Bold +sansserif.bolditalic.chinese-big5=AR PL UMing +sansserif.bolditalic.chinese-gb18030=AR PL UMing + + +serif.plain.latin-1=DejaVu Serif +serif.plain.japanese-x0208=Sazanami Mincho +serif.plain.korean=NanumMyeongjo +serif.plain.chinese-big5=AR PL UKai +serif.plain.chinese-gb18030=AR PL UKai + +serif.bold.latin-1=DejaVu Serif Bold +serif.bold.japanese-x0208=Sazanami Mincho +serif.bold.korean=NanumMyeongjo Bold +serif.bold.chinese-big5=AR PL UKai +serif.bold.chinese-gb18030=AR PL UKai + +serif.italic.latin-1=DejaVu Serif Italic +serif.italic.japanese-x0208=Sazanami Mincho +serif.italic.korean=NanumMyeongjo +serif.italic.chinese-big5=AR PL UKai +serif.italic.chinese-gb18030=AR PL UKai + +serif.bolditalic.latin-1=DejaVu Serif Bold Italic +serif.bolditalic.japanese-x0208=Sazanami Mincho +serif.bolditalic.korean=NanumMyeongjo Bold +serif.bolditalic.chinese-big5=AR PL UKai +serif.bolditalic.chinese-gb18030=AR PL UKai + + +monospaced.plain.latin-1=DejaVu Sans Mono +monospaced.plain.japanese-x0208=Sazanami Gothic +monospaced.plain.korean=NanumGothic +monospaced.plain.chinese-big5=AR PL UMing +monospaced.plain.chinese-gb18030=AR PL UMing + +monospaced.bold.latin-1=DejaVu Sans Mono Bold +monospaced.bold.japanese-x0208=Sazanami Gothic +monospaced.bold.korean=NanumGothic Bold +monospaced.bold.chinese-big5=AR PL UMing +monospaced.bold.chinese-gb18030=AR PL UMing + +monospaced.italic.latin-1=DejaVu Sans Mono Oblique +monospaced.italic.japanese-x0208=Sazanami Gothic +monospaced.italic.korean=NanumGothic +monospaced.italic.chinese-big5=AR PL UMing +monospaced.italic.chinese-gb18030=AR PL UMing + +monospaced.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique +monospaced.bolditalic.japanese-x0208=Sazanami Gothic +monospaced.bolditalic.korean=NanumGothic Bold +monospaced.bolditalic.chinese-big5=AR PL UMing +monospaced.bolditalic.chinese-gb18030=AR PL UMing + + +dialoginput.plain.latin-1=DejaVu Sans Mono +dialoginput.plain.japanese-x0208=Sazanami Gothic +dialoginput.plain.korean=NanumGothic +dialoginput.plain.chinese-big5=AR PL UMing +dialoginput.plain.chinese-gb18030=AR PL UMing + +dialoginput.bold.latin-1=DejaVu Sans Mono Bold +dialoginput.bold.japanese-x0208=Sazanami Gothic +dialoginput.bold.korean=NanumGothic Bold +dialoginput.bold.chinese-big5=AR PL UMing +dialoginput.bold.chinese-gb18030=AR PL UMing + +dialoginput.italic.latin-1=DejaVu Sans Mono Oblique +dialoginput.italic.japanese-x0208=Sazanami Gothic +dialoginput.italic.korean=NanumGothic +dialoginput.italic.chinese-big5=AR PL UMing +dialoginput.italic.chinese-gb18030=AR PL UMing + +dialoginput.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique +dialoginput.bolditalic.japanese-x0208=Sazanami Gothic +dialoginput.bolditalic.korean=NanumGothic Bold +dialoginput.bolditalic.chinese-big5=AR PL UMing +dialoginput.bolditalic.chinese-gb18030=AR PL UMing + +# Search Sequences + +sequence.allfonts=latin-1 +sequence.allfonts.Big5=chinese-big5,latin-1 +sequence.allfonts.x-euc-jp-bsd=japanese-x0208,latin-1 +sequence.allfonts.EUC-KR=korean,latin-1 +sequence.allfonts.GB18030=chinese-gb18030,latin-1 +sequence.fallback=chinese-big5,chinese-gb18030,japanese-x0208,korean + +# Font File Names + +filename.DejaVu_Sans=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSans.ttf +filename.DejaVu_Sans_Bold=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSans-Bold.ttf +filename.DejaVu_Sans_Oblique=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSans-Oblique.ttf +filename.DejaVu_Sans_Bold_Oblique=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSans-BoldOblique.ttf + +filename.DejaVu_Sans_Mono=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSansMono.ttf +filename.DejaVu_Sans_Mono_Bold=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSansMono-Bold.ttf +filename.DejaVu_Sans_Mono_Oblique=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSansMono-Oblique.ttf +filename.DejaVu_Sans_Mono_Bold_Oblique=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSansMono-BoldOblique.ttf + +filename.DejaVu_Serif=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSerif.ttf +filename.DejaVu_Serif_Bold=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSerif-Bold.ttf +filename.DejaVu_Serif_Italic=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSerif-Italic.ttf +filename.DejaVu_Serif_Bold_Italic=%%LOCALBASE%%/lib/X11/fonts/dejavu/DejaVuSerif-BoldItalic.ttf + +filename.Sazanami_Gothic=%%LOCALBASE%%/share/font-sazanami/sazanami-gothic.ttf +filename.Sazanami_Mincho=%%LOCALBASE%%/share/font-sazanami/sazanami-mincho.ttf +filename.AR_PL_ShanHeiSun_Uni=%%LOCALBASE%%/share/fonts/TrueType/uming.ttc +filename.AR_PL_ZenKai_Uni=%%LOCALBASE%%/share/fonts/TrueType/ukai.ttc +filename.NanumGothic=%%LOCALBASE%%/lib/X11/fonts/nanum-ttf/NanumGothic.ttf +filename.NanumGothic_Bold=%%LOCALBASE%%/lib/X11/fonts/nanum-ttf/NanumGothicBold.ttf +filename.NanumMyeongjo=%%LOCALBASE%%/lib/X11/fonts/nanum-ttf/NanumMyeongjo.ttf +filename.NanumMyeongjo_Bold=%%LOCALBASE%%/lib/X11/fonts/nanum-ttf/NanumMyeongjoBold.ttf diff --git a/java/openjdk8/files/cacerts b/java/openjdk8/files/cacerts Binary files differnew file mode 100644 index 000000000000..0a37aa432dda --- /dev/null +++ b/java/openjdk8/files/cacerts diff --git a/java/openjdk8/files/patch-bsd b/java/openjdk8/files/patch-bsd new file mode 100644 index 000000000000..6ea1296e0ca6 --- /dev/null +++ b/java/openjdk8/files/patch-bsd @@ -0,0 +1,6843 @@ +--- common/autoconf/build-performance.m4 ++++ common/autoconf/build-performance.m4 +@@ -41,6 +41,10 @@ + # Looks like a MacOSX system + NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk '{print [$]5}'` + FOUND_CORES=yes ++ elif test "x$OPENJDK_BUILD_OS" = xbsd && test "x$(uname -s)" = xFreeBSD; then ++ # Looks like a FreeBSD system ++ NUM_CORES=`/sbin/sysctl -n kern.smp.cpus` ++ FOUND_CORES=yes + elif test -n "$NUMBER_OF_PROCESSORS"; then + # On windows, look in the env + NUM_CORES=$NUMBER_OF_PROCESSORS +@@ -76,6 +80,11 @@ + MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk '{print [$]2}'` + MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024` + FOUND_MEM=yes ++ elif test "x$OPENJDK_BUILD_OS" = xbsd && test "x$(uname -s)" = xFreeBSD; then ++ # Looks like a FreeBSD system ++ MEMORY_SIZE=`/sbin/sysctl -n hw.physmem` ++ MEMORY_SIZE=`expr $MEMORY_SIZE / 1024 / 1024` ++ FOUND_MEM=yes + elif test "x$OPENJDK_BUILD_OS" = xwindows; then + # Windows, but without cygwin + MEMORY_SIZE=`wmic computersystem get totalphysicalmemory -value | grep = | cut -d "=" -f 2-` +--- common/autoconf/libraries.m4 ++++ common/autoconf/libraries.m4 +@@ -63,9 +63,9 @@ + fi + + if test "x$OPENJDK_TARGET_OS" = xbsd; then +- AC_MSG_CHECKING([what is not needed on bsd?]) +- ALSA_NOT_NEEDED=yes +- AC_MSG_RESULT([alsa]) ++ AC_MSG_CHECKING([what is not needed on BSD?]) ++ PULSE_NOT_NEEDED=yes ++ AC_MSG_RESULT([pulse]) + fi + + if test "x$OPENJDK" = "xfalse"; then +@@ -554,7 +554,7 @@ + fi + + if test "x${with_alsa}" != x; then +- ALSA_LIBS="-L${with_alsa}/lib -lalsa" ++ ALSA_LIBS="-L${with_alsa}/lib" + ALSA_CFLAGS="-I${with_alsa}/include" + ALSA_FOUND=yes + fi +@@ -563,9 +563,14 @@ + ALSA_FOUND=yes + fi + if test "x${with_alsa_lib}" != x; then +- ALSA_LIBS="-L${with_alsa_lib} -lalsa" ++ ALSA_LIBS="-L${with_alsa_lib}" + ALSA_FOUND=yes + fi ++ if test "x$OPENJDK_TARGET_OS" = xbsd; then ++ ALSA_LIBS="$ALSA_LIBS -lasound" ++ else ++ ALSA_LIBS="$ALSA_LIBS -lalsa" ++ fi + if test "x$ALSA_FOUND" = xno; then + BDEPS_CHECK_MODULE(ALSA, alsa, xxx, [ALSA_FOUND=yes], [ALSA_FOUND=no]) + fi +@@ -877,5 +882,10 @@ + LIBCXX="-lstdc++" + fi + ++ # TODO better (platform agnostic) test ++ if test "x$OPENJDK_TARGET_OS" = xbsd && test "x$LIBCXX" = x && test "x$GCC" = xyes; then ++ LIBCXX="-lstdc++" ++ fi ++ + AC_SUBST(LIBCXX) + ]) +--- common/autoconf/platform.m4 ++++ common/autoconf/platform.m4 +@@ -30,7 +30,7 @@ + [ + # First argument is the cpu name from the trip/quad + case "$1" in +- x86_64) ++ amd64|x86_64) + VAR_CPU=x86_64 + VAR_CPU_ARCH=x86 + VAR_CPU_BITS=64 +--- common/autoconf/toolchain.m4 ++++ common/autoconf/toolchain.m4 +@@ -63,7 +63,7 @@ + else + COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1` + # Check that this is likely to be GCC. +- $COMPILER --version 2>&1 | $GREP "Free Software Foundation" > /dev/null ++ $COMPILER --version 2>&1 | $GREP -E "(Free Software Foundation|clang)" > /dev/null + if test $? -ne 0; then + AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler.]) + AC_MSG_NOTICE([The result from running with --version was: "$COMPILER_VERSION_TEST"]) +@@ -458,7 +458,7 @@ + + # objcopy is used for moving debug symbols to separate files when + # full debug symbols are enabled. +- if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then ++ if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xbsd ; then + AC_CHECK_TOOLS(OBJCOPY, [gobjcopy objcopy]) + # Only call fixup if objcopy was found. + if test -n "$OBJCOPY"; then +@@ -526,9 +526,11 @@ + SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/[$]1' + SET_SHARED_LIBRARY_MAPFILE='' + SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.' +- SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN" + POST_STRIP_CMD="$STRIP -S" + fi ++ if test "x$OPENJDK_TARGET_OS" = xbsd || test "x$OPENJDK_TARGET_OS" = xmacosx; then ++ SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN" ++ fi + else + if test "x$OPENJDK_TARGET_OS" = xsolaris; then + # If it is not gcc, then assume it is the Oracle Solaris Studio Compiler +--- hotspot/make/bsd/makefiles/build_vm_def.sh ++++ hotspot/make/bsd/makefiles/build_vm_def.sh +@@ -1,12 +1,21 @@ + #!/bin/sh + + # If we're cross compiling use that path for nm +-if [ "$CROSS_COMPILE_ARCH" != "" ]; then ++if [ "$CROSS_COMPILE_ARCH" != "" ]; then + NM=$ALT_COMPILER_PATH/nm + else + NM=nm + fi + +-$NM -Uj $* | awk ' +- { if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 } +- ' ++case `uname` in ++ *BSD ) ++ $NM --defined-only $* | awk ' ++ { if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";" } ++ ' ++ ;; ++ Darwin ) ++ $NM -Uj $* | awk ' ++ { if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 } ++ ' ++ ;; ++esac +--- hotspot/make/bsd/makefiles/defs.make ++++ hotspot/make/bsd/makefiles/defs.make +@@ -254,7 +254,7 @@ + endif # BUILD_FLAVOR + endif # JDK_6_OR_EARLIER + +-JDK_INCLUDE_SUBDIR=bsd ++JDK_INCLUDE_SUBDIR=$(shell uname -s | ${TR} "[:upper:]" "[:lower:]") + + # Library suffix + ifeq ($(OS_VENDOR),Darwin) +--- hotspot/make/bsd/makefiles/gcc.make ++++ hotspot/make/bsd/makefiles/gcc.make +@@ -201,12 +201,15 @@ + endif + + ifeq ($(USE_CLANG), true) +- # Before Clang 3.1, we had to pass the stack alignment specification directly to llvm with the help of '-mllvm' +- # Starting with version 3.1, Clang understands the '-mstack-alignment' (and rejects '-mllvm -stack-alignment') +- ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 1 \) \))" "0" +- STACK_ALIGNMENT_OPT = -mno-omit-leaf-frame-pointer -mstack-alignment=16 +- else +- STACK_ALIGNMENT_OPT = -mno-omit-leaf-frame-pointer -mllvm -stack-alignment=16 ++ STACK_ALIGNMENT_OPT = -mno-omit-leaf-frame-pointer ++ ifeq ($(OS_VENDOR), Darwin) ++ # Before Clang 3.1, we had to pass the stack alignment specification directly to llvm with the help of '-mllvm' ++ # Starting with version 3.1, Clang understands the '-mstack-alignment' (and rejects '-mllvm -stack-alignment') ++ ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 1 \) \))" "0" ++ STACK_ALIGNMENT_OPT += -mstack-alignment=16 ++ else ++ STACK_ALIGNMENT_OPT += -mllvm -stack-alignment=16 ++ endif + endif + endif + +--- hotspot/make/bsd/makefiles/launcher.make ++++ hotspot/make/bsd/makefiles/launcher.make +@@ -0,0 +1,117 @@ ++# ++# Copyright (c) 2005, 2012, 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. ++# ++# 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. ++# ++# ++ ++# Rules to build gamma launcher, used by vm.make ++ ++ ++LAUNCHER_SCRIPT = hotspot ++LAUNCHER = gamma ++ ++LAUNCHERDIR := $(GAMMADIR)/src/os/posix/launcher ++LAUNCHERDIR_SHARE := $(GAMMADIR)/src/share/tools/launcher ++LAUNCHERFLAGS := $(ARCHFLAG) \ ++ -I$(LAUNCHERDIR) -I$(GAMMADIR)/src/share/vm/prims \ ++ -I$(LAUNCHERDIR_SHARE) \ ++ -DFULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \ ++ -DJDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \ ++ -DJDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \ ++ -DARCH=\"$(LIBARCH)\" \ ++ -DGAMMA \ ++ -DLAUNCHER_TYPE=\"gamma\" \ ++ -DLINK_INTO_$(LINK_INTO) \ ++ $(TARGET_DEFINES) ++# Give the launcher task_for_pid() privileges so that it can be used to run JStack, JInfo, et al. ++ifeq ($(OS_VENDOR), Darwin) ++LFLAGS_LAUNCHER += -sectcreate __TEXT __info_plist $(GAMMADIR)/src/os/bsd/launcher/Info-privileged.plist ++endif ++ ++ifeq ($(LINK_INTO),AOUT) ++ LAUNCHER.o = launcher.o $(JVM_OBJ_FILES) ++ LAUNCHER_MAPFILE = mapfile_reorder ++ LFLAGS_LAUNCHER$(LDNOMAP) += $(MAPFLAG:FILENAME=$(LAUNCHER_MAPFILE)) ++ LFLAGS_LAUNCHER += $(SONAMEFLAG:SONAME=$(LIBJVM)) $(STATIC_LIBGCC) ++ LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS) ++else ++ LAUNCHER.o = launcher.o ++ LFLAGS_LAUNCHER += -L`pwd` ++ ++ # The gamma launcher runs the JDK from $JAVA_HOME, overriding the JVM with a ++ # freshly built JVM at ./libjvm.{so|dylib}. This is accomplished by setting ++ # the library searchpath using ({DY}LD_LIBRARY_PATH) to find the local JVM ++ # first. Gamma dlopen()s libjava from $JAVA_HOME/jre/lib{/$arch}, which is ++ # statically linked with CoreFoundation framework libs. Unfortunately, gamma's ++ # unique searchpath results in some unresolved symbols in the framework ++ # libraries, because JDK libraries are inadvertently discovered first on the ++ # searchpath, e.g. libjpeg. On Mac OS X, filenames are case *insensitive*. ++ # So, the actual filename collision is libjpeg.dylib and libJPEG.dylib. ++ # To resolve this, gamma needs to also statically link with the CoreFoundation ++ # framework libraries. ++ ++ ifeq ($(OS_VENDOR),Darwin) ++ LFLAGS_LAUNCHER += -framework CoreFoundation ++ endif ++ ++ LIBS_LAUNCHER += -l$(JVM) $(LIBS) ++endif ++ ++LINK_LAUNCHER = $(LINK.CC) ++ ++LINK_LAUNCHER/PRE_HOOK = $(LINK_LIB.CXX/PRE_HOOK) ++LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CXX/POST_HOOK) ++ ++LAUNCHER_OUT = launcher ++ ++SUFFIXES += .d ++ ++SOURCES := $(shell find $(LAUNCHERDIR) -name "*.c") ++SOURCES_SHARE := $(shell find $(LAUNCHERDIR_SHARE) -name "*.c") ++ ++OBJS := $(patsubst $(LAUNCHERDIR)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES)) $(patsubst $(LAUNCHERDIR_SHARE)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES_SHARE)) ++ ++DEPFILES := $(patsubst %.o,%.d,$(OBJS)) ++-include $(DEPFILES) ++ ++$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c ++ $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); } ++ $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS) ++ ++$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c ++ $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); } ++ $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS) ++ ++$(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE) ++ $(QUIETLY) echo Linking launcher... ++ $(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK) ++ $(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(sort $(OBJS)) $(LIBS_LAUNCHER) ++ $(QUIETLY) $(LINK_LAUNCHER/POST_HOOK) ++ # Sign the launcher with the development certificate (if present) so that it can be used ++ # to run JStack, JInfo, et al. ++ $(QUIETLY) -codesign -s openjdk_codesign $@ ++ ++$(LAUNCHER): $(LAUNCHER_SCRIPT) ++ ++$(LAUNCHER_SCRIPT): $(LAUNCHERDIR)/launcher.script ++ $(QUIETLY) sed -e 's/@@LIBARCH@@/$(LIBARCH)/g' $< > $@ ++ $(QUIETLY) chmod +x $@ ++ +--- hotspot/make/bsd/makefiles/mapfile-vers-debug ++++ hotspot/make/bsd/makefiles/mapfile-vers-debug +@@ -24,238 +24,245 @@ + # Only used for OSX/Darwin builds + + # Define public interface. +- # _JNI +- _JNI_CreateJavaVM +- _JNI_GetCreatedJavaVMs +- _JNI_GetDefaultJavaVMInitArgs +- +- # _JVM +- _JVM_Accept +- _JVM_ActiveProcessorCount +- _JVM_AllocateNewArray +- _JVM_AllocateNewObject +- _JVM_ArrayCopy +- _JVM_AssertionStatusDirectives +- _JVM_Available +- _JVM_Bind +- _JVM_ClassDepth +- _JVM_ClassLoaderDepth +- _JVM_Clone +- _JVM_Close +- _JVM_CX8Field +- _JVM_CompileClass +- _JVM_CompileClasses +- _JVM_CompilerCommand +- _JVM_Connect +- _JVM_ConstantPoolGetClassAt +- _JVM_ConstantPoolGetClassAtIfLoaded +- _JVM_ConstantPoolGetDoubleAt +- _JVM_ConstantPoolGetFieldAt +- _JVM_ConstantPoolGetFieldAtIfLoaded +- _JVM_ConstantPoolGetFloatAt +- _JVM_ConstantPoolGetIntAt +- _JVM_ConstantPoolGetLongAt +- _JVM_ConstantPoolGetMethodAt +- _JVM_ConstantPoolGetMethodAtIfLoaded +- _JVM_ConstantPoolGetMemberRefInfoAt +- _JVM_ConstantPoolGetSize +- _JVM_ConstantPoolGetStringAt +- _JVM_ConstantPoolGetUTF8At +- _JVM_CountStackFrames +- _JVM_CurrentClassLoader +- _JVM_CurrentLoadedClass +- _JVM_CurrentThread +- _JVM_CurrentTimeMillis +- _JVM_DefineClass +- _JVM_DefineClassWithSource +- _JVM_DefineClassWithSourceCond +- _JVM_DesiredAssertionStatus +- _JVM_DisableCompiler +- _JVM_DoPrivileged +- _JVM_DTraceGetVersion +- _JVM_DTraceActivate +- _JVM_DTraceIsProbeEnabled +- _JVM_DTraceIsSupported +- _JVM_DTraceDispose +- _JVM_DumpAllStacks +- _JVM_DumpThreads +- _JVM_EnableCompiler +- _JVM_Exit +- _JVM_FillInStackTrace +- _JVM_FindClassFromClass +- _JVM_FindClassFromClassLoader +- _JVM_FindClassFromBootLoader +- _JVM_FindLibraryEntry +- _JVM_FindLoadedClass +- _JVM_FindPrimitiveClass +- _JVM_FindSignal +- _JVM_FreeMemory +- _JVM_GC +- _JVM_GetAllThreads +- _JVM_GetArrayElement +- _JVM_GetArrayLength +- _JVM_GetCPClassNameUTF +- _JVM_GetCPFieldClassNameUTF +- _JVM_GetCPFieldModifiers +- _JVM_GetCPFieldNameUTF +- _JVM_GetCPFieldSignatureUTF +- _JVM_GetCPMethodClassNameUTF +- _JVM_GetCPMethodModifiers +- _JVM_GetCPMethodNameUTF +- _JVM_GetCPMethodSignatureUTF +- _JVM_GetCallerClass +- _JVM_GetClassAccessFlags +- _JVM_GetClassAnnotations +- _JVM_GetClassCPEntriesCount +- _JVM_GetClassCPTypes +- _JVM_GetClassConstantPool +- _JVM_GetClassContext +- _JVM_GetClassDeclaredConstructors +- _JVM_GetClassDeclaredFields +- _JVM_GetClassDeclaredMethods +- _JVM_GetClassFieldsCount +- _JVM_GetClassInterfaces +- _JVM_GetClassLoader +- _JVM_GetClassMethodsCount +- _JVM_GetClassModifiers +- _JVM_GetClassName +- _JVM_GetClassNameUTF +- _JVM_GetClassSignature +- _JVM_GetClassSigners +- _JVM_GetClassTypeAnnotations +- _JVM_GetComponentType +- _JVM_GetDeclaredClasses +- _JVM_GetDeclaringClass +- _JVM_GetEnclosingMethodInfo +- _JVM_GetFieldAnnotations +- _JVM_GetFieldIxModifiers +- _JVM_GetFieldTypeAnnotations +- _JVM_GetHostName +- _JVM_GetInheritedAccessControlContext +- _JVM_GetInterfaceVersion +- _JVM_GetLastErrorString +- _JVM_GetManagement +- _JVM_GetMethodAnnotations +- _JVM_GetMethodDefaultAnnotationValue +- _JVM_GetMethodIxArgsSize +- _JVM_GetMethodIxByteCode +- _JVM_GetMethodIxByteCodeLength +- _JVM_GetMethodIxExceptionIndexes +- _JVM_GetMethodIxExceptionTableEntry +- _JVM_GetMethodIxExceptionTableLength +- _JVM_GetMethodIxExceptionsCount +- _JVM_GetMethodIxLocalsCount +- _JVM_GetMethodIxMaxStack +- _JVM_GetMethodIxModifiers +- _JVM_GetMethodIxNameUTF +- _JVM_GetMethodIxSignatureUTF +- _JVM_GetMethodParameterAnnotations +- _JVM_GetMethodParameters +- _JVM_GetMethodTypeAnnotations +- _JVM_GetPrimitiveArrayElement +- _JVM_GetProtectionDomain +- _JVM_GetSockName +- _JVM_GetSockOpt +- _JVM_GetStackAccessControlContext +- _JVM_GetStackTraceDepth +- _JVM_GetStackTraceElement +- _JVM_GetSystemPackage +- _JVM_GetSystemPackages +- _JVM_GetThreadStateNames +- _JVM_GetThreadStateValues +- _JVM_GetVersionInfo +- _JVM_Halt +- _JVM_HoldsLock +- _JVM_IHashCode +- _JVM_InitAgentProperties +- _JVM_InitProperties +- _JVM_InitializeCompiler +- _JVM_InitializeSocketLibrary +- _JVM_InternString +- _JVM_Interrupt +- _JVM_InvokeMethod +- _JVM_IsArrayClass +- _JVM_IsConstructorIx +- _JVM_IsInterface +- _JVM_IsInterrupted +- _JVM_IsNaN +- _JVM_IsPrimitiveClass +- _JVM_IsSameClassPackage +- _JVM_IsSilentCompiler +- _JVM_IsSupportedJNIVersion +- _JVM_IsThreadAlive +- _JVM_IsVMGeneratedMethodIx +- _JVM_LatestUserDefinedLoader +- _JVM_Listen +- _JVM_LoadClass0 +- _JVM_LoadLibrary +- _JVM_Lseek +- _JVM_MaxObjectInspectionAge +- _JVM_MaxMemory +- _JVM_MonitorNotify +- _JVM_MonitorNotifyAll +- _JVM_MonitorWait +- _JVM_NanoTime +- _JVM_NativePath +- _JVM_NewArray +- _JVM_NewInstanceFromConstructor +- _JVM_NewMultiArray +- _JVM_OnExit +- _JVM_Open +- _JVM_RaiseSignal +- _JVM_RawMonitorCreate +- _JVM_RawMonitorDestroy +- _JVM_RawMonitorEnter +- _JVM_RawMonitorExit +- _JVM_Read +- _JVM_Recv +- _JVM_RecvFrom +- _JVM_RegisterSignal +- _JVM_ReleaseUTF +- _JVM_ResolveClass +- _JVM_ResumeThread +- _JVM_Send +- _JVM_SendTo +- _JVM_SetArrayElement +- _JVM_SetClassSigners +- _JVM_SetLength +- _JVM_SetNativeThreadName +- _JVM_SetPrimitiveArrayElement +- _JVM_SetSockOpt +- _JVM_SetThreadPriority +- _JVM_Sleep +- _JVM_Socket +- _JVM_SocketAvailable +- _JVM_SocketClose +- _JVM_SocketShutdown +- _JVM_StartThread +- _JVM_StopThread +- _JVM_SuspendThread +- _JVM_SupportsCX8 +- _JVM_Sync +- _JVM_Timeout +- _JVM_TotalMemory +- _JVM_TraceInstructions +- _JVM_TraceMethodCalls +- _JVM_UnloadLibrary +- _JVM_Write +- _JVM_Yield +- _JVM_handle_bsd_signal +- +- # debug _JVM +- _JVM_AccessVMBooleanFlag +- _JVM_AccessVMIntFlag +- _JVM_VMBreakPoint ++ ++SUNWprivate_1.1 { ++ global: ++ # JNI ++ JNI_CreateJavaVM; ++ JNI_GetCreatedJavaVMs; ++ JNI_GetDefaultJavaVMInitArgs; ++ ++ # JVM ++ JVM_Accept; ++ JVM_ActiveProcessorCount; ++ JVM_AllocateNewArray; ++ JVM_AllocateNewObject; ++ JVM_ArrayCopy; ++ JVM_AssertionStatusDirectives; ++ JVM_Available; ++ JVM_Bind; ++ JVM_ClassDepth; ++ JVM_ClassLoaderDepth; ++ JVM_Clone; ++ JVM_Close; ++ JVM_CX8Field; ++ JVM_CompileClass; ++ JVM_CompileClasses; ++ JVM_CompilerCommand; ++ JVM_Connect; ++ JVM_ConstantPoolGetClassAt; ++ JVM_ConstantPoolGetClassAtIfLoaded; ++ JVM_ConstantPoolGetDoubleAt; ++ JVM_ConstantPoolGetFieldAt; ++ JVM_ConstantPoolGetFieldAtIfLoaded; ++ JVM_ConstantPoolGetFloatAt; ++ JVM_ConstantPoolGetIntAt; ++ JVM_ConstantPoolGetLongAt; ++ JVM_ConstantPoolGetMethodAt; ++ JVM_ConstantPoolGetMethodAtIfLoaded; ++ JVM_ConstantPoolGetMemberRefInfoAt; ++ JVM_ConstantPoolGetSize; ++ JVM_ConstantPoolGetStringAt; ++ JVM_ConstantPoolGetUTF8At; ++ JVM_CountStackFrames; ++ JVM_CurrentClassLoader; ++ JVM_CurrentLoadedClass; ++ JVM_CurrentThread; ++ JVM_CurrentTimeMillis; ++ JVM_DefineClass; ++ JVM_DefineClassWithSource; ++ JVM_DefineClassWithSourceCond; ++ JVM_DesiredAssertionStatus; ++ JVM_DisableCompiler; ++ JVM_DoPrivileged; ++ JVM_DTraceGetVersion; ++ JVM_DTraceActivate; ++ JVM_DTraceIsProbeEnabled; ++ JVM_DTraceIsSupported; ++ JVM_DTraceDispose; ++ JVM_DumpAllStacks; ++ JVM_DumpThreads; ++ JVM_EnableCompiler; ++ JVM_Exit; ++ JVM_FillInStackTrace; ++ JVM_FindClassFromClass; ++ JVM_FindClassFromClassLoader; ++ JVM_FindClassFromBootLoader; ++ JVM_FindLibraryEntry; ++ JVM_FindLoadedClass; ++ JVM_FindPrimitiveClass; ++ JVM_FindSignal; ++ JVM_FreeMemory; ++ JVM_GC; ++ JVM_GetAllThreads; ++ JVM_GetArrayElement; ++ JVM_GetArrayLength; ++ JVM_GetCPClassNameUTF; ++ JVM_GetCPFieldClassNameUTF; ++ JVM_GetCPFieldModifiers; ++ JVM_GetCPFieldNameUTF; ++ JVM_GetCPFieldSignatureUTF; ++ JVM_GetCPMethodClassNameUTF; ++ JVM_GetCPMethodModifiers; ++ JVM_GetCPMethodNameUTF; ++ JVM_GetCPMethodSignatureUTF; ++ JVM_GetCallerClass; ++ JVM_GetClassAccessFlags; ++ JVM_GetClassAnnotations; ++ JVM_GetClassCPEntriesCount; ++ JVM_GetClassCPTypes; ++ JVM_GetClassConstantPool; ++ JVM_GetClassContext; ++ JVM_GetClassDeclaredConstructors; ++ JVM_GetClassDeclaredFields; ++ JVM_GetClassDeclaredMethods; ++ JVM_GetClassFieldsCount; ++ JVM_GetClassInterfaces; ++ JVM_GetClassLoader; ++ JVM_GetClassMethodsCount; ++ JVM_GetClassModifiers; ++ JVM_GetClassName; ++ JVM_GetClassNameUTF; ++ JVM_GetClassSignature; ++ JVM_GetClassSigners; ++ JVM_GetClassTypeAnnotations; ++ JVM_GetComponentType; ++ JVM_GetDeclaredClasses; ++ JVM_GetDeclaringClass; ++ JVM_GetEnclosingMethodInfo; ++ JVM_GetFieldAnnotations; ++ JVM_GetFieldIxModifiers; ++ JVM_GetFieldTypeAnnotations; ++ JVM_GetHostName; ++ JVM_GetInheritedAccessControlContext; ++ JVM_GetInterfaceVersion; ++ JVM_GetLastErrorString; ++ JVM_GetManagement; ++ JVM_GetMethodAnnotations; ++ JVM_GetMethodDefaultAnnotationValue; ++ JVM_GetMethodIxArgsSize; ++ JVM_GetMethodIxByteCode; ++ JVM_GetMethodIxByteCodeLength; ++ JVM_GetMethodIxExceptionIndexes; ++ JVM_GetMethodIxExceptionTableEntry; ++ JVM_GetMethodIxExceptionTableLength; ++ JVM_GetMethodIxExceptionsCount; ++ JVM_GetMethodIxLocalsCount; ++ JVM_GetMethodIxMaxStack; ++ JVM_GetMethodIxModifiers; ++ JVM_GetMethodIxNameUTF; ++ JVM_GetMethodIxSignatureUTF; ++ JVM_GetMethodParameterAnnotations; ++ JVM_GetMethodParameters; ++ JVM_GetMethodTypeAnnotations; ++ JVM_GetPrimitiveArrayElement; ++ JVM_GetProtectionDomain; ++ JVM_GetSockName; ++ JVM_GetSockOpt; ++ JVM_GetStackAccessControlContext; ++ JVM_GetStackTraceDepth; ++ JVM_GetStackTraceElement; ++ JVM_GetSystemPackage; ++ JVM_GetSystemPackages; ++ JVM_GetThreadStateNames; ++ JVM_GetThreadStateValues; ++ JVM_GetVersionInfo; ++ JVM_Halt; ++ JVM_HoldsLock; ++ JVM_IHashCode; ++ JVM_InitAgentProperties; ++ JVM_InitProperties; ++ JVM_InitializeCompiler; ++ JVM_InitializeSocketLibrary; ++ JVM_InternString; ++ JVM_Interrupt; ++ JVM_InvokeMethod; ++ JVM_IsArrayClass; ++ JVM_IsConstructorIx; ++ JVM_IsInterface; ++ JVM_IsInterrupted; ++ JVM_IsNaN; ++ JVM_IsPrimitiveClass; ++ JVM_IsSameClassPackage; ++ JVM_IsSilentCompiler; ++ JVM_IsSupportedJNIVersion; ++ JVM_IsThreadAlive; ++ JVM_IsVMGeneratedMethodIx; ++ JVM_LatestUserDefinedLoader; ++ JVM_Listen; ++ JVM_LoadClass0; ++ JVM_LoadLibrary; ++ JVM_Lseek; ++ JVM_MaxObjectInspectionAge; ++ JVM_MaxMemory; ++ JVM_MonitorNotify; ++ JVM_MonitorNotifyAll; ++ JVM_MonitorWait; ++ JVM_NanoTime; ++ JVM_NativePath; ++ JVM_NewArray; ++ JVM_NewInstanceFromConstructor; ++ JVM_NewMultiArray; ++ JVM_OnExit; ++ JVM_Open; ++ JVM_RaiseSignal; ++ JVM_RawMonitorCreate; ++ JVM_RawMonitorDestroy; ++ JVM_RawMonitorEnter; ++ JVM_RawMonitorExit; ++ JVM_Read; ++ JVM_Recv; ++ JVM_RecvFrom; ++ JVM_RegisterSignal; ++ JVM_ReleaseUTF; ++ JVM_ResolveClass; ++ JVM_ResumeThread; ++ JVM_Send; ++ JVM_SendTo; ++ JVM_SetArrayElement; ++ JVM_SetClassSigners; ++ JVM_SetLength; ++ JVM_SetNativeThreadName; ++ JVM_SetPrimitiveArrayElement; ++ JVM_SetSockOpt; ++ JVM_SetThreadPriority; ++ JVM_Sleep; ++ JVM_Socket; ++ JVM_SocketAvailable; ++ JVM_SocketClose; ++ JVM_SocketShutdown; ++ JVM_StartThread; ++ JVM_StopThread; ++ JVM_SuspendThread; ++ JVM_SupportsCX8; ++ JVM_Sync; ++ JVM_Timeout; ++ JVM_TotalMemory; ++ JVM_TraceInstructions; ++ JVM_TraceMethodCalls; ++ JVM_UnloadLibrary; ++ JVM_Write; ++ JVM_Yield; ++ JVM_handle_bsd_signal; ++ ++ # debug JVM ++ JVM_AccessVMBooleanFlag; ++ JVM_AccessVMIntFlag; ++ JVM_VMBreakPoint; + + # miscellaneous functions +- _jio_fprintf +- _jio_printf +- _jio_snprintf +- _jio_vfprintf +- _jio_vsnprintf ++ jio_fprintf; ++ jio_printf; ++ jio_snprintf; ++ jio_vfprintf; ++ jio_vsnprintf; + + # This is for Forte Analyzer profiling support. +- _AsyncGetCallTrace ++ AsyncGetCallTrace; + + # INSERT VTABLE SYMBOLS HERE + ++ local: ++ *; ++}; ++ +--- hotspot/make/bsd/makefiles/mapfile-vers-product ++++ hotspot/make/bsd/makefiles/mapfile-vers-product +@@ -24,233 +24,239 @@ + # Only used for OSX/Darwin builds + + # Define public interface. +- # _JNI +- _JNI_CreateJavaVM +- _JNI_GetCreatedJavaVMs +- _JNI_GetDefaultJavaVMInitArgs +- +- # _JVM +- _JVM_Accept +- _JVM_ActiveProcessorCount +- _JVM_AllocateNewArray +- _JVM_AllocateNewObject +- _JVM_ArrayCopy +- _JVM_AssertionStatusDirectives +- _JVM_Available +- _JVM_Bind +- _JVM_ClassDepth +- _JVM_ClassLoaderDepth +- _JVM_Clone +- _JVM_Close +- _JVM_CX8Field +- _JVM_CompileClass +- _JVM_CompileClasses +- _JVM_CompilerCommand +- _JVM_Connect +- _JVM_ConstantPoolGetClassAt +- _JVM_ConstantPoolGetClassAtIfLoaded +- _JVM_ConstantPoolGetDoubleAt +- _JVM_ConstantPoolGetFieldAt +- _JVM_ConstantPoolGetFieldAtIfLoaded +- _JVM_ConstantPoolGetFloatAt +- _JVM_ConstantPoolGetIntAt +- _JVM_ConstantPoolGetLongAt +- _JVM_ConstantPoolGetMethodAt +- _JVM_ConstantPoolGetMethodAtIfLoaded +- _JVM_ConstantPoolGetMemberRefInfoAt +- _JVM_ConstantPoolGetSize +- _JVM_ConstantPoolGetStringAt +- _JVM_ConstantPoolGetUTF8At +- _JVM_CountStackFrames +- _JVM_CurrentClassLoader +- _JVM_CurrentLoadedClass +- _JVM_CurrentThread +- _JVM_CurrentTimeMillis +- _JVM_DefineClass +- _JVM_DefineClassWithSource +- _JVM_DefineClassWithSourceCond +- _JVM_DesiredAssertionStatus +- _JVM_DisableCompiler +- _JVM_DoPrivileged +- _JVM_DTraceGetVersion +- _JVM_DTraceActivate +- _JVM_DTraceIsProbeEnabled +- _JVM_DTraceIsSupported +- _JVM_DTraceDispose +- _JVM_DumpAllStacks +- _JVM_DumpThreads +- _JVM_EnableCompiler +- _JVM_Exit +- _JVM_FillInStackTrace +- _JVM_FindClassFromClass +- _JVM_FindClassFromClassLoader +- _JVM_FindClassFromBootLoader +- _JVM_FindLibraryEntry +- _JVM_FindLoadedClass +- _JVM_FindPrimitiveClass +- _JVM_FindSignal +- _JVM_FreeMemory +- _JVM_GC +- _JVM_GetAllThreads +- _JVM_GetArrayElement +- _JVM_GetArrayLength +- _JVM_GetCPClassNameUTF +- _JVM_GetCPFieldClassNameUTF +- _JVM_GetCPFieldModifiers +- _JVM_GetCPFieldNameUTF +- _JVM_GetCPFieldSignatureUTF +- _JVM_GetCPMethodClassNameUTF +- _JVM_GetCPMethodModifiers +- _JVM_GetCPMethodNameUTF +- _JVM_GetCPMethodSignatureUTF +- _JVM_GetCallerClass +- _JVM_GetClassAccessFlags +- _JVM_GetClassAnnotations +- _JVM_GetClassCPEntriesCount +- _JVM_GetClassCPTypes +- _JVM_GetClassConstantPool +- _JVM_GetClassContext +- _JVM_GetClassDeclaredConstructors +- _JVM_GetClassDeclaredFields +- _JVM_GetClassDeclaredMethods +- _JVM_GetClassFieldsCount +- _JVM_GetClassInterfaces +- _JVM_GetClassLoader +- _JVM_GetClassMethodsCount +- _JVM_GetClassModifiers +- _JVM_GetClassName +- _JVM_GetClassNameUTF +- _JVM_GetClassSignature +- _JVM_GetClassSigners +- _JVM_GetClassTypeAnnotations +- _JVM_GetComponentType +- _JVM_GetDeclaredClasses +- _JVM_GetDeclaringClass +- _JVM_GetEnclosingMethodInfo +- _JVM_GetFieldAnnotations +- _JVM_GetFieldIxModifiers +- _JVM_GetFieldTypeAnnotations +- _JVM_GetHostName +- _JVM_GetInheritedAccessControlContext +- _JVM_GetInterfaceVersion +- _JVM_GetLastErrorString +- _JVM_GetManagement +- _JVM_GetMethodAnnotations +- _JVM_GetMethodDefaultAnnotationValue +- _JVM_GetMethodIxArgsSize +- _JVM_GetMethodIxByteCode +- _JVM_GetMethodIxByteCodeLength +- _JVM_GetMethodIxExceptionIndexes +- _JVM_GetMethodIxExceptionTableEntry +- _JVM_GetMethodIxExceptionTableLength +- _JVM_GetMethodIxExceptionsCount +- _JVM_GetMethodIxLocalsCount +- _JVM_GetMethodIxMaxStack +- _JVM_GetMethodIxModifiers +- _JVM_GetMethodIxNameUTF +- _JVM_GetMethodIxSignatureUTF +- _JVM_GetMethodParameterAnnotations +- _JVM_GetMethodParameters +- _JVM_GetMethodTypeAnnotations +- _JVM_GetPrimitiveArrayElement +- _JVM_GetProtectionDomain +- _JVM_GetSockName +- _JVM_GetSockOpt +- _JVM_GetStackAccessControlContext +- _JVM_GetStackTraceDepth +- _JVM_GetStackTraceElement +- _JVM_GetSystemPackage +- _JVM_GetSystemPackages +- _JVM_GetThreadStateNames +- _JVM_GetThreadStateValues +- _JVM_GetVersionInfo +- _JVM_Halt +- _JVM_HoldsLock +- _JVM_IHashCode +- _JVM_InitAgentProperties +- _JVM_InitProperties +- _JVM_InitializeCompiler +- _JVM_InitializeSocketLibrary +- _JVM_InternString +- _JVM_Interrupt +- _JVM_InvokeMethod +- _JVM_IsArrayClass +- _JVM_IsConstructorIx +- _JVM_IsInterface +- _JVM_IsInterrupted +- _JVM_IsNaN +- _JVM_IsPrimitiveClass +- _JVM_IsSameClassPackage +- _JVM_IsSilentCompiler +- _JVM_IsSupportedJNIVersion +- _JVM_IsThreadAlive +- _JVM_IsVMGeneratedMethodIx +- _JVM_LatestUserDefinedLoader +- _JVM_Listen +- _JVM_LoadClass0 +- _JVM_LoadLibrary +- _JVM_Lseek +- _JVM_MaxObjectInspectionAge +- _JVM_MaxMemory +- _JVM_MonitorNotify +- _JVM_MonitorNotifyAll +- _JVM_MonitorWait +- _JVM_NanoTime +- _JVM_NativePath +- _JVM_NewArray +- _JVM_NewInstanceFromConstructor +- _JVM_NewMultiArray +- _JVM_OnExit +- _JVM_Open +- _JVM_RaiseSignal +- _JVM_RawMonitorCreate +- _JVM_RawMonitorDestroy +- _JVM_RawMonitorEnter +- _JVM_RawMonitorExit +- _JVM_Read +- _JVM_Recv +- _JVM_RecvFrom +- _JVM_RegisterSignal +- _JVM_ReleaseUTF +- _JVM_ResolveClass +- _JVM_ResumeThread +- _JVM_Send +- _JVM_SendTo +- _JVM_SetArrayElement +- _JVM_SetClassSigners +- _JVM_SetLength +- _JVM_SetNativeThreadName +- _JVM_SetPrimitiveArrayElement +- _JVM_SetSockOpt +- _JVM_SetThreadPriority +- _JVM_Sleep +- _JVM_Socket +- _JVM_SocketAvailable +- _JVM_SocketClose +- _JVM_SocketShutdown +- _JVM_StartThread +- _JVM_StopThread +- _JVM_SuspendThread +- _JVM_SupportsCX8 +- _JVM_Sync +- _JVM_Timeout +- _JVM_TotalMemory +- _JVM_TraceInstructions +- _JVM_TraceMethodCalls +- _JVM_UnloadLibrary +- _JVM_Write +- _JVM_Yield +- _JVM_handle_bsd_signal ++SUNWprivate_1.1 { ++ global: ++ # JNI ++ JNI_CreateJavaVM; ++ JNI_GetCreatedJavaVMs; ++ JNI_GetDefaultJavaVMInitArgs; ++ ++ # JVM ++ JVM_Accept; ++ JVM_ActiveProcessorCount; ++ JVM_AllocateNewArray; ++ JVM_AllocateNewObject; ++ JVM_ArrayCopy; ++ JVM_AssertionStatusDirectives; ++ JVM_Available; ++ JVM_Bind; ++ JVM_ClassDepth; ++ JVM_ClassLoaderDepth; ++ JVM_Clone; ++ JVM_Close; ++ JVM_CX8Field; ++ JVM_CompileClass; ++ JVM_CompileClasses; ++ JVM_CompilerCommand; ++ JVM_Connect; ++ JVM_ConstantPoolGetClassAt; ++ JVM_ConstantPoolGetClassAtIfLoaded; ++ JVM_ConstantPoolGetDoubleAt; ++ JVM_ConstantPoolGetFieldAt; ++ JVM_ConstantPoolGetFieldAtIfLoaded; ++ JVM_ConstantPoolGetFloatAt; ++ JVM_ConstantPoolGetIntAt; ++ JVM_ConstantPoolGetLongAt; ++ JVM_ConstantPoolGetMethodAt; ++ JVM_ConstantPoolGetMethodAtIfLoaded; ++ JVM_ConstantPoolGetMemberRefInfoAt; ++ JVM_ConstantPoolGetSize; ++ JVM_ConstantPoolGetStringAt; ++ JVM_ConstantPoolGetUTF8At; ++ JVM_CountStackFrames; ++ JVM_CurrentClassLoader; ++ JVM_CurrentLoadedClass; ++ JVM_CurrentThread; ++ JVM_CurrentTimeMillis; ++ JVM_DefineClass; ++ JVM_DefineClassWithSource; ++ JVM_DefineClassWithSourceCond; ++ JVM_DesiredAssertionStatus; ++ JVM_DisableCompiler; ++ JVM_DoPrivileged; ++ JVM_DTraceGetVersion; ++ JVM_DTraceActivate; ++ JVM_DTraceIsProbeEnabled; ++ JVM_DTraceIsSupported; ++ JVM_DTraceDispose; ++ JVM_DumpAllStacks; ++ JVM_DumpThreads; ++ JVM_EnableCompiler; ++ JVM_Exit; ++ JVM_FillInStackTrace; ++ JVM_FindClassFromClass; ++ JVM_FindClassFromClassLoader; ++ JVM_FindClassFromBootLoader; ++ JVM_FindLibraryEntry; ++ JVM_FindLoadedClass; ++ JVM_FindPrimitiveClass; ++ JVM_FindSignal; ++ JVM_FreeMemory; ++ JVM_GC; ++ JVM_GetAllThreads; ++ JVM_GetArrayElement; ++ JVM_GetArrayLength; ++ JVM_GetCPClassNameUTF; ++ JVM_GetCPFieldClassNameUTF; ++ JVM_GetCPFieldModifiers; ++ JVM_GetCPFieldNameUTF; ++ JVM_GetCPFieldSignatureUTF; ++ JVM_GetCPMethodClassNameUTF; ++ JVM_GetCPMethodModifiers; ++ JVM_GetCPMethodNameUTF; ++ JVM_GetCPMethodSignatureUTF; ++ JVM_GetCallerClass; ++ JVM_GetClassAccessFlags; ++ JVM_GetClassAnnotations; ++ JVM_GetClassCPEntriesCount; ++ JVM_GetClassCPTypes; ++ JVM_GetClassConstantPool; ++ JVM_GetClassContext; ++ JVM_GetClassDeclaredConstructors; ++ JVM_GetClassDeclaredFields; ++ JVM_GetClassDeclaredMethods; ++ JVM_GetClassFieldsCount; ++ JVM_GetClassInterfaces; ++ JVM_GetClassLoader; ++ JVM_GetClassMethodsCount; ++ JVM_GetClassModifiers; ++ JVM_GetClassName; ++ JVM_GetClassNameUTF; ++ JVM_GetClassSignature; ++ JVM_GetClassSigners; ++ JVM_GetClassTypeAnnotations; ++ JVM_GetComponentType; ++ JVM_GetDeclaredClasses; ++ JVM_GetDeclaringClass; ++ JVM_GetEnclosingMethodInfo; ++ JVM_GetFieldAnnotations; ++ JVM_GetFieldIxModifiers; ++ JVM_GetFieldTypeAnnotations; ++ JVM_GetHostName; ++ JVM_GetInheritedAccessControlContext; ++ JVM_GetInterfaceVersion; ++ JVM_GetLastErrorString; ++ JVM_GetManagement; ++ JVM_GetMethodAnnotations; ++ JVM_GetMethodDefaultAnnotationValue; ++ JVM_GetMethodIxArgsSize; ++ JVM_GetMethodIxByteCode; ++ JVM_GetMethodIxByteCodeLength; ++ JVM_GetMethodIxExceptionIndexes; ++ JVM_GetMethodIxExceptionTableEntry; ++ JVM_GetMethodIxExceptionTableLength; ++ JVM_GetMethodIxExceptionsCount; ++ JVM_GetMethodIxLocalsCount; ++ JVM_GetMethodIxMaxStack; ++ JVM_GetMethodIxModifiers; ++ JVM_GetMethodIxNameUTF; ++ JVM_GetMethodIxSignatureUTF; ++ JVM_GetMethodParameterAnnotations; ++ JVM_GetMethodParameters; ++ JVM_GetMethodTypeAnnotations; ++ JVM_GetPrimitiveArrayElement; ++ JVM_GetProtectionDomain; ++ JVM_GetSockName; ++ JVM_GetSockOpt; ++ JVM_GetStackAccessControlContext; ++ JVM_GetStackTraceDepth; ++ JVM_GetStackTraceElement; ++ JVM_GetSystemPackage; ++ JVM_GetSystemPackages; ++ JVM_GetThreadStateNames; ++ JVM_GetThreadStateValues; ++ JVM_GetVersionInfo; ++ JVM_Halt; ++ JVM_HoldsLock; ++ JVM_IHashCode; ++ JVM_InitAgentProperties; ++ JVM_InitProperties; ++ JVM_InitializeCompiler; ++ JVM_InitializeSocketLibrary; ++ JVM_InternString; ++ JVM_Interrupt; ++ JVM_InvokeMethod; ++ JVM_IsArrayClass; ++ JVM_IsConstructorIx; ++ JVM_IsInterface; ++ JVM_IsInterrupted; ++ JVM_IsNaN; ++ JVM_IsPrimitiveClass; ++ JVM_IsSameClassPackage; ++ JVM_IsSilentCompiler; ++ JVM_IsSupportedJNIVersion; ++ JVM_IsThreadAlive; ++ JVM_IsVMGeneratedMethodIx; ++ JVM_LatestUserDefinedLoader; ++ JVM_Listen; ++ JVM_LoadClass0; ++ JVM_LoadLibrary; ++ JVM_Lseek; ++ JVM_MaxObjectInspectionAge; ++ JVM_MaxMemory; ++ JVM_MonitorNotify; ++ JVM_MonitorNotifyAll; ++ JVM_MonitorWait; ++ JVM_NanoTime; ++ JVM_NativePath; ++ JVM_NewArray; ++ JVM_NewInstanceFromConstructor; ++ JVM_NewMultiArray; ++ JVM_OnExit; ++ JVM_Open; ++ JVM_RaiseSignal; ++ JVM_RawMonitorCreate; ++ JVM_RawMonitorDestroy; ++ JVM_RawMonitorEnter; ++ JVM_RawMonitorExit; ++ JVM_Read; ++ JVM_Recv; ++ JVM_RecvFrom; ++ JVM_RegisterSignal; ++ JVM_ReleaseUTF; ++ JVM_ResolveClass; ++ JVM_ResumeThread; ++ JVM_Send; ++ JVM_SendTo; ++ JVM_SetArrayElement; ++ JVM_SetClassSigners; ++ JVM_SetLength; ++ JVM_SetNativeThreadName; ++ JVM_SetPrimitiveArrayElement; ++ JVM_SetSockOpt; ++ JVM_SetThreadPriority; ++ JVM_Sleep; ++ JVM_Socket; ++ JVM_SocketAvailable; ++ JVM_SocketClose; ++ JVM_SocketShutdown; ++ JVM_StartThread; ++ JVM_StopThread; ++ JVM_SuspendThread; ++ JVM_SupportsCX8; ++ JVM_Sync; ++ JVM_Timeout; ++ JVM_TotalMemory; ++ JVM_TraceInstructions; ++ JVM_TraceMethodCalls; ++ JVM_UnloadLibrary; ++ JVM_Write; ++ JVM_Yield; ++ JVM_handle_bsd_signal; + + # miscellaneous functions +- _jio_fprintf +- _jio_printf +- _jio_snprintf +- _jio_vfprintf +- _jio_vsnprintf ++ jio_fprintf; ++ jio_printf; ++ jio_snprintf; ++ jio_vfprintf; ++ jio_vsnprintf; + + # This is for Forte Analyzer profiling support. +- _AsyncGetCallTrace ++ AsyncGetCallTrace; + + # INSERT VTABLE SYMBOLS HERE + ++ local: ++ *; ++}; ++ +--- hotspot/make/bsd/makefiles/rules.make ++++ hotspot/make/bsd/makefiles/rules.make +@@ -34,7 +34,7 @@ + CC_COMPILE = $(CC) $(CXXFLAGS) $(CFLAGS) + CXX_COMPILE = $(CXX) $(CXXFLAGS) $(CFLAGS) + +-AS.S = $(AS) $(ASFLAGS) ++AS.S = $(AS) -x assembler-with-cpp $(ASFLAGS) + + COMPILE.CC = $(CC_COMPILE) -c + GENASM.CC = $(CC_COMPILE) -S +--- hotspot/src/cpu/x86/vm/jni_x86.h ++++ hotspot/src/cpu/x86/vm/jni_x86.h +@@ -34,7 +34,7 @@ + #ifndef __has_attribute + #define __has_attribute(x) 0 + #endif +-#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2))) || __has_attribute(visibility) ++#if (defined(__clang__) || (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2)))) || __has_attribute(visibility) + #define JNIEXPORT __attribute__((visibility("default"))) + #define JNIIMPORT __attribute__((visibility("default"))) + #else +--- hotspot/src/cpu/x86/vm/templateTable_x86_64.cpp ++++ hotspot/src/cpu/x86/vm/templateTable_x86_64.cpp +@@ -107,10 +107,6 @@ + return Address(rsp, Interpreter::expr_offset_in_bytes(2)); + } + +-static inline Address at_tos_p3() { +- return Address(rsp, Interpreter::expr_offset_in_bytes(3)); +-} +- + // Condition conversion + static Assembler::Condition j_not(TemplateTable::Condition cc) { + switch (cc) { +--- hotspot/src/cpu/x86/vm/x86_32.ad ++++ hotspot/src/cpu/x86/vm/x86_32.ad +@@ -1201,8 +1201,9 @@ + if( dst_second_rc == rc_int && src_second_rc == rc_stack ) + return impl_helper(cbuf,do_size,true ,ra_->reg2offset(src_second),dst_second,0x8B,"MOV ",size, st); + +- ++ assert(0," foo "); + Unimplemented(); ++ return 0; + } + + #ifndef PRODUCT +--- hotspot/src/os/bsd/vm/decoder_bsd.cpp ++++ hotspot/src/os/bsd/vm/decoder_bsd.cpp +@@ -0,0 +1,47 @@ ++/* ++ * Copyright (c) 1997, 2012, 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. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef __APPLE__ ++#include "prims/jvm.h" ++#include "utilities/decoder_elf.hpp" ++ ++#include <cxxabi.h> ++ ++bool ElfDecoder::demangle(const char* symbol, char *buf, int buflen) { ++ int status; ++ char* result; ++ size_t size = (size_t)buflen; ++ ++ // Don't pass buf to __cxa_demangle. In case of the 'buf' is too small, ++ // __cxa_demangle will call system "realloc" for additional memory, which ++ // may use different malloc/realloc mechanism that allocates 'buf'. ++ if ((result = abi::__cxa_demangle(symbol, NULL, NULL, &status)) != NULL) { ++ jio_snprintf(buf, buflen, "%s", result); ++ // call c library's free ++ ::free(result); ++ return true; ++ } ++ return false; ++} ++#endif +--- hotspot/src/os/bsd/vm/osThread_bsd.cpp ++++ hotspot/src/os/bsd/vm/osThread_bsd.cpp +@@ -30,7 +30,7 @@ + + void OSThread::pd_initialize() { + assert(this != NULL, "check"); +-#ifdef __APPLE__ ++#if defined(__APPLE__) || defined(__FreeBSD__) + _thread_id = 0; + #else + _thread_id = NULL; +--- hotspot/src/os/bsd/vm/os_bsd.cpp ++++ hotspot/src/os/bsd/vm/os_bsd.cpp +@@ -102,6 +102,12 @@ + # include <sys/ioctl.h> + # include <sys/syscall.h> + ++#if __FreeBSD_version > 900030 ++# include <pthread_np.h> ++#else ++# include <sys/thr.h> ++#endif ++ + #if defined(__FreeBSD__) || defined(__NetBSD__) + # include <elf.h> + #endif +@@ -434,8 +440,12 @@ + #else + ld_library_path = (char *) malloc(sizeof(REG_DIR) + sizeof("/lib/") + + strlen(cpu_arch) + sizeof(DEFAULT_LIBPATH)); ++#ifdef __FreeBSD__ ++ sprintf(ld_library_path, DEFAULT_LIBPATH ":/usr/local/lib"); ++#else + sprintf(ld_library_path, REG_DIR "/lib/%s:" DEFAULT_LIBPATH, cpu_arch); + #endif ++#endif + + /* + * Get the user setting of LD_LIBRARY_PATH, and prepended it. It +@@ -1148,7 +1158,13 @@ + return retval; + + #elif __FreeBSD__ +- retval = syscall(SYS_thr_self); ++#if __FreeBSD_version > 900030 ++ return ::pthread_getthreadid_np(); ++#else ++ long tid; ++ thr_self(&tid); ++ return (pid_t)tid; ++#endif + #elif __OpenBSD__ + retval = syscall(SYS_getthrid); + #elif __NetBSD__ +@@ -1158,11 +1174,14 @@ + if (retval == -1) { + return getpid(); + } ++ return retval; + } + + intx os::current_thread_id() { +-#ifdef __APPLE__ ++#if defined(__APPLE__) + return (intx)::pthread_mach_thread_np(::pthread_self()); ++#elif defined(__FreeBSD__) ++ return os::Bsd::gettid(); + #else + return (intx)::pthread_self(); + #endif +@@ -1562,24 +1581,6 @@ + return dlsym(handle, name); + } + +- +-static bool _print_ascii_file(const char* filename, outputStream* st) { +- int fd = ::open(filename, O_RDONLY); +- if (fd == -1) { +- return false; +- } +- +- char buf[32]; +- int bytes; +- while ((bytes = ::read(fd, buf, sizeof(buf))) > 0) { +- st->print_raw(buf, bytes); +- } +- +- ::close(fd); +- +- return true; +-} +- + void os::print_dll_info(outputStream *st) { + st->print_cr("Dynamic libraries:"); + #ifdef RTLD_DI_LINKMAP +@@ -1629,14 +1630,14 @@ + } + + void os::print_os_info_brief(outputStream* st) { +- st->print("Bsd"); ++ st->print_cr("BSD"); + + os::Posix::print_uname_info(st); + } + + void os::print_os_info(outputStream* st) { + st->print("OS:"); +- st->print("Bsd"); ++ st->print_cr("BSD"); + + os::Posix::print_uname_info(st); + +@@ -1659,11 +1660,6 @@ + st->print("(" UINT64_FORMAT "k free)", + os::available_memory() >> 10); + st->cr(); +- +- // meminfo +- st->print("\n/proc/meminfo:\n"); +- _print_ascii_file("/proc/meminfo", st); +- st->cr(); + } + + // Taken from /usr/include/bits/siginfo.h Supposed to be architecture specific +@@ -1943,7 +1939,7 @@ + os_semaphore_t _semaphore; + }; + +-Semaphore::Semaphore() : _semaphore(0) { ++Semaphore::Semaphore() { + SEM_INIT(_semaphore, 0); + } + +@@ -2746,6 +2742,7 @@ + return OS_OK; + #elif defined(__FreeBSD__) + int ret = pthread_setprio(thread->osthread()->pthread_id(), newpri); ++ return (ret == 0) ? OS_OK : OS_ERR; + #elif defined(__APPLE__) || defined(__NetBSD__) + struct sched_param sp; + int policy; +--- hotspot/src/os/bsd/vm/vmError_bsd.cpp ++++ hotspot/src/os/bsd/vm/vmError_bsd.cpp +@@ -44,7 +44,7 @@ + jio_snprintf(p, buflen - len, + "\n\n" + "Do you want to debug the problem?\n\n" +- "To debug, run 'gdb /proc/%d/exe %d'; then switch to thread " INTX_FORMAT " (" INTPTR_FORMAT ")\n" ++ "To debug, run 'gdb /proc/%d/file %d'; then switch to thread " INTX_FORMAT " (" INTPTR_FORMAT ")\n" + "Enter 'yes' to launch gdb automatically (PATH must include gdb)\n" + "Otherwise, press RETURN to abort...", + os::current_process_id(), os::current_process_id(), +@@ -54,7 +54,7 @@ + + if (yes) { + // yes, user asked VM to launch debugger +- jio_snprintf(buf, buflen, "gdb /proc/%d/exe %d", ++ jio_snprintf(buf, buflen, "gdb /proc/%d/file %d", + os::current_process_id(), os::current_process_id()); + + os::fork_and_exec(buf); +--- hotspot/src/share/vm/code/relocInfo.hpp ++++ hotspot/src/share/vm/code/relocInfo.hpp +@@ -364,7 +364,7 @@ + // "immediate" in the prefix header word itself. This optimization + // is invisible outside this module.) + +- inline friend relocInfo prefix_relocInfo(int datalen = 0); ++ inline friend relocInfo prefix_relocInfo(int datalen); + + protected: + // an immediate relocInfo optimizes a prefix with one 10-bit unsigned value +@@ -459,7 +459,7 @@ + return relocInfo(relocInfo::none, relocInfo::offset_limit() - relocInfo::offset_unit); + } + +-inline relocInfo prefix_relocInfo(int datalen) { ++inline relocInfo prefix_relocInfo(int datalen = 0) { + assert(relocInfo::fits_into_immediate(datalen), "datalen in limits"); + return relocInfo(relocInfo::data_prefix_tag, relocInfo::RAW_BITS, relocInfo::datalen_tag | datalen); + } +--- hotspot/src/share/vm/gc_implementation/shared/gcTraceSend.cpp ++++ hotspot/src/share/vm/gc_implementation/shared/gcTraceSend.cpp +@@ -110,7 +110,7 @@ + if (e.should_commit()) { + e.set_gcId(_shared_gc_info.id()); + e.set_data(to_trace_struct(pf_info)); +- e.set_thread(pf_info.thread()->thread_id()); ++ e.set_thread((uintptr_t) pf_info.thread()->thread_id()); + e.commit(); + } + } +--- hotspot/src/share/vm/opto/node.cpp ++++ hotspot/src/share/vm/opto/node.cpp +@@ -285,6 +285,10 @@ + #ifdef _MSC_VER // the IDX_INIT hack falls foul of warning C4355 + #pragma warning( disable:4355 ) // 'this' : used in base member initializer list + #endif ++#ifdef __clang__ ++#pragma clang diagnostic push ++#pragma GCC diagnostic ignored "-Wuninitialized" ++#endif + + // Out-of-line code from node constructors. + // Executed only when extra debug info. is being passed around. +@@ -468,6 +472,10 @@ + _in[6] = n6; if (n6 != NULL) n6->add_out((Node *)this); + } + ++#ifdef __clang__ ++#pragma clang diagnostic pop ++#endif ++ + + //------------------------------clone------------------------------------------ + // Clone a Node. +--- hotspot/src/share/vm/prims/jvmtiTagMap.cpp ++++ hotspot/src/share/vm/prims/jvmtiTagMap.cpp +@@ -2790,6 +2790,7 @@ + return true; + } + ++#ifdef ASSERT + // verify that a static oop field is in range + static inline bool verify_static_oop(InstanceKlass* ik, + oop mirror, int offset) { +@@ -2804,6 +2805,7 @@ + return false; + } + } ++#endif // #ifdef ASSERT + + // a class references its super class, interfaces, class loader, ... + // and finally its static fields +--- hotspot/src/share/vm/runtime/mutex.cpp ++++ hotspot/src/share/vm/runtime/mutex.cpp +@@ -280,16 +280,6 @@ + return x & 0x7FFFFFFF ; + } + +-static inline jint MarsagliaXOR (jint * const a) { +- jint x = *a ; +- if (x == 0) x = UNS(a)|1 ; +- x ^= x << 6; +- x ^= ((unsigned)x) >> 21; +- x ^= x << 7 ; +- *a = x ; +- return x & 0x7FFFFFFF ; +-} +- + static int Stall (int its) { + static volatile jint rv = 1 ; + volatile int OnFrame = 0 ; +--- hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp ++++ hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp +@@ -261,7 +261,7 @@ + #endif + + // GCC 4.3 does not allow 0.0/0.0 to produce a NAN value +-#if (__GNUC__ == 4) && (__GNUC_MINOR__ > 2) ++#if defined(__clang__) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 2)) + #define CAN_USE_NAN_DEFINE 1 + #endif + +--- jdk/make/CompileDemos.gmk ++++ jdk/make/CompileDemos.gmk +@@ -313,7 +313,7 @@ + $(eval $(call SetupJVMTIDemo,heapViewer, agent_util)) + $(eval $(call SetupJVMTIDemo,hprof, java_crw_demo, \ + -I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, C, \ +- -ldl, ws2_32.lib winmm.lib, -lsocket -lnsl, -lpthread)) ++ $(LIBDL), ws2_32.lib winmm.lib, -lsocket -lnsl, -lpthread)) + + $(eval $(call SetupJVMTIDemo,minst, agent_util java_crw_demo)) + $(eval $(call SetupJVMTIDemo,mtrace, agent_util java_crw_demo)) +--- jdk/make/CompileJavaClasses.gmk ++++ jdk/make/CompileJavaClasses.gmk +@@ -125,23 +125,32 @@ + sun/nio/fs/LinuxFileStore.java \ + sun/nio/fs/LinuxFileSystem.java \ + sun/nio/fs/LinuxFileSystemProvider.java \ +- sun/nio/fs/MagicFileTypeDetector.java \ + sun/nio/fs/LinuxNativeDispatcher.java \ + sun/nio/fs/LinuxUserDefinedFileAttributeView.java \ + sun/nio/fs/LinuxWatchService.java + endif + ++ifeq (, $(filter $(OPENJDK_TARGET_OS), linux bsd)) ++ EXFILES += sun/nio/fs/MagicFileTypeDetector.java ++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 +@@ -217,9 +226,9 @@ + # Exclude another implicitly not included file. + EXFILES += sun/util/locale/AsciiUtil.java + +-ifeq (, $(filter $(OPENJDK_TARGET_OS), solaris macosx)) ++ifeq (, $(filter $(OPENJDK_TARGET_OS), solaris bsd macosx)) + # +- # only solaris and macosx ++ # only solaris and BSD + # + EXFILES += sun/nio/fs/PollingWatchService.java + endif +@@ -259,21 +268,26 @@ + $(JDK_TOPDIR)/src/closed/$(OPENJDK_TARGET_OS_API_DIR)/classes + endif + +-MACOSX_SRC_DIRS := ++BSD_SRC_DIRS := ++ifneq (, $(filter $(OPENJDK_TARGET_OS), bsd macosx)) ++ BSD_SRC_DIRS += $(JDK_TOPDIR)/src/bsd/classes ++ ++ # these files are duplicated in BSD_SRC_DIRS ++ EXFILES += $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \ ++ $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java ++endif ++ + ifeq ($(OPENJDK_TARGET_OS), macosx) +- MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes ++ BSD_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes + +- # this files are duplicated in MACOSX_SRC_DIRS +- EXFILES += $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \ +- $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \ +- $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \ ++ # these files are duplicated in BSD_SRC_DIRS ++ EXFILES += $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \ + $(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \ + $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java +- + endif + + # The security classes should not end up in the classes directory as that will prevent them +@@ -312,7 +326,7 @@ + SETUP:=GENERATE_JDKBYTECODE,\ + SRC:=$(JDK_TOPDIR)/src/share/classes \ + $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \ +- $(MACOSX_SRC_DIRS) \ ++ $(BSD_SRC_DIRS) \ + $(JDK_OUTPUTDIR)/gensrc \ + $(JDK_OUTPUTDIR)/gensrc_no_srczip \ + $(CLOSED_SRC_DIRS),\ +@@ -331,7 +345,7 @@ + SETUP := GENERATE_JDKBYTECODE, \ + SRC := $(JDK_TOPDIR)/src/share/classes \ + $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \ +- $(MACOSX_SRC_DIRS) \ ++ $(BSD_SRC_DIRS) \ + $(CLOSED_SRC_DIRS), \ + INCLUDES := $(SECURITY_PKGS), \ + EXCLUDES := $(EXCLUDES), \ +--- jdk/make/CompileLaunchers.gmk ++++ jdk/make/CompileLaunchers.gmk +@@ -60,7 +60,7 @@ + # System.loadLibrary("jawt") first. This was the behaviour described in the + # devloper documentation of JAWT and what worked with OpenJDK6. + # +-ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), ) ++ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris bsd), ) + ORIGIN_ARG += $(call SET_EXECUTABLE_ORIGIN,$(ORIGIN_ROOT)/lib$(OPENJDK_TARGET_CPU_LIBDIR)) + endif + +@@ -150,11 +150,13 @@ + $2, \ + CFLAGS_linux := -fPIC, \ + CFLAGS_solaris := -KPIC -DHAVE_GETHRTIME, \ ++ CFLAGS_bsd := -fPIC, \ + LDFLAGS := $(LDFLAGS_JDKEXE) \ + $(ORIGIN_ARG) \ + $$($1_LDFLAGS), \ + LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_NAME,$1), \ + LDFLAGS_linux := -lpthread \ ++ LDFLAGS_bsd := -pthread \ + $(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)), \ +@@ -165,6 +167,7 @@ + $(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_solaris := -L$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli -lthread $(LIBDL) -lc, \ ++ LDFLAGS_SUFFIX_bsd := -L$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli -lc, \ + OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/$1_objs$(OUTPUT_SUBDIR), \ + OUTPUT_DIR := $$($1_OUTPUT_DIR_ARG)$(OUTPUT_SUBDIR), \ + PROGRAM := $1, \ +@@ -457,6 +460,7 @@ + CFLAGS_linux := -fPIC, \ + CFLAGS_solaris := -KPIC, \ + CFLAGS_macosx := -fPIC, \ ++ CFLAGS_bsd := -fPIC, \ + MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libunpack/mapfile-vers-unpack200, \ + LDFLAGS := $(UNPACKEXE_ZIPOBJS), \ + LDFLAGS_windows := $(CXXFLAGS_JDKEXE), \ +@@ -465,6 +469,7 @@ + $(call SET_SHARED_LIBRARY_ORIGIN), \ + LDFLAGS_linux := -lc, \ + LDFLAGS_solaris := $(UNPACKEXE_LDFLAGS_solaris) -lc, \ ++ LDFLAGS_bsd := -lc, \ + LDFLAGS_SUFFIX := $(LIBCXX), \ + OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/unpackexe$(OUTPUT_SUBDIR), \ + OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/unpackexe$(OUTPUT_SUBDIR), \ +@@ -522,6 +527,10 @@ + BUILD_JEXEC := 1 + endif # OPENJDK_TARGET_OS + ++ifeq ($(OPENJDK_TARGET_OS), bsd) ++ BUILD_JEXEC := 1 ++endif # OPENJDK_TARGET_OS ++ + # + # jdk/make/java/jexec/Makefile + # +@@ -554,6 +563,7 @@ + $(BUILD_JEXEC_INC), \ + CFLAGS_linux := -fPIC, \ + CFLAGS_solaris := -KPIC, \ ++ CFLAGS_bsd := -fPIC, \ + LDFLAGS := $(LDFLAGS_JDKEXE) \ + $(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX)), \ + OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/jexec_obj, \ +@@ -576,6 +586,9 @@ + ifeq ($(OPENJDK_TARGET_OS), solaris) + BUILD_LAUNCHERS += $(JAVA_RMI_CGI) + endif ++ifeq ($(OPENJDK_TARGET_OS), bsd) ++ BUILD_LAUNCHERS += $(JAVA_RMI_CGI) ++endif + + # TODO: + # On windows java-rmi.cgi shouldn't be bundled since Java 1.2, but has been built all +@@ -601,11 +614,11 @@ + LINK_JSPAWNHELPER_OBJECTS := $(JDK_OUTPUTDIR)/objs/libjava/childproc.o + LINK_JSPAWNHELPER_FLAGS := + +-ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris), ) ++ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris bsd), ) + BUILD_JSPAWNHELPER := 1 + endif + +-ifeq ($(OPENJDK_TARGET_OS), macosx) ++ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx bsd), ) + BUILD_JSPAWNHELPER_DST_DIR := $(JDK_OUTPUTDIR)/lib + endif + +--- jdk/make/CopyFiles.gmk ++++ jdk/make/CopyFiles.gmk +@@ -31,6 +31,8 @@ + OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/win32 + else ifeq ($(OPENJDK_TARGET_OS), macosx) + OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/darwin ++else ifeq ($(OPENJDK_TARGET_OS), bsd) ++ OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/$(shell uname -s | ${TR} "[:upper:]" "[:lower:]") + endif + + # +@@ -323,23 +325,23 @@ + $(RM) $(@) + # Now check for other permutations + ifeq ($(JVM_VARIANT_SERVER), true) +- $(PRINTF) "-server KNOWN\n">>$(@) +- $(PRINTF) "-client ALIASED_TO -server\n">>$(@) ++ $(PRINTF) -- "-server KNOWN\n">>$(@) ++ $(PRINTF) -- "-client ALIASED_TO -server\n">>$(@) + ifeq ($(JVM_VARIANT_MINIMAL1), true) +- $(PRINTF) "-minimal KNOWN\n">>$(@) ++ $(PRINTF) -- "-minimal KNOWN\n">>$(@) + endif + else + ifeq ($(JVM_VARIANT_CLIENT), true) +- $(PRINTF) "-client KNOWN\n">>$(@) +- $(PRINTF) "-server ALIASED_TO -client\n">>$(@) ++ $(PRINTF) -- "-client KNOWN\n">>$(@) ++ $(PRINTF) -- "-server ALIASED_TO -client\n">>$(@) + ifeq ($(JVM_VARIANT_MINIMAL1), true) +- $(PRINTF) "-minimal KNOWN\n">>$(@) ++ $(PRINTF) -- "-minimal KNOWN\n">>$(@) + endif + else + ifeq ($(JVM_VARIANT_MINIMAL1), true) +- $(PRINTF) "-minimal KNOWN\n">>$(@) +- $(PRINTF) "-server ALIASED_TO -minimal\n">>$(@) +- $(PRINTF) "-client ALIASED_TO -minimal\n">>$(@) ++ $(PRINTF) -- "-minimal KNOWN\n">>$(@) ++ $(PRINTF) -- "-server ALIASED_TO -minimal\n">>$(@) ++ $(PRINTF) -- "-client ALIASED_TO -minimal\n">>$(@) + endif + endif + endif +--- jdk/make/Images.gmk ++++ jdk/make/Images.gmk +@@ -237,8 +237,11 @@ + ifeq ($(OPENJDK_TARGET_OS), linux) + JDK_LIB_FILES += jexec + endif ++ifeq ($(OPENJDK_TARGET_OS), bsd) ++ JDK_LIB_FILES += jexec ++endif + +-ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris),) # If Linux or Solaris ++ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris bsd),) # If Linux, Solaris, or BSD + JDK_LIB_FILES += $(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX) \ + $(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX) + endif +@@ -393,6 +396,10 @@ + MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc + MAN1_SUBDIR = man + endif ++ ifeq ($(OPENJDK_TARGET_OS), bsd) ++ MAN_SRC_DIR := $(MAN_SRC_BASEDIR)/bsd/doc ++ MAN1_SUBDIR := man ++ endif + + $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% + $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) +@@ -465,6 +472,16 @@ + $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja + endif + ++ ifeq ($(OPENJDK_TARGET_OS), bsd) ++ $(JRE_IMAGE_DIR)/man/ja: ++ $(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@) ++ $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja ++ ++ $(JDK_IMAGE_DIR)/man/ja: ++ $(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@) ++ $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja ++ endif ++ + ifeq ($(OPENJDK_TARGET_OS), linux) + 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)) \ +@@ -497,6 +514,16 @@ + $(JDK_IMAGE_DIR)/man/ja + endif + ++ ifeq ($(OPENJDK_TARGET_OS), 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 ++ ++ JDK_MAN_PAGE_LIST := $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ ++ $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ ++ $(JDK_IMAGE_DIR)/man/ja ++ endif ++ + endif # Windows + + ################################################################################ +--- jdk/make/data/classlist/classlist.bsd ++++ jdk/make/data/classlist/classlist.bsd +@@ -0,0 +1,2803 @@ ++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/AWTEvent$2 ++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/Container$EventTargetFilter ++java/awt/Container$MouseEventTargetFilter ++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$1 ++java/awt/Dialog$3 ++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$2 ++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$1 ++java/awt/LightweightDispatcher$2 ++java/awt/MediaEntry ++java/awt/MediaTracker ++java/awt/MenuBar ++java/awt/MenuComponent ++java/awt/MenuContainer ++java/awt/ModalEventFilter ++java/awt/ModalEventFilter$1 ++java/awt/ModalEventFilter$ApplicationModalEventFilter ++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/SecondaryLoop ++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/WaitDispatchSupport ++java/awt/WaitDispatchSupport$1 ++java/awt/WaitDispatchSupport$2 ++java/awt/WaitDispatchSupport$5 ++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/DataFlavor ++java/awt/datatransfer/FlavorMap ++java/awt/datatransfer/FlavorTable ++java/awt/datatransfer/MimeType ++java/awt/datatransfer/MimeTypeParameterList ++java/awt/datatransfer/MimeTypeParseException ++java/awt/datatransfer/SystemFlavorMap ++java/awt/datatransfer/SystemFlavorMap$1 ++java/awt/datatransfer/SystemFlavorMap$2 ++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/HierarchyEvent ++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/MouseWheelEvent ++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/Path2D$Float$CopyIterator ++java/awt/geom/Path2D$Iterator ++java/awt/geom/PathIterator ++java/awt/geom/Point2D ++java/awt/geom/Point2D$Double ++java/awt/geom/Point2D$Float ++java/awt/geom/RectIterator ++java/awt/geom/Rectangle2D ++java/awt/geom/Rectangle2D$Double ++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/DialogPeer ++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/NotSerializableException ++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/ObjectStreamException ++java/io/ObjectStreamField ++java/io/OutputStream ++java/io/OutputStreamWriter ++java/io/PrintStream ++java/io/PrintWriter ++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/AssertionError ++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/ClassLoaderHelper ++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$NullInputStream ++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/Short$ShortCache ++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/Throwable$WrappedPrintWriter ++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/NetworkInterface$2 ++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/BufferUnderflowException ++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/Charset$ExtendedProviderHolder ++java/nio/charset/Charset$ExtendedProviderHolder$1 ++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/rmi/MarshalledObject ++java/rmi/Remote ++java/security/AccessControlContext ++java/security/AccessControlException ++java/security/AccessController ++java/security/AlgorithmParameters ++java/security/AlgorithmParametersSpi ++java/security/AllPermission ++java/security/AllPermissionCollection ++java/security/AuthProvider ++java/security/BasicPermission ++java/security/BasicPermissionCollection ++java/security/CodeSigner ++java/security/CodeSource ++java/security/DigestException ++java/security/GeneralSecurityException ++java/security/Guard ++java/security/InvalidAlgorithmParameterException ++java/security/InvalidKeyException ++java/security/InvalidParameterException ++java/security/Key ++java/security/KeyException ++java/security/KeyFactory ++java/security/KeyFactorySpi ++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/ProviderException ++java/security/PublicKey ++java/security/SecureClassLoader ++java/security/SecureRandomSpi ++java/security/Security ++java/security/Security$1 ++java/security/SecurityPermission ++java/security/Signature ++java/security/Signature$Delegate ++java/security/SignatureException ++java/security/SignatureSpi ++java/security/UnresolvedPermission ++java/security/cert/CertPath ++java/security/cert/Certificate ++java/security/cert/CertificateFactory ++java/security/cert/CertificateFactorySpi ++java/security/cert/Extension ++java/security/cert/X509Certificate ++java/security/cert/X509Extension ++java/security/interfaces/DSAKey ++java/security/interfaces/DSAParams ++java/security/interfaces/DSAPrivateKey ++java/security/interfaces/DSAPublicKey ++java/security/interfaces/RSAKey ++java/security/interfaces/RSAPrivateCrtKey ++java/security/interfaces/RSAPrivateKey ++java/security/interfaces/RSAPublicKey ++java/security/spec/AlgorithmParameterSpec ++java/security/spec/DSAParameterSpec ++java/security/spec/DSAPublicKeySpec ++java/security/spec/EncodedKeySpec ++java/security/spec/InvalidKeySpecException ++java/security/spec/KeySpec ++java/security/spec/PKCS8EncodedKeySpec ++java/security/spec/RSAPrivateCrtKeySpec ++java/security/spec/RSAPrivateKeySpec ++java/security/spec/RSAPublicKeySpec ++java/security/spec/X509EncodedKeySpec ++java/text/AttributedCharacterIterator ++java/text/AttributedCharacterIterator$Attribute ++java/text/AttributedString ++java/text/AttributedString$AttributedStringIterator ++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/Normalizer ++java/text/Normalizer$Form ++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$1 ++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/Base64 ++java/util/Base64$Decoder ++java/util/Base64$Encoder ++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$SynchronizedSortedSet ++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/Collections$UnmodifiableSortedSet ++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/LinkedHashSet ++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/NavigableSet ++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/SortedSet ++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/TreeMap$KeyIterator ++java/util/TreeMap$KeySet ++java/util/TreeMap$PrivateEntryIterator ++java/util/TreeSet ++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$HashIterator ++java/util/WeakHashMap$KeyIterator ++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/ConcurrentNavigableMap ++java/util/concurrent/ConcurrentSkipListMap ++java/util/concurrent/ConcurrentSkipListMap$EntrySet ++java/util/concurrent/ConcurrentSkipListMap$HeadIndex ++java/util/concurrent/ConcurrentSkipListMap$Index ++java/util/concurrent/ConcurrentSkipListMap$KeySet ++java/util/concurrent/ConcurrentSkipListMap$Node ++java/util/concurrent/ConcurrentSkipListMap$Values ++java/util/concurrent/ConcurrentSkipListSet ++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/ThreadLocalRandom ++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/ReadWriteLock ++java/util/concurrent/locks/ReentrantLock ++java/util/concurrent/locks/ReentrantLock$NonfairSync ++java/util/concurrent/locks/ReentrantLock$Sync ++java/util/concurrent/locks/ReentrantReadWriteLock ++java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync ++java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock ++java/util/concurrent/locks/ReentrantReadWriteLock$Sync ++java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter ++java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock ++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/JarVerifier$VerifierStream ++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/regex/MatchResult ++java/util/regex/Matcher ++java/util/regex/Pattern ++java/util/regex/Pattern$4 ++java/util/regex/Pattern$BnM ++java/util/regex/Pattern$GroupHead ++java/util/regex/Pattern$LastNode ++java/util/regex/Pattern$Node ++java/util/regex/Pattern$Slice ++java/util/regex/Pattern$SliceNode ++java/util/regex/Pattern$Start ++java/util/regex/Pattern$TreeInfo ++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/ZipException ++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/security/auth/login/FailedLoginException ++javax/security/auth/login/LoginException ++javax/security/auth/x500/X500Principal ++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/Autoscroller ++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/JPasswordField ++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/PopupFactory ++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/SwingHeavyWeight ++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$TransferAction$1 ++javax/swing/TransferHandler$TransferAction$2 ++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/IconUIResource ++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$RolloverButtonBorder ++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$FocusHandler ++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/BasicIconFactory ++javax/swing/plaf/basic/BasicIconFactory$MenuItemArrowIcon ++javax/swing/plaf/basic/BasicIconFactory$MenuItemCheckIcon ++javax/swing/plaf/basic/BasicLabelUI ++javax/swing/plaf/basic/BasicListUI ++javax/swing/plaf/basic/BasicListUI$FocusHandler ++javax/swing/plaf/basic/BasicListUI$Handler ++javax/swing/plaf/basic/BasicListUI$ListTransferHandler ++javax/swing/plaf/basic/BasicListUI$MouseInputHandler ++javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler ++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$ChangeHandler ++javax/swing/plaf/basic/BasicMenuUI$Handler ++javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler ++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/BasicScrollPaneUI$MouseWheelHandler ++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$TextTransferHandler$TextTransferable ++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/BasicTransferable ++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$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$1 ++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$HighlightInfo ++javax/swing/text/DefaultHighlighter$LayeredHighlightInfo ++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/AWTIcon64_java_icon16_png ++sun/awt/AWTIcon64_java_icon24_png ++sun/awt/AWTIcon64_java_icon32_png ++sun/awt/AWTIcon64_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/FontConfiguration$1 ++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/ModalExclude ++sun/awt/ModalityEvent ++sun/awt/ModalityListener ++sun/awt/MostRecentKeyValue ++sun/awt/Mutex ++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$1 ++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/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/XTranslateCoordinates ++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/DataTransferer ++sun/awt/datatransfer/DataTransferer$1 ++sun/awt/datatransfer/DataTransferer$CharsetComparator ++sun/awt/datatransfer/DataTransferer$IndexOrderComparator ++sun/awt/datatransfer/DataTransferer$IndexedComparator ++sun/awt/datatransfer/DataTransferer$RMI ++sun/awt/datatransfer/DataTransferer$StandardEncodingsHolder ++sun/awt/datatransfer/SunClipboard ++sun/awt/datatransfer/ToolkitThreadBlockedHandler ++sun/awt/datatransfer/TransferableProxy ++sun/awt/dnd/SunDragSourceContextPeer ++sun/awt/dnd/SunDropTargetContextPeer ++sun/awt/dnd/SunDropTargetEvent ++sun/awt/event/IgnorePaintEvent ++sun/awt/geom/PathConsumer2D ++sun/awt/im/CompositionAreaHandler ++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/im/InputMethodWindow ++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/OffScreenImageSource ++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$FlushableCacheData ++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/awt/util/IdentityLinkedList ++sun/awt/util/IdentityLinkedList$Entry ++sun/awt/util/IdentityLinkedList$ListItr ++sun/font/AttributeValues ++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/GlyphDisposedListener ++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$13 ++sun/font/SunFontManager$2 ++sun/font/SunFontManager$3 ++sun/font/SunFontManager$FontRegistrationInfo ++sun/font/SunFontManager$T1Filter ++sun/font/SunFontManager$TTFilter ++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/font/XRGlyphCache ++sun/font/XRGlyphCacheEntry ++sun/font/XRTextRenderer ++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$1 ++sun/java2d/StateTrackableDelegate$2 ++sun/java2d/StateTracker ++sun/java2d/StateTracker$1 ++sun/java2d/StateTracker$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/SurfaceDataProxy ++sun/java2d/SurfaceDataProxy$1 ++sun/java2d/SurfaceManagerFactory ++sun/java2d/UnixSurfaceManagerFactory ++sun/java2d/cmm/CMSManager ++sun/java2d/cmm/ProfileActivator ++sun/java2d/cmm/ProfileDeferralInfo ++sun/java2d/cmm/ProfileDeferralMgr ++sun/java2d/jules/JulesPathBuf ++sun/java2d/jules/JulesPathBuf$1 ++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/ProcessPath ++sun/java2d/loops/ProcessPath$1 ++sun/java2d/loops/ProcessPath$ActiveEdgeList ++sun/java2d/loops/ProcessPath$DrawHandler ++sun/java2d/loops/ProcessPath$Edge ++sun/java2d/loops/ProcessPath$EndSubPathHandler ++sun/java2d/loops/ProcessPath$FillData ++sun/java2d/loops/ProcessPath$FillProcessHandler ++sun/java2d/loops/ProcessPath$Point ++sun/java2d/loops/ProcessPath$ProcessHandler ++sun/java2d/loops/RenderCache ++sun/java2d/loops/RenderCache$Entry ++sun/java2d/loops/RenderLoops ++sun/java2d/loops/ScaledBlit ++sun/java2d/loops/SurfaceType ++sun/java2d/loops/TransformBlit ++sun/java2d/loops/TransformHelper ++sun/java2d/loops/XORComposite ++sun/java2d/opengl/GLXGraphicsConfig ++sun/java2d/opengl/OGLAnyCompositeBlit ++sun/java2d/opengl/OGLBlitLoops ++sun/java2d/opengl/OGLContext ++sun/java2d/opengl/OGLContext$OGLContextCaps ++sun/java2d/opengl/OGLDrawImage ++sun/java2d/opengl/OGLGeneralBlit ++sun/java2d/opengl/OGLGraphicsConfig ++sun/java2d/opengl/OGLMaskBlit ++sun/java2d/opengl/OGLMaskFill ++sun/java2d/opengl/OGLRTTSurfaceToSurfaceBlit ++sun/java2d/opengl/OGLRTTSurfaceToSurfaceScale ++sun/java2d/opengl/OGLRTTSurfaceToSurfaceTransform ++sun/java2d/opengl/OGLRenderQueue ++sun/java2d/opengl/OGLRenderQueue$1 ++sun/java2d/opengl/OGLRenderQueue$QueueFlusher ++sun/java2d/opengl/OGLRenderer ++sun/java2d/opengl/OGLSurfaceData ++sun/java2d/opengl/OGLSurfaceData$1 ++sun/java2d/opengl/OGLSurfaceDataProxy ++sun/java2d/opengl/OGLSurfaceToSurfaceBlit ++sun/java2d/opengl/OGLSurfaceToSurfaceScale ++sun/java2d/opengl/OGLSurfaceToSurfaceTransform ++sun/java2d/opengl/OGLSurfaceToSwBlit ++sun/java2d/opengl/OGLSwToSurfaceBlit ++sun/java2d/opengl/OGLSwToSurfaceScale ++sun/java2d/opengl/OGLSwToSurfaceTransform ++sun/java2d/opengl/OGLSwToTextureBlit ++sun/java2d/opengl/OGLTextRenderer ++sun/java2d/opengl/OGLTextureToSurfaceBlit ++sun/java2d/opengl/OGLTextureToSurfaceScale ++sun/java2d/opengl/OGLTextureToSurfaceTransform ++sun/java2d/pipe/AAShapePipe ++sun/java2d/pipe/AATextRenderer ++sun/java2d/pipe/AlphaColorPipe ++sun/java2d/pipe/AlphaPaintPipe ++sun/java2d/pipe/BufferedContext ++sun/java2d/pipe/BufferedMaskBlit ++sun/java2d/pipe/BufferedMaskFill ++sun/java2d/pipe/BufferedPaints ++sun/java2d/pipe/BufferedRenderPipe ++sun/java2d/pipe/BufferedRenderPipe$AAParallelogramPipe ++sun/java2d/pipe/BufferedRenderPipe$BufferedDrawHandler ++sun/java2d/pipe/BufferedTextPipe ++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/RenderBuffer ++sun/java2d/pipe/RenderQueue ++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/AccelSurface ++sun/java2d/pipe/hw/BufferedContextProvider ++sun/java2d/pipe/hw/ContextCapabilities ++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/DirtyRegion ++sun/java2d/xr/GrowableEltArray ++sun/java2d/xr/GrowableIntArray ++sun/java2d/xr/GrowableRectArray ++sun/java2d/xr/MaskTile ++sun/java2d/xr/MaskTileManager ++sun/java2d/xr/MutableInteger ++sun/java2d/xr/XRBackend ++sun/java2d/xr/XRBackendNative ++sun/java2d/xr/XRColor ++sun/java2d/xr/XRCompositeManager ++sun/java2d/xr/XRCompositeManager$1 ++sun/java2d/xr/XRDrawImage ++sun/java2d/xr/XRDrawLine ++sun/java2d/xr/XRGraphicsConfig ++sun/java2d/xr/XRMaskBlit ++sun/java2d/xr/XRMaskFill ++sun/java2d/xr/XRMaskImage ++sun/java2d/xr/XRPMBlit ++sun/java2d/xr/XRPMBlitLoops ++sun/java2d/xr/XRPMScaledBlit ++sun/java2d/xr/XRPMTransformedBlit ++sun/java2d/xr/XRPaints ++sun/java2d/xr/XRPaints$XRGradient ++sun/java2d/xr/XRPaints$XRLinearGradient ++sun/java2d/xr/XRPaints$XRRadialGradient ++sun/java2d/xr/XRPaints$XRTexture ++sun/java2d/xr/XRRenderer ++sun/java2d/xr/XRRenderer$XRDrawHandler ++sun/java2d/xr/XRSolidSrcPict ++sun/java2d/xr/XRSurfaceData ++sun/java2d/xr/XRSurfaceData$XRInternalSurfaceData ++sun/java2d/xr/XRSurfaceData$XRPixmapSurfaceData ++sun/java2d/xr/XRSurfaceData$XRWindowSurfaceData ++sun/java2d/xr/XRSurfaceDataProxy ++sun/java2d/xr/XRUtils ++sun/java2d/xr/XRVolatileSurfaceManager ++sun/java2d/xr/XrSwToPMBlit ++sun/java2d/xr/XrSwToPMScaledBlit ++sun/java2d/xr/XrSwToPMTransformedBlit ++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/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/AbstractCharsetProvider ++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$Decoder ++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/nio/cs/ext/DelegatableDecoder ++sun/nio/cs/ext/DoubleByte ++sun/nio/cs/ext/DoubleByte$Decoder ++sun/nio/cs/ext/EUC_KR ++sun/nio/cs/ext/ExtendedCharsets ++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/UnsafeBooleanFieldAccessorImpl ++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/action/PutAllAction ++sun/security/jca/GetInstance ++sun/security/jca/GetInstance$Instance ++sun/security/jca/ProviderConfig ++sun/security/jca/ProviderConfig$1 ++sun/security/jca/ProviderConfig$2 ++sun/security/jca/ProviderConfig$3 ++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/pkcs/ContentInfo ++sun/security/pkcs/PKCS7 ++sun/security/pkcs/PKCS8Key ++sun/security/pkcs/PKCS9Attribute ++sun/security/pkcs/SignerInfo ++sun/security/provider/ByteArrayAccess ++sun/security/provider/DSA ++sun/security/provider/DSA$LegacyDSA ++sun/security/provider/DSA$SHA1withDSA ++sun/security/provider/DSAKeyFactory ++sun/security/provider/DSAParameters ++sun/security/provider/DSAPublicKey ++sun/security/provider/DSAPublicKeyImpl ++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/SHA2 ++sun/security/provider/SHA2$SHA256 ++sun/security/provider/Sun ++sun/security/provider/SunEntries ++sun/security/provider/SunEntries$1 ++sun/security/provider/X509Factory ++sun/security/provider/certpath/X509CertPath ++sun/security/rsa/RSACore ++sun/security/rsa/RSAKeyFactory ++sun/security/rsa/RSAPadding ++sun/security/rsa/RSAPrivateCrtKeyImpl ++sun/security/rsa/RSAPrivateKeyImpl ++sun/security/rsa/RSAPublicKeyImpl ++sun/security/rsa/RSASignature ++sun/security/rsa/RSASignature$SHA256withRSA ++sun/security/rsa/SunRsaSign ++sun/security/rsa/SunRsaSignEntries ++sun/security/util/BitArray ++sun/security/util/ByteArrayLexOrder ++sun/security/util/ByteArrayTagOrder ++sun/security/util/Cache ++sun/security/util/Cache$EqualByteArray ++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/Length ++sun/security/util/ManifestDigester ++sun/security/util/ManifestDigester$Entry ++sun/security/util/ManifestDigester$Position ++sun/security/util/ManifestEntryVerifier ++sun/security/util/ManifestEntryVerifier$SunProviderHolder ++sun/security/util/MemoryCache ++sun/security/util/MemoryCache$CacheEntry ++sun/security/util/MemoryCache$HardCacheEntry ++sun/security/util/MemoryCache$SoftCacheEntry ++sun/security/util/ObjectIdentifier ++sun/security/util/PropertyExpander ++sun/security/util/SignatureFileVerifier ++sun/security/x509/AVA ++sun/security/x509/AVAKeyword ++sun/security/x509/AlgorithmId ++sun/security/x509/AuthorityKeyIdentifierExtension ++sun/security/x509/BasicConstraintsExtension ++sun/security/x509/CertAttrSet ++sun/security/x509/CertificateAlgorithmId ++sun/security/x509/CertificateExtensions ++sun/security/x509/CertificateSerialNumber ++sun/security/x509/CertificateValidity ++sun/security/x509/CertificateVersion ++sun/security/x509/CertificateX509Key ++sun/security/x509/Extension ++sun/security/x509/GeneralName ++sun/security/x509/GeneralNameInterface ++sun/security/x509/GeneralNames ++sun/security/x509/KeyIdentifier ++sun/security/x509/KeyUsageExtension ++sun/security/x509/NetscapeCertTypeExtension ++sun/security/x509/NetscapeCertTypeExtension$MapEntry ++sun/security/x509/OIDMap ++sun/security/x509/OIDMap$OIDInfo ++sun/security/x509/PKIXExtensions ++sun/security/x509/RDN ++sun/security/x509/RFC822Name ++sun/security/x509/SerialNumber ++sun/security/x509/SubjectAlternativeNameExtension ++sun/security/x509/SubjectKeyIdentifierExtension ++sun/security/x509/X500Name ++sun/security/x509/X500Name$1 ++sun/security/x509/X509AttributeName ++sun/security/x509/X509CertImpl ++sun/security/x509/X509CertInfo ++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/NormalizerBase ++sun/text/normalizer/NormalizerBase$1 ++sun/text/normalizer/NormalizerBase$Mode ++sun/text/normalizer/NormalizerBase$NFCMode ++sun/text/normalizer/NormalizerBase$NFDMode ++sun/text/normalizer/NormalizerBase$NFKCMode ++sun/text/normalizer/NormalizerBase$NFKDMode ++sun/text/normalizer/NormalizerBase$QuickCheckResult ++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 ++# ca392e7ee7285d72 +--- jdk/make/gendata/GendataFontConfig.gmk ++++ jdk/make/gendata/GendataFontConfig.gmk +@@ -66,6 +66,13 @@ + GENDATA_FONT_CONFIG_SRC_PREFIX := macosx. + endif + ++ifeq ($(OPENJDK_TARGET_OS), bsd) ++ GENDATA_FONT_CONFIG_SRC_DIR := \ ++ $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs ++ GENDATA_FONT_CONFIG_SRC_FILES := fontconfig.properties ++ GENDATA_FONT_CONFIG_SRC_PREFIX := bsd. ++endif ++ + ### + + $(GENDATA_FONT_CONFIG_DST)/%.src: \ +--- jdk/make/lib/Awt2dLibraries.gmk ++++ jdk/make/lib/Awt2dLibraries.gmk +@@ -305,7 +305,7 @@ + debug_trace.c \ + debug_util.c + +-ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris linux)) ++ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris linux bsd)) + LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c + endif + +@@ -473,6 +473,7 @@ + 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_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \ ++ LDFLAGS_SUFFIX_bsd := -ljvm $(LIBM) -ljava, \ + LDFLAGS_SUFFIX_macosx := -lmlib_image -ljvm $(LIBM) \ + -framework Cocoa \ + -framework OpenGL \ +@@ -550,6 +551,16 @@ + endif + endif + ++ ifeq ($(OPENJDK_TARGET_OS), bsd) ++ ifndef OPENJDK ++ include $(JDK_TOPDIR)/make/closed/xawt.gmk ++ endif ++ ++ ifeq ($(DISABLE_XRENDER), true) ++ LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true ++ endif ++ endif ++ + ifeq ($(MILESTONE), internal) + LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD + endif +@@ -619,6 +630,11 @@ + LIBAWT_XAWT_LDFLAGS += -lpthread + endif + ++ ifeq ($(OPENJDK_TARGET_OS), bsd) ++ # To match old build, add this to LDFLAGS instead of suffix. ++ LIBAWT_XAWT_LDFLAGS += -pthread ++ endif ++ + $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \ + LIBRARY := awt_xawt, \ + OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ +@@ -681,6 +697,7 @@ + LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \ + LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \ + LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm, \ ++ LDFLAGS_SUFFIX_bsd := -lm -lawt -ljava -ljvm, \ + VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ + RC_FLAGS := $(RC_FLAGS) \ + -D "JDK_FNAME=lcms.dll" \ +@@ -821,6 +838,7 @@ + LDFLAGS_SUFFIX_solaris := -lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \ + LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \ + -ljava -ljvm, \ ++ LDFLAGS_SUFFIX_bsd := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \ + LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \ + $(WIN_AWT_LIB), \ + VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ +@@ -963,6 +981,7 @@ + CFLAGS := $(CFLAGS_JDKLIB), \ + CFLAGS_linux := $(HEADLESS_CFLAG), \ + CFLAGS_macosx := -I$(JDK_TOPDIR)/src/solaris/native/sun/awt, \ ++ CFLAGS_bsd := $(HEADLESS_CFLAG), \ + MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjawt/mapfile-vers, \ + LDFLAGS := $(LDFLAGS_JDKLIB) \ + $(call SET_SHARED_LIBRARY_ORIGIN), \ +@@ -971,6 +990,7 @@ + LDFLAGS_SUFFIX_solaris := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender, \ + LDFLAGS_SUFFIX_macosx := -Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \ + -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX), \ ++ LDFLAGS_SUFFIX_bsd := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \ + OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \ + DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) + +@@ -1169,6 +1189,7 @@ + REORDER := $(LIBAWT_HEADLESS_REORDER), \ + LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \ + LDFLAGS_SUFFIX_solaris := $(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc, \ ++ LDFLAGS_SUFFIX_bsd := -ljvm -lawt -lm -ljava, \ + OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_headless, \ + DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) + +--- jdk/make/lib/CoreLibraries.gmk ++++ jdk/make/lib/CoreLibraries.gmk +@@ -81,7 +81,7 @@ + endif + + LIBVERIFY_OPTIMIZATION := HIGH +-ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), ) ++ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux bsd), ) + ifeq ($(ENABLE_DEBUG_SYMBOLS), true) + LIBVERIFY_OPTIMIZATION := LOW + endif +@@ -202,6 +202,7 @@ + -framework CoreFoundation \ + -framework Foundation \ + -framework Security -framework SystemConfiguration, \ ++ LDFLAGS_SUFFIX_bsd := $(BUILD_LIBFDLIBM), \ + LDFLAGS_SUFFIX_windows := -export:winFileHandleOpen -export:handleLseek \ + jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \ + shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \ +@@ -267,6 +268,7 @@ + LDFLAGS_SUFFIX_linux := -ljvm -ljava $(LIBZ), \ + LDFLAGS_SUFFIX_solaris := -ljvm -ljava $(LIBZ) -lc, \ + LDFLAGS_SUFFIX_macosx := $(LIBZ) -ljava -ljvm, \ ++ LDFLAGS_SUFFIX_bsd := -ljvm -ljava $(LIBZ), \ + VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ + RC_FLAGS := $(RC_FLAGS) \ + -D "JDK_FNAME=zip.dll" \ +@@ -412,9 +414,11 @@ + LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ + LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ + LDFLAGS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \ ++ LDFLAGS_bsd := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ + LDFLAGS_SUFFIX_solaris := $(LIBZ) $(LIBDL) -lc, \ + LDFLAGS_SUFFIX_linux := $(LIBZ) $(LIBDL) -lc -lpthread, \ + LDFLAGS_SUFFIX_macosx := $(LIBZ), \ ++ LDFLAGS_SUFFIX_bsd := $(LIBZ) -pthread, \ + LDFLAGS_SUFFIX_windows := \ + -export:JLI_Launch \ + -export:JLI_ManifestIterate \ +@@ -479,6 +483,23 @@ + $(call install-file) + + BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a ++else ifeq ($(OPENJDK_TARGET_OS), bsd) ++ $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC, \ ++ LIBRARY := jli_static, \ ++ OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \ ++ SRC := $(BUILD_LIBJLI_SRC_DIRS), \ ++ INCLUDE_FILES := $(BUILD_LIBJLI_FILES), \ ++ LANG := C, \ ++ OPTIMIZATION := HIGH, \ ++ CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \ ++ LDFLAGS := -nostdlib -r, \ ++ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjli_static, \ ++ DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) ++ ++ $(JDK_OUTPUTDIR)/objs/libjli_static.a: $(BUILD_LIBJLI_STATIC) ++ $(call install-file) ++ ++ BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a + endif + + ########################################################################################## +@@ -496,6 +517,7 @@ + LDFLAGS := $(LDFLAGS_JDKLIB) \ + $(call SET_SHARED_LIBRARY_ORIGIN), \ + LDFLAGS_macosx := -liconv, \ ++ LDFLAGS_bsd := -liconv, \ + LDFLAGS_SUFFIX_windows := -export:nptInitialize -export:nptTerminate, \ + LDFLAGS_SUFFIX_solaris := -lc, \ + VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ +--- jdk/make/lib/NetworkingLibraries.gmk ++++ jdk/make/lib/NetworkingLibraries.gmk +@@ -46,6 +46,10 @@ + LIBNET_EXCLUDE_FILES += bsd_close.c + endif + ++ifneq ($(OPENJDK_TARGET_OS), bsd) ++ LIBNET_EXCLUDE_FILES += bsd_close.c ++endif ++ + ifeq ($(OPENJDK_TARGET_OS), windows) + LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c + else +@@ -69,6 +73,7 @@ + LDFLAGS_SUFFIX_macosx := -ljvm -ljava, \ + LDFLAGS_SUFFIX_solaris := -ljvm -ljava -lnsl -lsocket $(LIBDL) -lc, \ + LDFLAGS_SUFFIX_linux := $(LIBDL) -ljvm -lpthread -ljava, \ ++ LDFLAGS_SUFFIX_bsd := -ljvm -pthread -ljava, \ + LDFLAGS_SUFFIX_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \ + delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \ + -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \ +--- jdk/make/lib/NioLibraries.gmk ++++ jdk/make/lib/NioLibraries.gmk +@@ -77,9 +77,26 @@ + UnixNativeDispatcher.c + endif + ++ifeq ($(OPENJDK_TARGET_OS), bsd) ++ BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) ++ BUILD_LIBNIO_FILES += \ ++ BsdNativeDispatcher.c \ ++ GnomeFileTypeDetector.c \ ++ InheritedChannel.c \ ++ KQueue.c \ ++ KQueueArrayWrapper.c \ ++ KQueuePort.c \ ++ MagicFileTypeDetector.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 + BUILD_LIBNIO_FILES += \ + InheritedChannel.c \ + NativeThread.c \ +@@ -130,6 +147,7 @@ + LDFLAGS_SUFFIX_windows := jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \ + $(JDK_OUTPUTDIR)/objs/libnet/net.lib \ + advapi32.lib, \ ++ LDFLAGS_SUFFIX_bsd := -ljava -lnet -pthread, \ + LDFLAGS_SUFFIX_macosx := -ljava -lnet -pthread -framework CoreFoundation, \ + LDFLAGS_SUFFIX :=, \ + VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ +@@ -176,6 +194,7 @@ + LDFLAGS_SUFFIX_posix := -lnio -lnet, \ + LDFLAGS_SUFFIX_solaris := -lsocket -ljava -ljvm -lc, \ + LDFLAGS_SUFFIX_macosx := -ljava -ljvm, \ ++ LDFLAGS_SUFFIX_bsd := -pthread -ljava -ljvm, \ + OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsctp, \ + DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) + +--- jdk/make/lib/ServiceabilityLibraries.gmk ++++ jdk/make/lib/ServiceabilityLibraries.gmk +@@ -30,7 +30,7 @@ + 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 + +@@ -80,6 +80,7 @@ + MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libdt_socket/mapfile-vers, \ + LDFLAGS := $(LDFLAGS_JDKLIB) \ + $(call SET_SHARED_LIBRARY_ORIGIN), \ ++ LDFLAGS_SUFFIX_bsd := -pthread, \ + LDFLAGS_SUFFIX_linux := -lpthread, \ + LDFLAGS_SUFFIX_solaris := -lnsl -lsocket -lc, \ + LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib, \ +@@ -249,10 +250,12 @@ + $(LIBINSTRUMENT_LDFLAGS), \ + LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \ + LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \ ++ LDFLAGS_bsd := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \ + LDFLAGS_macosx := -Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \ + -framework Cocoa -framework Security -framework ApplicationServices, \ + LDFLAGS_SUFFIX := $(LIBINSTRUMENT_LDFLAGS_SUFFIX), \ + LDFLAGS_SUFFIX_macosx := -liconv $(LIBZ), \ ++ LDFLAGS_SUFFIX_bsd := -liconv $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli, \ + LDFLAGS_SUFFIX_solaris := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc, \ + LDFLAGS_SUFFIX_linux := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL), \ + VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ +@@ -293,8 +296,12 @@ + BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c + endif + ++ifneq ($(OPENJDK_TARGET_OS), bsd) ++ BUILD_LIBMANAGEMENT_EXCLUDES += BsdOperatingSystem.c ++endif ++ + LIBMANAGEMENT_OPTIMIZATION := HIGH +-ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), ) ++ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux bsd), ) + ifeq ($(ENABLE_DEBUG_SYMBOLS), true) + LIBMANAGEMENT_OPTIMIZATION := LOW + endif +@@ -337,7 +344,7 @@ + BUILD_LIBHPROF_LDFLAGS := + + LIBHPROF_OPTIMIZATION := HIGHEST +-ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), ) ++ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux bsd), ) + ifeq ($(ENABLE_DEBUG_SYMBOLS), true) + LIBHPROF_OPTIMIZATION := LOW + endif +--- jdk/make/lib/SoundLibraries.gmk ++++ jdk/make/lib/SoundLibraries.gmk +@@ -71,6 +71,11 @@ + 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), macosx) + LIBJSOUND_LANG := C++ + LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \ +@@ -188,12 +193,14 @@ + CFLAGS := $(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \ + $(LIBJSOUND_CFLAGS) \ + -DUSE_DAUDIO=TRUE \ +- -DUSE_PORTS=TRUE \ +- -DUSE_PLATFORM_MIDI_OUT=TRUE \ ++ -DUSE_PORTS=TRUE, \ ++ CFLAGS_linux := -DUSE_PLATFORM_MIDI_OUT=TRUE \ + -DUSE_PLATFORM_MIDI_IN=TRUE, \ ++ CFLAGS_bsd := -I/usr/local/include, \ + MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjsoundalsa/mapfile-vers, \ + LDFLAGS := $(LDFLAGS_JDKLIB) \ + $(call SET_SHARED_LIBRARY_ORIGIN), \ ++ LDFLAGS_bsd := -L/usr/local/lib, \ + LDFLAGS_SUFFIX := $(ALSA_LIBS) -ljava -ljvm, \ + OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsoundalsa, \ + DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) +--- jdk/make/mapfiles/launchers/mapfile-x86 ++++ jdk/make/mapfiles/launchers/mapfile-x86 +@@ -33,6 +33,7 @@ + environ; # Public symbols and required by Java run time + _environ; + __environ_lock; ++ __progname; + ___Argv; # The following are private, but as they are + _start; # exported from ctr1/crtn, the clever hacker + _init; # might know about them. However note, that +--- jdk/make/mapfiles/launchers/mapfile-x86_64 ++++ jdk/make/mapfiles/launchers/mapfile-x86_64 +@@ -33,6 +33,7 @@ + environ; # Public symbols and required by Java run time + _environ; + __environ_lock; ++ __progname; + + local: + *; +--- jdk/make/mapfiles/libattach/mapfile-bsd ++++ jdk/make/mapfiles/libattach/mapfile-bsd +@@ -0,0 +1,42 @@ ++# ++# Copyright (c) 2005, 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_getTempDir; ++ Java_sun_tools_attach_BsdVirtualMachine_open; ++ Java_sun_tools_attach_BsdVirtualMachine_sendQuitTo; ++ Java_sun_tools_attach_BsdVirtualMachine_socket; ++ Java_sun_tools_attach_BsdVirtualMachine_read; ++ Java_sun_tools_attach_BsdVirtualMachine_write; ++ Java_sun_tools_attach_BsdVirtualMachine_createAttachFile; ++ local: ++ *; ++}; +--- jdk/make/mapfiles/libnio/mapfile-bsd ++++ jdk/make/mapfiles/libnio/mapfile-bsd +@@ -0,0 +1,189 @@ ++# ++# 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_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_IOUtil_configureBlocking; ++ Java_sun_nio_ch_IOUtil_drain; ++ Java_sun_nio_ch_IOUtil_fdLimit; ++ Java_sun_nio_ch_IOUtil_fdVal; ++ 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_InheritedChannel_close0; ++ Java_sun_nio_ch_InheritedChannel_dup2; ++ Java_sun_nio_ch_InheritedChannel_dup; ++ 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_KQueueArrayWrapper_init; ++ Java_sun_nio_ch_KQueueArrayWrapper_initStructSizes; ++ Java_sun_nio_ch_KQueueArrayWrapper_interrupt; ++ Java_sun_nio_ch_KQueueArrayWrapper_kevent0; ++ Java_sun_nio_ch_KQueueArrayWrapper_register0; ++ Java_sun_nio_ch_KQueuePort_close0; ++ Java_sun_nio_ch_KQueuePort_drain1; ++ Java_sun_nio_ch_KQueuePort_interrupt; ++ Java_sun_nio_ch_KQueuePort_socketpair; ++ Java_sun_nio_ch_KQueue_filterOffset; ++ Java_sun_nio_ch_KQueue_flagsOffset; ++ Java_sun_nio_ch_KQueue_identOffset; ++ Java_sun_nio_ch_KQueue_keventPoll; ++ Java_sun_nio_ch_KQueue_keventRegister; ++ Java_sun_nio_ch_KQueue_keventSize; ++ Java_sun_nio_ch_KQueue_kqueue; ++ Java_sun_nio_ch_NativeThread_current; ++ Java_sun_nio_ch_NativeThread_init; ++ Java_sun_nio_ch_NativeThread_signal; ++ Java_sun_nio_ch_Net_bind0; ++ Java_sun_nio_ch_Net_blockOrUnblock4; ++ Java_sun_nio_ch_Net_blockOrUnblock6; ++ Java_sun_nio_ch_Net_canIPv6SocketJoinIPv4Group0; ++ Java_sun_nio_ch_Net_canJoin6WithIPv4Group0; ++ Java_sun_nio_ch_Net_connect0; ++ Java_sun_nio_ch_Net_getIntOption0; ++ Java_sun_nio_ch_Net_getInterface4; ++ Java_sun_nio_ch_Net_getInterface6; ++ Java_sun_nio_ch_Net_initIDs; ++ Java_sun_nio_ch_Net_isExclusiveBindAvailable; ++ Java_sun_nio_ch_Net_isIPv6Available0; ++ Java_sun_nio_ch_Net_joinOrDrop4; ++ Java_sun_nio_ch_Net_joinOrDrop6; ++ Java_sun_nio_ch_Net_listen; ++ Java_sun_nio_ch_Net_localInetAddress; ++ Java_sun_nio_ch_Net_localPort; ++ Java_sun_nio_ch_Net_poll; ++ Java_sun_nio_ch_Net_setIntOption0; ++ Java_sun_nio_ch_Net_setInterface4; ++ Java_sun_nio_ch_Net_setInterface6; ++ Java_sun_nio_ch_Net_shutdown; ++ Java_sun_nio_ch_Net_socket0; ++ 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_BsdNativeDispatcher_endfsstat; ++ Java_sun_nio_fs_BsdNativeDispatcher_fsstatEntry; ++ Java_sun_nio_fs_BsdNativeDispatcher_getfsstat; ++ Java_sun_nio_fs_BsdNativeDispatcher_initIDs; ++ Java_sun_nio_fs_GnomeFileTypeDetector_initializeGio; ++ Java_sun_nio_fs_GnomeFileTypeDetector_initializeGnomeVfs; ++ Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGio; ++ Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGnomeVfs; ++ Java_sun_nio_fs_MagicFileTypeDetector_initialize0; ++ Java_sun_nio_fs_MagicFileTypeDetector_probe0; ++ Java_sun_nio_fs_UnixCopyFile_transfer; ++ Java_sun_nio_fs_UnixNativeDispatcher_access0; ++ Java_sun_nio_fs_UnixNativeDispatcher_chmod0; ++ Java_sun_nio_fs_UnixNativeDispatcher_chown0; ++ Java_sun_nio_fs_UnixNativeDispatcher_close; ++ Java_sun_nio_fs_UnixNativeDispatcher_closedir; ++ Java_sun_nio_fs_UnixNativeDispatcher_dup; ++ Java_sun_nio_fs_UnixNativeDispatcher_fchmod; ++ Java_sun_nio_fs_UnixNativeDispatcher_fchown; ++ Java_sun_nio_fs_UnixNativeDispatcher_fclose; ++ Java_sun_nio_fs_UnixNativeDispatcher_fdopendir; ++ Java_sun_nio_fs_UnixNativeDispatcher_fopen0; ++ Java_sun_nio_fs_UnixNativeDispatcher_fpathconf; ++ Java_sun_nio_fs_UnixNativeDispatcher_fstat; ++ Java_sun_nio_fs_UnixNativeDispatcher_fstatat0; ++ Java_sun_nio_fs_UnixNativeDispatcher_futimes; ++ Java_sun_nio_fs_UnixNativeDispatcher_getcwd; ++ Java_sun_nio_fs_UnixNativeDispatcher_getgrgid; ++ Java_sun_nio_fs_UnixNativeDispatcher_getgrnam0; ++ Java_sun_nio_fs_UnixNativeDispatcher_getpwnam0; ++ Java_sun_nio_fs_UnixNativeDispatcher_getpwuid; ++ Java_sun_nio_fs_UnixNativeDispatcher_init; ++ Java_sun_nio_fs_UnixNativeDispatcher_lchown0; ++ Java_sun_nio_fs_UnixNativeDispatcher_link0; ++ Java_sun_nio_fs_UnixNativeDispatcher_lstat0; ++ Java_sun_nio_fs_UnixNativeDispatcher_mkdir0; ++ Java_sun_nio_fs_UnixNativeDispatcher_mknod0; ++ Java_sun_nio_fs_UnixNativeDispatcher_open0; ++ Java_sun_nio_fs_UnixNativeDispatcher_openat0; ++ Java_sun_nio_fs_UnixNativeDispatcher_opendir0; ++ Java_sun_nio_fs_UnixNativeDispatcher_pathconf0; ++ Java_sun_nio_fs_UnixNativeDispatcher_read; ++ Java_sun_nio_fs_UnixNativeDispatcher_readdir; ++ Java_sun_nio_fs_UnixNativeDispatcher_readlink0; ++ Java_sun_nio_fs_UnixNativeDispatcher_realpath0; ++ Java_sun_nio_fs_UnixNativeDispatcher_rename0; ++ Java_sun_nio_fs_UnixNativeDispatcher_renameat0; ++ Java_sun_nio_fs_UnixNativeDispatcher_rmdir0; ++ Java_sun_nio_fs_UnixNativeDispatcher_stat0; ++ Java_sun_nio_fs_UnixNativeDispatcher_statvfs0; ++ Java_sun_nio_fs_UnixNativeDispatcher_strerror; ++ Java_sun_nio_fs_UnixNativeDispatcher_symlink0; ++ Java_sun_nio_fs_UnixNativeDispatcher_unlink0; ++ Java_sun_nio_fs_UnixNativeDispatcher_unlinkat0; ++ Java_sun_nio_fs_UnixNativeDispatcher_utimes0; ++ Java_sun_nio_fs_UnixNativeDispatcher_write; ++ handleSocketError; ++ ++ local: ++ *; ++}; +--- jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 ++++ jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 +@@ -26,6 +26,9 @@ + # Define library interface. + + SUNWprivate_1.1 { ++ global: ++ environ; ++ __progname; + local: + *; + }; +--- jdk/make/netbeans/common/bsd-sources.ent ++++ jdk/make/netbeans/common/bsd-sources.ent +@@ -0,0 +1,45 @@ ++<?xml version="1.0" encoding="UTF-8"?> ++ ++<!-- ++ Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ ++ - Neither the name of Oracle nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS ++ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ++ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR ++ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ++ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ++ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ++ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ++ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ++ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ++ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++--> ++ ++<source-folder> ++ <label>Sources for BSD Platform</label> ++ <type>java</type> ++ <location>${root}/src/bsd/classes</location> ++ <includes>${includes}</includes> ++ <excludes>${excludes}</excludes> ++ <encoding>US-ASCII</encoding> ++</source-folder> ++<source-folder> ++ <label>Sources for BSD Platform</label> ++ <location>${root}/src/bsd/classes</location> ++</source-folder> +--- jdk/make/netbeans/common/bsd-view.ent ++++ jdk/make/netbeans/common/bsd-view.ent +@@ -0,0 +1,39 @@ ++<?xml version="1.0" encoding="UTF-8"?> ++ ++<!-- ++ Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ ++ - Neither the name of Oracle nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS ++ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ++ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR ++ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ++ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ++ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ++ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ++ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ++ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ++ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++--> ++ ++<source-folder style="tree"> ++ <label>Sources for BSD Platform</label> ++ <location>${root}/src/bsd/classes</location> ++ <includes>${includes}</includes> ++ <excludes>${excludes}</excludes> ++</source-folder> +--- jdk/make/netbeans/j2se/nbproject/project.xml ++++ jdk/make/netbeans/j2se/nbproject/project.xml +@@ -34,6 +34,7 @@ + <!DOCTYPE project [ + <!ENTITY properties SYSTEM "../../common/properties.ent"> + <!ENTITY share-sources SYSTEM "../../common/share-sources.ent"> ++ <!ENTITY bsd-sources SYSTEM "../../common/bsd-sources.ent"> + <!ENTITY macosx-sources SYSTEM "../../common/macosx-sources.ent"> + <!ENTITY unix-sources SYSTEM "../../common/unix-sources.ent"> + <!ENTITY windows-sources SYSTEM "../../common/windows-sources.ent"> +@@ -41,6 +42,7 @@ + <!ENTITY build-folder SYSTEM "../../common/build-folder.ent"> + <!ENTITY standard-bindings SYSTEM "../../common/standard-bindings.ent"> + <!ENTITY share-view SYSTEM "../../common/share-view.ent"> ++ <!ENTITY bsd-view SYSTEM "../../common/bsd-view.ent"> + <!ENTITY macosx-view SYSTEM "../../common/macosx-view.ent"> + <!ENTITY unix-view SYSTEM "../../common/unix-view.ent"> + <!ENTITY windows-view SYSTEM "../../common/windows-view.ent"> +@@ -60,6 +62,7 @@ + </properties> + <folders> + &share-sources; ++ &bsd-sources; + &macosx-sources; + &unix-sources; + &windows-sources; +@@ -86,6 +89,7 @@ + <view> + <items> + &share-view; ++ &bsd-view; + &macosx-view; + &unix-view; + &windows-view; +--- jdk/make/netbeans/common/java-data-native.ent ++++ jdk/make/netbeans/common/java-data-native.ent +@@ -34,6 +34,7 @@ + <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/4"> + <compilation-unit> + <package-root>${root}/src/share/classes</package-root> ++ <package-root>${root}/src/bsd/classes</package-root> + <package-root>${root}/src/macosx/classes</package-root> + <package-root>${root}/src/solaris/classes</package-root> + <package-root>${root}/src/windows/classes</package-root> +--- jdk/make/netbeans/common/make.xml ++++ jdk/make/netbeans/common/make.xml +@@ -32,16 +32,21 @@ + --> + + <project name="make" basedir=".."> +- +- <target name="-make.init" depends="-init,-pre-init.linux,-pre-init.macosx,-pre-init.solaris,-pre-init.windows,-pre-init.macosx"> ++ ++ <target name="-make.init" depends="-init,-pre-init.linux,-pre-init.bsd,-pre-init.macosx,-pre-init.solaris,-pre-init.windows"> + <property name="make.options" value=""/> <!-- default, can be overridden per user or per project --> + </target> +- ++ + <target name="-pre-init.linux" if="os.linux"> + <property name="platform" value="linux"/> + <property name="make" value="make"/> + </target> + ++ <target name="-pre-init.bsd" if="os.bsd"> ++ <property name="platform" value="bsd"/> ++ <property name="make" value="gmake"/> ++ </target> ++ + <target name="-pre-init.macosx" if="os.macosx"> + <property name="platform" value="macosx"/> + <property name="make" value="make"/> +@@ -56,7 +61,7 @@ + <property name="platform" value="windows"/> + <property name="make" value="c:/cygwin/bin/make"/> + </target> +- ++ + <macrodef name="make-run"> + <attribute name="target"/> + <attribute name="dir"/> +--- jdk/make/netbeans/world/nbproject/project.xml ++++ jdk/make/netbeans/world/nbproject/project.xml +@@ -34,12 +34,14 @@ + <!DOCTYPE project [ + <!ENTITY properties SYSTEM "../../common/properties.ent"> + <!ENTITY share-sources SYSTEM "../../common/share-sources.ent"> ++ <!ENTITY bsd-sources SYSTEM "../../common/bsd-sources.ent"> + <!ENTITY macosx-sources SYSTEM "../../common/macosx-sources.ent"> + <!ENTITY unix-sources SYSTEM "../../common/unix-sources.ent"> + <!ENTITY windows-sources SYSTEM "../../common/windows-sources.ent"> + <!ENTITY build-folder SYSTEM "../../common/build-folder.ent"> + <!ENTITY standard-bindings SYSTEM "../../common/standard-bindings.ent"> + <!ENTITY share-view SYSTEM "../../common/share-view.ent"> ++ <!ENTITY bsd-view SYSTEM "../../common/bsd-view.ent"> + <!ENTITY macosx-view SYSTEM "../../common/macosx-view.ent"> + <!ENTITY unix-view SYSTEM "../../common/unix-view.ent"> + <!ENTITY windows-view SYSTEM "../../common/windows-view.ent"> +@@ -58,6 +60,7 @@ + </properties> + <folders> + &share-sources; ++ &bsd-sources; + &macosx-sources; + &unix-sources; + &windows-sources; +@@ -69,6 +72,7 @@ + <view> + <items> + &share-view; ++ &bsd-view; + &macosx-view; + &unix-view; + &windows-view; +--- jdk/src/share/bin/jli_util.h ++++ jdk/src/share/bin/jli_util.h +@@ -82,7 +82,7 @@ + #define _LARGFILE64_SOURCE + #define JLI_Lseek lseek64 + #endif +-#ifdef MACOSX ++#ifdef _ALLBSD_SOURCE + #define JLI_Lseek lseek + #endif + #endif /* _WIN32 */ +--- jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java ++++ jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java +@@ -1298,7 +1298,7 @@ + String osName = AccessController.doPrivileged( + new GetPropertyAction("os.name")); + if ("SunOS".equals(osName) || "Linux".equals(osName) +- || osName.contains("OS X")) { ++ || osName.endsWith("BSD") || osName.contains("OS X")) { + charset("x-COMPOUND_TEXT", "COMPOUND_TEXT", + new String[] { + "COMPOUND_TEXT", // JDK historical +--- jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider ++++ jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider +@@ -31,3 +31,4 @@ + #[windows]sun.tools.attach.WindowsAttachProvider + #[linux]sun.tools.attach.LinuxAttachProvider + #[macosx]sun.tools.attach.BsdAttachProvider ++#[bsd]sun.tools.attach.BsdAttachProvider +--- jdk/src/share/lib/security/java.security-bsd ++++ jdk/src/share/lib/security/java.security-bsd +@@ -0,0 +1,498 @@ ++# ++# 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=<URL> ++# ++# 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==<URL> (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.<n>=<className> ++# ++# 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. ++# ++# <className> 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 ++ ++# ++# 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. ++ ++ ++# ++# 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. ++ ++ ++# ++# 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 cipher ++# suites selection, peer authentication and key exchange mechanisms. ++# ++# 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, SHA1, DSA, RSA keySize < 2048 +--- jdk/src/share/native/sun/awt/medialib/mlib_sys.c ++++ jdk/src/share/native/sun/awt/medialib/mlib_sys.c +@@ -26,7 +26,7 @@ + + #include <stdlib.h> + #include <string.h> +-#ifdef MACOSX ++#ifdef _ALLBSD_SOURCE + #include <unistd.h> + #include <sys/param.h> + #else +@@ -92,7 +92,7 @@ + * alignment. -- from stdlib.h of MS VC++5.0. + */ + return (void *) malloc(size); +-#elif defined(MACOSX) ++#elif defined(_ALLBSD_SOURCE) + return valloc(size); + #else + return (void *) memalign(8, size); +--- jdk/src/share/native/sun/management/DiagnosticCommandImpl.c ++++ jdk/src/share/native/sun/management/DiagnosticCommandImpl.c +@@ -26,6 +26,7 @@ + #include <jni.h> + #include "management.h" + #include "sun_management_DiagnosticCommandImpl.h" ++#include <stdlib.h> + + JNIEXPORT void JNICALL Java_sun_management_DiagnosticCommandImpl_setNotificationEnabled + (JNIEnv *env, jobject dummy, jboolean enabled) { +--- jdk/src/solaris/bin/ergo_i586.c ++++ jdk/src/solaris/bin/ergo_i586.c +@@ -106,7 +106,7 @@ + + #endif /* __solaris__ */ + +-#ifdef __linux__ ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) + + /* + * A utility method for asking the CPU about itself. +--- jdk/src/solaris/bin/java_md_solinux.c ++++ jdk/src/solaris/bin/java_md_solinux.c +@@ -928,9 +928,13 @@ + } + } + } +-#elif defined(__linux__) ++#elif defined(__linux__) || defined(__FreeBSD__) + { ++#if defined(__FreeBSD__) ++ const char* self = "/proc/curproc/file"; ++#else + const char* self = "/proc/self/exe"; ++#endif + char buf[PATH_MAX+1]; + int len = readlink(self, buf, PATH_MAX); + if (len >= 0) { +@@ -938,7 +942,7 @@ + exec_path = JLI_StringDup(buf); + } + } +-#else /* !__solaris__ && !__linux__ */ ++#else /* !__solaris__ && !__linux__ && !__FreeBSD__ */ + { + /* Not implemented */ + } +@@ -1000,7 +1004,7 @@ + int + ContinueInNewThread0(int (JNICALL *continuation)(void *), jlong stack_size, void * args) { + int rslt; +-#ifdef __linux__ ++#ifndef __solaris__ + pthread_t tid; + pthread_attr_t attr; + pthread_attr_init(&attr); +@@ -1025,7 +1029,7 @@ + } + + pthread_attr_destroy(&attr); +-#else /* ! __linux__ */ ++#else /* __solaris__ */ + thread_t tid; + long flags = 0; + if (thr_create(NULL, stack_size, (void *(*)(void *))continuation, args, flags, &tid) == 0) { +--- jdk/src/solaris/bin/java_md_solinux.h ++++ jdk/src/solaris/bin/java_md_solinux.h +@@ -54,10 +54,10 @@ + #endif + + #include <dlfcn.h> +-#ifdef __linux__ +-#include <pthread.h> +-#else ++#ifdef __solaris__ + #include <thread.h> ++#else ++#include <pthread.h> + #endif + + #define JVM_DLL "libjvm.so" +--- jdk/src/solaris/classes/sun/net/PortConfig.java ++++ jdk/src/solaris/classes/sun/net/PortConfig.java +@@ -52,7 +52,7 @@ + } else if (os.startsWith("SunOS")) { + defaultLower = 32768; + defaultUpper = 65535; +- } else if (os.contains("OS X")) { ++ } else if (os.endsWith("BSD") || os.contains("OS X")) { + defaultLower = 49152; + defaultUpper = 65535; + } else { +--- jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java ++++ jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java +@@ -66,7 +66,7 @@ + return createProvider("sun.nio.ch.SolarisAsynchronousChannelProvider"); + if (osname.equals("Linux")) + return createProvider("sun.nio.ch.LinuxAsynchronousChannelProvider"); +- if (osname.contains("OS X")) ++ if (osname.endsWith("BSD") || osname.contains("OS X")) + return createProvider("sun.nio.ch.BsdAsynchronousChannelProvider"); + throw new InternalError("platform not recognized"); + } +--- jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java ++++ jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java +@@ -25,10 +25,14 @@ + + package sun.nio.fs; + ++import java.nio.file.*; ++import java.nio.file.spi.FileTypeDetector; + import java.io.IOException; ++import java.security.AccessController; ++import sun.security.action.GetPropertyAction; + + /** +- * Bsd implementation of FileSystemProvider ++ * BSD implementation of FileSystemProvider + */ + + public class BsdFileSystemProvider extends UnixFileSystemProvider { +@@ -45,4 +49,16 @@ + BsdFileStore getFileStore(UnixPath path) throws IOException { + return new BsdFileStore(path); + } ++ ++ @Override ++ FileTypeDetector getFileTypeDetector() { ++ Path userMimeTypes = Paths.get(AccessController.doPrivileged( ++ new GetPropertyAction("user.home")), ".mime.types"); ++ Path etcMimeTypes = Paths.get("/etc/mime.types"); ++ ++ return chain(new GnomeFileTypeDetector(), ++ new MimeTypesFileTypeDetector(userMimeTypes), ++ new MimeTypesFileTypeDetector(etcMimeTypes), ++ new MagicFileTypeDetector()); ++ } + } +--- jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java ++++ jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java +@@ -61,6 +61,8 @@ + return createProvider("sun.nio.fs.SolarisFileSystemProvider"); + if (osname.equals("Linux")) + return createProvider("sun.nio.fs.LinuxFileSystemProvider"); ++ if (osname.endsWith("BSD")) ++ return createProvider("sun.nio.fs.BsdFileSystemProvider"); + if (osname.contains("OS X")) + return createProvider("sun.nio.fs.MacOSXFileSystemProvider"); + throw new AssertionError("Platform not recognized"); +--- jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java ++++ jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java +@@ -266,7 +266,7 @@ + try { + b = s.getBytes("UTF-8"); + } catch (java.io.UnsupportedEncodingException x) { +- throw new InternalError(); ++ throw new InternalError(x); + } + BsdVirtualMachine.write(fd, b, 0, b.length); + } +--- jdk/src/solaris/native/common/jni_util_md.c ++++ jdk/src/solaris/native/common/jni_util_md.c +@@ -28,6 +28,7 @@ + #include "jni.h" + #include "jni_util.h" + #include "dlfcn.h" ++#include <string.h> + + jstring nativeNewStringPlatform(JNIEnv *env, const char *str) { + return NULL; +--- jdk/src/solaris/native/java/net/Inet4AddressImpl.c ++++ jdk/src/solaris/native/java/net/Inet4AddressImpl.c +@@ -36,20 +36,13 @@ + #include <stdlib.h> + #include <ctype.h> + +-#ifdef _ALLBSD_SOURCE +-#include <unistd.h> +-#include <sys/param.h> +-#endif +- + #include "jvm.h" + #include "jni_util.h" + #include "net_util.h" + + #include "java_net_Inet4AddressImpl.h" + +-#if defined(__GLIBC__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104)) +-#define HAS_GLIBC_GETHOSTBY_R 1 +-#endif ++extern jobjectArray lookupIfLocalhost(JNIEnv *env, const char *hostname, jboolean includeV6); + + static jclass ni_iacls; + static jclass ni_ia4cls; +@@ -74,268 +67,6 @@ + return JNI_TRUE; + } + +- +-#if defined(_ALLBSD_SOURCE) && !defined(HAS_GLIBC_GETHOSTBY_R) +-extern jobjectArray lookupIfLocalhost(JNIEnv *env, const char *hostname, jboolean includeV6); +- +-/* Use getaddrinfo(3), which is thread safe */ +-/************************************************************************ +- * Inet4AddressImpl +- */ +- +-/* +- * Class: java_net_Inet4AddressImpl +- * Method: getLocalHostName +- * Signature: ()Ljava/lang/String; +- */ +-JNIEXPORT jstring JNICALL +-Java_java_net_Inet4AddressImpl_getLocalHostName(JNIEnv *env, jobject this) { +- char hostname[NI_MAXHOST+1]; +- +- hostname[0] = '\0'; +- if (JVM_GetHostName(hostname, NI_MAXHOST)) { +- /* Something went wrong, maybe networking is not setup? */ +- strcpy(hostname, "localhost"); +- } else { +- struct addrinfo hints, *res; +- int error; +- +- memset(&hints, 0, sizeof(hints)); +- hints.ai_flags = AI_CANONNAME; +- hints.ai_family = AF_UNSPEC; +- +- error = getaddrinfo(hostname, NULL, &hints, &res); +- +- if (error == 0) { +- /* host is known to name service */ +- error = getnameinfo(res->ai_addr, +- res->ai_addrlen, +- hostname, +- NI_MAXHOST, +- NULL, +- 0, +- NI_NAMEREQD); +- +- /* if getnameinfo fails hostname is still the value +- from gethostname */ +- +- freeaddrinfo(res); +- } +- } +- return (*env)->NewStringUTF(env, hostname); +-} +- +-/* +- * Find an internet address for a given hostname. Note that this +- * code only works for addresses of type INET. The translation +- * of %d.%d.%d.%d to an address (int) occurs in java now, so the +- * String "host" shouldn't *ever* be a %d.%d.%d.%d string +- * +- * Class: java_net_Inet4AddressImpl +- * Method: lookupAllHostAddr +- * Signature: (Ljava/lang/String;)[[B +- */ +- +-JNIEXPORT jobjectArray JNICALL +-Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this, +- jstring host) { +- const char *hostname; +- jobject name; +- jobjectArray ret = 0; +- int retLen = 0; +- +- int error=0; +- struct addrinfo hints, *res, *resNew = NULL; +- +- if (!initializeInetClasses(env)) +- return NULL; +- +- if (IS_NULL(host)) { +- JNU_ThrowNullPointerException(env, "host is null"); +- return 0; +- } +- hostname = JNU_GetStringPlatformChars(env, host, JNI_FALSE); +- CHECK_NULL_RETURN(hostname, NULL); +- +- memset(&hints, 0, sizeof(hints)); +- hints.ai_flags = AI_CANONNAME; +- hints.ai_family = AF_INET; +- +- /* +- * Workaround for Solaris bug 4160367 - if a hostname contains a +- * white space then 0.0.0.0 is returned +- */ +- if (isspace((unsigned char)hostname[0])) { +- JNU_ThrowByName(env, JNU_JAVANETPKG "UnknownHostException", +- (char *)hostname); +- JNU_ReleaseStringPlatformChars(env, host, hostname); +- return NULL; +- } +- +-#ifdef MACOSX +- /* If we're looking up the local machine, bypass DNS lookups and get +- * address from getifaddrs. +- */ +- ret = lookupIfLocalhost(env, hostname, JNI_FALSE); +- if (ret != NULL || (*env)->ExceptionCheck(env)) { +- JNU_ReleaseStringPlatformChars(env, host, hostname); +- return ret; +- } +-#endif +- +- error = getaddrinfo(hostname, NULL, &hints, &res); +- +- if (error) { +- /* report error */ +- ThrowUnknownHostExceptionWithGaiError(env, hostname, error); +- JNU_ReleaseStringPlatformChars(env, host, hostname); +- return NULL; +- } else { +- int i = 0; +- struct addrinfo *itr, *last = NULL, *iterator = res; +- while (iterator != NULL) { +- int skip = 0; +- itr = resNew; +- +- while (itr != NULL) { +- struct sockaddr_in *addr1, *addr2; +- +- addr1 = (struct sockaddr_in *)iterator->ai_addr; +- addr2 = (struct sockaddr_in *)itr->ai_addr; +- if (addr1->sin_addr.s_addr == +- addr2->sin_addr.s_addr) { +- skip = 1; +- break; +- } +- +- itr = itr->ai_next; +- } +- +- if (!skip) { +- struct addrinfo *next +- = (struct addrinfo*) malloc(sizeof(struct addrinfo)); +- if (!next) { +- JNU_ThrowOutOfMemoryError(env, "Native heap allocation failed"); +- ret = NULL; +- goto cleanupAndReturn; +- } +- memcpy(next, iterator, sizeof(struct addrinfo)); +- next->ai_next = NULL; +- if (resNew == NULL) { +- resNew = next; +- } else { +- last->ai_next = next; +- } +- last = next; +- i++; +- } +- iterator = iterator->ai_next; +- } +- +- retLen = i; +- iterator = resNew; +- i = 0; +- +- name = (*env)->NewStringUTF(env, hostname); +- if (IS_NULL(name)) { +- goto cleanupAndReturn; +- } +- +- ret = (*env)->NewObjectArray(env, retLen, ni_iacls, NULL); +- if (IS_NULL(ret)) { +- /* we may have memory to free at the end of this */ +- goto cleanupAndReturn; +- } +- +- while (iterator != NULL) { +- /* We need 4 bytes to store ipv4 address; */ +- int len = 4; +- +- jobject iaObj = (*env)->NewObject(env, ni_ia4cls, ni_ia4ctrID); +- if (IS_NULL(iaObj)) { +- /* we may have memory to free at the end of this */ +- ret = NULL; +- goto cleanupAndReturn; +- } +- setInetAddress_addr(env, iaObj, ntohl(((struct sockaddr_in*)(iterator->ai_addr))->sin_addr.s_addr)); +- setInetAddress_hostName(env, iaObj, name); +- (*env)->SetObjectArrayElement(env, ret, retLen - i -1, iaObj); +- i++; +- iterator = iterator->ai_next; +- } +- } +- +-cleanupAndReturn: +- { +- struct addrinfo *iterator, *tmp; +- iterator = resNew; +- while (iterator != NULL) { +- tmp = iterator; +- iterator = iterator->ai_next; +- free(tmp); +- } +- JNU_ReleaseStringPlatformChars(env, host, hostname); +- } +- +- freeaddrinfo(res); +- +- return ret; +- +-} +- +-/* +- * Class: java_net_Inet4AddressImpl +- * Method: getHostByAddr +- * Signature: (I)Ljava/lang/String; +- */ +-JNIEXPORT jstring JNICALL +-Java_java_net_Inet4AddressImpl_getHostByAddr(JNIEnv *env, jobject this, +- jbyteArray addrArray) { +- jstring ret = NULL; +- +- char host[NI_MAXHOST+1]; +- jfieldID fid; +- int error = 0; +- jint family; +- struct sockaddr *him ; +- int len = 0; +- jbyte caddr[4]; +- jint addr; +- +- struct sockaddr_in him4; +- struct sockaddr *sa; +- +- /* +- * For IPv4 addresses construct a sockaddr_in structure. +- */ +- (*env)->GetByteArrayRegion(env, addrArray, 0, 4, caddr); +- addr = ((caddr[0]<<24) & 0xff000000); +- addr |= ((caddr[1] <<16) & 0xff0000); +- addr |= ((caddr[2] <<8) & 0xff00); +- addr |= (caddr[3] & 0xff); +- memset((char *) &him4, 0, sizeof(him4)); +- him4.sin_addr.s_addr = (uint32_t) htonl(addr); +- him4.sin_family = AF_INET; +- sa = (struct sockaddr *) &him4; +- len = sizeof(him4); +- +- error = getnameinfo(sa, len, host, NI_MAXHOST, NULL, 0, +- NI_NAMEREQD); +- +- if (!error) { +- ret = (*env)->NewStringUTF(env, host); +- } +- +- if (ret == NULL) { +- JNU_ThrowByName(env, JNU_JAVANETPKG "UnknownHostException", NULL); +- } +- +- return ret; +- +-} +- +-#else /* defined(_ALLBSD_SOURCE) && !defined(HAS_GLIBC_GETHOSTBY_R) */ +- + /* the initial size of our hostent buffers */ + #ifndef NI_MAXHOST + #define NI_MAXHOST 1025 +@@ -435,6 +166,17 @@ + } + #endif + ++#ifdef _ALLBSD_SOURCE ++ /* If we're looking up the local machine, bypass DNS lookups and get ++ * address from getifaddrs. ++ */ ++ ret = lookupIfLocalhost(env, hostname, JNI_FALSE); ++ if (ret != NULL || (*env)->ExceptionCheck(env)) { ++ JNU_ReleaseStringPlatformChars(env, host, hostname); ++ return ret; ++ } ++#endif ++ + error = getaddrinfo(hostname, NULL, &hints, &res); + + if (error) { +@@ -568,8 +310,6 @@ + return ret; + } + +-#endif /* _ALLBSD_SOURCE */ +- + #define SET_NONBLOCKING(fd) { \ + int flags = fcntl(fd, F_GETFL); \ + flags |= O_NONBLOCK; \ +--- jdk/src/solaris/native/java/net/Inet6AddressImpl.c ++++ jdk/src/solaris/native/java/net/Inet6AddressImpl.c +@@ -33,7 +33,7 @@ + #include <strings.h> + #include <stdlib.h> + #include <ctype.h> +-#ifdef MACOSX ++#ifdef _ALLBSD_SOURCE + #include <ifaddrs.h> + #include <net/if.h> + #include <unistd.h> /* gethostname */ +@@ -155,9 +155,9 @@ + return JNI_TRUE; + } + +-#ifdef MACOSX ++#ifdef _ALLBSD_SOURCE + /* also called from Inet4AddressImpl.c */ +-__private_extern__ jobjectArray ++jobjectArray + lookupIfLocalhost(JNIEnv *env, const char *hostname, jboolean includeV6) + { + jobjectArray result = NULL; +@@ -307,7 +307,7 @@ + hostname = JNU_GetStringPlatformChars(env, host, JNI_FALSE); + CHECK_NULL_RETURN(hostname, NULL); + +-#ifdef MACOSX ++#ifdef _ALLBSD_SOURCE + /* + * If we're looking up the local machine, attempt to get the address + * from getifaddrs. This ensures we get an IPv6 address for the local +--- jdk/src/solaris/native/java/net/NetworkInterface.c ++++ jdk/src/solaris/native/java/net/NetworkInterface.c +@@ -60,14 +60,18 @@ + #include <sys/param.h> + #include <sys/ioctl.h> + #include <sys/sockio.h> +-#if defined(__APPLE__) ++#if defined(__APPLE__) || defined(__FreeBSD__) + #include <net/ethernet.h> + #include <net/if_var.h> ++#elif defined(__OpenBSD__) ++#include <netinet/if_ether.h> ++#elif defined(__NetBSD__) ++#include <net/if_ether.h> ++#endif + #include <net/if_dl.h> + #include <netinet/in_var.h> + #include <ifaddrs.h> + #endif +-#endif + + #include "jvm.h" + #include "jni_util.h" +--- jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c ++++ jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c +@@ -2176,7 +2176,7 @@ + } + } + #endif +-#ifdef MACOSX ++#ifdef _ALLBSD_SOURCE + if (family == AF_INET6 && index == 0) { + index = getDefaultScopeID(env); + } +--- jdk/src/solaris/native/java/net/net_util_md.c ++++ jdk/src/solaris/native/java/net/net_util_md.c +@@ -87,7 +87,7 @@ + + void setDefaultScopeID(JNIEnv *env, struct sockaddr *him) + { +-#ifdef MACOSX ++#ifdef _ALLBSD_SOURCE + static jclass ni_class = NULL; + static jfieldID ni_defaultIndexID; + if (ni_class == NULL) { +--- jdk/src/solaris/native/java/util/TimeZone_md.c ++++ jdk/src/solaris/native/java/util/TimeZone_md.c +@@ -123,7 +123,7 @@ + return NULL; + } + +-#if defined(__linux__) || defined(MACOSX) || (defined(__solaris__) \ ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) || (defined(__solaris__) \ + && (defined(_POSIX_PTHREAD_SEMANTICS) || defined(_LP64))) + while (readdir_r(dirp, entry, &dp) == 0 && dp != NULL) { + #else +@@ -211,7 +211,7 @@ + return tz; + } + +-#if defined(__linux__) || defined(MACOSX) ++#if defined(__linux__) || defined(_ALLBSD_SOURCE) + + /* + * Performs Linux specific mapping and returns a zone ID +@@ -677,7 +677,7 @@ + * Returns a GMT-offset-based zone ID. (e.g., "GMT-08:00") + */ + +-#ifdef MACOSX ++#ifdef _ALLBSD_SOURCE + + char * + getGMTOffsetID() +@@ -693,10 +693,10 @@ + local_tm = localtime(&clock); + if (local_tm->tm_gmtoff >= 0) { + offset = (time_t) local_tm->tm_gmtoff; +- sign = "+"; ++ sign = '+'; + } else { + offset = (time_t) -local_tm->tm_gmtoff; +- sign = "-"; ++ sign = '-'; + } + sprintf(buf, (const char *)"GMT%c%02d:%02d", + sign, (int)(offset/3600), (int)((offset%3600)/60)); +--- jdk/src/solaris/native/sun/management/OperatingSystemImpl.c ++++ jdk/src/solaris/native/sun/management/OperatingSystemImpl.c +@@ -342,7 +342,13 @@ + 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"); +--- jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h ++++ jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h +@@ -67,7 +67,7 @@ + + + +-#else /* __linux__ */ ++#elif defined(__linux__) + #include <stdint.h> + #include <linux/types.h> + #include <sys/socket.h> +@@ -319,9 +319,20 @@ + 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); + ++#elif defined(__FreeBSD__) ++ ++#include <stdint.h> ++#include <sys/types.h> ++#include <sys/socket.h> ++#include <netinet/sctp.h> ++#include <netinet/sctp_peeloff.h> ++#include <netinet/sctp_uio.h> ++#include "jni.h" + + #endif /* __linux__ */ + ++#ifndef __FreeBSD__ ++ + sctp_getladdrs_func* nio_sctp_getladdrs; + sctp_freeladdrs_func* nio_sctp_freeladdrs; + sctp_getpaddrs_func* nio_sctp_getpaddrs; +@@ -329,6 +340,17 @@ + sctp_bindx_func* nio_sctp_bindx; + sctp_peeloff_func* nio_sctp_peeloff; + ++#else ++ ++#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 ++ ++#endif ++ + jboolean loadSocketExtensionFuncs(JNIEnv* env); + + #endif /* !SUN_NIO_CH_SCTP_H */ +--- jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c ++++ jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c +@@ -58,6 +58,7 @@ + */ + jboolean loadSocketExtensionFuncs + (JNIEnv* env) { ++#ifndef __FreeBSD__ + if (dlopen(nativeSctpLib, RTLD_GLOBAL | RTLD_LAZY) == NULL) { + JNU_ThrowByName(env, "java/lang/UnsupportedOperationException", + dlerror()); +@@ -105,6 +106,7 @@ + dlerror()); + return JNI_FALSE; + } ++#endif + + funcsLoaded = JNI_TRUE; + return JNI_TRUE; +--- jdk/src/solaris/native/sun/nio/fs/MagicFileTypeDetector.c ++++ jdk/src/solaris/native/sun/nio/fs/MagicFileTypeDetector.c +@@ -31,6 +31,12 @@ + #include <dlfcn.h> + #include <string.h> + ++#ifdef __FreeBSD__ ++#define MAGIC_MAJOR_VERSION "4" ++#else ++#define MAGIC_MAJOR_VERSION "1" ++#endif ++ + #define MAGIC_MIME_TYPE 0x000010 /* Return the MIME type */ + + typedef struct magic_set magic_t; +@@ -54,7 +60,7 @@ + { + magic_handle = dlopen("libmagic.so", RTLD_LAZY); + if (magic_handle == NULL) { +- magic_handle = dlopen("libmagic.so.1", RTLD_LAZY); ++ magic_handle = dlopen("libmagic.so." MAGIC_MAJOR_VERSION, RTLD_LAZY); + if (magic_handle == NULL) { + return JNI_FALSE; + } +--- jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c ++++ jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c +@@ -37,7 +37,9 @@ + #include <sys/types.h> + #include <sys/socket.h> + #include <sys/stat.h> ++#ifndef __FreeBSD__ + #include <sys/syslimits.h> ++#endif + #include <sys/un.h> + #include <fcntl.h> + +--- make/Main.gmk ++++ make/Main.gmk +@@ -58,7 +58,11 @@ + + # Setup number of jobs to use. -jN is unfortunately not available for us to parse from the command line, + # hence this workaround. ++ifdef JOBS ++ifneq ($(JOBS),0) + MAKE_ARGS:=$(MAKE_ARGS) -j$(JOBS) ++endif ++endif + + ### Main targets + +--- make/common/MakeBase.gmk ++++ make/common/MakeBase.gmk +@@ -365,8 +365,8 @@ + + # This is to be called by all SetupFoo macros + define LogSetupMacroEntry +- $(if $(27),$(error Internal makefile error: Too many arguments to LogSetupMacroEntry, please update MakeBase.gmk)) +- $(if $(findstring $(LOG_LEVEL),debug trace), $(info $1 $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26,$(if $($i),$(NEWLINE) $(strip [$i] $($i)))))) ++ $(if $(30),$(error Internal makefile error: Too many arguments to LogSetupMacroEntry, please update MakeBase.gmk)) ++ $(if $(findstring $(LOG_LEVEL),debug trace), $(info $1 $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29,$(if $($i),$(NEWLINE) $(strip [$i] $($i)))))) + endef + + # Make directory without forking mkdir if not needed +--- make/common/NativeCompilation.gmk ++++ make/common/NativeCompilation.gmk +@@ -151,9 +151,9 @@ + # CC the compiler to use, default is $(CC) + # LDEXE the linker to use for linking executables, default is $(LDEXE) + # OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST +- $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26, $(if $($i),$1_$(strip $($i)))$(NEWLINE)) +- $(call LogSetupMacroEntry,SetupNativeCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15),$(16),$(17),$(18),$(19),$(20),$(21),$(22),$(23),$(24),$(25),$(26)) +- $(if $(27),$(error Internal makefile error: Too many arguments to SetupNativeCompilation, please update NativeCompilation.gmk)) ++ $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29, $(if $($i),$1_$(strip $($i)))$(NEWLINE)) ++ $(call LogSetupMacroEntry,SetupNativeCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15),$(16),$(17),$(18),$(19),$(20),$(21),$(22),$(23),$(24),$(25),$(26),$(27),$(28),$(29)) ++ $(if $(30),$(error Internal makefile error: Too many arguments to SetupNativeCompilation, please update NativeCompilation.gmk)) + + ifneq (,$$($1_BIN)) + $$(error BIN has been replaced with OBJECT_DIR) diff --git a/java/openjdk8/files/patch-bsd-test b/java/openjdk8/files/patch-bsd-test new file mode 100644 index 000000000000..96a7d4560270 --- /dev/null +++ b/java/openjdk8/files/patch-bsd-test @@ -0,0 +1,1344 @@ +--- hotspot/test/compiler/5091921/Test7005594.sh ++++ hotspot/test/compiler/5091921/Test7005594.sh +@@ -60,6 +60,15 @@ + # Windows/MKS + MEM=`"$ROOTDIR/mksnt/sysinf" memory -v | grep "Total Physical Memory: " | sed 's/Total Physical Memory: *//g'` + MEM="$(($machine_memory / 1024))" ++elif [ -x "/sbin/sysctl" ]; then ++ # BSD ++ MEM=`(/sbin/sysctl -n hw.physmem64 2> /dev/null || /sbin/sysctl -n hw.physmem)` ++ if [ -z "$MEM" ]; then ++ echo "Unable to determine amount of physical memory on the machine" ++ MEM=0 ++ else ++ MEM="$(($MEM / 1024 / 1024))" ++ fi + else + echo "Unable to determine amount of physical memory on the machine" + fi +--- hotspot/test/compiler/6894807/Test6894807.sh ++++ hotspot/test/compiler/6894807/Test6894807.sh +@@ -21,7 +21,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- hotspot/test/runtime/7110720/Test7110720.sh ++++ hotspot/test/runtime/7110720/Test7110720.sh +@@ -28,7 +28,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + FS="/" + RM=/bin/rm + CP=/bin/cp +--- hotspot/test/test_env.sh ++++ hotspot/test/test_env.sh +@@ -53,7 +53,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/com/sun/corba/5036554/TestCorbaBug.sh ++++ jdk/test/com/sun/corba/5036554/TestCorbaBug.sh +@@ -48,7 +48,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/com/sun/corba/cachedSocket/7056731.sh ++++ jdk/test/com/sun/corba/cachedSocket/7056731.sh +@@ -31,7 +31,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/com/sun/jdi/ImmutableResourceTest.sh ++++ jdk/test/com/sun/jdi/ImmutableResourceTest.sh +@@ -56,7 +56,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PATHSEP=":" + ;; + +--- jdk/test/com/sun/jdi/JITDebug.sh ++++ jdk/test/com/sun/jdi/JITDebug.sh +@@ -63,7 +63,7 @@ + OS=`uname -s` + export TRANSPORT_METHOD + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PATHSEP=":" + TRANSPORT_METHOD=dt_socket + ;; +--- jdk/test/com/sun/jdi/PrivateTransportTest.sh ++++ jdk/test/com/sun/jdi/PrivateTransportTest.sh +@@ -106,7 +106,7 @@ + xx=`find ${jreloc}/lib -name libdt_socket.so` + libloc=`dirname ${xx}` + ;; +- Darwin) ++ *BSD | Darwin) + libloc=${jreloc}/lib + ;; + Windows*) +--- jdk/test/com/sun/jdi/ShellScaffold.sh ++++ jdk/test/com/sun/jdi/ShellScaffold.sh +@@ -293,7 +293,7 @@ + psCmd=ps + jstack=jstack.exe + ;; +- SunOS | Linux | Darwin) ++ SunOS | Linux | *BSD | Darwin) + transport=dt_socket + address= + devnull=/dev/null +--- jdk/test/com/sun/jdi/connect/spi/JdiLoadedByCustomLoader.sh ++++ jdk/test/com/sun/jdi/connect/spi/JdiLoadedByCustomLoader.sh +@@ -45,7 +45,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + ;; + Windows* | CYGWIN*) +--- jdk/test/java/awt/JAWT/JAWT.sh ++++ jdk/test/java/awt/JAWT/JAWT.sh +@@ -62,6 +62,23 @@ + MAKE="make" + LD_LIBRARY_PATH="." + ;; ++ *BSD ) ++ NULL=/dev/null ++ PS=":" ++ FS="/" ++ ${TESTJAVA}${FS}bin${FS}java -version 2>&1 | grep '64-Bit' > $NULL ++ if [ $? -eq '0' ] ++ then ++ ARCH="amd64" ++ else ++ ARCH="i386" ++ fi ++ SYST="bsd" ++ MAKEFILE="Makefile.unix" ++ CC="cc" ++ MAKE="make" ++ LD_LIBRARY_PATH="." ++ ;; + SunOS ) + NULL=/dev/null + PS=":" +@@ -111,7 +128,7 @@ + MAKE="make" + ;; + Darwin ) +- echo "Test passed. This test is not for MacOS." ++ echo "Test passed. This test is not for BSD." + exit 0; + ;; + * ) +--- jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh ++++ jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh +@@ -78,8 +78,8 @@ + TMP="/tmp" + ;; + +- Darwin ) +- VAR="A different value for MacOSX" ++ *BSD | Darwin ) ++ VAR="A different value for BSD" + DEFAULT_JDK=/usr + FILESEP="/" + PATHSEP=":" +--- jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh ++++ jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh +@@ -77,9 +77,9 @@ + FILESEP="\\" + ;; + +- Darwin) +- VAR="Lets not forget about Mac" +- DEFAULT_JDK=$(/usr/libexec/java_home) ++ *BSD | Darwin ) ++ VAR="Lets not forget about BSD" ++ DEFAULT_JDK=/ + FILESEP="/" + ;; + +--- jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh ++++ jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh +@@ -111,9 +111,9 @@ + TMP="/tmp" + ;; + +- Darwin ) +- VAR="A different value for MacOSX" +- DEFAULT_JDK=/usr ++ *BSD | Darwin ) ++ VAR="A different value for BSD" ++ DEFAULT_JDK=/ + FILESEP="/" + PATHSEP=":" + TMP="/tmp" +--- jdk/test/java/io/File/GetXSpace.java ++++ jdk/test/java/io/File/GetXSpace.java +@@ -51,7 +51,7 @@ + private static final String dfFormat; + static { + if (name.equals("SunOS") || name.equals("Linux") +- || name.contains("OS X")) { ++ || name.endsWith("BSD") || name.contains("OS X")) { + // FileSystem Total Used Available Use% MountedOn + dfFormat = "([^\\s]+)\\s+(\\d+)\\s+\\d+\\s+(\\d+)\\s+\\d+%\\s+([^\\s]+)"; + } else if (name.startsWith("Windows")) { +--- jdk/test/java/io/File/GetXSpace.sh ++++ jdk/test/java/io/File/GetXSpace.sh +@@ -26,7 +26,7 @@ + # set platform-dependent variable + OS=`uname -s` + case "$OS" in +- SunOS | Linux ) TMP=/tmp ;; ++ SunOS | Linux | *BSD | Darwin ) TMP=/tmp ;; + Windows_98 ) return ;; + Windows* ) SID=`sid`; TMP="c:/temp" ;; + * ) +--- jdk/test/java/io/Serializable/evolution/RenamePackage/run.sh ++++ jdk/test/java/io/Serializable/evolution/RenamePackage/run.sh +@@ -45,7 +45,7 @@ + # Need to determine the classpath separator and filepath separator based on the + # operating system. + case "$OS" in +-SunOS | Linux | Darwin ) ++SunOS | Linux | *BSD | Darwin ) + PS=":" ;; + Windows* | CYGWIN* ) + PS=";" ;; +--- jdk/test/java/io/Serializable/serialver/classpath/run.sh ++++ jdk/test/java/io/Serializable/serialver/classpath/run.sh +@@ -47,7 +47,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" ;; + Windows* | CYGWIN* ) + PS=";" ;; +--- jdk/test/java/io/Serializable/serialver/nested/run.sh ++++ jdk/test/java/io/Serializable/serialver/nested/run.sh +@@ -47,7 +47,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" ;; + Windows* | CYGWIN* ) + PS=";" ;; +--- jdk/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh ++++ jdk/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh +@@ -55,7 +55,7 @@ + Linux ) + FS="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + FS="/" + ;; + Windows*) +--- jdk/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh ++++ jdk/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh +@@ -60,7 +60,7 @@ + Linux ) + FS="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + FS="/" + ;; + Windows* | CYGWIN* ) +--- jdk/test/java/lang/ProcessBuilder/DestroyTest.java ++++ jdk/test/java/lang/ProcessBuilder/DestroyTest.java +@@ -148,6 +148,9 @@ + } else if (osName.startsWith("Linux") == true) { + return new UnixTest( + File.createTempFile("ProcessTrap-", ".sh",null)); ++ } else if (osName.endsWith("BSD")) { ++ return new UnixTest( ++ File.createTempFile("ProcessTrap-", ".sh",null)); + } else if (osName.startsWith("Mac OS")) { + return new MacTest( + File.createTempFile("ProcessTrap-", ".sh",null)); +--- jdk/test/java/lang/ProcessBuilder/Zombies.java ++++ jdk/test/java/lang/ProcessBuilder/Zombies.java +@@ -34,7 +34,7 @@ + + static final String os = System.getProperty("os.name"); + +- static final String TrueCommand = os.contains("OS X")? ++ static final String TrueCommand = (os.endsWith("BSD") || os.contains("OS X")) ? + "/usr/bin/true" : "/bin/true"; + + public static void main(String[] args) throws Throwable { +--- jdk/test/java/lang/StringCoding/CheckEncodings.sh ++++ jdk/test/java/lang/StringCoding/CheckEncodings.sh +@@ -30,7 +30,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin) ;; ++ SunOS | Linux | *BSD | Darwin ) ;; + Windows* | CYGWIN* ) + echo "Passed"; exit 0 ;; + * ) echo "Unrecognized system!" ; exit 1 ;; +--- jdk/test/java/lang/annotation/loaderLeak/LoaderLeak.sh ++++ jdk/test/java/lang/annotation/loaderLeak/LoaderLeak.sh +@@ -48,7 +48,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/java/lang/instrument/MakeJAR2.sh ++++ jdk/test/java/lang/instrument/MakeJAR2.sh +@@ -55,7 +55,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux ) ++ SunOS | Linux | *BSD | Darwin ) + PATHSEP=":" + ;; + +--- jdk/test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh ++++ jdk/test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh +@@ -43,7 +43,7 @@ + PS=":" + FS="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java ++++ jdk/test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java +@@ -79,8 +79,10 @@ + System.out.println("Test passed."); + } + ++ private static String osName = System.getProperty("os.name"); ++ + private static String LOAD_AVERAGE_TEXT +- = System.getProperty("os.name").contains("OS X") ++ = (osName.endsWith("BSD") || osName.contains("OS X")) + ? "load averages:" + : "load average:"; + +@@ -99,7 +101,7 @@ + System.out.println("Load average returned from uptime = " + output); + System.out.println("getSystemLoadAverage() returned " + loadavg); + +- String[] lavg = System.getProperty("os.name").contains("OS X") ++ String[] lavg = (osName.endsWith("BSD") || osName.contains("OS X")) + ? output.split(" ") + : output.split(","); + double expected = Double.parseDouble(lavg[0]); +--- jdk/test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh ++++ jdk/test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh +@@ -61,7 +61,7 @@ + while true; do + echo "Run $i: TestSystemLoadAvg" + case `uname -s` in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + runOne GetSystemLoadAverage + ;; + * ) +--- jdk/test/java/net/Authenticator/B4933582.sh ++++ jdk/test/java/net/Authenticator/B4933582.sh +@@ -26,7 +26,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/java/net/DatagramSocket/Send12k.java ++++ jdk/test/java/net/DatagramSocket/Send12k.java +@@ -36,9 +36,10 @@ + + public static void main(String args[]) throws Exception { + +- int SEND_SIZE=0; ++ String osName = System.getProperty("os.name"); ++ int SEND_SIZE; + +- if(System.getProperty("os.name").contains("Mac")) { ++ if(osName.endsWith("BSD") || osName.contains("Mac")) { + SEND_SIZE = 16 * 576; + } else { + SEND_SIZE = 16 * 1024; +--- jdk/test/java/net/DatagramSocket/SendDatagramToBadAddress.java ++++ jdk/test/java/net/DatagramSocket/SendDatagramToBadAddress.java +@@ -45,6 +45,8 @@ + return (true); + if (p.getProperty ("os.name").equals ("Linux")) + return (true); ++ if (p.getProperty ("os.name").endsWith ("BSD")) ++ return (true); + if (p.getProperty ("os.name").startsWith ("Mac OS")) + return (true); + // Check for specific Solaris version from here +--- jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh ++++ jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh +@@ -27,7 +27,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Darwin ) ++ SunOS | *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + ;; +--- jdk/test/java/net/Socket/OldSocketImpl.sh ++++ jdk/test/java/net/Socket/OldSocketImpl.sh +@@ -28,7 +28,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/java/net/URL/B5086147.sh ++++ jdk/test/java/net/URL/B5086147.sh +@@ -26,7 +26,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + exit 0 + ;; + CYGWIN* ) +--- jdk/test/java/net/URLClassLoader/B5077773.sh ++++ jdk/test/java/net/URLClassLoader/B5077773.sh +@@ -34,7 +34,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Darwin ) ++ SunOS | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/java/net/URLClassLoader/sealing/checksealed.sh ++++ jdk/test/java/net/URLClassLoader/sealing/checksealed.sh +@@ -27,7 +27,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Darwin ) ++ SunOS | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/java/net/URLConnection/6212146/test.sh ++++ jdk/test/java/net/URLConnection/6212146/test.sh +@@ -33,7 +33,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Darwin ) ++ SunOS | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/java/nio/channels/FileChannel/Transfer.java ++++ jdk/test/java/nio/channels/FileChannel/Transfer.java +@@ -228,7 +228,7 @@ + // Windows and Linux can't handle the really large file sizes for a + // truncate or a positional write required by the test for 4563125 + String osName = System.getProperty("os.name"); +- if (!(osName.startsWith("SunOS") || osName.contains("OS X"))) ++ if (!(osName.startsWith("SunOS") || osName.endsWith("BSD") || osName.contains("OS X"))) + return; + File source = File.createTempFile("blah", null); + source.deleteOnExit(); +--- jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.c ++++ jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.c +@@ -17,6 +17,12 @@ + + #include "Launcher.h" + ++#ifdef _ALLBSD_SOURCE ++#define FD_DIR "/dev/fd" ++#else ++#define FD_DIR "/proc/self/fd" ++#endif ++ + /* + * Throws the exception of the given class name and detail message + */ +@@ -135,7 +141,7 @@ + } + close(thisFd); + +- if ((dp = opendir("/proc/self/fd")) == NULL) { ++ if ((dp = opendir(FD_DIR)) == NULL) { + _exit(-1); + } + +--- jdk/test/java/nio/charset/coders/CheckSJISMappingProp.sh ++++ jdk/test/java/nio/charset/coders/CheckSJISMappingProp.sh +@@ -34,7 +34,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ;; ++ SunOS | Linux | *BSD | Darwin ) ;; + # Skip locale test for Windows + Windows* | CYGWIN* ) + echo "Passed"; exit 0 ;; +--- jdk/test/java/nio/charset/spi/basic.sh ++++ jdk/test/java/nio/charset/spi/basic.sh +@@ -48,7 +48,7 @@ + + DIR=`pwd` + case `uname` in +- SunOS | Linux | Darwin ) CPS=':' ;; ++ SunOS | Linux | *BSD | Darwin ) CPS=':' ;; + Windows* ) CPS=';' ;; + CYGWIN* ) + DIR=`/usr/bin/cygpath -a -s -m $DIR` +--- jdk/test/java/nio/file/FileSystem/Basic.java ++++ jdk/test/java/nio/file/FileSystem/Basic.java +@@ -76,7 +76,7 @@ + checkSupported(fs, "posix", "unix", "owner", "acl", "user"); + if (os.equals("Linux")) + checkSupported(fs, "posix", "unix", "owner", "dos", "user"); +- if (os.contains("OS X")) ++ if (os.endsWith("BSD") || os.contains("OS X")) + checkSupported(fs, "posix", "unix", "owner"); + if (os.equals("Windows")) + checkSupported(fs, "owner", "dos", "acl", "user"); +--- jdk/test/java/nio/file/Files/CopyAndMove.java ++++ jdk/test/java/nio/file/Files/CopyAndMove.java +@@ -651,7 +651,7 @@ + + // check POSIX attributes are copied + String os = System.getProperty("os.name"); +- if ((os.equals("SunOS") || os.equals("Linux")) && ++ if ((os.equals("SunOS") || os.equals("Linux") || os.endsWith("BSD")) && + testPosixAttributes) + { + checkPosixAttributes( +@@ -1155,7 +1155,7 @@ + static void randomizeAttributes(Path file) throws IOException { + String os = System.getProperty("os.name"); + boolean isWindows = os.startsWith("Windows"); +- boolean isUnix = os.equals("SunOS") || os.equals("Linux"); ++ boolean isUnix = os.equals("SunOS") || os.equals("Linux") || os.endsWith("BSD"); + boolean isDirectory = isDirectory(file, NOFOLLOW_LINKS); + + if (isUnix) { +--- jdk/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh ++++ jdk/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh +@@ -33,7 +33,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + ;; + Windows* | CYGWIN* ) +--- jdk/test/java/rmi/registry/readTest/readTest.sh ++++ jdk/test/java/rmi/registry/readTest/readTest.sh +@@ -34,7 +34,7 @@ + REGARGS="" + + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + FILEURL="file:" +--- jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh ++++ jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh +@@ -58,7 +58,7 @@ + PATHSEP=":" + FILESEP="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + ;; +--- jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh ++++ jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh +@@ -42,7 +42,7 @@ + PATHSEP=":" + FILESEP="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + ;; +--- jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh ++++ jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh +@@ -66,7 +66,7 @@ + PATHSEP=";" + FILESEP="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + ;; +--- jdk/test/java/security/Security/signedfirst/Dyn.sh ++++ jdk/test/java/security/Security/signedfirst/Dyn.sh +@@ -58,7 +58,7 @@ + PATHSEP=":" + FILESEP="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + ;; +--- jdk/test/java/security/Security/signedfirst/Static.sh ++++ jdk/test/java/security/Security/signedfirst/Static.sh +@@ -58,7 +58,7 @@ + PATHSEP=":" + FILESEP="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + ;; +--- jdk/test/java/util/Currency/PropertiesTest.sh ++++ jdk/test/java/util/Currency/PropertiesTest.sh +@@ -52,7 +52,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/java/util/PluggableLocale/ExecTest.sh ++++ jdk/test/java/util/PluggableLocale/ExecTest.sh +@@ -62,7 +62,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/java/util/ResourceBundle/Bug6299235Test.sh ++++ jdk/test/java/util/ResourceBundle/Bug6299235Test.sh +@@ -31,7 +31,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + ;; +--- jdk/test/java/util/ServiceLoader/basic.sh ++++ jdk/test/java/util/ServiceLoader/basic.sh +@@ -43,9 +43,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Darwin ) +- SEP=':' ;; +- Linux ) ++ SunOS | Linux | *BSD | Darwin ) + SEP=':' ;; + * ) + SEP='\;' ;; +--- jdk/test/java/util/prefs/CheckUserPrefsStorage.sh ++++ jdk/test/java/util/prefs/CheckUserPrefsStorage.sh +@@ -31,7 +31,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh ++++ jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh +@@ -56,7 +56,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh ++++ jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh +@@ -89,7 +89,7 @@ + FILESEP="/" + ;; + +- Linux | Darwin ) ++ Linux | *BSD | Darwin ) + VAR="A different value for Linux" + DEFAULT_JDK=/none + #DEFAULT_JDK=/usr/local/java/jdk1.4/linux-i386 +--- jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh ++++ jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh +@@ -90,7 +90,7 @@ + FILESEP="/" + ;; + +- Linux | Darwin ) ++ Linux | *BSD | Darwin ) + VAR="A different value for Linux" + DEFAULT_JDK=/none + #DEFAULT_JDK=/usr/local/java/jdk1.4/linux-i386 +--- jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh ++++ jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh +@@ -92,7 +92,7 @@ + TMP="/tmp" + ;; + +- Darwin ) ++ *BSD | Darwin ) + VAR="A different value for MacOSX" + DEFAULT_JDK=/usr + FILESEP="/" +--- jdk/test/javax/script/CommonSetup.sh ++++ jdk/test/javax/script/CommonSetup.sh +@@ -36,7 +36,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/javax/security/auth/Subject/doAs/Test.sh ++++ jdk/test/javax/security/auth/Subject/doAs/Test.sh +@@ -43,7 +43,7 @@ + FS="/" + RM="/bin/rm -f" + ;; +- Darwin ) ++ *BSD | Darwin ) + PS=":" + FS="/" + RM="/bin/rm -f" +--- jdk/test/lib/security/java.policy/Ext_AllPolicy.sh ++++ jdk/test/lib/security/java.policy/Ext_AllPolicy.sh +@@ -53,7 +53,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/lib/testlibrary/jdk/testlibrary/Platform.java ++++ jdk/test/lib/testlibrary/jdk/testlibrary/Platform.java +@@ -53,8 +53,13 @@ + return isOs("linux"); + } + ++ public static boolean isBSD() { ++ return isOs("bsd"); ++ } ++ + private static boolean isOs(String osname) { +- return osName.toLowerCase().startsWith(osname.toLowerCase()); ++ return (osName.toLowerCase().startsWith(osname.toLowerCase()) || ++ osName.toLowerCase().endsWith(osname.toLowerCase())); + } + + public static String getOsName() { +--- jdk/test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh ++++ jdk/test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh +@@ -42,7 +42,7 @@ + fi + + case $OS in +-SunOS | Linux | Darwin) ++SunOS | Linux | *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + DFILESEP=$FILESEP +--- jdk/test/sun/net/ftp/MarkResetTest.sh ++++ jdk/test/sun/net/ftp/MarkResetTest.sh +@@ -28,7 +28,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/sun/net/www/http/HttpClient/RetryPost.sh ++++ jdk/test/sun/net/www/http/HttpClient/RetryPost.sh +@@ -28,7 +28,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/sun/net/www/protocol/jar/B5105410.sh ++++ jdk/test/sun/net/www/protocol/jar/B5105410.sh +@@ -31,7 +31,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/sun/net/www/protocol/jar/jarbug/run.sh ++++ jdk/test/sun/net/www/protocol/jar/jarbug/run.sh +@@ -31,7 +31,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/sun/nio/ch/SelProvider.java ++++ jdk/test/sun/nio/ch/SelProvider.java +@@ -39,7 +39,7 @@ + expected = "sun.nio.ch.DevPollSelectorProvider"; + } else if ("Linux".equals(osname)) { + expected = "sun.nio.ch.EPollSelectorProvider"; +- } else if (osname.contains("OS X")) { ++ } else if (osname.endsWith("BSD") || osname.contains("OS X")) { + expected = "sun.nio.ch.KQueueSelectorProvider"; + } else { + return; +--- jdk/test/sun/security/krb5/runNameEquals.sh ++++ jdk/test/sun/security/krb5/runNameEquals.sh +@@ -52,7 +52,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + NATIVE=true +--- jdk/test/sun/security/mscapi/ShortRSAKey1024.sh ++++ jdk/test/sun/security/mscapi/ShortRSAKey1024.sh +@@ -49,7 +49,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin | CYGWIN* ) ++ SunOS | Linux | *BSD | Darwin | CYGWIN* ) + FS="/" + ;; + Windows_* ) +--- jdk/test/sun/security/pkcs11/Provider/ConfigQuotedString.sh ++++ jdk/test/sun/security/pkcs11/Provider/ConfigQuotedString.sh +@@ -66,7 +66,7 @@ + CP="${FS}bin${FS}cp" + CHMOD="${FS}bin${FS}chmod" + ;; +- Darwin ) ++ *BSD | Darwin ) + FS="/" + PS=":" + CP="${FS}bin${FS}cp" +--- jdk/test/sun/security/pkcs11/Provider/Login.sh ++++ jdk/test/sun/security/pkcs11/Provider/Login.sh +@@ -67,7 +67,7 @@ + CP="${FS}bin${FS}cp" + CHMOD="${FS}bin${FS}chmod" + ;; +- Darwin ) ++ *BSD | Darwin ) + FS="/" + PS=":" + CP="${FS}bin${FS}cp" +--- jdk/test/sun/security/provider/KeyStore/DKSTest.sh ++++ jdk/test/sun/security/provider/KeyStore/DKSTest.sh +@@ -58,7 +58,7 @@ + PS=":" + FS="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh ++++ jdk/test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh +@@ -52,7 +52,7 @@ + PATHSEP=":" + FILESEP="/" + ;; +- Linux ) ++ Linux | *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + ;; +--- jdk/test/sun/security/provider/PolicyFile/getinstance/getinstance.sh ++++ jdk/test/sun/security/provider/PolicyFile/getinstance/getinstance.sh +@@ -59,7 +59,7 @@ + PS=":" + FS="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh ++++ jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh +@@ -33,7 +33,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh ++++ jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh +@@ -46,7 +46,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + FILESEP="/" + PATHSEP=":" + ;; +--- jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh ++++ jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh +@@ -32,7 +32,7 @@ + HOSTNAME=`uname -n` + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh ++++ jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh +@@ -32,7 +32,7 @@ + HOSTNAME=`uname -n` + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PS=":" + FS="/" + ;; +--- jdk/test/sun/security/tools/jarsigner/AlgOptions.sh ++++ jdk/test/sun/security/tools/jarsigner/AlgOptions.sh +@@ -46,7 +46,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/jarsigner/PercentSign.sh ++++ jdk/test/sun/security/tools/jarsigner/PercentSign.sh +@@ -46,7 +46,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/jarsigner/diffend.sh ++++ jdk/test/sun/security/tools/jarsigner/diffend.sh +@@ -41,7 +41,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/jarsigner/oldsig.sh ++++ jdk/test/sun/security/tools/jarsigner/oldsig.sh +@@ -42,7 +42,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/keytool/AltProviderPath.sh ++++ jdk/test/sun/security/tools/keytool/AltProviderPath.sh +@@ -46,7 +46,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/keytool/CloneKeyAskPassword.sh ++++ jdk/test/sun/security/tools/keytool/CloneKeyAskPassword.sh +@@ -55,7 +55,7 @@ + PATHSEP=":" + FILESEP="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + ;; +--- jdk/test/sun/security/tools/keytool/NoExtNPE.sh ++++ jdk/test/sun/security/tools/keytool/NoExtNPE.sh +@@ -48,7 +48,7 @@ + Linux ) + FILESEP="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + FILESEP="/" + ;; + CYGWIN* ) +--- jdk/test/sun/security/tools/keytool/SecretKeyKS.sh ++++ jdk/test/sun/security/tools/keytool/SecretKeyKS.sh +@@ -45,7 +45,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/keytool/StandardAlgName.sh ++++ jdk/test/sun/security/tools/keytool/StandardAlgName.sh +@@ -46,7 +46,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/keytool/StorePasswordsByShell.sh ++++ jdk/test/sun/security/tools/keytool/StorePasswordsByShell.sh +@@ -54,7 +54,7 @@ + PATHSEP=":" + FILESEP="/" + ;; +- Darwin ) ++ *BSD | Darwin ) + PATHSEP=":" + FILESEP="/" + ;; +--- jdk/test/sun/security/tools/keytool/i18n.sh ++++ jdk/test/sun/security/tools/keytool/i18n.sh +@@ -46,7 +46,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux ) ++ SunOS | Linux | *BSD ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/keytool/printssl.sh ++++ jdk/test/sun/security/tools/keytool/printssl.sh +@@ -40,7 +40,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + FS="/" + ;; + CYGWIN* ) +--- jdk/test/sun/security/tools/keytool/resource.sh ++++ jdk/test/sun/security/tools/keytool/resource.sh +@@ -43,7 +43,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + FS="/" + ;; +--- jdk/test/sun/security/tools/keytool/standard.sh ++++ jdk/test/sun/security/tools/keytool/standard.sh +@@ -45,7 +45,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin | CYGWIN* ) ++ SunOS | Linux | *BSD | Darwin | CYGWIN* ) + FS="/" + ;; + Windows_* ) +--- jdk/test/sun/security/tools/policytool/Alias.sh ++++ jdk/test/sun/security/tools/policytool/Alias.sh +@@ -47,7 +47,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/policytool/ChangeUI.sh ++++ jdk/test/sun/security/tools/policytool/ChangeUI.sh +@@ -46,7 +46,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/policytool/OpenPolicy.sh ++++ jdk/test/sun/security/tools/policytool/OpenPolicy.sh +@@ -46,7 +46,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/policytool/SaveAs.sh ++++ jdk/test/sun/security/tools/policytool/SaveAs.sh +@@ -47,7 +47,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/policytool/UpdatePermissions.sh ++++ jdk/test/sun/security/tools/policytool/UpdatePermissions.sh +@@ -47,7 +47,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/policytool/UsePolicy.sh ++++ jdk/test/sun/security/tools/policytool/UsePolicy.sh +@@ -46,7 +46,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/security/tools/policytool/i18n.sh ++++ jdk/test/sun/security/tools/policytool/i18n.sh +@@ -49,7 +49,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + NULL=/dev/null + PS=":" + FS="/" +--- jdk/test/sun/tools/common/CommonSetup.sh ++++ jdk/test/sun/tools/common/CommonSetup.sh +@@ -47,6 +47,7 @@ + # isLinux - true if OS is Linux + # isSolaris - true if OS is Solaris + # isWindows - true if OS is Windows ++# isBSD - true if OS is BSD + # isMacos - true if OS is Macos X + + +@@ -82,6 +83,7 @@ + isSolaris=false + isUnknownOS=false + isWindows=false ++isBSD=false + isMacos=false + + OS=`uname -s` +@@ -105,6 +107,10 @@ + OS="Linux" + isLinux=true + ;; ++ *BSD ) ++ OS="BSD" ++ isBSD=true ++ ;; + Darwin ) + OS="Mac OS X" + isMacos=true +--- jdk/test/sun/tools/jconsole/ResourceCheckTest.sh ++++ jdk/test/sun/tools/jconsole/ResourceCheckTest.sh +@@ -54,7 +54,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin) ++ SunOS | Linux | *BSD | Darwin ) + PATHSEP=":" + ;; + +--- jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh ++++ jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh +@@ -56,7 +56,7 @@ + + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin ) ++ SunOS | Linux | *BSD | Darwin ) + PATHSEP=":" + ;; + +--- jdk/test/tools/launcher/ExecutionEnvironment.java ++++ jdk/test/tools/launcher/ExecutionEnvironment.java +@@ -180,7 +180,7 @@ + + Map<String, String> env = new HashMap<>(); + +- if (TestHelper.isLinux || TestHelper.isMacOSX) { ++ if (TestHelper.isLinux || TestHelper.isBSD || TestHelper.isMacOSX) { + for (String x : LD_PATH_STRINGS) { + String pairs[] = x.split("="); + env.put(pairs[0], pairs[1]); +--- jdk/test/tools/launcher/RunpathTest.java ++++ jdk/test/tools/launcher/RunpathTest.java +@@ -69,7 +69,7 @@ + } + + public static void main(String... args) throws Exception { +- if (isSolaris || isLinux) { ++ if (isSolaris || isLinux || isBSD) { + RunpathTest rp = new RunpathTest(); + rp.testRpath(); + } +--- jdk/test/tools/launcher/Test7029048.java ++++ jdk/test/tools/launcher/Test7029048.java +@@ -223,7 +223,7 @@ + } else if (isSolaris && passes < 9) { + throw new Exception("Test7029048: FAIL: " + + "all tests did not run, expected " + 9 + " got " + passes); +- } else if (isLinux && passes < 6) { ++ } else if ((isLinux || isBSD) && passes < 6) { + throw new Exception("Test7029048: FAIL: " + + "all tests did not run, expected " + 6 + " got " + passes); + } else { +--- jdk/test/tools/launcher/TestHelper.java ++++ jdk/test/tools/launcher/TestHelper.java +@@ -92,6 +92,8 @@ + System.getProperty("os.name", "unknown").startsWith("SunOS"); + static final boolean isLinux = + System.getProperty("os.name", "unknown").startsWith("Linux"); ++ static final boolean isBSD = ++ System.getProperty("os.name", "unknown").endsWith("BSD"); + static final String LIBJVM = isWindows + ? "jvm.dll" + : "libjvm" + (isMacOSX ? ".dylib" : ".so"); +--- langtools/test/Makefile ++++ langtools/test/Makefile +@@ -36,6 +36,14 @@ + ARCH=i586 + endif + endif ++ifeq ($(OSNAME), FreeBSD) ++ PLATFORM = bsd ++ JT_PLATFORM = linux ++ ARCH = $(shell uname -p) ++ ifeq ($(ARCH), i386) ++ ARCH=i586 ++ endif ++endif + ifeq ($(OSNAME), Darwin) + PLATFORM = bsd + JT_PLATFORM = linux +--- langtools/test/tools/javah/ReadOldClass.sh ++++ langtools/test/tools/javah/ReadOldClass.sh +@@ -43,7 +43,7 @@ + # set platform-dependent variables + OS=`uname -s` + case "$OS" in +- SunOS | Linux | Darwin | CYGWIN* ) ++ SunOS | Linux | *BSD | Darwin | CYGWIN* ) + PS=":" + FS="/" + ;; diff --git a/java/openjdk8/files/patch-configure b/java/openjdk8/files/patch-configure new file mode 100644 index 000000000000..62ed12627b1b --- /dev/null +++ b/java/openjdk8/files/patch-configure @@ -0,0 +1,10 @@ +--- configure ++++ configure +@@ -26,4 +26,6 @@ + # make sure that is called using bash. + + this_script_dir=`dirname $0` +-bash $this_script_dir/common/autoconf/configure "$@" ++export CONFIG_SHELL=%%LOCALBASE%%/bin/bash ++export MAKE=%%LOCALBASE%%/bin/gmake ++%%LOCALBASE%%/bin/bash $this_script_dir/common/autoconf/configure "$@" diff --git a/java/openjdk8/files/patch-hotspot-src-os-bsd-vm-os_bsd.cpp b/java/openjdk8/files/patch-hotspot-src-os-bsd-vm-os_bsd.cpp new file mode 100644 index 000000000000..4bd1934069cb --- /dev/null +++ b/java/openjdk8/files/patch-hotspot-src-os-bsd-vm-os_bsd.cpp @@ -0,0 +1,11 @@ +--- hotspot/src/os/bsd/vm/os_bsd.cpp ++++ hotspot/src/os/bsd/vm/os_bsd.cpp +@@ -441,7 +441,7 @@ + ld_library_path = (char *) malloc(sizeof(REG_DIR) + sizeof("/lib/") + + strlen(cpu_arch) + sizeof(DEFAULT_LIBPATH)); + #ifdef __FreeBSD__ +- sprintf(ld_library_path, DEFAULT_LIBPATH ":/usr/local/lib"); ++ sprintf(ld_library_path, DEFAULT_LIBPATH ":%%LOCALBASE%%/lib"); + #else + sprintf(ld_library_path, REG_DIR "/lib/%s:" DEFAULT_LIBPATH, cpu_arch); + #endif diff --git a/java/openjdk8/files/patch-jdk-make-lib-CoreLibraries.gmk b/java/openjdk8/files/patch-jdk-make-lib-CoreLibraries.gmk new file mode 100644 index 000000000000..08e8d283b575 --- /dev/null +++ b/java/openjdk8/files/patch-jdk-make-lib-CoreLibraries.gmk @@ -0,0 +1,16 @@ +--- jdk/make/lib/CoreLibraries.gmk ++++ jdk/make/lib/CoreLibraries.gmk +@@ -513,11 +513,12 @@ + CFLAGS := $(CFLAGS_JDKLIB) \ + -I$(JDK_TOPDIR)/src/share/npt \ + -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, \ ++ CFLAGS_bsd := %%ICONV_CPPFLAGS%%, \ + MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libnpt/mapfile-vers, \ + LDFLAGS := $(LDFLAGS_JDKLIB) \ + $(call SET_SHARED_LIBRARY_ORIGIN), \ + LDFLAGS_macosx := -liconv, \ +- LDFLAGS_bsd := -liconv, \ ++ LDFLAGS_bsd := %%ICONV_LDFLAGS%%, \ + LDFLAGS_SUFFIX_windows := -export:nptInitialize -export:nptTerminate, \ + LDFLAGS_SUFFIX_solaris := -lc, \ + VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ diff --git a/java/openjdk8/files/patch-jdk-make-lib-ServiceabilityLibraries.gmk b/java/openjdk8/files/patch-jdk-make-lib-ServiceabilityLibraries.gmk new file mode 100644 index 000000000000..8fd6e4998dbf --- /dev/null +++ b/java/openjdk8/files/patch-jdk-make-lib-ServiceabilityLibraries.gmk @@ -0,0 +1,19 @@ +--- jdk/make/lib/ServiceabilityLibraries.gmk ++++ jdk/make/lib/ServiceabilityLibraries.gmk +@@ -244,6 +244,7 @@ + CFLAGS := $(LIBINSTRUMENT_CFLAGS), \ + CFLAGS_debug := -DJPLIS_LOGGING, \ + CFLAGS_release := -DNO_JPLIS_LOGGING, \ ++ CFLAGS_bsd := %%ICONV_CPPFLAGS%%, \ + MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libinstrument/mapfile-vers, \ + LDFLAGS := $(LDFLAGS_JDKLIB) \ + $(call SET_SHARED_LIBRARY_ORIGIN) \ +@@ -255,7 +256,7 @@ + -framework Cocoa -framework Security -framework ApplicationServices, \ + LDFLAGS_SUFFIX := $(LIBINSTRUMENT_LDFLAGS_SUFFIX), \ + LDFLAGS_SUFFIX_macosx := -liconv $(LIBZ), \ +- LDFLAGS_SUFFIX_bsd := -liconv $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli, \ ++ LDFLAGS_SUFFIX_bsd := %%ICONV_LDFLAGS%% $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli, \ + LDFLAGS_SUFFIX_solaris := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc, \ + LDFLAGS_SUFFIX_linux := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL), \ + VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ diff --git a/java/openjdk8/files/patch-jdk-make-lib-SoundLibraries.gmk b/java/openjdk8/files/patch-jdk-make-lib-SoundLibraries.gmk new file mode 100644 index 000000000000..a83b946603e8 --- /dev/null +++ b/java/openjdk8/files/patch-jdk-make-lib-SoundLibraries.gmk @@ -0,0 +1,16 @@ +--- jdk/make/lib/SoundLibraries.gmk ++++ jdk/make/lib/SoundLibraries.gmk +@@ -196,11 +196,11 @@ + -DUSE_PORTS=TRUE, \ + CFLAGS_linux := -DUSE_PLATFORM_MIDI_OUT=TRUE \ + -DUSE_PLATFORM_MIDI_IN=TRUE, \ +- CFLAGS_bsd := -I/usr/local/include, \ ++ CFLAGS_bsd := -I%%LOCALBASE%%/include, \ + MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjsoundalsa/mapfile-vers, \ + LDFLAGS := $(LDFLAGS_JDKLIB) \ + $(call SET_SHARED_LIBRARY_ORIGIN), \ +- LDFLAGS_bsd := -L/usr/local/lib, \ ++ LDFLAGS_bsd := -L%%LOCALBASE%%/lib, \ + LDFLAGS_SUFFIX := $(ALSA_LIBS) -ljava -ljvm, \ + OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsoundalsa, \ + DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) diff --git a/java/openjdk8/files/patch-jdk-src-share-classes-com-sun-java-swing-plaf-gtk-Metacity.java b/java/openjdk8/files/patch-jdk-src-share-classes-com-sun-java-swing-plaf-gtk-Metacity.java new file mode 100644 index 000000000000..a846cb8af99e --- /dev/null +++ b/java/openjdk8/files/patch-jdk-src-share-classes-com-sun-java-swing-plaf-gtk-Metacity.java @@ -0,0 +1,15 @@ +--- jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java ++++ jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java +@@ -477,10 +477,8 @@ + String[] dirs = new String[] { + userHome + sep + ".themes", + System.getProperty("swing.metacitythemedir"), +- "/usr/X11R6/share/themes", +- "/usr/X11R6/share/gnome/themes", +- "/usr/local/share/themes", +- "/usr/local/share/gnome/themes", ++ "%%LOCALBASE%%/share/themes", ++ "%%LOCALBASE%%/share/gnome/themes", + "/usr/share/themes", + "/usr/gnome/share/themes", // Debian/Redhat/Solaris + "/opt/gnome2/share/themes" // SuSE diff --git a/java/openjdk8/files/patch-jdk-src-solaris-bin-java_md_solinux.h b/java/openjdk8/files/patch-jdk-src-solaris-bin-java_md_solinux.h new file mode 100644 index 000000000000..123b860cb9aa --- /dev/null +++ b/java/openjdk8/files/patch-jdk-src-solaris-bin-java_md_solinux.h @@ -0,0 +1,12 @@ +--- jdk/src/solaris/bin/java_md_solinux.h ++++ jdk/src/solaris/bin/java_md_solinux.h +@@ -48,6 +48,9 @@ + #ifdef __linux__ + static const char *system_dir = "/usr/java"; + static const char *user_dir = "/java"; ++#elif defined(_ALLBSD_SOURCE) ++static const char *system_dir = "%%LOCALBASE%%/openjdk8"; ++static const char *user_dir = "/java"; + #else /* Solaris */ + static const char *system_dir = "/usr/jdk"; + static const char *user_dir = "/jdk"; diff --git a/java/openjdk8/files/patch-jdk-src-solaris-classes-sun-nio-fs-BsdFileSystemProvider.java b/java/openjdk8/files/patch-jdk-src-solaris-classes-sun-nio-fs-BsdFileSystemProvider.java new file mode 100644 index 000000000000..951b54497623 --- /dev/null +++ b/java/openjdk8/files/patch-jdk-src-solaris-classes-sun-nio-fs-BsdFileSystemProvider.java @@ -0,0 +1,30 @@ +--- jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java ++++ jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java +@@ -26,6 +26,7 @@ + package sun.nio.fs; + + import java.nio.file.*; ++import java.nio.file.spi.FileSystemProvider; + import java.nio.file.spi.FileTypeDetector; + import java.io.IOException; + import java.security.AccessController; +@@ -40,6 +41,10 @@ + super(); + } + ++ public BsdFileSystemProvider(FileSystemProvider f) { ++ super(); ++ } ++ + @Override + BsdFileSystem newFileSystem(String dir) { + return new BsdFileSystem(this, dir); +@@ -54,7 +59,7 @@ + FileTypeDetector getFileTypeDetector() { + Path userMimeTypes = Paths.get(AccessController.doPrivileged( + new GetPropertyAction("user.home")), ".mime.types"); +- Path etcMimeTypes = Paths.get("/etc/mime.types"); ++ Path etcMimeTypes = Paths.get("%%LOCALBASE%%/etc/mime.types"); + + return chain(new GnomeFileTypeDetector(), + new MimeTypesFileTypeDetector(userMimeTypes), diff --git a/java/openjdk8/files/patch-jdk-src-solaris-classes-sun-nio-fs-DefaultFileSystemProvider.java b/java/openjdk8/files/patch-jdk-src-solaris-classes-sun-nio-fs-DefaultFileSystemProvider.java new file mode 100644 index 000000000000..ddb2a3d1fa0f --- /dev/null +++ b/java/openjdk8/files/patch-jdk-src-solaris-classes-sun-nio-fs-DefaultFileSystemProvider.java @@ -0,0 +1,38 @@ +--- jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java ++++ jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java +@@ -27,6 +27,8 @@ + + import java.nio.file.spi.FileSystemProvider; + import java.security.AccessController; ++import java.util.Set; ++import java.util.HashSet; + import sun.security.action.GetPropertyAction; + + /** +@@ -36,6 +38,15 @@ + public class DefaultFileSystemProvider { + private DefaultFileSystemProvider() { } + ++ private static final Set<String> validFileSystemProviders ++ = new HashSet<String>(); ++ static { ++ validFileSystemProviders.add("sun.nio.fs.SolarisFileSystemProvider"); ++ validFileSystemProviders.add("sun.nio.fs.LinuxFileSystemProvider"); ++ validFileSystemProviders.add("sun.nio.fs.BsdFileSystemProvider"); ++ validFileSystemProviders.add("sun.nio.fs.MacOSXFileSystemProvider"); ++ } ++ + @SuppressWarnings("unchecked") + private static FileSystemProvider createProvider(String cn) { + Class<FileSystemProvider> c; +@@ -57,6 +68,10 @@ + public static FileSystemProvider create() { + String osname = AccessController + .doPrivileged(new GetPropertyAction("os.name")); ++ String fileSystemProvider = System ++ .getProperty("java.nio.file.spi.DefaultFileSystemProvider"); ++ if (validFileSystemProviders.contains(fileSystemProvider)) ++ return createProvider(fileSystemProvider); + if (osname.equals("SunOS")) + return createProvider("sun.nio.fs.SolarisFileSystemProvider"); + if (osname.equals("Linux")) diff --git a/java/openjdk8/pkg-descr b/java/openjdk8/pkg-descr new file mode 100644 index 000000000000..e9c6f981cf97 --- /dev/null +++ b/java/openjdk8/pkg-descr @@ -0,0 +1,3 @@ +An open-source implementation of the Java Platform, Standard Edition, + +WWW: http://openjdk.java.net/ diff --git a/java/openjdk8/pkg-message b/java/openjdk8/pkg-message new file mode 100644 index 000000000000..a651593720d1 --- /dev/null +++ b/java/openjdk8/pkg-message @@ -0,0 +1,16 @@ +====================================================================== + +This OpenJDK implementation requires fdescfs(5) mounted on /dev/fd and +procfs(5) mounted on /proc. + +If you have not done it yet, please do the following: + + mount -t fdescfs fdesc /dev/fd + mount -t procfs proc /proc + +To make it permanent, you need the following lines in /etc/fstab: + + fdesc /dev/fd fdescfs rw 0 0 + proc /proc procfs rw 0 0 + +====================================================================== |