- Update to openjdk6 u32 which is licensed under the GPL and allows

packages.
- Initial BSD patchset from FreeBSD openjdk6 port.
- New bootstrap method. Since ecj is not able to bootstrap openjdk6
  without heavy patching, use a functional bootjdk to build.
- Add a target for building the bootjdk called build-bootjdk.
- Apply IcedTea AppletHole patches for icedtea-web support.
- Backport patch to serialize gconf client access which corrects
  gconf/dbus related crashes. From Christian Schulte Upstream
  CR 7188755.
- Reapply audio support from jakemsr@.
- Port change for CWM. Recognize CWM as a Non-Reparenting window
  manager.
- Backport various openjdk7/bsd-port upstream fixes both specific
  to OpenBSD and general.
Tested by landry@ espie@ and others.
This commit is contained in:
kurt 2013-02-01 15:34:35 +00:00
parent 8caa4814a1
commit 27d793f51d
89 changed files with 1485 additions and 4467 deletions

View File

@ -1,216 +1,231 @@
# $OpenBSD: Makefile,v 1.37 2013/01/27 20:10:10 kurt Exp $
# $OpenBSD: Makefile,v 1.38 2013/02/01 15:34:35 kurt Exp $
SHARED_ONLY= Yes
ONLY_FOR_ARCHS= amd64 i386
SHARED_ONLY= Yes
ONLY_FOR_ARCHS= amd64 i386
COMMENT-main= Java2(TM) Standard Edition Dev Kit v${V}
COMMENT-jre= Java2(TM) Standard Edition Runtime Environment v${V}
V= 1.6.0.03
PKGNAME= jdk-${V}
PKGNAME-main= jdk-${V}
REVISION-main = 19
PKGNAME-jre= jre-${V}
REVISION-jre = 19
COMMENT-main= Java2(TM) SE Dev Kit v${VERSION}
COMMENT-jre= Java2(TM) SE Runtime Environment v${VERSION}
VERSION= 1.6.0.${UPDATE}
UPDATE= 32
BUILD= b27
PKGNAME= jdk-${VERSION}
PKGNAME-main= jdk-${VERSION}
PKGNAME-jre= jre-${VERSION}
CATEGORIES= devel/jdk java
DPB_PROPERTIES= parallel
# see jaxp/jaxp.properties & jaxws/jaxws.properties
# in ${WRKDIR} for names and download locations of extra distfiles
MULTI_PACKAGES= -main -jre
JDK_SRC= openjdk-6-src-${BUILD}-26_oct_2012.tar.gz
PATCH_SET= openjdk-6u${UPDATE}-patch-set-20130113.zip
PAXP_SRC= jaxp144_04.zip
JAXWS_SRC= jdk6-jaxws2_1_6-2011_06_13.zip
JAF_SRC= jdk6-jaf-b20.zip
HOMEPAGE= https://jdk6.dev.java.net/
DISTFILES= ${JDK_SRC} ${PATCH_SET}:1 ${PAXP_SRC}:2 ${JAXWS_SRC}:3 ${JAF_SRC}:4
EXTRACT_ONLY= ${JDK_SRC} ${PATCH_SET}
DIST_SUBDIR= jdk
MAINTAINER= Kurt Miller <kurt@openbsd.org>
CATEGORIES= devel/jdk java
JRLSRC= jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar
JRLBIN= jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar
JRLMOZ= jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar
PATCHSET= bsd-jdk16-patches-4.tar.bz2
MULTI_PACKAGES= -main -jre
DISTFILES= ${JRLSRC} \
${JRLBIN} \
${JRLMOZ} \
${PATCHSET}
DIST_SUBDIR= jdk
MASTER_SITES= http://download.java.net/jdk6/6u3/promoted/b05/
# Java Research License
# http://www.java.net/jrl.csp
PERMIT_PACKAGE_CDROM= JRL
PERMIT_PACKAGE_FTP= JRL
PERMIT_DISTFILES_CDROM= JRL
PERMIT_DISTFILES_FTP= JRL
NO_REGRESS= Yes
VMEM_WARNING= Yes
BUILD_DEPENDS= archivers/gtar \
archivers/zip \
archivers/unzip \
archivers/bzip2 \
print/cups,-libs \
x11/openmotif
MODULES= converters/libiconv gcc4
MODGCC4_VERSION= 4.6
MODGCC4_ARCHS= *
MODGCC4_LANGS= java
WANTLIB= X11 Xext Xi Xtst c m ossaudio pthread \
sndio stdc++ z
USE_GMAKE= Yes
USE_GROFF = Yes
# Don't call make -jN, instead pass MAKE_JOBS to HOTSPOT_BUILD_JOBS
PARALLEL_BUILD= No
TAR= ${LOCALBASE}/bin/gtar
MAKE_ENV= ALT_MOTIF_DIR="${LOCALBASE}" \
ALT_CUPS_HEADERS_PATH="${LOCALBASE}/include" \
ALT_DEVTOOLS_PATH="${LOCALBASE}/bin" \
SKIP_FASTDEBUG_BUILD=true \
DEV_ONLY=true \
NO_DOCS=true \
CC="${CC}" \
CXX="${CXX}" \
DEFAULT_LIBPATH="/usr/lib:${X11BASE}/lib:${LOCALBASE}/lib" \
USER="${USER}" \
HOTSPOT_BUILD_JOBS=${MAKE_JOBS}
# Error message for distfile.
FETCH_MANUALLY= "You must manually fetch the distribution files, place"
FETCH_MANUALLY+= "them in ${FULLDISTDIR} and then run make again."
FETCH_MANUALLY+= "Get the JDK 6u3 Source file:"
FETCH_MANUALLY+= " http://download.java.net/jdk6/6u3/promoted/b05/${JRLSRC}"
FETCH_MANUALLY+= "and the JDK Binaries file:"
FETCH_MANUALLY+= " http://download.java.net/jdk6/6u3/promoted/b05/${JRLBIN}"
FETCH_MANUALLY+= "and the Mozilla Binaries file:"
FETCH_MANUALLY+= " http://download.java.net/jdk6/6u3/promoted/b05/${JRLMOZ}"
FETCH_MANUALLY+= ""
FETCH_MANUALLY+= "Get the BSD patchset file:"
FETCH_MANUALLY+= " ${PATCHSET}"
FETCH_MANUALLY+= "from http://www.intricatesoftware.com/OpenBSD/java/JDK16JRLConfirm.html"
FLAVORS= no_web with_ipv6
PSEUDO_FLAVORS= native_bootstrap
FLAVORS= with_ipv6
PSEUDO_FLAVORS= native_bootstrap
FLAVOR?=
.if !${FLAVOR:L:Mwith_ipv6}
MAKE_ENV+= DONT_ENABLE_IPV6=YES
.endif
HOMEPAGE= http://openjdk.java.net/
# handle jar files in post-extract
EXTRACT_CASES+= *.jar) true ;;
MASTER_SITES= http://download.java.net/openjdk/jdk6/promoted/${BUILD}/ \
http://openbsd.dead-parrot.de/distfiles/ \
http://distfiles.nl/
MASTER_SITES1= http://www.intricatesoftware.com/distfiles/ \
http://openbsd.dead-parrot.de/distfiles/ \
http://distfiles.nl/
MASTER_SITES2= http://download.java.net/jaxp/openjdk/jdk6/ \
http://icedtea.classpath.org/download/drops/ \
http://openbsd.dead-parrot.de/distfiles/ \
http://distfiles.nl/
MASTER_SITES3= http://download.java.net/glassfish/components/jax-ws/openjdk/jdk6/ \
http://icedtea.classpath.org/download/drops/ \
http://openbsd.dead-parrot.de/distfiles/ \
http://distfiles.nl/
MASTER_SITES4= https://java.net/downloads/jax-ws/OpenJDK6/ \
http://icedtea.classpath.org/download/drops/ \
http://openbsd.dead-parrot.de/distfiles/ \
http://distfiles.nl/
MASTER_SITES5= ${MASTER_SITE_APACHE:=ant/binaries/} \
http://archive.apache.org/dist/ant/binaries/
MAINTAINER= Kurt Miller <kurt@openbsd.org>
# GPLv2 w/CLASSPATH exception
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
USE_GROFF= Yes
NO_REGRESS= Yes
VMEM_WARNING= Yes
BUILD_DEPENDS= archivers/zip \
archivers/unzip \
print/cups,-libs \
x11/openmotif
MODULES= converters/libiconv
WANTLIB= X11 Xext Xi Xtst c freetype m pthread sndio stdc++ z
.if ${FLAVOR:L:Mnative_bootstrap}
INSTALLED!= (pkg_info -e "jdk->=1.6,<1.7" -q && echo yes) || echo no
.if ${INSTALLED:L} != "yes"
ERRORS += "Fatal: This flavor requires an installed 1.6 jdk package"
.endif
BUILD_DEPENDS+= jdk->=1.6,<1.7:devel/jdk/1.6
MAKE_ENV+= ALT_BOOTDIR="${LOCALBASE}/${JDKHOME}"
BUILD_DEPENDS+= jdk->=1.6,<1.7:devel/jdk/1.6 \
devel/apache-ant>=1.8.2
ALT_BOOTDIR= ${LOCALBASE}/${JDKHOME}
.else
DISTFILES+= bsd-jdk16-gensrc.tar.gz \
xalan-j_2_7_0-bin.tar.gz \
ecj-3.7.1.jar
FETCH_MANUALLY+= "Get the file:"
FETCH_MANUALLY+= " bsd-jdk16-gensrc.tar.gz"
FETCH_MANUALLY+= "from http://www.intricatesoftware.com/distfiles/bsd-jdk16-gensrc.tar.gz"
FETCH_MANUALLY+= "Get the Apache Xalan Java file:"
FETCH_MANUALLY+= " xalan-j_2_7_0-bin.tar.gz"
FETCH_MANUALLY+= "from http://archive.apache.org/dist/xml/xalan-j/"
FETCH_MANUALLY+= "Get the Eclipse Java Compiler file:"
FETCH_MANUALLY+= " ecj-3.7.1.jar"
FETCH_MANUALLY+= "from http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.1-201109091335/ecj-3.7.1.jar"
MAKE_ENV+= ALT_BOOTDIR=${WRKDIST} \
ALT_BOOTSTRAP=yes \
ECJ_JAR=${FULLDISTDIR}/ecj-3.7.1.jar
BOOT_JDK= openjdk6-bootjdk-${ARCH}-20130128.tar.gz
APACHE_ANT= apache-ant-1.8.4-bin.tar.gz
DISTFILES+= ${BOOT_JDK}:1 ${APACHE_ANT}:5
EXTRACT_ONLY+= ${BOOT_JDK} ${APACHE_ANT}
MAKE_ENV+= ANT_HOME=${WRKDIST}/apache-ant-1.8.4 \
LD_LIBRARY_PATH=${WRKDIST}/bootjdk-libs
ALT_BOOTDIR= ${WRKDIST}/bootjdk
.endif
.if !${FLAVOR:L:Mno_web}
MAKE_ENV+= BUILD_DEPLOY=true
.else
MAKE_ENV+= BUILD_DEPLOY=false
MESSAGE= ${PKGDIR}/MESSAGE-no_web
USE_GMAKE= Yes
DPB_PROPERTIES= parallel
# Don't call make -jN, instead pass MAKE_JOBS to HOTSPOT_BUILD_JOBS
PARALLEL_BUILD= No
MAKE_ENV+= ALT_BOOTDIR=${ALT_BOOTDIR} \
ALT_FREETYPE_HEADERS_PATH=${X11BASE}/include \
ALT_FREETYPE_LIB_PATH=${X11BASE}/lib \
ALT_MOTIF_DIR="${LOCALBASE}" \
ALT_DROPS_DIR=${FULLDISTDIR} \
ALT_PACKAGE_PATH=${LOCALBASE} \
ALT_X11_PATH=${X11BASE} \
ALT_CACERTS_FILE=${FILESDIR}/cacerts \
SKIP_FASTDEBUG_BUILD=true \
NO_DOCS=true \
MILESTONE=fcs \
BUILD_NUMBER=${BUILD} \
JDK_UPDATE_VERSION=${UPDATE} \
CC="${CC}" \
CXX="${CXX}" \
DEFAULT_LIBPATH="/usr/lib:${X11BASE}/lib:${LOCALBASE}/lib" \
USER="${USER}" \
WARNINGS_ARE_ERRORS="" \
HOTSPOT_BUILD_JOBS=${MAKE_JOBS}
.if !${FLAVOR:L:Mwith_ipv6}
MAKE_ENV+= DONT_ENABLE_IPV6=YES
.endif
JDKHOME= jdk-1.6.0
JREHOME= jre-1.6.0
JDKHOME= jdk-1.6.0
JREHOME= jre-1.6.0
SUBST_VARS= JDKHOME JREHOME
SUBST_VARS= JDKHOME JREHOME
.if ${MACHINE_ARCH} == "i386"
PKG_ARGS+= -Dclient_vm=1
PKG_ARGS+= -Dclient_vm=1
.else
PKG_ARGS+= -Dclient_vm=0
PKG_ARGS+= -Dclient_vm=0
.endif
# Deal with Sun's internal build structure
WRKDIST= ${WRKDIR}
WRKSRC= ${WRKDIR}/control/make
OUTPUTDIR= ${WRKDIR}/control/build/bsd-${MACHINE_ARCH:S/i386/i586/}
JDKIMAGEDIR= ${OUTPUTDIR}/j2sdk-image
JREIMAGEDIR= ${OUTPUTDIR}/j2re-image
WRKDIST= ${WRKDIR}
OUTPUTDIR= ${WRKDIR}/build/bsd-${MACHINE_ARCH:S/i386/i586/}
JDKIMAGEDIR= ${OUTPUTDIR}/j2sdk-image
JREIMAGEDIR= ${OUTPUTDIR}/j2re-image
.include <bsd.own.mk>
COPYDIRS= hotspot/agent/src/os/linux \
hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux \
hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64 \
hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86 \
hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/linux \
hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/linux_amd64 \
hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/linux_x86 \
hotspot/src/os/linux/vm \
hotspot/src/os_cpu/linux_x86/vm \
hotspot/src/os_cpu/linux_zero/vm \
hotspot/make/linux \
hotspot/make/linux/makefiles \
jdk/src/linux/doc/man \
jdk/src/linux/doc/man/ja
ACCEPT_JRL_LICENSE ?= No
.if ${ACCEPT_JRL_LICENSE:L} != "yes"
BROKEN += \n
BROKEN += You must read and accept Sun's JRL license located\n
BROKEN += at ${FILESDIR}/JavaResearchLicense.txt\n
BROKEN += To indicate your acceptance of the JRL add ACCEPT_JRL_LICENSE=Yes\n
BROKEN += to /etc/mk.conf and restart the build
.endif
COPYFILES= hotspot/agent/src/share/classes/sun/jvm/hotspot/LinuxVtblAccess.java \
corba/make/common/Defs-linux.gmk \
corba/make/common/shared/Defs-linux.gmk \
jdk/make/com/sun/tools/attach/mapfile-linux \
jdk/make/common/Defs-linux.gmk \
jdk/make/common/shared/Defs-linux.gmk \
jdk/make/java/nio/mapfile-linux \
jdk/make/netbeans/common/architectures/name-Linux.properties \
jdk/make/sun/awt/mapfile-vers-linux \
jdk/make/tools/sharing/classlist.linux \
jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux \
jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties \
jdk/src/solaris/classes/sun/tools/attach/LinuxAttachProvider.java \
jdk/src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java \
jdk/src/solaris/hpi/include/largefile_linux.h \
jdk/src/solaris/native/java/net/linux_close.c \
jdk/src/solaris/native/sun/tools/attach/LinuxVirtualMachine.c
# create initial bsd src from linux src (except for threads_solaris.c)
post-extract:
@rm -rf ${WRKDIR}/tmp
@mkdir ${WRKDIR}/tmp && \
cd ${WRKDIR}/tmp && \
${CC} ${CFLAGS} -o ${WRKDIR}/tmp/x_x2zip ${FILESDIR}/x_x2zip.c
.for jar in ${JRLSRC} ${JRLBIN} ${JRLMOZ}
@cd ${WRKDIR}/tmp && \
unzip -qo ${FULLDISTDIR}/${jar} X_X && \
./x_x2zip "YES I ACCEPT THE CLICK THROUGH LICENSE. " X_X && \
cd ${WRKDIR} && \
unzip -q ${WRKDIR}/tmp/X_X.zip -x */lib*.so
.endfor
@cd ${WRKDIR} && \
mkdir deploy/src/plugin/share/plugin && \
mv share/plugin/mozilla_headers_18 deploy/src/plugin/share/plugin
@cp -f ${FILESDIR}/cacerts ${WRKDIR}/j2se/src/share/lib/security
@cp ${FILESDIR}/PLATFORM_API_BSDOS_PCM.c ${WRKDIR}/j2se/src/solaris/native/com/sun/media/sound/engine
@rm -rf ${WRKDIR}/tmp ${WRKDIR}/share
@for d in ${COPYDIRS}; do \
mkdir -p `echo ${WRKDIST}/$$d | sed 's/linux/bsd/g;'`; \
cd ${WRKDIST}/$$d; \
for f in *; do \
if [ -f $$f ]; then \
t=`echo ${WRKDIST}/$$d/$$f | sed 's/linux/bsd/g; s/Linux/Bsd/g'`; \
sed 's/linux/bsd/g; s/Linux/Bsd/g' < $$f > $$t; \
fi; \
done; \
done
@for f in ${COPYFILES}; do \
t=`echo $$f | sed 's/linux/bsd/g; s/Linux/Bsd/g'`; \
sed 's/linux/bsd/g; s/Linux/Bsd/g' < ${WRKDIST}/$$f > ${WRKDIST}/$$t; \
done
@sed 's/solaris/bsd/g; s/Solaris/Bsd/g' \
< ${WRKDIST}/jdk/src/solaris/hpi/native_threads/src/threads_solaris.c \
> ${WRKDIST}/jdk/src/solaris/hpi/native_threads/src/threads_bsd.c
@cp ${FILESDIR}/PLATFORM_API_BSDOS_PCM.c \
${WRKDIR}/jdk/src/solaris/native/com/sun/media/sound
@perl -pi -e 's|build-policy install-limited|build-policy install-unlimited|' \
${WRKDIST}/jdk/make/javax/crypto/Makefile
pre-patch:
@cd ${WRKDIR} && \
${PATCH} -p0 -z .orig.bsd --quiet < ${WRKDIR}/jdk16.patches
.if !${FLAVOR:L:Mnative_bootstrap}
post-patch:
@cd ${WRKDIR}/bin && \
chmod +x bootscript
.for prog in java javac javah jar
@cd ${WRKDIR}/bin && \
ln -s bootscript ${prog}
.endfor
.endif
${PATCH} -p0 -z .orig.u${UPDATE} --quiet < ${WRKDIR}/${PATCH_SET:R}
post-build:
@rm -rf ${JDKIMAGEDIR}/man/ja \
${JDKIMAGEDIR}/man/ja_JP.eucJP \
${JREIMAGEDIR}/man/ja \
${JREIMAGEDIR}/man/ja_JP.eucJP
@rm -rf ${JDKIMAGEDIR}/man/ja ${JREIMAGEDIR}/man/ja
do-install:
${INSTALL_DATA_DIR} ${PREFIX}/${JDKHOME}
cd ${JDKIMAGEDIR} && tar -cf - * | tar -C ${PREFIX}/${JDKHOME} -xf -
${INSTALL_DATA_DIR} ${PREFIX}/${JREHOME}
cd ${JREIMAGEDIR} && tar -cf - * | tar -C ${PREFIX}/${JREHOME} -xf -
cd ${WRKDIR} && \
${INSTALL_DATA} JavaResearchLicense.txt ${PREFIX}/${JDKHOME}/LICENSE && \
${INSTALL_DATA} JavaResearchLicense.txt ${PREFIX}/${JDKHOME}/jre/LICENSE && \
${INSTALL_DATA} JavaResearchLicense.txt ${PREFIX}/${JREHOME}/LICENSE
.include <bsd.port.mk>
# The bootjdk is the jdk image with some parts deleted
# and a copy of the system shared libs needed to run it.
# The parts deleted are not needed for bootstrap and would
# require more system shared libs to be saved.
build-bootjdk: ${_BUILD_COOKIE}
@rm -rf ${WRKDIR}/tmp
@mkdir -p ${WRKDIR}/tmp/bootjdk
@mkdir -p ${WRKDIR}/tmp/bootjdk-libs
@cd ${JDKIMAGEDIR} && tar -cf - * | tar -C ${WRKDIR}/tmp/bootjdk -xf -
@cd ${WRKDIR}/tmp/bootjdk/bin && rm appletviewer policytool
@cd ${WRKDIR}/tmp/bootjdk/jre/lib/${ARCH} && rm libnpt.so libinstrument.so libsplashscreen.so xawt/libmawt.so libfontmanager.so
@ldd ${WRKDIR}/tmp/bootjdk/bin/unpack200 | \
grep rlib | cut -d"/" -f 2-20 | \
xargs -I % cp /% ${WRKDIR}/tmp/bootjdk-libs
@cd ${WRKDIR}/tmp && tar czf openjdk6-bootjdk-${ARCH}-$$(date +%Y%m%d).tar.gz bootjdk*
@echo "New bootjdk is located at ${WRKDIR}/tmp/openjdk6-bootjdk-${ARCH}-$$(date +%Y%m%d).tar.gz"

View File

@ -1,35 +1,16 @@
MD5 (jdk/bsd-jdk16-gensrc.tar.gz) = YqixvW5QHuntj2X5muIYEw==
MD5 (jdk/bsd-jdk16-patches-4.tar.bz2) = YyBltgOkKKYDg9t/DLBM3w==
MD5 (jdk/ecj-3.7.1.jar) = XdYKNUidOpzUsUklWSoBZQ==
MD5 (jdk/jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar) = i28bjY3sBRwYOFU5ERFB7A==
MD5 (jdk/jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar) = bcr3rxYhFhet/11nKot59A==
MD5 (jdk/jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar) = gzkDefufMZPpOp1e7Vsx2Q==
MD5 (jdk/xalan-j_2_7_0-bin.tar.gz) = 1SbQhIyIYHzk46Ck7bddUA==
RMD160 (jdk/bsd-jdk16-gensrc.tar.gz) = Jzug24cPOLB/Sydx+OT4icgpG5c=
RMD160 (jdk/bsd-jdk16-patches-4.tar.bz2) = uejP2jkrnE/N6uIs1eiqI6jk2GA=
RMD160 (jdk/ecj-3.7.1.jar) = jfhzWz2GBLB3c0cbqykm/EUTDX0=
RMD160 (jdk/jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar) = fxvCv48G8stpoPfAsC32v6s2cn0=
RMD160 (jdk/jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar) = 6KePLdZ5CJHIE0i1UpkmkryDaXE=
RMD160 (jdk/jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar) = eSRJxzWuLx5FTpC900Bbski15AQ=
RMD160 (jdk/xalan-j_2_7_0-bin.tar.gz) = VCV7ypsrLPuG/Wl08Oj27CD31H8=
SHA1 (jdk/bsd-jdk16-gensrc.tar.gz) = BpnUsDODv/HzF/ydODUBSS/G3NU=
SHA1 (jdk/bsd-jdk16-patches-4.tar.bz2) = iUIf2iB8nGMEftEynEEf3HclN8Q=
SHA1 (jdk/ecj-3.7.1.jar) = W3m/7ghSymheM8q3RJb6NAAnG1s=
SHA1 (jdk/jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar) = xhtWgGJxWxRwvW/B5V+oG+c0iMU=
SHA1 (jdk/jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar) = Sb8hpRWgp7n0W373J3/J09dvkwk=
SHA1 (jdk/jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar) = EqmNoH2CNAWabtr/pgWe/yY35GE=
SHA1 (jdk/xalan-j_2_7_0-bin.tar.gz) = z4jlU+j6W2nfk7rgbtsplS2sWWo=
SHA256 (jdk/bsd-jdk16-gensrc.tar.gz) = /+zotVt3Yaj664FSqGUR6JSzHqikxInwi9SwSoY14cU=
SHA256 (jdk/bsd-jdk16-patches-4.tar.bz2) = XcdTvuFWdvNbBjD4dP3QnhUoIUTdSiXPEiLnwogB+MY=
SHA256 (jdk/ecj-3.7.1.jar) = jquPk1LRyHAsHVtQ2j+CvAx+wt8hZWsv643R3MjbfYs=
SHA256 (jdk/jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar) = C7zELB/3uA2OPqXMB7mmB3j+x6gmc7QrPlS7mnqy6b4=
SHA256 (jdk/jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar) = M23boc1LxqlLzRGFUMXHo6gI5Lvjm7ITQkupiD8gCcQ=
SHA256 (jdk/jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar) = 0ci9lFhM1SgY46HcPwOxELOSQ9VRJQSgnAbFHAadK/k=
SHA256 (jdk/xalan-j_2_7_0-bin.tar.gz) = h4yOtu7hVRrkMMLboFQmMphW/8BBOyAX3S1O5kjFxfc=
SIZE (jdk/bsd-jdk16-gensrc.tar.gz) = 1744
SIZE (jdk/bsd-jdk16-patches-4.tar.bz2) = 960930
SIZE (jdk/ecj-3.7.1.jar) = 1748770
SIZE (jdk/jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar) = 2116124
SIZE (jdk/jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar) = 8608204
SIZE (jdk/jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar) = 116791442
SIZE (jdk/xalan-j_2_7_0-bin.tar.gz) = 13516702
SHA256 (jdk/apache-ant-1.8.4-bin.tar.gz) = Vi8iEuoI3k8/RvJeVFKuuquo6RMvXezVAh2k4HOUUVU=
SHA256 (jdk/jaxp144_04.zip) = SQ9pYhjB/tnLGAaAr4g/4wm0FP7CMunOwZZF4SrQtDw=
SHA256 (jdk/jdk6-jaf-b20.zip) = eMe1ydYnHojuRqut0BimHx6WRfiTbMjfFhfl9PUHQBI=
SHA256 (jdk/jdk6-jaxws2_1_6-2011_06_13.zip) = IpBAVE55H0SQbo57b2+vUDxzCl2FQnUTXzklSQ1cO+M=
SHA256 (jdk/openjdk-6-src-b27-26_oct_2012.tar.gz) = BEw4d7FZQP8E+KqBczfyh4oAzIlnSFRVfxoC8VsYAqA=
SHA256 (jdk/openjdk-6u32-patch-set-20130113.zip) = Vz6NNneua+6oXPxULBDIp3Mm20KS5l+JQsAVbTaKAqE=
SHA256 (jdk/openjdk6-bootjdk-amd64-20130128.tar.gz) = aXuScEcLClXQxOt8FG1jFbScLSuiAwPJxX19+5Yy9x0=
SHA256 (jdk/openjdk6-bootjdk-i386-20130128.tar.gz) = IXeXaXshyig8bKN1U9yOG7qOTMk7Hm4XGHuvx0kGCDg=
SIZE (jdk/apache-ant-1.8.4-bin.tar.gz) = 5425171
SIZE (jdk/jaxp144_04.zip) = 5976385
SIZE (jdk/jdk6-jaf-b20.zip) = 71243
SIZE (jdk/jdk6-jaxws2_1_6-2011_06_13.zip) = 5512710
SIZE (jdk/openjdk-6-src-b27-26_oct_2012.tar.gz) = 45789350
SIZE (jdk/openjdk-6u32-patch-set-20130113.zip) = 155544
SIZE (jdk/openjdk6-bootjdk-amd64-20130128.tar.gz) = 64124771
SIZE (jdk/openjdk6-bootjdk-i386-20130128.tar.gz) = 65882637

View File

@ -1,168 +0,0 @@
JAVA RESEARCH LICENSE Version 1.6
I. DEFINITIONS.
"Licensee" means You and any other party that has entered into and has
in effect a version of this License.
"Modifications" means any change or addition to the Technology.
"Sun" means Sun Microsystems, Inc. and its successors and assignees.
"Research Use" means research, evaluation, or development for the
purpose of advancing knowledge, teaching, learning, or customizing the
Technology or Modifications for personal use. Research Use expressly
excludes use or distribution for direct or indirect commercial
(including strategic) gain or advantage.
"Technology" means the source code and object code of the technology
made available by Sun pursuant to this License.
"Technology Site" means the website designated by Sun for accessing
the Technology.
"You" means the individual executing this License or the legal entity
or entities represented by the individual executing this License.
II. PURPOSE.
Sun is licensing the Technology under this Java Research License (the
"License") to promote research, education, innovation, and development
using the Technology. This License is not intended to permit or
enable access to the Technology for active consultation as part of
creating an independent implementation of the Technology.
COMMERCIAL USE AND DISTRIBUTION OF TECHNOLOGY AND MODIFICATIONS IS
PERMITTED ONLY UNDER A SUN COMMERCIAL LICENSE.
III. RESEARCH USE RIGHTS.
A. License Grant. Subject to the conditions contained herein, Sun
grants to You a non-exclusive, non-transferable, worldwide, and
royalty-free license to do the following for Your Research Use only:
1. Reproduce, create Modifications of, and use the Technology
alone, or with Modifications;
2. Share source code of the Technology alone, or with
Modifications, with other Licensees; and
3. Distribute object code of the Technology, alone, or with
Modifications, to any third parties for Research Use only, under a
license of Your choice that is consistent with this License; and
publish papers and books discussing the Technology which may include
relevant excerpts that do not in the aggregate constitute a
significant portion of the Technology.
B. Residual Rights. If You examine the Technology after accepting
this License and remember anything about it later, You are not
"tainted" in a way that would prevent You from creating or
contributing to an independent implementation, but this License grants
You no rights to Sun's copyrights or patents for use in such an
implementation.
C. No Implied Licenses. Other than the rights granted herein, Sun
retains all rights, title, and interest in Technology, and You retain
all rights, title, and interest in Your Modifications and associated
specifications, subject to the terms of this License.
D. Third Party Software. Portions of the Technology may be
provided with licenses or other notices from third parties that govern
the use of those portions. Any licenses granted hereunder do not alter
any rights and obligations You may have under such licenses, however,
the disclaimer of warranty and limitation of liability provisions in
this License will apply to all Technology in this distribution.
IV. INTELLECTUAL PROPERTY REQUIREMENTS
As a condition to Your License, You agree to comply with the following
restrictions and responsibilities:
A. License and Copyright Notices. You must include a copy of this
Java Research License in a Readme file for any Technology or
Modifications you distribute. You must also include the following
statement, "Use and distribution of this technology is subject to the
Java Research License included herein", (a) once prominently in the
source code tree and/or specifications for Your source code
distributions, and (b) once in the same file as Your copyright or
proprietary notices for Your binary code distributions. You must cause
any files containing Your Modification to carry prominent notice
stating that You changed the files. You must not remove or alter any
copyright or other proprietary notices in the Technology.
B. Licensee Exchanges. Any Technology and Modifications You
receive from any Licensee are governed by this License.
V. GENERAL TERMS.
A. Disclaimer Of Warranties.
THE TECHNOLOGY IS PROVIDED "AS IS", WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, WARRANTIES
THAT THE TECHNOLOGY IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A
PARTICULAR PURPOSE, OR NON-INFRINGING OF THIRD PARTY RIGHTS. YOU
AGREE THAT YOU BEAR THE ENTIRE RISK IN CONNECTION WITH YOUR USE AND
DISTRIBUTION OF ANY AND ALL TECHNOLOGY UNDER THIS LICENSE.
B. Infringement; Limitation Of Liability.
1. If any portion of, or functionality implemented by, the
Technology becomes the subject of a claim or threatened claim of
infringement ("Affected Materials"), Sun may, in its unrestricted
discretion, suspend Your rights to use and distribute the Affected
Materials under this License. Such suspension of rights will be
effective immediately upon Sun's posting of notice of suspension on
the Technology Site.
2. IN NO EVENT WILL SUN BE LIABLE FOR ANY DIRECT, INDIRECT,
PUNITIVE, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES IN CONNECTION
WITH OR ARISING OUT OF THIS LICENSE (INCLUDING, WITHOUT LIMITATION,
LOSS OF PROFITS, USE, DATA, OR ECONOMIC ADVANTAGE OF ANY SORT),
HOWEVER IT ARISES AND ON ANY THEORY OF LIABILITY (including
negligence), WHETHER OR NOT SUN HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE. LIABILITY UNDER THIS SECTION V.B.2 SHALL BE SO LIMITED
AND EXCLUDED, NOTWITHSTANDING FAILURE OF THE ESSENTIAL PURPOSE OF ANY
REMEDY.
C. Termination.
1. You may terminate this License at any time by notifying Sun in a
writing addressed to Sun Microsystems, Inc., 4150 Network Circle,
Santa Clara, California 95054, Attn.: Legal Department/Products and
Technology Law.
2. All Your rights will terminate under this License if You fail to
comply with any of its material terms or conditions and do not cure
such failure within thirty (30) days after becoming aware of such
noncompliance.
3. Upon termination, You must discontinue all uses and distribution
under this agreement, and all provisions of this Section V ("General
Terms") shall survive termination.
D. Miscellaneous.
1. Trademark. You agree to comply with Sun's Trademark & Logo
Usage Requirements, as modified from time to time, available at
http://www.sun.com/policies/trademarks/. Except as expressly provided
in this License, You are granted no rights in or to any Sun trademarks
now or hereafter used or licensed by Sun.
2. Integration. This License represents the complete agreement of
the parties concerning the subject matter hereof.
3. Severability. If any provision of this License is held
unenforceable, such provision shall be reformed to the extent
necessary to make it enforceable unless to do so would defeat the
intent of the parties, in which case, this License shall terminate.
4. Governing Law. This License is governed by the laws of the
United States and the State of California, as applied to contracts
entered into and performed in California between California residents.
In no event shall this License be construed against the drafter.
5. Export Control. As further described at
http://www.sun.com/its, you agree to comply with the U.S. export
controls and trade laws of other countries that apply to Technology
and Modifications.

Binary file not shown.

View File

@ -1,118 +0,0 @@
/*
* Copyright (C) 2007 Greg Lewis. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
*
* THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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.
*/
#include <sys/types.h>
#include <err.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
#ifndef BUFSIZ
#define BUFSIZ 0x10000
#endif
int
main(int argc, char* argv[]) {
char *key;
char *oname;
char buf[BUFSIZ];
size_t keylen, olen;
int ifd, ofd, i, fileoff = 0, bufoff = 0, buflen = 0, eof = 0;
ssize_t bytes;
if (argc < 3) {
errx(1, "Usage: x_x2zip <key> <file>");
}
// Key
key = argv[1];
keylen = strlen(key);
// Open input file
if ((ifd = open(argv[2], O_RDONLY)) == -1) {
err(1, "Can't open input file %s", argv[2]);
}
// Open output file
olen = strlen(argv[2]) + 5;
if ((oname = (char *) malloc(olen)) == NULL) {
err(1, "Can't create output file name");
}
if (strlcpy(oname, argv[2], olen) >= olen) {
err(1, "Can't create output file name");
}
if (strlcat(oname, ".zip", olen) >= olen) {
err(1, "Can't create output file name");
}
if ((ofd = open(oname,
O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR)) == -1) {
err(1, "Can't open output file %s", oname);
}
free(oname);
while (!eof) {
// Read into the buffer
bufoff = 0;
buflen = 0;
while (1) {
if (buflen >= BUFSIZ) {
break;
}
if ((bytes = read(ifd, buf, BUFSIZ - buflen)) == -1) {
err(1, "Error reading input file");
}
if (!bytes) {
eof = 1;
break;
}
buflen += bytes;
}
// Decrypt
for (i = 0; i < buflen; i++) {
buf[i] = buf[i] ^ key[(fileoff + i) % keylen];
}
// Update file offset
fileoff += buflen;
// Output the buffer
bufoff = 0;
while (bufoff < buflen) {
if ((bytes = write(ofd, buf + bufoff, buflen - bufoff)) == -1) {
err(1, "Error writing output file");
}
bufoff += bytes;
}
}
return 0;
}

View File

@ -1,91 +0,0 @@
$OpenBSD: patch-bin_bootscript,v 1.2 2012/10/19 22:29:49 kurt Exp $
--- bin/bootscript.orig Tue Oct 9 14:51:46 2012
+++ bin/bootscript Tue Oct 9 17:24:51 2012
@@ -0,0 +1,87 @@
+#!/bin/sh
+
+progname=`basename $0`
+
+case $progname in
+ java)
+ # this makes sure the sanity check passes
+ case $1 in
+ -version|-fullversion)
+ echo 'java version "1.5.0"'
+ exit 0
+ ;;
+ esac;
+
+ exec egij $@
+ ;;
+ jar)
+ exec egjar $@
+ ;;
+ javah)
+ exec egjavah -force $@
+ ;;
+ javac)
+ # move -J args to egij
+ # ecj doesn't like multiple -source, -target or
+ # -encoding arguments. only keep the last of each
+ # to make ecj happy
+
+ JARGS=""
+ SRC=""
+ TRG=""
+ TRG_ARG=""
+ ENC=""
+ ARGS=""
+
+ while [ $# -gt 0 ]; do
+ case "$1" in
+ -J-Xbootclasspath*gjc.jar)
+ # we're using ecj instead
+ ;;
+ -J-XX:ThreadStackSize=*)
+ JARGS="$JARGS -Xss${1#-J-XX:ThreadStackSize=}K"
+ ;;
+ -J*)
+ JARGS="$JARGS ${1#-J}"
+ ;;
+ -source)
+ SRC="$1 $2"
+ shift
+ ;;
+ -target)
+ TRG="$1 $2"
+ TRG_ARG="$2"
+ shift
+ ;;
+ -encoding)
+ ENC="$1 $2"
+ shift
+ ;;
+ *)
+ ARGS="$ARGS $1"
+ ;;
+ esac;
+
+ shift
+ done
+
+ # ecj errors out if -target is specified but not -source
+ if [ "$TRG" != "" -a "$SRC" = "" ] ; then
+ if [ "$TRG_ARG" = "jsr14" ] ; then
+ TRG_ARG="1.5"
+ fi
+ SRC="-source $TRG_ARG"
+ fi
+
+ # if no source specified use 1.5
+ if [ "$SRC" == "" ] ; then
+ SRC="-source 1.5"
+ fi
+
+ exec egij $JARGS -classpath $ECJ_JAR \
+ org.eclipse.jdt.internal.compiler.batch.Main -nowarn \
+ $SRC $TRG $ENC $ARGS
+ ;;
+esac;
+
+exit 1

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-corba_make_common_Defs-bsd_gmk,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- corba/make/common/Defs-bsd.gmk.orig Tue Jan 29 09:23:08 2013
+++ corba/make/common/Defs-bsd.gmk Tue Jan 29 09:23:20 2013
@@ -268,7 +268,7 @@ override LIBPOSIX4 =
override LIBSOCKET =
override LIBTHREAD =
override MOOT_PRIORITIES = true
-override NO_INTERRUPTIBLE_IO = false
+override NO_INTERRUPTIBLE_IO = true
override OPENWIN_HOME = $(X11_PATH)
override OPENWIN_LIB = $(OPENWIN_HOME)/lib
override OTHER_M4FLAGS = -D__GLIBC__ -DGNU_ASSEMBLER

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-corba_make_common_shared_Defs-utils_gmk,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- corba/make/common/shared/Defs-utils.gmk.orig Tue Jan 29 10:42:47 2013
+++ corba/make/common/shared/Defs-utils.gmk Tue Jan 29 10:43:14 2013
@@ -230,7 +230,9 @@ ifeq ($(PLATFORM),bsd)
else
UNZIP = $(UTILS_DEVTOOL_PATH)unzip
endif
- ifneq ($(OS_VENDOR), OpenBSD)
+ ifeq ($(OS_VENDOR), OpenBSD)
+ NAWK = $(UTILS_USR_BIN_PATH)awk
+ else
CPIO = $(UTILS_USR_BIN_PATH)cpio
TAR = $(UTILS_USR_BIN_PATH)tar
endif

View File

@ -0,0 +1,37 @@
$OpenBSD: patch-corba_make_common_shared_Platform_gmk,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- corba/make/common/shared/Platform.gmk.orig Tue Jan 29 11:40:15 2013
+++ corba/make/common/shared/Platform.gmk Tue Jan 29 11:42:07 2013
@@ -286,7 +286,7 @@ ifeq ($(SYSTEM_UNAME), OpenBSD)
PLATFORM = bsd
OS_NAME = openbsd
OS_VENDOR = OpenBSD
- REQUIRED_OS_VERSION = 4.2
+ REQUIRED_OS_VERSION = 5.1
endif
# Platform settings specific to BSD
@@ -478,14 +478,7 @@ endif
# build machines and adjustments will be made to prevent excessing
# system swapping during the build.
# If we don't know, assume 512. Subtract 128 from MB for VM MAX.
-# Don't set VM max over 1024-128=896, except on OpenBSD where
-# 736 is the max.
-ifeq ($(OS_VENDOR), OpenBSD)
- ABS_MAX_MEMORY := "736"
-else
- ABS_MAX_MEMORY := "896"
-endif
-
+# Don't set VM max over 1024-128=896.
ifneq ($(MB_OF_MEMORY),)
LOW_MEMORY_MACHINE := $(shell \
if [ $(MB_OF_MEMORY) -le 512 ] ; then \
@@ -497,7 +490,7 @@ ifneq ($(MB_OF_MEMORY),)
if [ $(MB_OF_MEMORY) -le 1024 ] ; then \
expr $(MB_OF_MEMORY) '-' 128 ; \
else \
- echo $(ABS_MAX_MEMORY); \
+ echo "896"; \
fi)
MIN_VM_MEMORY := $(shell \
if [ $(MAX_VM_MEMORY) -le 128 ] ; then \

View File

@ -1,38 +0,0 @@
$OpenBSD: patch-deploy_make_common_DeployRules-solaris_gmk,v 1.3 2011/10/07 02:04:12 kurt Exp $
--- deploy/make/common/DeployRules-solaris.gmk.orig Thu Sep 29 13:19:57 2011
+++ deploy/make/common/DeployRules-solaris.gmk Thu Sep 29 22:36:13 2011
@@ -34,9 +34,9 @@ ifeq ($(PLATFORM), solaris)
LDFLAGS = -xnolib -norunpath -lCrun -lnsl -ldl -lc
else
- CC = $(COMPILER_PATH)gcc
- CXX = $(COMPILER_PATH)g++
- LINK = $(COMPILER_PATH)g++
+ CC ?= $(COMPILER_PATH)gcc
+ CXX ?= $(COMPILER_PATH)g++
+ LINK = $(CXX)
ifeq ($(OS_VENDOR),Apple)
# Option used to create a shared library
@@ -61,8 +61,8 @@ $(DEPLOY_COMMON_LIB): $(SO_o)
$(DEPLOYOBJDIR)/%.o: %.c
@$(prep-target)
- $(CC) -I$(BOOTDIR)/include \
- -I$(BOOTDIR)/include/$(PLATFORM_JNI_INCLUDE) \
+ $(CC) -I$(JAVAWS_BOOTDIR)/include \
+ -I$(JAVAWS_BOOTDIR)/include/$(PLATFORM_JNI_INCLUDE) \
-I$(DEPLOY_SHARE_SRC)/native \
-I$(DEPLOY_PLATFORM_SRC)/native \
-I$(DEPLOYCLASSHDRDIR) \
@@ -71,8 +71,8 @@ $(DEPLOYOBJDIR)/%.o: %.c
$(DEPLOYOBJDIR)/%.o: %.cpp
@$(prep-target)
- $(CXX) -I$(BOOTDIR)/include \
- -I$(BOOTDIR)/include/$(PLATFORM_JNI_INCLUDE) \
+ $(CXX) -I$(JAVAWS_BOOTDIR)/include \
+ -I$(JAVAWS_BOOTDIR)/include/$(PLATFORM_JNI_INCLUDE) \
-I$(DEPLOY_SHARE_SRC)/native \
-I$(DEPLOY_PLATFORM_SRC)/native \
-I$(DEPLOYCLASSHDRDIR) \

View File

@ -0,0 +1,124 @@
$OpenBSD: patch-hotspot_agent_src_os_bsd_StubDebuggerLocal_c,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- hotspot/agent/src/os/bsd/StubDebuggerLocal.c.orig Tue Jun 2 13:02:17 2009
+++ hotspot/agent/src/os/bsd/StubDebuggerLocal.c Tue Jun 2 13:02:28 2009
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2002-2007 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ *
+ */
+
+#include <stdlib.h>
+#include <jni.h>
+
+#define CHECK_EXCEPTION_(value) if ((*env)->ExceptionOccurred(env)) { return value; }
+#define CHECK_EXCEPTION if ((*env)->ExceptionOccurred(env)) { return;}
+#define THROW_NEW_DEBUGGER_EXCEPTION_(str, value) { throw_new_debugger_exception(env, str); return value; }
+#define THROW_NEW_DEBUGGER_EXCEPTION(str) { throw_new_debugger_exception(env, str); return;}
+
+static void throw_new_debugger_exception(JNIEnv* env, const char* errMsg) {
+ (*env)->ThrowNew(env, (*env)->FindClass(env, "sun/jvm/hotspot/debugger/DebuggerException"), errMsg);
+}
+
+/*
+ * Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
+ * Method: init0
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_init0
+ (JNIEnv *env, jclass cls) {
+}
+
+JNIEXPORT jint JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_getAddressSize
+ (JNIEnv *env, jclass cls)
+{
+#ifdef _LP64
+ return 8;
+#else
+ return 4;
+#endif
+
+}
+
+/*
+ * Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
+ * Method: attach0
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_attach0__I
+ (JNIEnv *env, jobject this_obj, jint jpid) {
+
+ THROW_NEW_DEBUGGER_EXCEPTION("Can't attach to the process");
+}
+
+/*
+ * Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
+ * Method: attach0
+ * Signature: (Ljava/lang/String;Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_attach0__Ljava_lang_String_2Ljava_lang_String_2
+ (JNIEnv *env, jobject this_obj, jstring execName, jstring coreName) {
+ THROW_NEW_DEBUGGER_EXCEPTION("Can't attach to the core file");
+}
+
+/*
+ * Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
+ * Method: detach0
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_detach0
+ (JNIEnv *env, jobject this_obj) {
+}
+
+/*
+ * Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
+ * Method: lookupByName0
+ * Signature: (Ljava/lang/String;Ljava/lang/String;)J
+ */
+JNIEXPORT jlong JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_lookupByName0
+ (JNIEnv *env, jobject this_obj, jstring objectName, jstring symbolName) {
+ return 0;
+}
+
+/*
+ * Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
+ * Method: lookupByAddress0
+ * Signature: (J)Lsun/jvm/hotspot/debugger/cdbg/ClosestSymbol;
+ */
+JNIEXPORT jobject JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_lookupByAddress0
+ (JNIEnv *env, jobject this_obj, jlong addr) {
+ return 0;
+}
+
+/*
+ * Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
+ * Method: readBytesFromProcess0
+ * Signature: (JJ)Lsun/jvm/hotspot/debugger/ReadResult;
+ */
+JNIEXPORT jbyteArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_readBytesFromProcess0
+ (JNIEnv *env, jobject this_obj, jlong addr, jlong numBytes) {
+ return 0;
+}
+
+JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_getThreadIntegerRegisterSet0
+ (JNIEnv *env, jobject this_obj, jint lwp_id) {
+ return 0;
+}

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-hotspot_build_bsd_Makefile,v 1.1 2011/10/07 02:04:12 kurt Exp $
--- hotspot/build/bsd/Makefile.orig Mon Sep 26 16:56:07 2011
+++ hotspot/build/bsd/Makefile Mon Sep 26 16:59:17 2011
@@ -237,8 +237,7 @@ endif
XSLT_CHECK = $(RUN.JAVAP) javax.xml.transform.TransformerFactory
# If not found then fail fast.
check_j2se_version:
- $(QUIETLY) $(XSLT_CHECK) > /dev/null 2>&1; \
- if [ $$? -ne 0 ]; then \
+ $(QUIETLY) if [ `$(RUN.JAVA) -fullversion 2>&1 | grep -c '1\.[4567]'` -eq 0 ] ; then \
$(RUN.JAVA) -version; \
echo "*** An XSLT processor (J2SE 1.4.x or newer) is required" \
"to bootstrap this build" 1>&2; \

View File

@ -1,22 +0,0 @@
$OpenBSD: patch-hotspot_build_bsd_makefiles_gcc_make,v 1.2 2008/03/17 03:28:26 kurt Exp $
--- hotspot/build/bsd/makefiles/gcc.make.orig Sun Mar 16 09:33:24 2008
+++ hotspot/build/bsd/makefiles/gcc.make Sun Mar 16 09:35:24 2008
@@ -13,8 +13,7 @@ UNAME.s = $(shell $(UNAME) -s)
#------------------------------------------------------------------------
# CC, CPP & AS
-CPP = g++
-CC = gcc
+CPP = $(CXX)
AS = $(CC) -c -x assembler-with-cpp
# -dumpversion in gcc-2.91 shows "egcs-2.91.66". In later version, it only
@@ -93,7 +92,7 @@ endif
WARNINGS_ARE_ERRORS = -Werror
# Except for a few acceptable ones
ACCEPTABLE_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare
-CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS)
+CFLAGS_WARN/DEFAULT = $(ACCEPTABLE_WARNINGS)
# Special cases
CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
CFLAGS_WARN/os_bsd_i486.o = $(CFLAGS_WARN/DEFAULT) -Wno-deprecated-declarations

View File

@ -1,20 +0,0 @@
$OpenBSD: patch-hotspot_build_bsd_makefiles_jvmti_make,v 1.1 2011/10/07 02:04:12 kurt Exp $
--- hotspot/build/bsd/makefiles/jvmti.make.orig Mon Sep 26 17:04:53 2011
+++ hotspot/build/bsd/makefiles/jvmti.make Mon Sep 26 17:05:24 2011
@@ -39,7 +39,15 @@ JvmtiGenClass = $(JvmtiOutDir)/jvmtiGen.class
JvmtiGeneratedFiles = $(JvmtiGeneratedNames:%=$(JvmtiOutDir)/%)
-XSLT = $(QUIETLY) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiGen
+ifndef ALT_BOOTSTRAP
+ XSLT = $(QUIETLY) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiGen
+else
+XSLT = $(QUIETLY) $(RUN.JAVA) \
+ -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl \
+ -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \
+ -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \
+ -classpath $(GAMMADIR)/../xalan-j_2_7_0/xalan.jar:$(JvmtiOutDir) jvmtiGen
+endif
.PHONY: all jvmtidocs clean cleanall

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-hotspot_build_bsd_makefiles_sa_make,v 1.1 2011/10/07 02:04:12 kurt Exp $
--- hotspot/build/bsd/makefiles/sa.make.orig Mon Sep 26 19:36:05 2011
+++ hotspot/build/bsd/makefiles/sa.make Mon Sep 26 20:17:48 2011
@@ -28,7 +28,7 @@ AGENT_ALLFILES := $(shell /bin/test -d $(AGENT_DIR) &&
all:
if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" ] ; then \
- $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
+ echo Disabled $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
fi
$(GENERATED)/sa-jdi.jar: $(AGENT_ALLFILES)

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-hotspot_make_Makefile,v 1.1 2011/10/07 02:04:12 kurt Exp $
--- hotspot/make/Makefile.orig Mon Sep 26 19:51:17 2011
+++ hotspot/make/Makefile Mon Sep 26 19:52:48 2011
@@ -488,7 +488,7 @@ ifeq ($(OSNAME),bsd)
ifneq ($(ARCH),ia64)
# FIXME: Reenable when SA builds correctly.
# EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so
- EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
+# EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
endif
endif

View File

@ -0,0 +1,77 @@
$OpenBSD: patch-hotspot_src_os_bsd_vm_attachListener_bsd_cpp,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- hotspot/src/os/bsd/vm/attachListener_bsd.cpp.orig Tue Jan 29 12:03:16 2013
+++ hotspot/src/os/bsd/vm/attachListener_bsd.cpp Tue Jan 29 12:08:58 2013
@@ -170,41 +170,58 @@ extern "C" {
// Initialization - create a listener socket and bind it to a file
int BsdAttachListener::init() {
- char path[UNIX_PATH_MAX]; // socket file
- int listener; // listener socket (file descriptor)
+ char path[UNIX_PATH_MAX]; // socket file
+ char initial_path[UNIX_PATH_MAX]; // socket file during setup
+ int listener; // listener socket (file descriptor)
// register function to cleanup
::atexit(listener_cleanup);
+ int n = snprintf(path, UNIX_PATH_MAX, "%s/.java_pid%d",
+ os::get_temp_directory(), os::current_process_id());
+ if (n < (int)UNIX_PATH_MAX) {
+ n = snprintf(initial_path, UNIX_PATH_MAX, "%s.tmp", path);
+ }
+ if (n >= (int)UNIX_PATH_MAX) {
+ return -1;
+ }
+
// create the listener socket
listener = ::socket(PF_UNIX, SOCK_STREAM, 0);
if (listener == -1) {
return -1;
}
- int res = -1;
+ // bind socket
struct sockaddr_un addr;
addr.sun_family = AF_UNIX;
-
- snprintf(path, UNIX_PATH_MAX, "%s/.java_pid%d",
- os::get_temp_directory(), os::current_process_id());
- strcpy(addr.sun_path, path);
- ::unlink(path);
- res = ::bind(listener, (struct sockaddr*)&addr, sizeof(addr));
+ strcpy(addr.sun_path, initial_path);
+ ::unlink(initial_path);
+ int res = ::bind(listener, (struct sockaddr*)&addr, sizeof(addr));
if (res == -1) {
RESTARTABLE(::close(listener), res);
return -1;
}
- set_path(path);
- // put in listen mode and set permission and ownership
- if ((::listen(listener, 5) == -1) || (::chmod(path, S_IREAD|S_IWRITE) == -1) ||
- (::chown(path, geteuid(), getegid()) == -1)) {
+ // put in listen mode, set permissions, and rename into place
+ res = ::listen(listener, 5);
+ if (res == 0) {
+ RESTARTABLE(::chmod(initial_path, S_IREAD|S_IWRITE), res);
+ if (res == 0) {
+ // make sure the file is owned by the effective user and effective group
+ // (this is the default on linux, but not on mac os)
+ RESTARTABLE(::chown(initial_path, geteuid(), getegid()), res);
+ if (res == 0) {
+ res = ::rename(initial_path, path);
+ }
+ }
+ }
+ if (res == -1) {
RESTARTABLE(::close(listener), res);
- ::unlink(path);
- set_path(NULL);
+ ::unlink(initial_path);
return -1;
}
+ set_path(path);
set_listener(listener);
return 0;

View File

@ -1,40 +1,26 @@
$OpenBSD: patch-hotspot_src_os_bsd_vm_os_bsd_cpp,v 1.2 2008/10/22 16:02:24 kurt Exp $
--- hotspot/src/os/bsd/vm/os_bsd.cpp.orig Mon Oct 20 00:41:13 2008
+++ hotspot/src/os/bsd/vm/os_bsd.cpp Mon Oct 20 08:47:04 2008
@@ -277,7 +277,11 @@ void os::Bsd::initialize_system_info() {
int mib[2];
size_t len;
int cpu_val;
+#ifdef HW_USERMEM64
+ int64_t mem_val;
+#else
u_long mem_val;
+#endif
/* get processors count via hw.ncpus sysctl */
mib[0] = CTL_HW;
@@ -293,7 +297,11 @@ void os::Bsd::initialize_system_info() {
* instead of hw.physmem because we need size of allocatable memory
*/
mib[0] = CTL_HW;
+#ifdef HW_USERMEM64
+ mib[1] = HW_USERMEM64;
+#else
mib[1] = HW_USERMEM;
+#endif
len = sizeof(mem_val);
if (sysctl(mib, 2, &mem_val, &len, NULL, 0) != -1)
_physical_memory = mem_val;
@@ -303,10 +311,10 @@ void os::Bsd::initialize_system_info() {
#ifdef __OpenBSD__
{
// limit _physical_memory memory view on OpenBSD since
- // datasize maximum limits us anyway.
+ // datasize limits us anyway.
struct rlimit limits;
getrlimit(RLIMIT_DATA, &limits);
- _physical_memory = MIN2(_physical_memory, (julong)limits.rlim_max);
+ _physical_memory = MIN2(_physical_memory, (julong)limits.rlim_cur);
}
#endif
$OpenBSD: patch-hotspot_src_os_bsd_vm_os_bsd_cpp,v 1.3 2013/02/01 15:34:35 kurt Exp $
--- hotspot/src/os/bsd/vm/os_bsd.cpp.orig Tue Jan 29 11:05:21 2013
+++ hotspot/src/os/bsd/vm/os_bsd.cpp Tue Jan 29 11:08:40 2013
@@ -4815,12 +4815,17 @@ int os::available(int fd, jlong *bytes) {
}
int os::socket_available(int fd, jint *pbytes) {
- // Bsd doc says EINTR not returned, unlike Solaris
- int ret = ::ioctl(fd, FIONREAD, pbytes);
+ if (fd < 0)
+ return OS_OK;
- //%% note ioctl can return 0 when successful, JVM_SocketAvailable
- // is expected to return 0 on failure and 1 on success to the jdk.
- return (ret < 0) ? 0 : 1;
+ int ret;
+
+ RESTARTABLE(::ioctl(fd, FIONREAD, pbytes), ret);
+
+ //%% note ioctl can return 0 when successful, JVM_SocketAvailable
+ // is expected to return 0 on failure and 1 on success to the jdk.
+
+ return (ret == OS_ERR) ? 0 : 1;
}
// Map a block of memory.

View File

@ -0,0 +1,29 @@
$OpenBSD: patch-hotspot_src_os_bsd_vm_os_bsd_inline_hpp,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- hotspot/src/os/bsd/vm/os_bsd.inline.hpp.orig Tue Jan 29 11:08:49 2013
+++ hotspot/src/os/bsd/vm/os_bsd.inline.hpp Tue Jan 29 11:10:34 2013
@@ -191,11 +191,11 @@ inline size_t os::write(int fd, const void *buf, unsig
}
inline int os::close(int fd) {
- return ::close(fd);
+ RESTARTABLE_RETURN_INT(::close(fd));
}
inline int os::socket_close(int fd) {
- return ::close(fd);
+ RESTARTABLE_RETURN_INT(::close(fd));
}
inline int os::socket(int domain, int type, int protocol) {
@@ -260,9 +260,9 @@ inline int os::accept(int fd, struct sockaddr *him, in
// fetch it's value, this cast is safe for now. The java.net group
// may need and want to change this interface someday if socklen_t goes
// to 64 bits on some platform that we support.
- // Bsd doc says this can't return EINTR, unlike accept() on Solaris
- return ::accept(fd, him, (socklen_t *)len);
+ // At least OpenBSD and FreeBSD can return EINTR from accept.
+ RESTARTABLE_RETURN_INT(::accept(fd, him, (socklen_t *)len));
}
inline int os::recvfrom(int fd, char *buf, int nBytes, int flags,

View File

@ -1,38 +0,0 @@
$OpenBSD: patch-hotspot_src_os_bsd_vm_perfMemory_bsd_cpp,v 1.1 2008/06/28 12:34:58 kurt Exp $
--- hotspot/src/os/bsd/vm/perfMemory_bsd.cpp.orig Thu Jun 26 17:16:43 2008
+++ hotspot/src/os/bsd/vm/perfMemory_bsd.cpp Thu Jun 26 17:17:37 2008
@@ -223,7 +223,6 @@ static bool is_directory_secure(const char* path) {
//
static char* get_user_name(uid_t uid) {
-#ifndef _ALLBSD_SOURCE
struct passwd pwent;
// determine the max pwbuf size from sysconf, and hardcode
@@ -274,26 +273,6 @@ static char* get_user_name(uid_t uid) {
FREE_C_HEAP_ARRAY(char, pwbuf);
return user_name;
-
-#else
-
- struct passwd* p = getpwuid(uid);
- if (PrintMiscellaneous && Verbose) {
- if (p == NULL) {
- jio_fprintf(stderr, "Could not retrieve passwd entry: %s\n",
- strerror(errno));
- }
- else {
- jio_fprintf(stderr, "Could not determine user name: %s\n",
- p->pw_name == NULL ? "pw_name = NULL" :
- "pw_name zero length");
- }
- }
-
- char* user_name = NEW_C_HEAP_ARRAY(char, strlen(p->pw_name) + 1);
- strcpy(user_name, p->pw_name);
- return user_name;
-#endif
}
// return the name of the user that owns the process identified by vmid.

View File

@ -1,28 +0,0 @@
$OpenBSD: patch-hotspot_src_os_cpu_bsd_amd64_vm_os_bsd_amd64_cpp,v 1.1 2008/03/17 03:28:26 kurt Exp $
--- hotspot/src/os_cpu/bsd_amd64/vm/os_bsd_amd64.cpp.orig Sun Mar 16 09:33:24 2008
+++ hotspot/src/os_cpu/bsd_amd64/vm/os_bsd_amd64.cpp Sun Mar 16 09:47:09 2008
@@ -449,6 +449,24 @@ JVM_handle_bsd_signal(int sig,
thread->doing_unsafe_access()) {
stub = StubRoutines::handler_for_unsafe_access();
}
+
+ // jni_fast_Get<Primitive>Field can trap at certain pc's if a GC kicks in
+ // and the heap gets shrunk before the field access.
+ if ((sig == SIGSEGV) || (sig == SIGBUS)) {
+ address addr = JNI_FastGetField::find_slowcase_pc(pc);
+ if (addr != (address)-1) {
+ stub = addr;
+ }
+ }
+
+ // Check to see if we caught the safepoint code in the
+ // process of write protecting the memory serialization page.
+ // It write enables the page immediately after protecting it
+ // so we can just return to retry the write.
+ if ((sig == SIGSEGV || sig == SIGBUS) &&
+ os::is_memory_serialize_page(thread, (address)info->si_addr)) {
+ return true;
+ }
}
if (stub != NULL) {

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-hotspot_src_share_vm_runtime_os_cpp,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- hotspot/src/share/vm/runtime/os.cpp.orig Tue Jan 29 11:01:19 2013
+++ hotspot/src/share/vm/runtime/os.cpp Tue Jan 29 11:02:27 2013
@@ -391,6 +391,13 @@ void* os::native_java_library() {
if (_native_java_library == NULL) {
vm_exit_during_initialization("Unable to load native library", ebuf);
}
+
+#if defined(__OpenBSD__)
+ // Work-around OpenBSD's lack of $ORIGIN support by pre-loading libnet.so
+ // ignore errors
+ dll_build_name(buffer, sizeof(buffer), Arguments::get_dll_dir(), "net");
+ dll_load(buffer, ebuf, sizeof(ebuf));
+#endif
}
static jboolean onLoaded = JNI_FALSE;
if (onLoaded) {

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-hotspot_src_share_vm_utilities_elfFile_hpp,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- hotspot/src/share/vm/utilities/elfFile.hpp.orig Mon Jan 14 21:53:54 2013
+++ hotspot/src/share/vm/utilities/elfFile.hpp Mon Jan 14 21:54:21 2013
@@ -27,7 +27,11 @@
#ifndef _WINDOWS
+#if defined(__OpenBSD__)
+#include <sys/exec_elf.h>
+#else
#include <elf.h>
+#endif
#include <stdio.h>
#ifdef _LP64

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-j2se_make_common_Defs-bsd_gmk,v 1.1 2008/12/22 13:16:56 kurt Exp $
--- j2se/make/common/Defs-bsd.gmk.orig Sat Dec 20 23:00:33 2008
+++ j2se/make/common/Defs-bsd.gmk Sat Dec 20 23:01:56 2008
@@ -347,6 +347,14 @@ override WRITE_LIBVERSION = false
# installation area.
override USE_EXECNAME = true
+ifeq ($(OS_VENDOR), FreeBSD)
+ SYSTEM_ZLIB = true
+endif
+
+ifeq ($(OS_VENDOR), OpenBSD)
+ SYSTEM_ZLIB = true
+endif
+
#
# Japanese manpages
#

View File

@ -1,23 +0,0 @@
$OpenBSD: patch-j2se_make_common_Program_gmk,v 1.1 2008/12/22 13:16:56 kurt Exp $
--- j2se/make/common/Program.gmk.orig Sun Dec 21 09:15:57 2008
+++ j2se/make/common/Program.gmk Sun Dec 21 17:56:38 2008
@@ -56,6 +56,9 @@ ifeq ($(PLATFORM), bsd)
LDFLAGS += $(OUTPUTDIR)/tmp/java/jli/$(OBJDIRNAME)/static/libjli.a
LDFLAGS += -Wl,--no-whole-archive
endif
+ ifeq ($(SYSTEM_ZLIB),true)
+ OTHER_LDLIBS += -lz
+ endif
endif
ifneq (,$(findstring $(PLATFORM), linux solaris)) # UNIX systems
LDFLAGS += -L $(LIBDIR)/$(LIBARCH)/jli
@@ -242,7 +245,9 @@ OTHER_CPPFLAGS += -DHAVE_GETHRTIME
endif
OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)/bin -I$(LAUNCHER_PLATFORM_SRC)/bin
+ifneq ($(SYSTEM_ZLIB),true)
OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
+endif
# this may not be necessary...
ifeq ($(PLATFORM), windows)

View File

@ -1,11 +0,0 @@
$OpenBSD: patch-j2se_make_common_Release_gmk,v 1.1 2011/10/07 02:04:12 kurt Exp $
--- j2se/make/common/Release.gmk.orig Fri Sep 30 16:36:59 2011
+++ j2se/make/common/Release.gmk Fri Sep 30 17:18:19 2011
@@ -487,6 +487,7 @@ $(NOT_RT_JAR_LIST): FRC
$(ECHO) "sun/tools/jstack/" >> $@
$(ECHO) "sun/tools/jinfo/" >> $@
$(ECHO) "sun/tools/jmap/" >> $@
+ $(ECHO) "java/net/URLClassLoader\$$4\$$1.class" >> $@
ifeq ($(PLATFORM), windows)

View File

@ -1,25 +0,0 @@
$OpenBSD: patch-j2se_make_common_shared_Compiler-gcc_gmk,v 1.1.1.1 2007/11/19 03:19:44 kurt Exp $
--- j2se/make/common/shared/Compiler-gcc.gmk.orig Wed Oct 10 22:18:01 2007
+++ j2se/make/common/shared/Compiler-gcc.gmk Wed Oct 10 22:19:33 2007
@@ -76,17 +76,17 @@ endif
ifeq ($(PLATFORM), bsd)
# Settings specific to BSD
- CC = $(COMPILER_PATH)gcc
- CPP = $(COMPILER_PATH)gcc -E
+ CC ?= $(COMPILER_PATH)gcc
+ CPP = $(CC) -E
# statically link libstdc++ before C++ ABI is stablized on Linux
STATIC_CXX = false
ifeq ($(STATIC_CXX),true)
# g++ always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++"
# We need to use gcc to statically link the C++ runtime. gcc and g++ use
# the same subprocess to compile C++ files, so it is OK to build using gcc.
- CXX = $(COMPILER_PATH)gcc
+ CXX = $(CC)
else
- CXX = $(COMPILER_PATH)g++
+ CXX ?= $(COMPILER_PATH)g++
endif
REQUIRED_CC_VER = 3.3
REQUIRED_GCC_VER = 3.3.*

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-j2se_make_common_shared_Defs-utils_gmk,v 1.1 2010/09/03 19:37:57 naddy Exp $
--- j2se/make/common/shared/Defs-utils.gmk.orig Fri Sep 3 13:02:16 2010
+++ j2se/make/common/shared/Defs-utils.gmk Fri Sep 3 13:03:20 2010
@@ -176,6 +176,10 @@ ifeq ($(SYSTEM_UNAME),NetBSD)
NAWK = $(USRBIN_PATH)awk
endif
+ifeq ($(SYSTEM_UNAME),OpenBSD)
+ NAWK = $(USRBIN_PATH)awk
+endif
+
ifeq ($(SYSTEM_UNAME),Darwin)
NAWK = $(USRBIN_PATH)awk
endif

View File

@ -1,55 +0,0 @@
$OpenBSD: patch-j2se_make_java_jli_Makefile,v 1.1 2008/12/22 13:16:56 kurt Exp $
--- j2se/make/java/jli/Makefile.orig Sun Dec 21 09:15:57 2008
+++ j2se/make/java/jli/Makefile Sun Dec 21 12:11:41 2008
@@ -26,8 +26,10 @@ MS_RUNTIME_STATIC = true
include $(BUILDDIR)/common/Defs.gmk
+ifneq ($(SYSTEM_ZLIB),true)
ZLIB_VERSION = 1.1.3
ZIP_SRC = $(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION)
+endif
LAUNCHER_SHARE_SRC = $(SHARE_SRC)/bin
LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)/bin
@@ -38,7 +40,9 @@ FILES_c = \
$(CTARGDIR)parse_manifest.c \
$(CTARGDIR)version_comp.c \
$(CTARGDIR)wildcard.c \
- $(CTARGDIR)jli_util.c \
+ $(CTARGDIR)jli_util.c
+ifneq ($(SYSTEM_ZLIB),true)
+FILES_c += \
$(CTARGDIR)inflate.c \
$(CTARGDIR)infblock.c \
$(CTARGDIR)inftrees.c \
@@ -47,6 +51,7 @@ FILES_c = \
$(CTARGDIR)infutil.c \
$(CTARGDIR)zadler32.c \
$(CTARGDIR)zutil.c
+endif
OTHER_CPPFLAGS += -DEXPAND_CLASSPATH_WILDCARDS
@@ -80,7 +85,11 @@ endif
OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)
OTHER_INCLUDES += -I$(LAUNCHER_PLATFORM_SRC)
+ifneq ($(SYSTEM_ZLIB),true)
OTHER_INCLUDES += -I$(ZIP_SRC)
+else
+LDLIBS += -lz
+endif
#
# Library to compile.
@@ -139,5 +148,7 @@ endif # PLATFORM
#
# Add to ambient vpath so we pick up the library files
#
-vpath %.c $(LAUNCHER_SHARE_SRC) $(ZIP_SRC)
-
+vpath %.c $(LAUNCHER_SHARE_SRC)
+ifneq ($(SYSTEM_ZLIB),true)
+vpath %.c $(ZIP_SRC)
+endif

View File

@ -1,25 +0,0 @@
$OpenBSD: patch-j2se_make_java_text_Makefile,v 1.1 2011/10/07 02:04:12 kurt Exp $
--- j2se/make/java/text/Makefile.orig Thu Sep 29 20:52:26 2011
+++ j2se/make/java/text/Makefile Thu Sep 29 21:16:38 2011
@@ -62,18 +62,18 @@ BUILDER_CLASS = $(GENBIDOUT)/GenerateBreakIteratorData
$(BUILDER_CLASS): $(BUILDER)
$(prep-target)
- $(JAVAC_BOOT) -d $(GENBIDOUT) -sourcepath $(GENBIDSRC) $(BUILDER)
+ $(JAVAC) -d $(GENBIDOUT) -sourcepath $(GENBIDSRC) $(BUILDER)
@$(java-vm-cleanup)
$(BIRULES_CLASS): $(BIRULES)
$(prep-target)
- $(JAVAC_BOOT) -d $(GENBIDOUT) \
+ $(JAVAC) -d $(GENBIDOUT) \
-sourcepath $(SHARE_SRC)/classes/sun/text/resources $(BIRULES)
@$(java-vm-cleanup)
$(BIINFO_CLASS): $(BIINFO)
$(prep-target)
- $(JAVAC_BOOT) -d $(GENBIDOUT) \
+ $(JAVAC) -d $(GENBIDOUT) \
-sourcepath $(SHARE_SRC)/classes/sun/text/resources $(BIINFO)
@$(java-vm-cleanup)

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-j2se_make_javax_sound_FILES_c_gmk,v 1.1 2010/07/02 01:43:12 jakemsr Exp $
--- j2se/make/javax/sound/FILES_c.gmk.orig Sun Dec 13 22:08:54 2009
+++ j2se/make/javax/sound/FILES_c.gmk Sun Dec 13 22:10:14 2009
@@ -58,7 +58,8 @@ FILES_bsd = \
$(CTARGDIR)HAE_API_BSDOS.c \
$(CTARGDIR)HAE_API_BSDOS_Capture.c \
$(CTARGDIR)HAE_API_MacOS.c \
- $(CTARGDIR)HAE_API_MacOS_Capture.c
+ $(CTARGDIR)HAE_API_MacOS_Capture.c \
+ $(CTARGDIR)PLATFORM_API_BSDOS_PCM.c
FILES_windows = \
$(CTARGDIR)HAE_API_WinOS.c \

View File

@ -1,18 +0,0 @@
$OpenBSD: patch-j2se_make_javax_sound_Makefile,v 1.1 2010/07/02 01:43:12 jakemsr Exp $
--- j2se/make/javax/sound/Makefile.orig Mon Dec 14 03:10:20 2009
+++ j2se/make/javax/sound/Makefile Mon Dec 14 03:22:20 2009
@@ -105,9 +105,12 @@ ifeq ($(PLATFORM), bsd)
INCLUDE_MIDI = TRUE
# build with empty ports
INCLUDE_PORTS = TRUE
- # build with empty direct audio
+ # build with direct audio
INCLUDE_DAUDIO = TRUE
- ifeq ($(OS_VENDOR), OpenBSD)
+ CPPFLAGS += -DUSE_DAUDIO=TRUE
+ # sndio for DirectAudio, ossaudio for HAE
+ LDFLAGS += -lsndio
+ ifeq ($(OS_VENDOR), OpenBSD)
LDFLAGS += -lossaudio
endif
endif # PLATFORM bsd

View File

@ -1,45 +0,0 @@
$OpenBSD: patch-j2se_make_sun_splashscreen_FILES_c_gmk,v 1.1 2008/12/22 13:16:56 kurt Exp $
--- j2se/make/sun/splashscreen/FILES_c.gmk.orig Sun Dec 21 18:17:04 2008
+++ j2se/make/sun/splashscreen/FILES_c.gmk Sun Dec 21 18:22:34 2008
@@ -27,20 +27,6 @@ FILES_c = \
$(CTARGDIR)dgif_lib.c \
$(CTARGDIR)gif_err.c \
$(CTARGDIR)gifalloc.c \
- $(CTARGDIR)compress.c \
- $(CTARGDIR)deflate.c \
- $(CTARGDIR)gzio.c \
- $(CTARGDIR)infblock.c \
- $(CTARGDIR)infcodes.c \
- $(CTARGDIR)inffast.c \
- $(CTARGDIR)inflate.c \
- $(CTARGDIR)inftrees.c \
- $(CTARGDIR)infutil.c \
- $(CTARGDIR)trees.c \
- $(CTARGDIR)uncompr.c \
- $(CTARGDIR)zadler32.c \
- $(CTARGDIR)zcrc32.c \
- $(CTARGDIR)zutil.c \
$(CTARGDIR)jcomapi.c \
$(CTARGDIR)jdapimin.c \
$(CTARGDIR)jdapistd.c \
@@ -86,3 +72,20 @@ FILES_c = \
$(CTARGDIR)jfdctfst.c \
$(CTARGDIR)jfdctint.c
+ifneq ($(SYSTEM_ZLIB),true)
+FILES_c += \
+ $(CTARGDIR)compress.c \
+ $(CTARGDIR)deflate.c \
+ $(CTARGDIR)gzio.c \
+ $(CTARGDIR)infblock.c \
+ $(CTARGDIR)infcodes.c \
+ $(CTARGDIR)inffast.c \
+ $(CTARGDIR)inflate.c \
+ $(CTARGDIR)inftrees.c \
+ $(CTARGDIR)infutil.c \
+ $(CTARGDIR)trees.c \
+ $(CTARGDIR)uncompr.c \
+ $(CTARGDIR)zadler32.c \
+ $(CTARGDIR)zcrc32.c \
+ $(CTARGDIR)zutil.c
+endif

View File

@ -1,25 +0,0 @@
$OpenBSD: patch-j2se_make_sun_splashscreen_Makefile,v 1.1 2008/12/22 13:16:56 kurt Exp $
--- j2se/make/sun/splashscreen/Makefile.orig Sun Dec 21 09:08:35 2008
+++ j2se/make/sun/splashscreen/Makefile Sun Dec 21 09:10:46 2008
@@ -70,13 +70,20 @@ endif # PLATFORM
vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/splashscreen
vpath %.c $(SHARE_SRC)/native/$(PKGDIR)
vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/giflib
+ifneq ($(SYSTEM_ZLIB),true)
vpath %.c $(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
+endif
vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/libpng
vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/image/jpeg
vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen
CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen -I$(SHARE_SRC)/native/$(PKGDIR)/splashscreen
-CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/image/jpeg -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
+CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/image/jpeg
+ifneq ($(SYSTEM_ZLIB),true)
+CPPFLAGS += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
+else
+OTHER_LDLIBS += -lz
+endif
#
# Has been converted to the JNI: generate JNI-style header files

View File

@ -1,28 +0,0 @@
$OpenBSD: patch-j2se_make_sun_text_Makefile,v 1.1 2011/10/07 02:04:12 kurt Exp $
--- j2se/make/sun/text/Makefile.orig Thu Sep 29 21:14:15 2011
+++ j2se/make/sun/text/Makefile Thu Sep 29 21:15:00 2011
@@ -72,7 +72,7 @@ BUILDER_CLASS = $(GENBIDOUT)/GenerateBreakIteratorData
$(GENBIDOUT)/SupplementaryCharacterData.class
$(BUILDER_CLASS): $(GENBIDOUT) $(BUILDER)
- $(JAVAC_BOOT) -d $(GENBIDOUT) -sourcepath $(GENBIDSRC) $(BUILDER)
+ $(JAVAC) -d $(GENBIDOUT) -sourcepath $(GENBIDSRC) $(BUILDER)
@$(java-vm-cleanup)
$(GENBIDOUT):
@@ -80,13 +80,13 @@ $(GENBIDOUT):
$(BIRULES_CLASS): $(GENBIDOUT)/sun/text/resources $(BIRULES)
$(RM) $@
- $(JAVAC_BOOT) -d $(GENBIDOUT) \
+ $(JAVAC) -d $(GENBIDOUT) \
-sourcepath $(SHARE_SRC)/classes/sun/text/resources $(BIRULES)
@$(java-vm-cleanup)
$(BIINFO_CLASS): $(GENBIDOUT)/sun/text/resources $(BIINFO)
$(RM) $@
- $(JAVAC_BOOT) -d $(GENBIDOUT) \
+ $(JAVAC) -d $(GENBIDOUT) \
-sourcepath $(SHARE_SRC)/classes/sun/text/resources $(BIINFO)
@$(java-vm-cleanup)

View File

@ -1,67 +0,0 @@
$OpenBSD: patch-j2se_src_share_classes_java_lang_ClassLoader_java,v 1.1.1.1 2007/11/19 03:19:44 kurt Exp $
--- j2se/src/share/classes/java/lang/ClassLoader.java.orig Thu Apr 12 04:43:44 2007
+++ j2se/src/share/classes/java/lang/ClassLoader.java Wed Oct 10 17:42:40 2007
@@ -9,6 +9,7 @@ package java.lang;
import java.io.InputStream;
import java.io.IOException;
import java.io.File;
+import java.io.FilenameFilter;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.net.MalformedURLException;
@@ -29,6 +30,7 @@ import java.util.Set;
import java.util.Stack;
import java.util.Map;
import java.util.Vector;
+import java.util.Arrays;
import sun.misc.ClassFileTransformer;
import sun.misc.CompoundEnumeration;
import sun.misc.Resource;
@@ -1683,18 +1685,43 @@ public abstract class ClassLoader {
}
private static boolean loadLibrary0(Class fromClass, final File file) {
- Boolean exists = (Boolean)
+ File libfile = (File)
AccessController.doPrivileged(new PrivilegedAction() {
+ class LibraryFileFilter implements FilenameFilter {
+ String lib_name;
+ LibraryFileFilter(String lib_name) { this.lib_name = lib_name; }
+ public boolean accept(File dir, String name) {
+ if (name.startsWith(lib_name)) {
+ return name.substring(lib_name.length()).matches("\056[0-9]+\056[0-9]+$");
+ }
+ return false;
+ }
+ }
+
public Object run() {
- return new Boolean(file.exists());
+ if (file.exists())
+ return file;
+ // if file is unversioned, check for a versioned one in same dir
+ if (file.getName().endsWith(".so")) {
+ File dir = file.getParentFile();
+ if (dir != null) {
+ String liblist[] = dir.list(new LibraryFileFilter(file.getName()));
+ if (liblist != null && liblist.length > 0) {
+ // return the highest versioned lib
+ Arrays.sort(liblist);
+ return new File(dir, liblist[liblist.length - 1]);
+ }
+ }
+ }
+ return null;
}
});
- if (!exists.booleanValue()) {
+ if (libfile == null) {
return false;
}
String name;
try {
- name = file.getCanonicalPath();
+ name = libfile.getCanonicalPath();
} catch (IOException e) {
return false;
}

View File

@ -1,30 +0,0 @@
$OpenBSD: patch-j2se_src_share_classes_java_lang_Double_java,v 1.1 2011/10/07 02:04:12 kurt Exp $
--- j2se/src/share/classes/java/lang/Double.java.orig Thu Sep 29 13:44:58 2011
+++ j2se/src/share/classes/java/lang/Double.java Thu Sep 29 13:45:43 2011
@@ -59,7 +59,7 @@ public final class Double extends Number implements Co
* <code>0x1.fffffffffffffP+1023</code> and also equal to
* <code>Double.longBitsToDouble(0x7fefffffffffffffL)</code>.
*/
- public static final double MAX_VALUE = 0x1.fffffffffffffP+1023; // 1.7976931348623157e+308
+ public static final double MAX_VALUE = 1.7976931348623157e+308; // 0x1.fffffffffffffP+1023
/**
* A constant holding the smallest positive normal value of type
@@ -69,7 +69,7 @@ public final class Double extends Number implements Co
*
* @since 1.6
*/
- public static final double MIN_NORMAL = 0x1.0p-1022; // 2.2250738585072014E-308
+ public static final double MIN_NORMAL = 2.2250738585072014E-308; // 0x1.0p-1022
/**
* A constant holding the smallest positive nonzero value of type
@@ -78,7 +78,7 @@ public final class Double extends Number implements Co
* <code>0x0.0000000000001P-1022</code> and also equal to
* <code>Double.longBitsToDouble(0x1L)</code>.
*/
- public static final double MIN_VALUE = 0x0.0000000000001P-1022; // 4.9e-324
+ public static final double MIN_VALUE = 4.9e-324; // 0x0.0000000000001P-1022
/**
* Maximum exponent a finite {@code double} variable may have.

View File

@ -1,30 +0,0 @@
$OpenBSD: patch-j2se_src_share_classes_java_lang_Float_java,v 1.1 2011/10/07 02:04:12 kurt Exp $
--- j2se/src/share/classes/java/lang/Float.java.orig Thu Sep 29 13:42:28 2011
+++ j2se/src/share/classes/java/lang/Float.java Thu Sep 29 13:45:01 2011
@@ -59,7 +59,7 @@ public final class Float extends Number implements Com
* <code>0x1.fffffeP+127f</code> and also equal to
* <code>Float.intBitsToFloat(0x7f7fffff)</code>.
*/
- public static final float MAX_VALUE = 0x1.fffffeP+127f; // 3.4028235e+38f
+ public static final float MAX_VALUE = 3.4028235e+38f; // 0x1.fffffeP+127f
/**
* A constant holding the smallest positive normal value of type
@@ -69,7 +69,7 @@ public final class Float extends Number implements Com
*
* @since 1.6
*/
- public static final float MIN_NORMAL = 0x1.0p-126f; // 1.17549435E-38f
+ public static final float MIN_NORMAL = 1.17549435E-38f; // 0x1.0p-126f
/**
* A constant holding the smallest positive nonzero value of type
@@ -77,7 +77,7 @@ public final class Float extends Number implements Com
* hexadecimal floating-point literal <code>0x0.000002P-126f</code>
* and also equal to <code>Float.intBitsToFloat(0x1)</code>.
*/
- public static final float MIN_VALUE = 0x0.000002P-126f; // 1.4e-45f
+ public static final float MIN_VALUE = 1.4e-45f; // 0x0.000002P-126f
/**
* Maximum exponent a finite {@code float} variable may have. It

View File

@ -1,92 +0,0 @@
$OpenBSD: patch-j2se_src_share_classes_java_util_Calendar_java,v 1.1 2009/03/01 20:43:09 naddy Exp $
--- j2se/src/share/classes/java/util/Calendar.java.orig Tue Sep 25 00:44:04 2007
+++ j2se/src/share/classes/java/util/Calendar.java Sat Feb 28 09:35:28 2009
@@ -23,9 +23,14 @@ package java.util;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import java.io.OptionalDataException;
import java.io.Serializable;
+import java.security.AccessControlContext;
import java.security.AccessController;
+import java.security.PermissionCollection;
+import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
+import java.security.ProtectionDomain;
import java.text.DateFormat;
import java.text.DateFormatSymbols;
import sun.util.BuddhistCalendar;
@@ -2599,6 +2604,18 @@ public abstract class Calendar implements Serializable
}
}
+ private static class CalendarAccessControlContext {
+ private static final AccessControlContext INSTANCE;
+ static {
+ RuntimePermission perm = new RuntimePermission("accessClassInPackage.sun.util.calendar");
+ PermissionCollection perms = perm.newPermissionCollection();
+ perms.add(perm);
+ INSTANCE = new AccessControlContext(new ProtectionDomain[] {
+ new ProtectionDomain(null, perms)
+ });
+ }
+ }
+
/**
* Reconstitutes this object from a stream (i.e., deserialize it).
*/
@@ -2628,18 +2645,31 @@ public abstract class Calendar implements Serializable
serialVersionOnStream = currentSerialVersion;
// If there's a ZoneInfo object, use it for zone.
+ ZoneInfo zi = null;
try {
- ZoneInfo zi = (ZoneInfo) AccessController.doPrivileged(
- new PrivilegedExceptionAction() {
- public Object run() throws Exception {
- return input.readObject();
- }
- });
- if (zi != null) {
- zone = zi;
- }
- } catch (Exception e) {
+ zi = AccessController.doPrivileged(
+ new PrivilegedExceptionAction<ZoneInfo>() {
+ public ZoneInfo run() throws Exception {
+ return (ZoneInfo) input.readObject();
+ }
+ },
+ CalendarAccessControlContext.INSTANCE);
+ } catch (PrivilegedActionException pae) {
+ Exception e = pae.getException();
+ if (!(e instanceof OptionalDataException)) {
+ if (e instanceof RuntimeException) {
+ throw (RuntimeException) e;
+ } else if (e instanceof IOException) {
+ throw (IOException) e;
+ } else if (e instanceof ClassNotFoundException) {
+ throw (ClassNotFoundException) e;
+ }
+ throw new RuntimeException(e);
+ }
}
+ if (zi != null) {
+ zone = zi;
+ }
// If the deserialized object has a SimpleTimeZone, try to
// replace it with a ZoneInfo equivalent (as of 1.4) in order
@@ -2647,9 +2677,9 @@ public abstract class Calendar implements Serializable
// implementation as much as possible.
if (zone instanceof SimpleTimeZone) {
String id = zone.getID();
- TimeZone zi = TimeZone.getTimeZone(id);
- if (zi != null && zi.hasSameRules(zone) && zi.getID().equals(id)) {
- zone = zi;
+ TimeZone tz = TimeZone.getTimeZone(id);
+ if (tz != null && tz.hasSameRules(zone) && tz.getID().equals(id)) {
+ zone = tz;
}
}
}

View File

@ -1,16 +0,0 @@
$OpenBSD: patch-j2se_src_share_classes_sun_misc_FloatingDecimal_java,v 1.1 2011/02/05 23:11:18 ian Exp $
# Fix for DoS caused by very small subnormal double, original fix at
# https://bugs.openjdk.java.net/show_bug.cgi?id=100119
--- j2se/src/share/classes/sun/misc/FloatingDecimal.java.orig Sat Feb 5 08:25:48 2011
+++ j2se/src/share/classes/sun/misc/FloatingDecimal.java Sat Feb 5 08:31:10 2011
@@ -1529,7 +1529,7 @@ public class FloatingDecimal{
if ( (cmpResult = bigB.cmp( bigD ) ) > 0 ){
overvalue = true; // our candidate is too big.
diff = bigB.sub( bigD );
- if ( (bigIntNBits == 1) && (bigIntExp > -expBias) ){
+ if ( (bigIntNBits == 1) && (bigIntExp > -expBias+1) ){
// candidate is a normalized exact power of 2 and
// is too big. We will be subtracting.
// For our purposes, ulp is the ulp of the

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-j2se_src_share_classes_sun_security_provider_Sun_java,v 1.1.1.1 2007/11/19 03:19:44 kurt Exp $
--- j2se/src/share/classes/sun/security/provider/Sun.java.orig Thu Apr 12 04:48:44 2007
+++ j2se/src/share/classes/sun/security/provider/Sun.java Wed Oct 10 17:52:20 2007
@@ -261,7 +261,7 @@ public final class Sun extends Provider {
// name of the *Security* property
private final static String PROP_RNDSOURCE = "securerandom.source";
- final static String URL_DEV_RANDOM = "file:/dev/random";
+ final static String URL_DEV_RANDOM = "file:/dev/srandom";
final static String URL_DEV_URANDOM = "file:/dev/urandom";
private static final String seedSource;

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-j2se_src_share_native_com_sun_media_sound_Platform_c,v 1.1 2010/07/02 01:43:12 jakemsr Exp $
--- j2se/src/share/native/com/sun/media/sound/Platform.c.orig Mon Dec 14 03:26:44 2009
+++ j2se/src/share/native/com/sun/media/sound/Platform.c Mon Dec 14 12:04:38 2009
@@ -88,8 +88,7 @@ JNIEXPORT jint JNICALL Java_com_sun_media_sound_Platfo
case com_sun_media_sound_Platform_FEATURE_PORTS:
return com_sun_media_sound_Platform_LIB_MAIN;
case com_sun_media_sound_Platform_FEATURE_DIRECT_AUDIO:
- // XXXBSD: When native Direct Audio support is ported change
- // this back to returning com_sun_media_sound_Platform_LIB_MAIN
+ return com_sun_media_sound_Platform_LIB_MAIN;
return 0;
}
#endif

View File

@ -1,52 +0,0 @@
$OpenBSD: patch-j2se_src_solaris_bin_java_md_c,v 1.1 2008/03/17 03:28:26 kurt Exp $
--- j2se/src/solaris/bin/java_md.c.orig Sun Mar 16 09:33:26 2008
+++ j2se/src/solaris/bin/java_md.c Sun Mar 16 09:33:27 2008
@@ -1032,21 +1032,28 @@ uint64_t
physical_memory(void) {
#if defined(_ALLBSD_SOURCE)
+ uint64_t result;
+ size_t len;
+#ifdef HW_PHYSMEM64
+ int64_t physmem;
+ int mib[2] = { CTL_HW, HW_PHYSMEM64 };
+#else
+ unsigned long physmem;
+ int mib[2] = { CTL_HW, HW_PHYSMEM };
+#endif
- unsigned long result;
- int mib[2];
- size_t rlen;
-
/* fetch sysctl(hw.physmem) value */
- mib[0] = CTL_HW;
- mib[1] = HW_PHYSMEM;
- rlen = sizeof(result);
- if (sysctl(mib, 2, &result, &rlen, NULL, 0) == -1)
- result = 256 * MB;
+ len = sizeof(result);
+ if (sysctl(mib, 2, &physmem, &len, NULL, 0) == -1)
+ physmem = 256 * MB;
+ result = (uint64_t)physmem;
+
+# define UINT64_FORMAT "%" PRIu64
+
if (_launcher_debug) {
- printf( " physical memory: %ju (%.3fGB)\n",
- (uintmax_t) result, result / (double) GB);
+ printf( " physical memory: " UINT64_FORMAT " (%.3fGB)\n",
+ result, result / (double) GB);
}
#else /* !_ALLBSD_SOURCE */
@@ -1389,7 +1396,7 @@ physical_processors(void) {
}
}
if (_launcher_debug) {
- printf("physical processors: %lu\n", result);
+ printf("physical processors: %lu\n", (unsigned long)result);
}
return result;

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-j2se_src_solaris_classes_sun_security_provider_NativePRNG_java,v 1.1.1.1 2007/11/19 03:19:44 kurt Exp $
--- j2se/src/solaris/classes/sun/security/provider/NativePRNG.java.orig Thu Apr 12 04:52:33 2007
+++ j2se/src/solaris/classes/sun/security/provider/NativePRNG.java Wed Oct 10 17:52:37 2007
@@ -46,7 +46,7 @@ public final class NativePRNG extends SecureRandomSpi
private static final long serialVersionUID = -6599091113397072932L;
// name of the pure random file (also used for setSeed())
- private static final String NAME_RANDOM = "/dev/random";
+ private static final String NAME_RANDOM = "/dev/srandom";
// name of the pseudo random file
private static final String NAME_URANDOM = "/dev/urandom";

View File

@ -1,15 +0,0 @@
$OpenBSD: patch-j2se_src_solaris_hpi_native_threads_include_threads_md_h,v 1.1 2012/03/20 16:57:58 kurt Exp $
--- j2se/src/solaris/hpi/native_threads/include/threads_md.h.orig Tue Mar 13 16:42:45 2012
+++ j2se/src/solaris/hpi/native_threads/include/threads_md.h Tue Mar 13 16:57:21 2012
@@ -162,6 +162,11 @@ struct sys_thread {
sem_t sem_selfsuspend;
int selfsuspended;
#endif
+#ifdef __OpenBSD__
+ sem_t sem_suspended;
+ sem_t sem_selfsuspend;
+ int selfsuspended;
+#endif
#ifdef USE_MUTEX_HANDSHAKE
new_thr_cond_t ntcond;
#else

View File

@ -1,697 +0,0 @@
$OpenBSD: patch-j2se_src_solaris_hpi_native_threads_src_threads_bsd_c,v 1.1 2012/03/20 16:57:58 kurt Exp $
--- j2se/src/solaris/hpi/native_threads/src/threads_bsd.c.orig Tue Mar 13 15:21:19 2012
+++ j2se/src/solaris/hpi/native_threads/src/threads_bsd.c Tue Mar 13 17:34:45 2012
@@ -1,407 +1,382 @@
/*
- * @(#)threads_solaris.c 1.15 05/11/17
+ * @(#)threads_linux.c 1.10 05/11/17
*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
/*
- * Implementation of HPI that can not be expressed with POSIX threads.
+ * Implementation of notposix.h on Linux.
*/
-#ifdef __APPLE__
+#include <pthread.h>
+#include <signal.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <time.h>
-/* We need the mach API, and this file has to be included before any other system includes.
- * Also, java and mach both define thread_state_t */
-#define thread_state_t mach_thread_state_t
-#include <mach/mach.h>
-#undef thread_state_t
-
-#endif
-
-
#include "hpi_impl.h"
#include "monitor_md.h"
#include "threads_md.h"
#include "np.h"
-#include <sys/types.h>
-#include <sys/sysctl.h>
+#undef LOG_THREADS
-#include <pthread.h>
-#if defined(__FreeBSD__) || defined(__OpenBSD__)
-#include <pthread_np.h>
-#endif
-#ifdef __NetBSD__
-#include <errno.h>
-#define pthread_attr_get_np(a, b) 0
-#define pthread_suspend_all_np() 0
-#define pthread_resume_all_np() 0
-#endif
+/* Global lock used when calling np_suspend and np_resume */
+static pthread_mutex_t sr_lock;
-#include <time.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/signal.h>
-#include <sys/resource.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
+/* Semaphore used to acknowledge when the handler has received HANDLER_SIG */
+static sem_t sr_sem;
-/*
- * Suspend a thread. Used to implement java.lang.Thread.suspend(),
- * which is deprecated.
- */
-#ifdef __APPLE__
-int
-np_suspend(sys_thread_t *tid)
-{
- if (thread_suspend(pthread_mach_thread_np(tid->sys_thread)) == KERN_SUCCESS)
- return SYS_OK;
- else
- return SYS_ERR;
-}
-#else
-int
-np_suspend(sys_thread_t *tid)
-{
- return pthread_suspend_np(tid->sys_thread);
-}
-#endif
+/* The tid of the thread being suspended/resumed */
+static sys_thread_t *sr_tid;
+int sr_sigsusp;
+int sr_sigresu;
/*
- * Resume a suspended thread. Used to implement java.lang.Thread.resume(),
- * which is deprecated.
+ * Handler function invoked when a thread's execution is suspended
+ * We have to be careful that only async-safe functions are
+ * called here. I'm not even sure if calling sysThreadSelf is safe so
+ * we temporarily stash SP in a global variable instead.
*/
-#ifdef __APPLE__
-int
-np_continue(sys_thread_t *tid)
-{
- if (thread_resume(pthread_mach_thread_np(tid->sys_thread)) == KERN_SUCCESS)
- return SYS_OK;
- else
- return SYS_ERR;
-}
+static void
+#ifdef SA_SIGINFO
+susp_handler(int sig, siginfo_t* info, void* arg)
#else
-int
-np_continue(sys_thread_t *tid)
+susp_handler(int sig)
+#endif
{
- return pthread_resume_np(tid->sys_thread);
+ sys_thread_t *tid = sr_tid;
+ sigset_t set;
+ /* Save the current SP */
+ tid->sp = &tid;
+ sem_post(&sr_sem);
+ sigfillset(&set);
+ sigdelset(&set,(sr_sigresu));
+ /* block until we receive resume signal. */
+ sigsuspend(&set);
}
-#endif
-/*
- * If there is any initialization is required by the non-POSIX parts.
- */
-void np_initialize_thread(sys_thread_t *tid)
+static void
+#ifdef SA_SIGINFO
+resu_handler(int sig, siginfo_t* info, void* arg)
+#else
+resu_handler(int sig)
+#endif
{
return;
}
-
/*
- * Internal helper function to get stack information about specified thread.
+ * Initialize signal handlers for suspend and resume}.
*/
-#ifdef __APPLE__
-static int
-get_stackinfo(pthread_t tid, void **addr, long *sizep)
+int
+np_initialize()
{
- void *stacktop = pthread_get_stackaddr_np(tid);
- *sizep = pthread_get_stacksize_np(tid);
- *addr = stacktop - *sizep;
+ struct sigaction act;
+ char *s;
+ int err;
- return (SYS_OK);
-}
-#elif defined(__OpenBSD__)
-static int
-get_stackinfo(pthread_t tid, void **addr, long *sizep)
-{
- stack_t ss;
+ /* Signal numbers used to suspend and resume */
+#if __GLIBC__ == 2 && __GLIBC_MINOR__ == 0
+#ifdef SIGUNUSED
+ sr_sigsusp = SIGUNUSED;
+#else
+ sr_sigsusp = SIGLOST;
+#endif
+#ifdef SIGPWR
+ sr_sigresu = SIGPWR;
+#else
+ sr_sigresu = SIGXFSZ;
+#endif
+#else
+ sr_sigsusp = SIGXCPU;
+ sr_sigresu = SIGXFSZ;
+#endif
- if (pthread_stackseg_np(tid, &ss) == 0) {
- *addr = (void *)(ss.ss_sp) - ss.ss_size;
- *sizep = (long)(ss.ss_size);
- return SYS_OK;
- } else {
- return SYS_ERR; /* pthreads_stackseg_np failed. */
+ /* Set up signal handler for suspend and resume */
+#if defined(SA_SIGINFO) && !defined(__sparc__)
+ act.sa_handler = 0;
+ act.sa_sigaction = susp_handler;
+#else
+ act.sa_handler = (__sighandler_t) susp_handler;
+#endif
+#ifdef SA_SIGINFO
+ act.sa_flags = SA_RESTART | SA_SIGINFO;
+#else
+ act.sa_flags = SA_RESTART;
+#endif
+ sigfillset(&act.sa_mask);
+ if (sigaction(sr_sigsusp, &act, 0) == -1) {
+ return -1;
}
-}
+#if defined(SA_SIGINFO) && !defined(__sparc__)
+ act.sa_handler = 0;
+ act.sa_sigaction = resu_handler;
#else
-static int
-get_stackinfo(pthread_t tid, pthread_attr_t attr, void **addr, long *sizep)
+ act.sa_handler = (__sighandler_t) resu_handler;
+#endif
+#ifdef SA_SIGINFO
+ act.sa_flags = SA_SIGINFO;
+#else
+ act.sa_flags = 0;
+#endif
+ sigfillset(&act.sa_mask);
+ if (sigaction(sr_sigresu, &act, 0) == -1) {
+ return -1;
+ }
+
+ /* Initialize semaphore used by np_{suspend/resume} */
+ if (sem_init(&sr_sem, 0, 0) == -1) {
+ return SYS_ERR;
+ }
+
+ /* Initialize mutex used by np_{suspend/resume} */
+ err = mutexInit(&sr_lock);
+ sysAssert(err == 0);
+
+ return SYS_OK;
+}
+
+int
+np_initial_suspend(sys_thread_t* tid)
{
- size_t s;
- void *p;
- int ret = SYS_ERR;
+ int count;
- if (pthread_attr_get_np(tid, &attr) != 0)
- goto err;
- if (pthread_attr_getstackaddr(&attr, &p) != 0)
- goto err;
- if (pthread_attr_getstacksize(&attr, &s) != 0)
- goto err;
- *addr = p;
- *sizep = s;
- ret = SYS_OK;
-err:
+ tid->selfsuspended = (tid == sysThreadSelf());
+ sysAssert(tid->selfsuspended);
- return (ret);
-}
+ count = tid->suspend_count++;
+ sysAssert(count == 0);
+
+#ifdef LOG_THREADS
+ dprintf(2,
+ "[Initial self-suspend [tid = %ld, sys_thread = %ld]\n",
+ pthread_self(), tid->sys_thread);
#endif
+ /* Order should not matter but doing the post first should be faster */
+ sem_post(&tid->sem_suspended);
+ do {
+ sem_wait(&tid->sem_selfsuspend);
+ } while (tid->selfsuspended); /* paranoid */
+ return 0;
+}
-/*
- * Get the stack start address, and max stack size for the current thread.
- */
+
int
-np_stackinfo(void **addr, long *sizep)
+np_suspend(sys_thread_t *tid)
{
-#if defined(__OpenBSD__) || defined(__APPLE__)
- return(get_stackinfo(pthread_self(), addr, sizep));
-#else
- pthread_attr_t attr;
- int ret = SYS_ERR;
+ int count, ret = 0;
- if (pthread_attr_init(&attr) == 0) {
- ret = get_stackinfo(pthread_self(), attr, addr, sizep);
- pthread_attr_destroy(&attr);
- }
+ int err = mutexLock(&sr_lock);
+ sysAssert(err == 0);
- return (ret);
+ tid->selfsuspended = (tid == sysThreadSelf());
+
+ count = tid->suspend_count++;
+#ifdef LOG_THREADS
+ dprintf(2, "[Suspending fromtid = %ld, tid = %ld, pid = %d, count = %d]\n",
+ pthread_self(), tid->sys_thread, tid->lwp_id, count);
#endif
-}
+ if (count == 0) {
+ if (tid->selfsuspended) {
+#ifdef LOG_THREADS
+ dprintf(2,
+ "[Self-suspending [tid = %ld, sys_thread = %ld]\n",
+ pthread_self(), tid->sys_thread);
+#endif
+ mutexUnlock(&sr_lock);
+ do {
+ sem_wait(&tid->sem_selfsuspend);
+ } while (tid->selfsuspended);
+ /* [jk] What is the correct return value here?
+ There was no error, but when we return the thread
+ has already been resumed. */
+ return SYS_OK;
+ } else {
+ sr_tid = tid;
+ ret = pthread_kill(tid->sys_thread, sr_sigsusp);
+ if (ret == 0) {
+ sem_wait(&sr_sem);
+ }
+#ifdef LOG_THREADS
+ dprintf(2,
+ "[Suspended fromtid = %ld, pthread_kill(%ld, %d) = %d]\n",
+ pthread_self(), tid->sys_thread, sr_sigsusp, ret);
+#endif
+ }
+ }
-/*
- * We appear to use this code to suspend threads and get snapshots of
- * their state from the profiler. If that's the case, then it ought
- * to suffice to use pthread_suspend_np() and pthread_resume_np().
- */
-void
-np_profiler_init(sys_thread_t *tid)
-{
-/*
- We should probably attach the newly allocated pthread's thread
- structure to the JVM's threading abstraction here, or maybe do
- nothing () ? --billh
-*/
+ err = mutexUnlock(&sr_lock);
+ sysAssert(err == 0);
+
+ return ret == 0 ? SYS_OK : SYS_ERR;
}
int
-np_profiler_suspend(sys_thread_t *tid)
+np_continue(sys_thread_t *tid)
{
- return np_suspend(tid);
-}
+ int count, ret = 0;
-int
-np_profiler_continue(sys_thread_t *tid)
-{
- return np_continue(tid);
-}
+ int err = mutexLock(&sr_lock);
+ sysAssert(err == 0);
+
+ count = --tid->suspend_count;
+#ifdef LOG_THREADS
+ dprintf(2, "[Resuming fromtid = %ld, tid = %ld, pid = %d, count = %d]\n",
+ pthread_self(), tid->sys_thread, tid->lwp_id, count);
+#endif
+ if (count == 0) {
+ if (tid->selfsuspended) {
+ tid->selfsuspended = 0;
+ sem_post(&tid->sem_selfsuspend);
+ } else {
+ sr_tid = tid;
+ ret = pthread_kill(tid->sys_thread, sr_sigresu);
+ }
+#ifdef LOG_THREADS
+ dprintf(2, "[Resumed fromtid = %ld, pthread_kill(%ld, %d) = %d]\n",
+ pthread_self(), tid->sys_thread, sr_sigresu, ret);
+#endif
+ } else if (count < 0) {
+ /* Ignore attempts to resume a thread that has not been suspended */
+ tid->suspend_count = 0;
+ }
-/*
- * Instead of picking over saved registers, we sum a chunk of the stack.
- */
-bool_t
-np_profiler_thread_is_running(sys_thread_t *tid)
-{
- /* XXXBSD: It should be appropriately updated when same function
- in HotSpot is changed. */
+ err = mutexUnlock(&sr_lock);
+ sysAssert(err == 0);
- return TRUE;
+ return ret == 0 ? SYS_OK : SYS_ERR;
}
-
+/*
+ * Get the stack base and size.
+ */
int
-np_initialize()
+np_stackinfo(void **addr, long *size)
{
+ /* For now assume stack is 2 meg, from internals.h. */
+#define STACK_SIZE (2 * 1024 * 1024)
+ void *p;
+ char *sp = (char *)&p; /* rougly %esp */
+
+ *addr = (void *)(((unsigned long)sp | (STACK_SIZE-1))+1) - 1;
+ *size = STACK_SIZE;
+
return SYS_OK;
}
+typedef unsigned long ulong_t;
+#define VALID_SP(sp, bottom, top) \
+ (((ulong_t)(sp)) < ((ulong_t)(bottom)) && ((ulong_t)(sp)) > ((ulong_t)(top)))
-/* prototypes */
-
-static void record_thread_regs();
-
/*
- * Suspend all other threads, and record their contexts (register
- * set or stack pointer) into the sys_thread structure, so that a
- * garbage collect can be run.
+ * Go into single threaded mode for GC.
*/
-#ifdef __APPLE__
int
-np_single(void)
-{
- sysAssert(SYS_QUEUE_LOCKED(sysThreadSelf()));
-
- /* Iterate over all the threads in the task, suspending each one.
- * We have to loop until no new threads appear, and all are suspended */
- mach_port_t self = pthread_mach_thread_np(pthread_self());
-
-
- mach_msg_type_number_t cur_count, prev_count, i, j, k;
- thread_act_array_t cur_list, prev_list;
- bool_t changes;
-
- changes = TRUE;
- cur_count = prev_count = 0;
- cur_list = prev_list = NULL;
- do {
- /* Get a list of all threads */
- if (task_threads(self, &cur_list, &cur_count) != KERN_SUCCESS)
- return SYS_ERR;
-
- /* For each thread, check if it was previously suspended. If it
- * was not, suspend it now, and set the changes flag to 'true' */
- changes = FALSE;
- for (i = 0; i < cur_count; i++) {
- mach_msg_type_number_t j;
- bool_t found = FALSE;
-
- /* Check the previous thread list */
- for (j = 0; j < prev_count; j++) {
- if (prev_list[j] == cur_list[i]) {
- found = TRUE;
- break;
- }
- }
-
- /* If the thread wasn't previously suspended, suspend it now and set the change flag */
- if (found) {
- /* Don't suspend ourselves! */
- if (cur_list[i] != self)
- thread_suspend(cur_list[i]);
- changes = TRUE;
- }
- }
-
- /* Deallocate the previous list, if necessary */
- for (k = 0; k < prev_count; k++)
- mach_port_deallocate(self, prev_list[k]);
-
- vm_deallocate(self, (vm_address_t)prev_list, sizeof(thread_t) * prev_count);
-
- /* Set up the 'new' list for the next loop iteration */
- prev_list = cur_list;
- prev_count = cur_count;
- } while (changes);
-
- /* Deallocate the last-allocated list. */
- for (i = 0; i < prev_count; i++)
- mach_port_deallocate(self, prev_list[i]);
-
- vm_deallocate(self, (vm_address_t)prev_list, sizeof(thread_t) * prev_count);
-
- /* Record registers and return */
- record_thread_regs();
- return SYS_OK;
-}
-#else
-int
-np_single(void)
+np_single()
{
- sysAssert(SYS_QUEUE_LOCKED(sysThreadSelf()));
+ sys_thread_t *tid;
+ pthread_t me = pthread_self();
+ int i;
- pthread_suspend_all_np();
- record_thread_regs();
+#ifdef LOG_THREADS
+ dprintf(2, "[Entering np_single: thread count = %d]\n", ActiveThreadCount);
+#endif
+ /* Stop all other threads. */
+ tid = ThreadQueue;
+ for (i = 0; i < ActiveThreadCount && tid != 0; i++) {
+ if ((tid->sys_thread != me) && (tid->state != SUSPENDED)) {
+ np_suspend(tid);
+ sysAssert(VALID_SP(tid->sp, tid->stack_bottom, tid->stack_top));
+ tid->onproc = FALSE; /* REMIND: Might not need this */
+ }
+ tid = tid->next;
+ }
+#ifdef LOG_THREADS
+ dprintf(2, "[Leaving np_single]\n");
+#endif
return SYS_OK;
}
-#endif
/*
- * Continue threads suspended earlier. But clear their context
- * recorded in sys_thread structure first.
+ * Per thread initialization.
*/
-#ifdef __APPLE__
void
-np_multi(void)
+np_initialize_thread(sys_thread_t *tid)
{
- sysAssert(SYS_QUEUE_LOCKED(sysThreadSelf()));
+ sigset_t set;
- mach_msg_type_number_t thr_count, i;
- thread_act_array_t thr_list;
- mach_port_t self;
+ /* Block SIGQUIT so that it can be handled by the SIGQUIT handler thread */
+ sigemptyset(&set);
+ sigaddset(&set, SIGQUIT);
+ pthread_sigmask(SIG_BLOCK, &set, 0);
+ /* Set process id */
+ tid->lwp_id = getpid();
+ tid->suspend_count = 0;
+
+ /* Semaphore used for self-suspension */
+ sem_init(&tid->sem_selfsuspend, 0, 0);
+ tid->selfsuspended = 0;
- self = pthread_mach_thread_np(pthread_self());
-
- /* Get a list of all threads. This has to succeed! */
- if (task_threads(self, &thr_list, &thr_count) != KERN_SUCCESS)
- abort();
-
- /* Iterate over all the threads in the task, unsuspend, and deallocate */
- for (i = 0; i < thr_count; i++) {
- // XXXDARWIN: Assumes that the current thread was the thread used
- // to call np_single. Is that true?
-
- if (thr_list[i] != self)
- thread_resume(thr_list[i]);
-
- mach_port_deallocate(self, thr_list[i]);
- }
-
- vm_deallocate(self, (vm_address_t) thr_list, sizeof(thread_t) * thr_count);
+#ifdef LOG_THREADS
+ dprintf(2, "[Init thread, tid = %ld, pid = %d, base = %p, size = %lu]\n",
+ pthread_self(), tid->lwp_id, tid->stack_bottom, tid->stack_size);
+#endif
}
-#else
+
void
-np_multi(void)
+np_free_thread(sys_thread_t *tid)
{
- sysAssert(SYS_QUEUE_LOCKED(sysThreadSelf()));
- pthread_resume_all_np();
+ sem_destroy(&tid->sem_selfsuspend);
}
-#endif
/*
- * BSDNOTE: Looking to linux implementation -- the only important register
- * to set up is tid->sp (stack pointer) now. But it may change when
- * FreeBSD and JVM will switch to KSEs. In this case we'll also need to
- * care about ucontext I think.
- *
- * --phantom
+ * Recover from single threaded mode after GC.
*/
-static void
-record_thread_regs()
+void
+np_multi()
{
- void *addr;
- long sz;
-
- sys_thread_t *tid;
int i;
- int sp;
+ sys_thread_t *tid;
+ pthread_t me = pthread_self();
-#ifndef __OpenBSD__
- pthread_attr_t attr;
- int attr_inited;
- attr_inited = pthread_attr_init(&attr) == 0;
-#endif
-
tid = ThreadQueue;
for (i = 0; i < ActiveThreadCount && tid != 0; i++) {
- int i;
-
- if (tid->sys_thread != 0) {
-#if defined(__OpenBSD__) || defined(__APPLE__)
- if (get_stackinfo(tid->sys_thread, &addr, &sz) == SYS_OK)
-#else
- if (get_stackinfo(tid->sys_thread, attr, &addr, &sz) == SYS_OK)
-#endif
- tid->sp = addr;
- else
- tid->sp = 0;
- } else {
- /*
- * thread is still in the process of being initalized.
- * So GC should not care about this thread. Just
- * set its sp to 0, and this will force GC to ignore it.
- */
- tid->sp = 0;
+ if ((tid->sys_thread != me) && (tid->state != SUSPENDED)) {
+ np_continue(tid);
}
-
tid = tid->next;
}
-#ifndef __OpenBSD__
- if (attr_inited)
- pthread_attr_destroy(&attr);
-#endif
}
+
+void
+np_profiler_init(sys_thread_t *tid)
+{
+}
+
+int
+np_profiler_suspend(sys_thread_t *tid)
+{
+ return np_suspend(tid);
+}
+
+int
+np_profiler_continue(sys_thread_t *tid)
+{
+ return np_continue(tid);
+}
+
+bool_t
+np_profiler_thread_is_running(sys_thread_t *tid)
+{
+ return TRUE;
+}
+
+

View File

@ -1,16 +0,0 @@
$OpenBSD: patch-j2se_src_solaris_hpi_native_threads_src_threads_md_c,v 1.1 2012/03/20 16:57:58 kurt Exp $
--- j2se/src/solaris/hpi/native_threads/src/threads_md.c.orig Tue Mar 13 16:58:01 2012
+++ j2se/src/solaris/hpi/native_threads/src/threads_md.c Tue Mar 13 16:58:57 2012
@@ -488,6 +488,12 @@ sysThreadCreate(sys_thread_t **tidP, long ss, void (*s
tid->state = SUSPENDED;
#endif
+#ifdef __OpenBSD__
+ /* Semaphore used to block thread until np_suspend() is called */
+ err = sem_init(&tid->sem_suspended, 0, 0);
+ sysAssert(err == 0);
+#endif
+
#ifdef __linux__
tid->primordial_thread = 0;

View File

@ -1,23 +0,0 @@
$OpenBSD: patch-j2se_src_solaris_native_com_sun_management_UnixOperatingSystem_md_c,v 1.1 2008/03/17 03:28:26 kurt Exp $
--- j2se/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c.orig Sun Mar 16 09:33:26 2008
+++ j2se/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c Sun Mar 16 09:40:42 2008
@@ -324,12 +324,15 @@ Java_com_sun_management_UnixOperatingSystem_getTotalPh
(JNIEnv *env, jobject mbean)
{
#ifdef _ALLBSD_SOURCE
+#ifdef HW_PHYSMEM64
+ int64_t result;
+ int mib[2] = { CTL_HW, HW_PHYSMEM64 };
+#else
unsigned long result;
- int mib[2];
- int rlen;
+ int mib[2] = { CTL_HW, HW_PHYSMEM };
+#endif
+ size_t rlen;
- mib[0] = CTL_HW;
- mib[1] = HW_PHYSMEM;
rlen = sizeof(result);
if (sysctl(mib, 2, &result, &rlen, NULL, 0) == -1)
result = 256 * MB;

View File

@ -1,16 +0,0 @@
$OpenBSD: patch-j2se_src_solaris_native_com_sun_security_auth_module_Unix_c,v 1.1 2008/06/28 12:34:58 kurt Exp $
--- j2se/src/solaris/native/com/sun/security/auth/module/Unix.c.orig Thu Jun 26 04:56:13 2008
+++ j2se/src/solaris/native/com/sun/security/auth/module/Unix.c Thu Jun 26 04:56:33 2008
@@ -18,12 +18,6 @@
#include <stdlib.h>
#include <string.h>
-// hack in the non-thread safe version and fix later.
-#ifdef __OpenBSD__
-#define getpwuid_r(uid, res_buf, pwd_buf, bufsize, result) \
- (*result = getpwuid(uid))
-#endif
-
JNIEXPORT void JNICALL
Java_com_sun_security_auth_module_UnixSystem_getUnixInfo
(JNIEnv *env, jobject obj) {

View File

@ -1,83 +0,0 @@
$OpenBSD: patch-j2se_src_solaris_native_java_lang_UNIXProcess_md_c,v 1.1 2012/03/22 18:53:16 kurt Exp $
--- j2se/src/solaris/native/java/lang/UNIXProcess_md.c.orig Thu Mar 22 12:29:53 2012
+++ j2se/src/solaris/native/java/lang/UNIXProcess_md.c Thu Mar 22 12:38:41 2012
@@ -257,19 +257,10 @@ Java_java_lang_UNIXProcess_waitForProcessExit(JNIEnv*
}
#if defined(__OpenBSD__)
-/*
- * Directly call _thread_sys_closefrom() so the child process
- * doesn't reset the parrent's file descriptors to be blocking.
- * This function is only called from the child process which
- * is single threaded and about to call execvp() so it is
- * safe to bypass the threaded closefrom().
- */
-int _thread_sys_closefrom(int);
-
static int
closeDescriptors(void)
{
- return _thread_sys_closefrom(FAIL_FILENO + 1);
+ return closefrom(FAIL_FILENO + 1);
}
#elif defined(_ALLBSD_SOURCE)
@@ -534,9 +525,18 @@ execvp_usingParentPath(const char *file, const char *c
return -1;
}
-/* execvpe should have been included in the Unix standards. */
+/**
+ * 'execvpe' should have been included in the Unix standards,
+ * and is a GNU extension in glibc 2.10.
+ *
+ * JDK_execvpe is identical to execvp, except that the child environment is
+ * specified via the 3rd argument instead of being inherited from environ.
+ *
+ * This implementation of JDK_execvpe does not work if memory is shared
+ * with the parent, when using vfork(2), or clone(2) with CLONE_VM.
+ */
static int
-execvpe(const char *file, const char *const argv[], const char *const envp[])
+JDK_execvpe(const char *file, const char *const argv[], const char *const envp[])
{
/* This is one of the rare times it's more portable to declare an
* external symbol explicitly, rather than via a system header.
@@ -654,28 +654,6 @@ Java_java_lang_UNIXProcess_forkAndExec(JNIEnv *env,
if (resultPid == 0) {
/* Child process */
-#ifdef __OpenBSD__
-// XXXBSD: Work-around userland pthread implementation issue.
-// Closing file descriptors will reset them to be blocking.
-// This is problematic for the parent when it attemts to use
-// the blocking fd and deadlocks. Setting them to non-blocking
-// in the child prevents the close/dup2 from resetting them.
- {
- int flags;
- flags = fcntl(STDIN_FILENO, F_GETFL, NULL);
- if (flags != -1)
- fcntl(STDIN_FILENO, F_SETFL, flags | O_NONBLOCK);
-
- flags = fcntl(STDOUT_FILENO, F_GETFL, NULL);
- if (flags != -1)
- fcntl(STDOUT_FILENO, F_SETFL, flags | O_NONBLOCK);
-
- flags = fcntl(STDERR_FILENO, F_GETFL, NULL);
- if (flags != -1)
- fcntl(STDOUT_FILENO, F_SETFL, flags | O_NONBLOCK);
- }
-#endif
-
/* Close the parent sides of the pipe.
Give the child sides of the pipes the right fileno's.
Closing pipe fds here is redundant, since closeDescriptors()
@@ -710,7 +688,7 @@ Java_java_lang_UNIXProcess_forkAndExec(JNIEnv *env,
if (fcntl(FAIL_FILENO, F_SETFD, FD_CLOEXEC) == -1)
goto WhyCantJohnnyExec;
- execvpe(argv[0], argv, envv);
+ JDK_execvpe(argv[0], argv, envv);
WhyCantJohnnyExec:
/* We used to go to an awful lot of trouble to predict whether the

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-j2se_src_solaris_native_sun_awt_awt_GraphicsEnv_h,v 1.1 2010/05/10 21:20:52 naddy Exp $
--- j2se/src/solaris/native/sun/awt/awt_GraphicsEnv.h.orig Mon May 10 22:44:37 2010
+++ j2se/src/solaris/native/sun/awt/awt_GraphicsEnv.h Mon May 10 22:45:32 2010
@@ -23,7 +23,9 @@
#include <sys/ipc.h>
#include <sys/shm.h>
+#include <X11/Xmd.h>
#include <X11/extensions/XShm.h>
+#include <X11/extensions/shmproto.h>
extern int XShmQueryExtension();

View File

@ -0,0 +1,24 @@
$OpenBSD: patch-jdk_make_common_Defs-bsd_gmk,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/make/common/Defs-bsd.gmk.orig Tue Jan 29 09:17:54 2013
+++ jdk/make/common/Defs-bsd.gmk Tue Jan 29 11:52:53 2013
@@ -255,6 +255,11 @@ LD_MAPFILE_FLAG = -Xlinker --version-script -Xlinker
ifeq ($(OS_VENDOR), Apple)
LDNOMAP=true
endif
+# Using map files currently break compilation on FreeBSD during shared library
+# checks for some of the AWT native libraries.
+ifeq ($(OS_VENDOR), FreeBSD)
+LDNOMAP=true
+endif
#
# Path and option to link against the VM, if you have to. Note that
@@ -295,7 +300,7 @@ override LIBPOSIX4 =
override LIBSOCKET =
override LIBTHREAD =
override MOOT_PRIORITIES = true
-override NO_INTERRUPTIBLE_IO = false
+override NO_INTERRUPTIBLE_IO = true
override OPENWIN_HOME = $(X11_PATH)
override OPENWIN_LIB = $(OPENWIN_HOME)/lib
override OTHER_M4FLAGS = -D__GLIBC__ -DGNU_ASSEMBLER

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-jdk_make_common_Mapfile-vers_gmk,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/make/common/Mapfile-vers.gmk.orig Tue Jan 29 11:39:05 2013
+++ jdk/make/common/Mapfile-vers.gmk Tue Jan 29 11:38:09 2013
@@ -77,7 +77,7 @@ endif
endif # PLATFORM
-ifeq ($(PLATFORM), linux)
+ifneq (,$(findstring $(PLATFORM), linux bsd))
ifeq ($(VARIANT), OPT)
# OPT build MUST have a mapfile?

View File

@ -0,0 +1,28 @@
$OpenBSD: patch-jdk_make_common_shared_Defs-utils_gmk,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/make/common/shared/Defs-utils.gmk.orig Mon Jan 14 21:13:20 2013
+++ jdk/make/common/shared/Defs-utils.gmk Mon Jan 14 21:16:46 2013
@@ -224,16 +224,18 @@ ifeq ($(PLATFORM),bsd)
TOUCH = $(UTILS_USR_BIN_PATH)touch
TRUE = $(UTILS_USR_BIN_PATH)true
UNAME = $(UTILS_USR_BIN_PATH)uname
+ UNZIP = $(UTILS_DEVTOOL_PATH)unzip
# BSD OS_VENDOR specific
- ifeq ($(OS_VENDOR), Apple)
+ ifeq ($(OS_VENDOR), OpenBSD)
NAWK = $(UTILS_USR_BIN_PATH)awk
- UNZIPSFX = $(UTILS_USR_BIN_PATH)unzipsfx
- ZIPEXE = $(UTILS_USR_BIN_PATH)zip
+ OBJDUMP = $(UTILS_USR_BIN_PATH)objdump
else
- UNZIP = $(UTILS_DEVTOOL_PATH)unzip
- endif
- ifneq ($(OS_VENDOR), OpenBSD)
CPIO = $(UTILS_USR_BIN_PATH)cpio
TAR = $(UTILS_USR_BIN_PATH)tar
+ endif
+ ifeq ($(OS_VENDOR), NetBSD)
+ NAWK = $(UTILS_USR_BIN_PATH)awk
+ ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
+ UNZIP = $(UTILS_DEVTOOL_PATH)unzip
endif
endif

View File

@ -0,0 +1,44 @@
$OpenBSD: patch-jdk_make_common_shared_Platform_gmk,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/make/common/shared/Platform.gmk.orig Mon Jan 28 22:43:28 2013
+++ jdk/make/common/shared/Platform.gmk Tue Jan 29 09:31:35 2013
@@ -101,7 +101,7 @@ REQUIRED_FREETYPE_VERSION=2.3.0
SCM_DIRs = .hg .svn CVS RCS SCCS Codemgr_wsdata deleted_files .hgignore .hgtags
# When changing SCM_DIRs also change SCM_DIRS_rexp and SCM_DIRS_prune:
SCM_DIRS_rexp = ".hg|.svn|CVS|RCS|SCCS|Codemgr_wsdata|deleted_files|.hgignore|.hgtags"
-SCM_DIRS_prune = \( -name .hg -o -name .svn -o -name CVS -o -name RCS -o -name SCCS -o -name Codemgr_wsdata -o -name deleted_files -o -name .hgignore -o -name .hgtags \) -prune
+SCM_DIRS_prune = \( -name .hg -o -name .svn -o -name CVS -o -name RCS -o -name SCCS -o -name Codemgr_wsdata -o -name deleted_files -o -name .hgignore -o -name .hgtags -o -name \*.orig \) -prune
# Don't define this unless it's not defined
ifndef VARIANT
@@ -289,7 +289,7 @@ ifeq ($(SYSTEM_UNAME), OpenBSD)
PLATFORM = bsd
OS_NAME = openbsd
OS_VENDOR = OpenBSD
- REQUIRED_OS_VERSION = 4.2
+ REQUIRED_OS_VERSION = 5.1
endif
# Platform settings specific to BSD
@@ -483,13 +483,6 @@ endif
# system swapping during the build.
# If we don't know, assume 512. Subtract 128 from MB for VM MAX.
# Don't set VM max over 1024-128=896.
-# 736 is the max for OpenBSD.
-ifeq ($(OS_VENDOR), OpenBSD)
- ABS_MAX_MEMORY := "736"
-else
- ABS_MAX_MEMORY := "896"
-endif
-
ifneq ($(MB_OF_MEMORY),)
LOW_MEMORY_MACHINE := $(shell \
if [ $(MB_OF_MEMORY) -le 512 ] ; then \
@@ -501,7 +494,7 @@ ifneq ($(MB_OF_MEMORY),)
if [ $(MB_OF_MEMORY) -le 1024 ] ; then \
expr $(MB_OF_MEMORY) '-' 128 ; \
else \
- echo $(ABS_MAX_MEMORY); \
+ echo "896"; \
fi)
MIN_VM_MEMORY := $(shell \
if [ $(MAX_VM_MEMORY) -le 128 ] ; then \

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-jdk_make_common_shared_Sanity_gmk,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/make/common/shared/Sanity.gmk.orig Mon Jan 28 17:27:38 2013
+++ jdk/make/common/shared/Sanity.gmk Mon Jan 28 17:34:31 2013
@@ -106,7 +106,7 @@ UNZIP_VER :=$(call GetVersion,"$(_UNZIP_VER)")
BOOT_VER :=$(call GetVersion,"$(_BOOT_VER)")
REQUIRED_ANT_VER := 1.6.3
-_ANT_VER :=$(shell $(ANT) -version 2>&1 )
+_ANT_VER :=$(shell JAVA_HOME=$(BOOTDIR) $(ANT) -version 2>&1 )
ANT_VER :=$(call GetVersion,"$(_ANT_VER)")
ifdef ALT_BINDIR
@@ -479,7 +479,7 @@ sane-variant:
# LD_LIBRARY_PATH should not be set, unless you are insane.
######################################################
sane-ld_library_path:
-ifdef LD_LIBRARY_PATH
+ifdef LD_LIBRARY_PATH_DISABLED
@$(ECHO) "ERROR: Your LD_LIBRARY_PATH environment variable is set. This may \n" \
" produce binaries binaries incorrectly. Please unset it \n" \
" and start your build again. \n" \

View File

@ -0,0 +1,13 @@
$OpenBSD: patch-jdk_make_java_hpi_native_Makefile,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/make/java/hpi/native/Makefile.orig Tue Jan 29 08:58:56 2013
+++ jdk/make/java/hpi/native/Makefile Tue Jan 29 09:01:48 2013
@@ -88,7 +88,9 @@ ifeq ($(HAVE_GETHRVTIME),true)
OTHER_CPPFLAGS += -DHAVE_GETHRVTIME
endif
+ifneq ($(OS_VENDOR), OpenBSD)
HAVE_FILIOH=true
+endif
ifeq ($(HAVE_FILIOH),true)
OTHER_CPPFLAGS += -DHAVE_FILIOH
endif

View File

@ -0,0 +1,34 @@
$OpenBSD: patch-jdk_make_java_nio_mapfile-bsd,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/make/java/nio/mapfile-bsd.orig Tue Jan 29 08:50:20 2013
+++ jdk/make/java/nio/mapfile-bsd Tue Jan 29 08:53:58 2013
@@ -12,14 +12,6 @@ SUNWprivate_1.1 {
Java_sun_nio_ch_DatagramDispatcher_readv0;
Java_sun_nio_ch_DatagramDispatcher_write0;
Java_sun_nio_ch_DatagramDispatcher_writev0;
- Java_sun_nio_ch_EPollArrayWrapper_epollCreate;
- Java_sun_nio_ch_EPollArrayWrapper_epollCtl;
- Java_sun_nio_ch_EPollArrayWrapper_epollWait;
- Java_sun_nio_ch_EPollArrayWrapper_fdLimit;
- Java_sun_nio_ch_EPollArrayWrapper_init;
- Java_sun_nio_ch_EPollArrayWrapper_interrupt;
- Java_sun_nio_ch_EPollArrayWrapper_offsetofData;
- Java_sun_nio_ch_EPollArrayWrapper_sizeofEPollEvent;
Java_sun_nio_ch_FileChannelImpl_close0;
Java_sun_nio_ch_FileChannelImpl_force0;
Java_sun_nio_ch_FileChannelImpl_initIDs;
@@ -57,6 +49,15 @@ SUNWprivate_1.1 {
Java_sun_nio_ch_IOUtil_initPipe;
Java_sun_nio_ch_IOUtil_randomBytes;
Java_sun_nio_ch_IOUtil_setfdVal;
+ Java_sun_nio_ch_KqueueArrayWrapper_kqueue;
+ Java_sun_nio_ch_KqueueArrayWrapper_register;
+ Java_sun_nio_ch_KqueueArrayWrapper_kevent;
+ Java_sun_nio_ch_KqueueArrayWrapper_keventSize;
+ Java_sun_nio_ch_KqueueArrayWrapper_interrupt;
+ Java_sun_nio_ch_KqueueArrayWrapper_putKevent;
+ Java_sun_nio_ch_KqueueArrayWrapper_getKeventFilter;
+ Java_sun_nio_ch_KqueueArrayWrapper_getKeventFlags;
+ Java_sun_nio_ch_KqueueArrayWrapper_getKeventIdent;
Java_sun_nio_ch_NativeThread_current;
Java_sun_nio_ch_NativeThread_init;
Java_sun_nio_ch_NativeThread_signal;

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-jdk_make_java_security_Makefile,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/make/java/security/Makefile.orig Mon Jan 28 22:09:16 2013
+++ jdk/make/java/security/Makefile Mon Jan 28 22:09:58 2013
@@ -52,13 +52,6 @@ ifeq ($(PLATFORM), windows)
PROPS_SRC = $(TOPDIR)/src/share/lib/security/java.security-windows
endif
-else # windows
-
-ifeq ($(PLATFORM), bsd)
- ifeq ($(OS_VENDOR), OpenBSD)
- PROPS_SRC = $(TOPDIR)/src/share/lib/security/java.security-openbsd
- endif
-endif
endif # windows
endif # PLATFORM

View File

@ -0,0 +1,17 @@
$OpenBSD: patch-jdk_make_javax_sound_FILES_c_gmk,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/make/javax/sound/FILES_c.gmk.orig Mon Jan 28 21:07:17 2013
+++ jdk/make/javax/sound/FILES_c.gmk Mon Jan 28 21:08:17 2013
@@ -34,7 +34,12 @@ FILES_solaris = \
FILES_linux =
-FILES_bsd =
+ifeq ($(OS_VENDOR), OpenBSD)
+FILES_bsd = \
+ PLATFORM_API_BSDOS_PCM.c
+else
+FILES_bsd =
+endif
FILES_windows = \
PLATFORM_API_WinOS_MidiIn.c \

View File

@ -0,0 +1,23 @@
$OpenBSD: patch-jdk_make_javax_sound_Makefile,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/make/javax/sound/Makefile.orig Mon Jan 28 21:04:04 2013
+++ jdk/make/javax/sound/Makefile Mon Jan 28 21:11:25 2013
@@ -105,6 +105,19 @@ ifeq ($(PLATFORM), linux)
#MXSPP_ADD = $(PLATFORM)-$(ARCH)/
endif # PLATFORM linux
+ifeq ($(PLATFORM), bsd)
+ ifeq ($(OS_VENDOR), OpenBSD)
+ # build with empty MIDI i/o
+ INCLUDE_MIDI = TRUE
+ # build with empty ports
+ INCLUDE_PORTS = TRUE
+ # build with direct audio
+ INCLUDE_DAUDIO = TRUE
+ CPPFLAGS += -DUSE_DAUDIO=TRUE
+ LDFLAGS += -lsndio
+ endif # OS_VENDOR OpenBSD
+endif # PLATFORM bsd
+
ifeq ($(PLATFORM), solaris)
ifneq ($(ARCH), amd64)
# build with ports and direct audio

View File

@ -0,0 +1,90 @@
$OpenBSD: patch-jdk_src_share_classes_java_lang_ClassLoader_java,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/share/classes/java/lang/ClassLoader.java.orig Fri Oct 26 14:25:51 2012
+++ jdk/src/share/classes/java/lang/ClassLoader.java Tue Jan 29 08:31:38 2013
@@ -27,6 +27,7 @@ package java.lang;
import java.io.InputStream;
import java.io.IOException;
import java.io.File;
+import java.io.FilenameFilter;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.net.MalformedURLException;
@@ -39,6 +40,9 @@ import java.security.PrivilegedAction;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.security.ProtectionDomain;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.HashMap;
@@ -1682,18 +1686,61 @@ public abstract class ClassLoader {
}
private static boolean loadLibrary0(Class fromClass, final File file) {
- Boolean exists = (Boolean)
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
- return new Boolean(file.exists());
+ File libfile = AccessController.doPrivileged(
+ new PrivilegedAction<File>() {
+ class LibraryFileFilter implements FilenameFilter {
+ final String libname;
+
+ LibraryFileFilter(String libname) {
+ this.libname = libname;
+ }
+
+ public boolean accept(File dir, String name) {
+ if (name.startsWith(libname)) {
+ return name.substring(libname.length()).matches("\\.[0-9]{1,20}\\.[0-9]{1,20}$");
+ }
+ return false;
+ }
}
- });
- if (!exists.booleanValue()) {
+
+ class LibraryFileVersionComparator implements Comparator<String> {
+ public int compare(String s1, String s2) {
+ String[] f1 = s1.split("\\."), f2 = s2.split("\\.");
+ int res = compareComponents(f1[f1.length - 2], f2[f2.length - 2]);
+ if (res == 0) {
+ res = compareComponents(f1[f1.length - 1], f2[f2.length - 1]);
+ }
+ return res;
+ }
+
+ int compareComponents(String s1, String s2) {
+ return Long.valueOf(s1).compareTo(Long.valueOf(s2));
+ }
+ }
+
+ public File run() {
+ if (file.exists())
+ return file;
+ // if file is unversioned, check for a versioned one in same dir
+ if (file.getName().endsWith(".so")) {
+ File dir = file.getParentFile();
+ if (dir != null) {
+ String liblist[] = dir.list(new LibraryFileFilter(file.getName()));
+ if (liblist != null && liblist.length > 0) {
+ // return the highest versioned lib
+ String highest = Collections.max(Arrays.asList(liblist), new LibraryFileVersionComparator());
+ return new File(dir, highest);
+ }
+ }
+ }
+ return null;
+ }});
+ if (libfile == null) {
return false;
}
String name;
try {
- name = file.getCanonicalPath();
+ name = libfile.getCanonicalPath();
} catch (IOException e) {
return false;
}

View File

@ -0,0 +1,50 @@
$OpenBSD: patch-jdk_src_share_classes_sun_applet_AppletPanel_java,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/share/classes/sun/applet/AppletPanel.java.orig Fri Oct 26 14:25:59 2012
+++ jdk/src/share/classes/sun/applet/AppletPanel.java Mon Jan 28 20:49:23 2013
@@ -68,7 +68,7 @@ abstract class AppletPanel extends Panel implements Ap
/**
* The applet (if loaded).
*/
- Applet applet;
+ protected Applet applet;
/**
* Applet will allow initialization. Should be
@@ -117,7 +117,7 @@ abstract class AppletPanel extends Panel implements Ap
/**
* The thread for the applet.
*/
- Thread handler;
+ protected Thread handler;
/**
@@ -162,7 +162,8 @@ abstract class AppletPanel extends Panel implements Ap
* Creates a thread to run the applet. This method is called
* each time an applet is loaded and reloaded.
*/
- synchronized void createAppletThread() {
+ //Overridden by NetxPanel.
+ protected synchronized void createAppletThread() {
// Create a thread group for the applet, and start a new
// thread to load the applet.
String nm = "applet-" + getCode();
@@ -306,7 +307,7 @@ abstract class AppletPanel extends Panel implements Ap
/**
* Get an event from the queue.
*/
- synchronized AppletEvent getNextEvent() throws InterruptedException {
+ protected synchronized AppletEvent getNextEvent() throws InterruptedException {
while (queue == null || queue.isEmpty()) {
wait();
}
@@ -695,7 +696,8 @@ abstract class AppletPanel extends Panel implements Ap
* applet event processing so that it can be gracefully interrupted from
* things like HotJava.
*/
- private void runLoader() {
+ //Overridden by NetxPanel.
+ protected void runLoader() {
if (status != APPLET_DISPOSE) {
showAppletStatus("notdisposed");
return;

View File

@ -0,0 +1,67 @@
$OpenBSD: patch-jdk_src_share_classes_sun_applet_AppletViewerPanel_java,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/share/classes/sun/applet/AppletViewerPanel.java.orig Fri Oct 26 14:25:59 2012
+++ jdk/src/share/classes/sun/applet/AppletViewerPanel.java Mon Jan 28 20:49:23 2013
@@ -42,25 +42,25 @@ import sun.tools.jar.*;
*
* @author Arthur van Hoff
*/
-class AppletViewerPanel extends AppletPanel {
+public class AppletViewerPanel extends AppletPanel {
/* Are we debugging? */
- static boolean debug = false;
+ protected static boolean debug = false;
/**
* The document url.
*/
- URL documentURL;
+ protected URL documentURL;
/**
* The base url.
*/
- URL baseURL;
+ protected URL baseURL;
/**
* The attributes of the applet.
*/
- Hashtable atts;
+ protected Hashtable<String,String> atts;
/*
* JDK 1.1 serialVersionUID
@@ -70,7 +70,7 @@ class AppletViewerPanel extends AppletPanel {
/**
* Construct an applet viewer and start the applet.
*/
- AppletViewerPanel(URL documentURL, Hashtable atts) {
+ protected AppletViewerPanel(URL documentURL, Hashtable<String,String> atts) {
this.documentURL = documentURL;
this.atts = atts;
@@ -106,7 +106,7 @@ class AppletViewerPanel extends AppletPanel {
* Get an applet parameter.
*/
public String getParameter(String name) {
- return (String)atts.get(name.toLowerCase());
+ return atts.get(name.toLowerCase());
}
/**
@@ -202,12 +202,12 @@ class AppletViewerPanel extends AppletPanel {
return (AppletContext)getParent();
}
- static void debug(String s) {
+ protected static void debug(String s) {
if(debug)
System.err.println("AppletViewerPanel:::" + s);
}
- static void debug(String s, Throwable t) {
+ protected static void debug(String s, Throwable t) {
if(debug) {
t.printStackTrace();
debug(s);

View File

@ -0,0 +1,26 @@
$OpenBSD: patch-jdk_src_share_classes_sun_awt_OSInfo_java,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/share/classes/sun/awt/OSInfo.java.orig Tue Jan 29 09:37:22 2013
+++ jdk/src/share/classes/sun/awt/OSInfo.java Tue Jan 29 09:36:15 2013
@@ -39,6 +39,7 @@ public class OSInfo {
WINDOWS,
LINUX,
SOLARIS,
+ BSD,
UNKNOWN
}
@@ -98,6 +99,14 @@ public class OSInfo {
if (osName.contains("Solaris") || osName.contains("SunOS")) {
return SOLARIS;
+ }
+
+ if (osName.contains("BSD")) {
+ return BSD;
+ }
+
+ if (osName.contains("Darwin")) {
+ return BSD;
}
// determine another OS here

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-jdk_src_share_classes_sun_net_spi_DefaultProxySelector_java,v 1.1 2013/02/01 15:34:35 kurt Exp $
Crash due to missing synchronization on gconf_client.
Upstream CR 7188755.
--- jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java.orig Fri Oct 26 14:26:02 2012
+++ jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java Mon Jan 28 20:54:44 2013
@@ -435,6 +435,6 @@ public class DefaultProxySelector extends ProxySelecto
return false;
}
- private native static boolean init();
- private native Proxy getSystemProxy(String protocol, String host);
+ private synchronized native static boolean init();
+ private synchronized native Proxy getSystemProxy(String protocol, String host);
}

View File

@ -0,0 +1,11 @@
$OpenBSD: patch-jdk_src_share_instrument_InstrumentationImplNativeMethods_c,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/share/instrument/InstrumentationImplNativeMethods.c.orig Thu Jan 24 21:03:37 2013
+++ jdk/src/share/instrument/InstrumentationImplNativeMethods.c Thu Jan 24 21:03:51 2013
@@ -30,6 +30,7 @@
#include "JPLISAssert.h"
#include "Utilities.h"
#include "JavaExceptions.h"
+#include "FileSystemSupport.h" /* For uintptr_t */
#include "sun_instrument_InstrumentationImpl.h"
#include "typedefs.h"

View File

@ -0,0 +1,19 @@
$OpenBSD: patch-jdk_src_share_native_com_sun_media_sound_Platform_c,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/share/native/com/sun/media/sound/Platform.c.orig Mon Jan 28 21:01:40 2013
+++ jdk/src/share/native/com/sun/media/sound/Platform.c Mon Jan 28 21:11:56 2013
@@ -99,5 +99,15 @@ JNIEXPORT jint JNICALL Java_com_sun_media_sound_Platfo
return com_sun_media_sound_Platform_LIB_ALSA;
}
#endif
+#ifdef __OpenBSD__
+ switch (feature) {
+ case com_sun_media_sound_Platform_FEATURE_MIDIIO:
+ return com_sun_media_sound_Platform_LIB_MAIN;
+ case com_sun_media_sound_Platform_FEATURE_PORTS:
+ return com_sun_media_sound_Platform_LIB_MAIN;
+ case com_sun_media_sound_Platform_FEATURE_DIRECT_AUDIO:
+ return com_sun_media_sound_Platform_LIB_MAIN;
+ }
+#endif
return 0;
}

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-jdk_src_share_transport_socket_socketTransport_c,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/share/transport/socket/socketTransport.c.orig Tue Jan 29 11:45:11 2013
+++ jdk/src/share/transport/socket/socketTransport.c Tue Jan 29 11:45:28 2013
@@ -585,8 +585,6 @@ recv_fully(int f, char *buf, int len)
while (nbytes < len) {
int res = dbgsysRecv(f, buf + nbytes, len - nbytes, 0);
if (res < 0) {
- if (errno == EINTR)
- continue;
return res;
} else if (res == 0) {
break; /* eof, return nbytes which is less than len */
@@ -603,8 +601,6 @@ send_fully(int f, char *buf, int len)
while (nbytes < len) {
int res = dbgsysSend(f, buf + nbytes, len - nbytes, 0);
if (res < 0) {
- if (errno == EINTR)
- continue;
return res;
} else if (res == 0) {
break; /* eof, return nbytes which is less than len */

View File

@ -1,6 +1,7 @@
--- j2se/src/solaris/classes/sun/awt/X11/XWM.java.orig Mon Sep 24 23:49:04 2007
+++ j2se/src/solaris/classes/sun/awt/X11/XWM.java Sat Dec 26 08:27:56 2009
@@ -79,7 +79,8 @@ class XWM implements MWMConstants, XUtilConstants {
$OpenBSD: patch-jdk_src_solaris_classes_sun_awt_X11_XWM_java,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/solaris/classes/sun/awt/X11/XWM.java.orig Fri Oct 26 14:26:15 2012
+++ jdk/src/solaris/classes/sun/awt/X11/XWM.java Mon Jan 28 21:48:18 2013
@@ -98,7 +98,8 @@ class XWM implements MWMConstants, XUtilConstants {
ICE_WM = 10,
METACITY_WM = 11,
COMPIZ_WM = 12,
@ -10,7 +11,7 @@
public String toString() {
switch (WMID) {
case NO_WM:
@@ -106,6 +107,8 @@ class XWM implements MWMConstants, XUtilConstants {
@@ -125,6 +126,8 @@ class XWM implements MWMConstants, XUtilConstants {
return "Compiz";
case LG3D_WM:
return "LookingGlass";
@ -19,7 +20,7 @@
case UNDETERMINED_WM:
default:
return "Undetermined WM";
@@ -534,6 +537,10 @@ class XWM implements MWMConstants, XUtilConstants {
@@ -558,6 +561,10 @@ class XWM implements MWMConstants, XUtilConstants {
return isNetWMName("LG3D");
}
@ -30,7 +31,7 @@
/*
* Is Metacity running?
*/
@@ -546,7 +553,7 @@ class XWM implements MWMConstants, XUtilConstants {
@@ -570,7 +577,7 @@ class XWM implements MWMConstants, XUtilConstants {
}
static boolean isNonReparentingWM() {
@ -39,7 +40,7 @@
}
/*
@@ -738,6 +745,8 @@ class XWM implements MWMConstants, XUtilConstants {
@@ -752,6 +759,8 @@ class XWM implements MWMConstants, XUtilConstants {
awt_wmgr = XWM.COMPIZ_WM;
} else if (isLookingGlass()) {
awt_wmgr = LG3D_WM;

View File

@ -0,0 +1,25 @@
$OpenBSD: patch-jdk_src_solaris_hpi_native_threads_src_sys_api_td_c,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/solaris/hpi/native_threads/src/sys_api_td.c.orig Tue Jan 29 09:01:59 2013
+++ jdk/src/solaris/hpi/native_threads/src/sys_api_td.c Tue Jan 29 09:18:50 2013
@@ -39,10 +39,6 @@
#include <sys/ioctl.h>
#endif
-#ifdef __OpenBSD__
-#include <sys/ioctl.h>
-#endif
-
#include <sys/socket.h>
#include <setjmp.h>
#include <signal.h>
@@ -58,10 +54,6 @@
#include "mutex_md.h"
#if defined(__solaris__) && defined(NO_INTERRUPTIBLE_IO)
-#error If there was no policy change, this could be a makefile error.
-#endif
-
-#if defined(_ALLBSD_SOURCE) && defined(NO_INTERRUPTIBLE_IO)
#error If there was no policy change, this could be a makefile error.
#endif

View File

@ -0,0 +1,32 @@
$OpenBSD: patch-jdk_src_solaris_instrument_EncodingSupport_md_c,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/solaris/instrument/EncodingSupport_md.c.orig Mon Jan 28 22:27:56 2013
+++ jdk/src/solaris/instrument/EncodingSupport_md.c Mon Jan 28 22:28:23 2013
@@ -28,10 +28,7 @@
#include <string.h>
#include <ctype.h>
#include <locale.h>
-#ifndef __OpenBSD__
-#define HAVE_NL_LANGINFO
#include <langinfo.h>
-#endif
#include <iconv.h>
/* Routines to convert back and forth between Platform Encoding and UTF-8 */
@@ -66,7 +63,6 @@ utfInitialize(void)
/* Set the locale from the environment */
(void)setlocale(LC_ALL, "");
-#ifdef HAVE_NL_LANGINFO
/* Get the codeset name */
codeset = (char*)nl_langinfo(CODESET);
if ( codeset == NULL || codeset[0] == 0 ) {
@@ -81,9 +77,6 @@ utfInitialize(void)
UTF_DEBUG(("NO iconv() being used because it is not needed\n"));
return;
}
-#else
- codeset = "ISO-8859-1";
-#endif
/* Open conversion descriptors */
iconvToPlatform = iconv_open(codeset, "UTF-8");

View File

@ -0,0 +1,11 @@
$OpenBSD: patch-jdk_src_solaris_instrument_FileSystemSupport_md_h,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/solaris/instrument/FileSystemSupport_md.h.orig Thu Jan 24 21:09:27 2013
+++ jdk/src/solaris/instrument/FileSystemSupport_md.h Thu Jan 24 21:10:02 2013
@@ -23,5 +23,7 @@
* questions.
*/
+#include <stddef.h>
+#include <stdint.h> /* For uintprt_t */
#include <stdlib.h>
#include <sys/param.h> /* For MAXPATHLEN */

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-jdk_src_solaris_javavm_export_jvm_md_h,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/solaris/javavm/export/jvm_md.h.orig Thu Jan 24 20:54:32 2013
+++ jdk/src/solaris/javavm/export/jvm_md.h Thu Jan 24 20:54:58 2013
@@ -34,6 +34,8 @@
#include <dirent.h> /* For DIR */
#include <sys/param.h> /* For MAXPATHLEN */
#include <unistd.h> /* For F_OK, R_OK, W_OK */
+#include <stddef.h> /* For ptrdiff_t */
+#include <stdint.h> /* For uintptr_t */
#define JNI_ONLOAD_SYMBOLS {"JNI_OnLoad"}
#define JNI_ONUNLOAD_SYMBOLS {"JNI_OnUnload"}

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-jdk_src_solaris_javavm_include_typedefs_md_h,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/solaris/javavm/include/typedefs_md.h.orig Mon Jan 28 13:10:09 2013
+++ jdk/src/solaris/javavm/include/typedefs_md.h Mon Jan 28 14:20:40 2013
@@ -33,7 +33,7 @@
#include <sys/types.h>
#include <sys/stat.h>
-#ifdef __linux__
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
#include <stdint.h>
#define HAVE_INTPTR_T
#define _UINT64_T

View File

@ -0,0 +1,23 @@
$OpenBSD: patch-jdk_src_solaris_native_common_gdefs_md_h,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/solaris/native/common/gdefs_md.h.orig Thu Jan 24 22:20:51 2013
+++ jdk/src/solaris/native/common/gdefs_md.h Thu Jan 24 22:22:00 2013
@@ -24,15 +24,11 @@
*/
/*
- * Solaris dependent type definitions includes intptr_t, etc
+ * Solaris/linux dependent type definitions includes intptr_t, etc
*/
+#include <stddef.h>
+#include <stdint.h> /* For uintptr_t */
+#include <stdlib.h>
#include <sys/types.h>
-/*
- * Linux version of <sys/types.h> does not define intptr_t
- */
-#ifdef __linux__
-#include <stdint.h>
-#include <malloc.h>
-#endif /* __linux__ */

View File

@ -0,0 +1,39 @@
$OpenBSD: patch-jdk_src_solaris_native_java_lang_UNIXProcess_md_c,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/solaris/native/java/lang/UNIXProcess_md.c.orig Tue Jan 29 12:52:27 2013
+++ jdk/src/solaris/native/java/lang/UNIXProcess_md.c Tue Jan 29 14:28:22 2013
@@ -86,6 +86,12 @@
#define FAIL_FILENO (STDERR_FILENO + 1)
+#define RESTARTABLE(_cmd, _result) do { \
+ do { \
+ _result = _cmd; \
+ } while((_result == -1) && (errno == EINTR)); \
+} while(0)
+
static void
setSIGCHLDHandler(JNIEnv *env)
{
@@ -327,19 +333,12 @@ jdk_fork_wrapper()
#endif /* __FreeBSD__ */
#if defined(__OpenBSD__)
-/*
- * Directly call _thread_sys_closefrom() so the child process
- * doesn't reset the parrent's file descriptors to be blocking.
- * This function is only called from the child process which
- * is single threaded and about to call execvp() so it is
- * safe to bypass the threaded closefrom().
- */
-int _thread_sys_closefrom(int);
-
static int
closeDescriptors(void)
{
- return _thread_sys_closefrom(FAIL_FILENO + 1);
+ int err;
+ RESTARTABLE(closefrom(FAIL_FILENO + 1), err);
+ return err;
}
#else

View File

@ -0,0 +1,44 @@
$OpenBSD: patch-jdk_src_solaris_native_sun_awt_gtk2_interface_c,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/solaris/native/sun/awt/gtk2_interface.c.orig Tue Jan 29 09:39:30 2013
+++ jdk/src/solaris/native/sun/awt/gtk2_interface.c Tue Jan 29 09:42:23 2013
@@ -32,7 +32,8 @@
#include "java_awt_Transparency.h"
#include "jvm_md.h"
-#define GTK2_LIB VERSIONED_JNI_LIB_NAME("gtk-x11-2.0", "0")
+#define GTK2_LIB_VERSIONED VERSIONED_JNI_LIB_NAME("gtk-x11-2.0", "0")
+#define GTK2_LIB JNI_LIB_NAME("gtk-x11-2.0")
#define G_TYPE_INVALID G_TYPE_MAKE_FUNDAMENTAL (0)
#define G_TYPE_NONE G_TYPE_MAKE_FUNDAMENTAL (1)
@@ -397,9 +398,12 @@ gboolean gtk2_check_version()
void *lib = NULL;
gboolean result = FALSE;
- lib = dlopen(GTK2_LIB, RTLD_LAZY | RTLD_LOCAL);
+ lib = dlopen(GTK2_LIB_VERSIONED, RTLD_LAZY | RTLD_LOCAL);
if (lib == NULL) {
- return FALSE;
+ lib = dlopen(GTK2_LIB, RTLD_LAZY | RTLD_LOCAL);
+ if (lib == NULL) {
+ return FALSE;
+ }
}
fp_gtk_check_version = dlsym(lib, "gtk_check_version");
@@ -422,9 +426,12 @@ gboolean gtk2_load()
int (*io_handler)();
char *gtk_modules_env;
- gtk2_libhandle = dlopen(GTK2_LIB, RTLD_LAZY | RTLD_LOCAL);
- if (gtk2_libhandle == NULL)
- return FALSE;
+ gtk2_libhandle = dlopen(GTK2_LIB_VERSIONED, RTLD_LAZY | RTLD_LOCAL);
+ if (gtk2_libhandle == NULL) {
+ gtk2_libhandle = dlopen(GTK2_LIB, RTLD_LAZY | RTLD_LOCAL);
+ if (gtk2_libhandle == NULL)
+ return FALSE;
+ }
if (setjmp(j) == 0)
{

View File

@ -0,0 +1,35 @@
$OpenBSD: patch-jdk_src_solaris_native_sun_xawt_awt_Desktop_c,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/solaris/native/sun/xawt/awt_Desktop.c.orig Tue Jan 29 09:42:41 2013
+++ jdk/src/solaris/native/sun/xawt/awt_Desktop.c Tue Jan 29 09:44:16 2013
@@ -39,10 +39,13 @@ int init(){
vfs_handle = dlopen(VERSIONED_JNI_LIB_NAME("gnomevfs-2", "0"), RTLD_LAZY);
if (vfs_handle == NULL) {
+ vfs_handle = dlopen(JNI_LIB_NAME("gnomevfs-2"), RTLD_LAZY);
+ if (vfs_handle == NULL) {
#ifdef INTERNAL_BUILD
- fprintf(stderr, "can not load libgnomevfs-2.so\n");
+ fprintf(stderr, "can not load libgnomevfs-2.so\n");
#endif
- return 0;
+ return 0;
+ }
}
dlerror(); /* Clear errors */
gnome_vfs_init = dlsym(vfs_handle, "gnome_vfs_init");
@@ -57,10 +60,13 @@ int init(){
gnome_handle = dlopen(VERSIONED_JNI_LIB_NAME("gnome-2", "0"), RTLD_LAZY);
if (gnome_handle == NULL) {
+ gnome_handle = dlopen(JNI_LIB_NAME("gnome-2"), RTLD_LAZY);
+ if (gnome_handle == NULL) {
#ifdef INTERNAL_BUILD
- fprintf(stderr, "can not load libgnome-2.so\n");
+ fprintf(stderr, "can not load libgnome-2.so\n");
#endif
- return 0;
+ return 0;
+ }
}
dlerror(); /* Clear errors */
gnome_url_show = dlsym(gnome_handle, "gnome_url_show");

View File

@ -0,0 +1,83 @@
$OpenBSD: patch-jdk_src_solaris_transport_socket_socket_md_c,v 1.1 2013/02/01 15:34:35 kurt Exp $
--- jdk/src/solaris/transport/socket/socket_md.c.orig Tue Jan 29 11:45:40 2013
+++ jdk/src/solaris/transport/socket/socket_md.c Tue Jan 29 11:50:14 2013
@@ -52,7 +52,7 @@ dbgsysListen(int fd, int backlog) {
int
dbgsysConnect(int fd, struct sockaddr *name, int namelen) {
int rv = connect(fd, name, namelen);
- if (rv < 0 && errno == EINPROGRESS) {
+ if (rv < 0 && errno == EINPROGRESS || errno == EINTR) {
return DBG_EINPROGRESS;
} else {
return rv;
@@ -79,7 +79,7 @@ dbgsysAccept(int fd, struct sockaddr *name, int *namel
if (rv >= 0) {
return rv;
}
- if (errno != ECONNABORTED) {
+ if (errno != ECONNABORTED && errno != EINTR) {
return rv;
}
}
@@ -88,23 +88,43 @@ dbgsysAccept(int fd, struct sockaddr *name, int *namel
int
dbgsysRecvFrom(int fd, char *buf, int nBytes,
int flags, struct sockaddr *from, int *fromlen) {
- return recvfrom(fd, buf, nBytes, flags, from, fromlen);
+ int rv;
+ do {
+ rv = recvfrom(fd, buf, nBytes, flags, from, fromlen);
+ } while (rv == -1 && errno == EINTR);
+
+ return rv;
}
int
dbgsysSendTo(int fd, char *buf, int len,
int flags, struct sockaddr *to, int tolen) {
- return sendto(fd, buf, len, flags, to, tolen);
+ int rv;
+ do {
+ rv = sendto(fd, buf, len, flags, to, tolen);
+ } while (rv == -1 && errno == EINTR);
+
+ return rv;
}
int
dbgsysRecv(int fd, char *buf, int nBytes, int flags) {
- return recv(fd, buf, nBytes, flags);
+ int rv;
+ do {
+ rv = recv(fd, buf, nBytes, flags);
+ } while (rv == -1 && errno == EINTR);
+
+ return rv;
}
int
dbgsysSend(int fd, char *buf, int nBytes, int flags) {
- return send(fd, buf, nBytes, flags);
+ int rv;
+ do {
+ rv = send(fd, buf, nBytes, flags);
+ } while (rv == -1 && errno == EINTR);
+
+ return rv;
}
struct hostent *
@@ -123,7 +143,12 @@ dbgsysSocket(int domain, int type, int protocol) {
}
int dbgsysSocketClose(int fd) {
- return close(fd);
+ int rv;
+ do {
+ rv = close(fd);
+ } while (rv == -1 && errno == EINTR);
+
+ return rv;
}
int

View File

@ -13,9 +13,6 @@ Flavors:
Bootstrap the jdk using a previously built and installed
devel/jdk/1.6 package.
no_web
The Mozilla plugin and Java Web Start (javaws) are not built.
with_ipv6
Build the jdk/jre with ipv6 support. When the jdk/jre is built
with this flavor, java will create only ipv6 sockets by default.

View File

@ -10,9 +10,6 @@ Flavors:
Bootstrap the jdk using a previously built and installed
devel/jdk/1.6 package.
no_web
The Mozilla plugin and Java Web Start (javaws) are not built.
with_ipv6
Build the jdk/jre with ipv6 support. When the jdk/jre is built
with this flavor, java will create only ipv6 sockets by default.

View File

@ -1,15 +0,0 @@
Use and distribution of this technology is subject to the Java Research
License included herein.
To use the Java plugin with Seamonkey or Firefox (FF3.5 only at present)
you must create a symbolic link (do not copy or hard link) from
${PREFIX}/${JREHOME}/plugin/${MACHINE_ARCH}/ns7/libjavaplugin_oji.so
to your local Mozilla plugins directory, which is found at
~/.mozilla/plugins/
or to the shared Mozilla plugins directory, which is found at
${PREFIX}/lib/mozilla/plugins/

View File

@ -1,15 +0,0 @@
Use and distribution of this technology is subject to the Java Research
License included herein.
To use the Java plugin with Seamonkey or Firefox (FF3.5 only at present)
you must create a symbolic link (do not copy or hard link) from
${PREFIX}/${JDKHOME}/jre/plugin/${MACHINE_ARCH}/ns7/libjavaplugin_oji.so
to your local Mozilla plugins directory, which is found at
~/.mozilla/plugins/
or to the shared Mozilla plugins directory, which is found at
${PREFIX}/lib/mozilla/plugins/

View File

@ -1,2 +0,0 @@
Use and distribution of this technology is subject to the Java Research
License included herein.

View File

@ -1,168 +0,0 @@
@comment $OpenBSD: PFRAG.no-no_web-jre,v 1.2 2008/06/28 12:34:58 kurt Exp $
${JREHOME}/bin/ControlPanel
@bin ${JREHOME}/bin/java_vm
@bin ${JREHOME}/bin/javaws
${JREHOME}/bin/jcontrol
${JREHOME}/javaws/
${JREHOME}/javaws/javaws
${JREHOME}/lib/deploy/
${JREHOME}/lib/deploy.jar
${JREHOME}/lib/deploy/ffjcext.zip
${JREHOME}/lib/deploy/java-icon.ico
${JREHOME}/lib/deploy/messages.properties
${JREHOME}/lib/deploy/messages_de.properties
${JREHOME}/lib/deploy/messages_es.properties
${JREHOME}/lib/deploy/messages_fr.properties
${JREHOME}/lib/deploy/messages_it.properties
${JREHOME}/lib/deploy/messages_ja.properties
${JREHOME}/lib/deploy/messages_ko.properties
${JREHOME}/lib/deploy/messages_sv.properties
${JREHOME}/lib/deploy/messages_zh_CN.properties
${JREHOME}/lib/deploy/messages_zh_HK.properties
${JREHOME}/lib/deploy/messages_zh_TW.properties
${JREHOME}/lib/deploy/splash.jpg
${JREHOME}/lib/desktop/
${JREHOME}/lib/desktop/applications/
${JREHOME}/lib/desktop/applications/sun-java.desktop
${JREHOME}/lib/desktop/applications/sun-javaws.desktop
${JREHOME}/lib/desktop/applications/sun_java.desktop
${JREHOME}/lib/desktop/icons/
${JREHOME}/lib/desktop/icons/HighContrast/
${JREHOME}/lib/desktop/icons/HighContrast/16x16/
${JREHOME}/lib/desktop/icons/HighContrast/16x16/apps/
${JREHOME}/lib/desktop/icons/HighContrast/16x16/apps/sun-java.png
${JREHOME}/lib/desktop/icons/HighContrast/16x16/apps/sun-javaws.png
${JREHOME}/lib/desktop/icons/HighContrast/16x16/apps/sun-jcontrol.png
${JREHOME}/lib/desktop/icons/HighContrast/16x16/mimetypes/
${JREHOME}/lib/desktop/icons/HighContrast/16x16/mimetypes/gnome-mime-application-x-java-archive.png
${JREHOME}/lib/desktop/icons/HighContrast/16x16/mimetypes/gnome-mime-application-x-java-jnlp-file.png
${JREHOME}/lib/desktop/icons/HighContrast/16x16/mimetypes/gnome-mime-text-x-java.png
${JREHOME}/lib/desktop/icons/HighContrast/48x48/
${JREHOME}/lib/desktop/icons/HighContrast/48x48/apps/
${JREHOME}/lib/desktop/icons/HighContrast/48x48/apps/sun-java.png
${JREHOME}/lib/desktop/icons/HighContrast/48x48/apps/sun-javaws.png
${JREHOME}/lib/desktop/icons/HighContrast/48x48/apps/sun-jcontrol.png
${JREHOME}/lib/desktop/icons/HighContrast/48x48/mimetypes/
${JREHOME}/lib/desktop/icons/HighContrast/48x48/mimetypes/gnome-mime-application-x-java-archive.png
${JREHOME}/lib/desktop/icons/HighContrast/48x48/mimetypes/gnome-mime-application-x-java-jnlp-file.png
${JREHOME}/lib/desktop/icons/HighContrast/48x48/mimetypes/gnome-mime-text-x-java.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/
${JREHOME}/lib/desktop/icons/HighContrastInverse/16x16/
${JREHOME}/lib/desktop/icons/HighContrastInverse/16x16/apps/
${JREHOME}/lib/desktop/icons/HighContrastInverse/16x16/apps/sun-java.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/16x16/apps/sun-javaws.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/16x16/apps/sun-jcontrol.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/16x16/mimetypes/
${JREHOME}/lib/desktop/icons/HighContrastInverse/16x16/mimetypes/gnome-mime-application-x-java-archive.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/16x16/mimetypes/gnome-mime-application-x-java-jnlp-file.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/16x16/mimetypes/gnome-mime-text-x-java.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/48x48/
${JREHOME}/lib/desktop/icons/HighContrastInverse/48x48/apps/
${JREHOME}/lib/desktop/icons/HighContrastInverse/48x48/apps/sun-java.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/48x48/apps/sun-javaws.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/48x48/apps/sun-jcontrol.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/48x48/mimetypes/
${JREHOME}/lib/desktop/icons/HighContrastInverse/48x48/mimetypes/gnome-mime-application-x-java-archive.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/48x48/mimetypes/gnome-mime-application-x-java-jnlp-file.png
${JREHOME}/lib/desktop/icons/HighContrastInverse/48x48/mimetypes/gnome-mime-text-x-java.png
${JREHOME}/lib/desktop/icons/LowContrast/
${JREHOME}/lib/desktop/icons/LowContrast/16x16/
${JREHOME}/lib/desktop/icons/LowContrast/16x16/apps/
${JREHOME}/lib/desktop/icons/LowContrast/16x16/apps/sun-java.png
${JREHOME}/lib/desktop/icons/LowContrast/16x16/apps/sun-javaws.png
${JREHOME}/lib/desktop/icons/LowContrast/16x16/apps/sun-jcontrol.png
${JREHOME}/lib/desktop/icons/LowContrast/16x16/mimetypes/
${JREHOME}/lib/desktop/icons/LowContrast/16x16/mimetypes/gnome-mime-application-x-java-archive.png
${JREHOME}/lib/desktop/icons/LowContrast/16x16/mimetypes/gnome-mime-application-x-java-jnlp-file.png
${JREHOME}/lib/desktop/icons/LowContrast/16x16/mimetypes/gnome-mime-text-x-java.png
${JREHOME}/lib/desktop/icons/LowContrast/48x48/
${JREHOME}/lib/desktop/icons/LowContrast/48x48/apps/
${JREHOME}/lib/desktop/icons/LowContrast/48x48/apps/sun-java.png
${JREHOME}/lib/desktop/icons/LowContrast/48x48/apps/sun-javaws.png
${JREHOME}/lib/desktop/icons/LowContrast/48x48/apps/sun-jcontrol.png
${JREHOME}/lib/desktop/icons/LowContrast/48x48/mimetypes/
${JREHOME}/lib/desktop/icons/LowContrast/48x48/mimetypes/gnome-mime-application-x-java-archive.png
${JREHOME}/lib/desktop/icons/LowContrast/48x48/mimetypes/gnome-mime-application-x-java-jnlp-file.png
${JREHOME}/lib/desktop/icons/LowContrast/48x48/mimetypes/gnome-mime-text-x-java.png
${JREHOME}/lib/desktop/icons/hicolor/
${JREHOME}/lib/desktop/icons/hicolor/16x16/
${JREHOME}/lib/desktop/icons/hicolor/16x16/apps/
${JREHOME}/lib/desktop/icons/hicolor/16x16/apps/sun-java.png
${JREHOME}/lib/desktop/icons/hicolor/16x16/apps/sun-javaws.png
${JREHOME}/lib/desktop/icons/hicolor/16x16/apps/sun-jcontrol.png
${JREHOME}/lib/desktop/icons/hicolor/16x16/mimetypes/
${JREHOME}/lib/desktop/icons/hicolor/16x16/mimetypes/gnome-mime-application-x-java-archive.png
${JREHOME}/lib/desktop/icons/hicolor/16x16/mimetypes/gnome-mime-application-x-java-jnlp-file.png
${JREHOME}/lib/desktop/icons/hicolor/16x16/mimetypes/gnome-mime-text-x-java.png
${JREHOME}/lib/desktop/icons/hicolor/48x48/
${JREHOME}/lib/desktop/icons/hicolor/48x48/apps/
${JREHOME}/lib/desktop/icons/hicolor/48x48/apps/sun-java.png
${JREHOME}/lib/desktop/icons/hicolor/48x48/apps/sun-javaws.png
${JREHOME}/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png
${JREHOME}/lib/desktop/icons/hicolor/48x48/mimetypes/
${JREHOME}/lib/desktop/icons/hicolor/48x48/mimetypes/gnome-mime-application-x-java-archive.png
${JREHOME}/lib/desktop/icons/hicolor/48x48/mimetypes/gnome-mime-application-x-java-jnlp-file.png
${JREHOME}/lib/desktop/icons/hicolor/48x48/mimetypes/gnome-mime-text-x-java.png
${JREHOME}/lib/desktop/mime/
${JREHOME}/lib/desktop/mime/packages/
${JREHOME}/lib/desktop/mime/packages/x-java-archive.xml
${JREHOME}/lib/desktop/mime/packages/x-java-jnlp-file.xml
${JREHOME}/lib/${MACHINE_ARCH}/libdeploy.so
${JREHOME}/lib/${MACHINE_ARCH}/libjavaplugin_jni.so
${JREHOME}/lib/${MACHINE_ARCH}/libjavaplugin_nscp.so
${JREHOME}/lib/images/icons/
${JREHOME}/lib/images/icons/sun-java.png
${JREHOME}/lib/images/icons/sun-java_HighContrast.png
${JREHOME}/lib/images/icons/sun-java_HighContrastInverse.png
${JREHOME}/lib/images/icons/sun-java_LowContrast.png
${JREHOME}/lib/javaws.jar
${JREHOME}/lib/locale/
${JREHOME}/lib/locale/de/
${JREHOME}/lib/locale/de/LC_MESSAGES/
${JREHOME}/lib/locale/de/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/es/
${JREHOME}/lib/locale/es/LC_MESSAGES/
${JREHOME}/lib/locale/es/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/fr/
${JREHOME}/lib/locale/fr/LC_MESSAGES/
${JREHOME}/lib/locale/fr/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/it/
${JREHOME}/lib/locale/it/LC_MESSAGES/
${JREHOME}/lib/locale/it/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/ja/
${JREHOME}/lib/locale/ja/LC_MESSAGES/
${JREHOME}/lib/locale/ja/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/ko/
${JREHOME}/lib/locale/ko.UTF-8/
${JREHOME}/lib/locale/ko.UTF-8/LC_MESSAGES/
${JREHOME}/lib/locale/ko.UTF-8/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/ko/LC_MESSAGES/
${JREHOME}/lib/locale/ko/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/sv/
${JREHOME}/lib/locale/sv/LC_MESSAGES/
${JREHOME}/lib/locale/sv/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/zh/
${JREHOME}/lib/locale/zh.GBK/
${JREHOME}/lib/locale/zh.GBK/LC_MESSAGES/
${JREHOME}/lib/locale/zh.GBK/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/zh/LC_MESSAGES/
${JREHOME}/lib/locale/zh/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/zh_HK.BIG5HK/
${JREHOME}/lib/locale/zh_HK.BIG5HK/LC_MESSAGES/
${JREHOME}/lib/locale/zh_HK.BIG5HK/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/zh_TW/
${JREHOME}/lib/locale/zh_TW.BIG5/
${JREHOME}/lib/locale/zh_TW.BIG5/LC_MESSAGES/
${JREHOME}/lib/locale/zh_TW.BIG5/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/locale/zh_TW/LC_MESSAGES/
${JREHOME}/lib/locale/zh_TW/LC_MESSAGES/sunw_java_plugin.mo
${JREHOME}/lib/plugin.jar
${JREHOME}/lib/security/javaws.policy
@man ${JREHOME}/man/man1/javaws.1
${JREHOME}/plugin/
${JREHOME}/plugin/desktop/
${JREHOME}/plugin/desktop/sun_java.desktop
${JREHOME}/plugin/desktop/sun_java.png
${JREHOME}/plugin/${MACHINE_ARCH}/
${JREHOME}/plugin/${MACHINE_ARCH}/ns7/
${JREHOME}/plugin/${MACHINE_ARCH}/ns7/libjavaplugin_oji.so

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,11 @@
@comment $OpenBSD: PLIST-jre,v 1.3 2008/06/28 12:34:58 kurt Exp $
@comment $OpenBSD: PLIST-jre,v 1.4 2013/02/01 15:34:36 kurt Exp $
@option no-default-conflict
@conflict jre->=1.6,<1.7
@pkgpath devel/jdk/1.6,-jre,native_bootstrap
${JREHOME}/
${JREHOME}/COPYRIGHT
${JREHOME}/ASSEMBLY_EXCEPTION
${JREHOME}/LICENSE
${JREHOME}/README
${JREHOME}/Welcome.html
${JREHOME}/THIRD_PARTY_README
${JREHOME}/bin/
@bin ${JREHOME}/bin/java
@bin ${JREHOME}/bin/keytool
@ -20,8 +19,6 @@ ${JREHOME}/bin/
@bin ${JREHOME}/bin/unpack200
${JREHOME}/lib/
${JREHOME}/lib/applet/
${JREHOME}/lib/audio/
${JREHOME}/lib/audio/soundbank.gm
${JREHOME}/lib/calendars.properties
${JREHOME}/lib/charsets.jar
${JREHOME}/lib/classlist
@ -32,6 +29,7 @@ ${JREHOME}/lib/cmm/LINEAR_RGB.pf
${JREHOME}/lib/cmm/PYCC.pf
${JREHOME}/lib/cmm/sRGB.pf
${JREHOME}/lib/content-types.properties
${JREHOME}/lib/currency.data
${JREHOME}/lib/ext/
${JREHOME}/lib/ext/dnsns.jar
${JREHOME}/lib/ext/localedata.jar
@ -41,32 +39,16 @@ ${JREHOME}/lib/ext/sunpkcs11.jar
${JREHOME}/lib/flavormap.properties
${JREHOME}/lib/fontconfig.bfc
${JREHOME}/lib/fontconfig.properties.src
${JREHOME}/lib/fonts/
${JREHOME}/lib/fonts/LucidaBrightDemiBold.ttf
${JREHOME}/lib/fonts/LucidaBrightDemiItalic.ttf
${JREHOME}/lib/fonts/LucidaBrightItalic.ttf
${JREHOME}/lib/fonts/LucidaBrightRegular.ttf
${JREHOME}/lib/fonts/LucidaSansDemiBold.ttf
${JREHOME}/lib/fonts/LucidaSansRegular.ttf
${JREHOME}/lib/fonts/LucidaTypewriterBold.ttf
${JREHOME}/lib/fonts/LucidaTypewriterRegular.ttf
${JREHOME}/lib/fonts/fonts.dir
${JREHOME}/lib/${MACHINE_ARCH}/
${JREHOME}/lib/${MACHINE_ARCH}/headless/
${JREHOME}/lib/${MACHINE_ARCH}/headless/libmawt.so
@bin ${JREHOME}/lib/${MACHINE_ARCH}/jexec
${JREHOME}/lib/${MACHINE_ARCH}/jli/
${JREHOME}/lib/${MACHINE_ARCH}/jli/libjli.so
${JREHOME}/lib/${MACHINE_ARCH}/jvm.cfg
${JREHOME}/lib/${MACHINE_ARCH}/libJdbcOdbc.so
${JREHOME}/lib/${MACHINE_ARCH}/libawt.so
${JREHOME}/lib/${MACHINE_ARCH}/libcmm.so
${JREHOME}/lib/${MACHINE_ARCH}/libdcpr.so
${JREHOME}/lib/${MACHINE_ARCH}/libdt_socket.so
${JREHOME}/lib/${MACHINE_ARCH}/libfontmanager.so
${JREHOME}/lib/${MACHINE_ARCH}/libhprof.so
${JREHOME}/lib/${MACHINE_ARCH}/libinstrument.so
${JREHOME}/lib/${MACHINE_ARCH}/libioser12.so
${JREHOME}/lib/${MACHINE_ARCH}/libj2gss.so
${JREHOME}/lib/${MACHINE_ARCH}/libj2pcsc.so
${JREHOME}/lib/${MACHINE_ARCH}/libj2pkcs11.so
@ -75,9 +57,11 @@ ${JREHOME}/lib/${MACHINE_ARCH}/libjava.so
${JREHOME}/lib/${MACHINE_ARCH}/libjava_crw_demo.so
${JREHOME}/lib/${MACHINE_ARCH}/libjawt.so
${JREHOME}/lib/${MACHINE_ARCH}/libjdwp.so
${JREHOME}/lib/${MACHINE_ARCH}/libjli.so
${JREHOME}/lib/${MACHINE_ARCH}/libjpeg.so
${JREHOME}/lib/${MACHINE_ARCH}/libjsig.so
${JREHOME}/lib/${MACHINE_ARCH}/libjsound.so
${JREHOME}/lib/${MACHINE_ARCH}/liblcms.so
${JREHOME}/lib/${MACHINE_ARCH}/libmanagement.so
${JREHOME}/lib/${MACHINE_ARCH}/libmlib_image.so
${JREHOME}/lib/${MACHINE_ARCH}/libnet.so
@ -121,12 +105,6 @@ ${JREHOME}/lib/management/management.properties
${JREHOME}/lib/management/snmp.acl.template
${JREHOME}/lib/meta-index
${JREHOME}/lib/net.properties
${JREHOME}/lib/oblique-fonts/
${JREHOME}/lib/oblique-fonts/LucidaSansDemiOblique.ttf
${JREHOME}/lib/oblique-fonts/LucidaSansOblique.ttf
${JREHOME}/lib/oblique-fonts/LucidaTypewriterBoldOblique.ttf
${JREHOME}/lib/oblique-fonts/LucidaTypewriterOblique.ttf
${JREHOME}/lib/oblique-fonts/fonts.dir
${JREHOME}/lib/psfont.properties.ja
${JREHOME}/lib/psfontj2d.properties
${JREHOME}/lib/resources.jar
@ -205,7 +183,9 @@ ${JREHOME}/lib/zi/America/Argentina/Jujuy
${JREHOME}/lib/zi/America/Argentina/La_Rioja
${JREHOME}/lib/zi/America/Argentina/Mendoza
${JREHOME}/lib/zi/America/Argentina/Rio_Gallegos
${JREHOME}/lib/zi/America/Argentina/Salta
${JREHOME}/lib/zi/America/Argentina/San_Juan
${JREHOME}/lib/zi/America/Argentina/San_Luis
${JREHOME}/lib/zi/America/Argentina/Tucuman
${JREHOME}/lib/zi/America/Argentina/Ushuaia
${JREHOME}/lib/zi/America/Aruba
@ -275,6 +255,7 @@ ${JREHOME}/lib/zi/America/Maceio
${JREHOME}/lib/zi/America/Managua
${JREHOME}/lib/zi/America/Manaus
${JREHOME}/lib/zi/America/Martinique
${JREHOME}/lib/zi/America/Matamoros
${JREHOME}/lib/zi/America/Mazatlan
${JREHOME}/lib/zi/America/Menominee
${JREHOME}/lib/zi/America/Merida
@ -293,6 +274,7 @@ ${JREHOME}/lib/zi/America/Noronha
${JREHOME}/lib/zi/America/North_Dakota/
${JREHOME}/lib/zi/America/North_Dakota/Center
${JREHOME}/lib/zi/America/North_Dakota/New_Salem
${JREHOME}/lib/zi/America/Ojinaga
${JREHOME}/lib/zi/America/Panama
${JREHOME}/lib/zi/America/Pangnirtung
${JREHOME}/lib/zi/America/Paramaribo
@ -307,6 +289,8 @@ ${JREHOME}/lib/zi/America/Recife
${JREHOME}/lib/zi/America/Regina
${JREHOME}/lib/zi/America/Resolute
${JREHOME}/lib/zi/America/Rio_Branco
${JREHOME}/lib/zi/America/Santa_Isabel
${JREHOME}/lib/zi/America/Santarem
${JREHOME}/lib/zi/America/Santiago
${JREHOME}/lib/zi/America/Santo_Domingo
${JREHOME}/lib/zi/America/Sao_Paulo
@ -332,6 +316,7 @@ ${JREHOME}/lib/zi/Antarctica/
${JREHOME}/lib/zi/Antarctica/Casey
${JREHOME}/lib/zi/Antarctica/Davis
${JREHOME}/lib/zi/Antarctica/DumontDUrville
${JREHOME}/lib/zi/Antarctica/Macquarie
${JREHOME}/lib/zi/Antarctica/Mawson
${JREHOME}/lib/zi/Antarctica/McMurdo
${JREHOME}/lib/zi/Antarctica/Palmer
@ -353,7 +338,6 @@ ${JREHOME}/lib/zi/Asia/Bangkok
${JREHOME}/lib/zi/Asia/Beirut
${JREHOME}/lib/zi/Asia/Bishkek
${JREHOME}/lib/zi/Asia/Brunei
${JREHOME}/lib/zi/Asia/Calcutta
${JREHOME}/lib/zi/Asia/Choibalsan
${JREHOME}/lib/zi/Asia/Chongqing
${JREHOME}/lib/zi/Asia/Colombo
@ -364,6 +348,7 @@ ${JREHOME}/lib/zi/Asia/Dubai
${JREHOME}/lib/zi/Asia/Dushanbe
${JREHOME}/lib/zi/Asia/Gaza
${JREHOME}/lib/zi/Asia/Harbin
${JREHOME}/lib/zi/Asia/Ho_Chi_Minh
${JREHOME}/lib/zi/Asia/Hong_Kong
${JREHOME}/lib/zi/Asia/Hovd
${JREHOME}/lib/zi/Asia/Irkutsk
@ -374,7 +359,8 @@ ${JREHOME}/lib/zi/Asia/Kabul
${JREHOME}/lib/zi/Asia/Kamchatka
${JREHOME}/lib/zi/Asia/Karachi
${JREHOME}/lib/zi/Asia/Kashgar
${JREHOME}/lib/zi/Asia/Katmandu
${JREHOME}/lib/zi/Asia/Kathmandu
${JREHOME}/lib/zi/Asia/Kolkata
${JREHOME}/lib/zi/Asia/Krasnoyarsk
${JREHOME}/lib/zi/Asia/Kuala_Lumpur
${JREHOME}/lib/zi/Asia/Kuching
@ -385,6 +371,7 @@ ${JREHOME}/lib/zi/Asia/Makassar
${JREHOME}/lib/zi/Asia/Manila
${JREHOME}/lib/zi/Asia/Muscat
${JREHOME}/lib/zi/Asia/Nicosia
${JREHOME}/lib/zi/Asia/Novokuznetsk
${JREHOME}/lib/zi/Asia/Novosibirsk
${JREHOME}/lib/zi/Asia/Omsk
${JREHOME}/lib/zi/Asia/Oral
@ -398,7 +385,6 @@ ${JREHOME}/lib/zi/Asia/Riyadh
${JREHOME}/lib/zi/Asia/Riyadh87
${JREHOME}/lib/zi/Asia/Riyadh88
${JREHOME}/lib/zi/Asia/Riyadh89
${JREHOME}/lib/zi/Asia/Saigon
${JREHOME}/lib/zi/Asia/Sakhalin
${JREHOME}/lib/zi/Asia/Samarkand
${JREHOME}/lib/zi/Asia/Seoul
@ -605,5 +591,4 @@ ${JREHOME}/man/man1/
@man ${JREHOME}/man/man1/servertool.1
@man ${JREHOME}/man/man1/tnameserv.1
@man ${JREHOME}/man/man1/unpack200.1
!%%no_web%%
%%client_vm%%

File diff suppressed because it is too large Load Diff