Remove 1.6 from cvs. It was unlinked last release. okay sthen@

This commit is contained in:
kurt 2014-11-20 23:14:57 +00:00
parent 550ea43b07
commit 1bdfbb8039
54 changed files with 0 additions and 4643 deletions

View File

@ -1,248 +0,0 @@
# $OpenBSD: Makefile,v 1.53 2014/01/11 22:37:44 sthen Exp $
SHARED_ONLY= Yes
ONLY_FOR_ARCHS= amd64 i386
BROKEN-i386= guarantee(get_thread() == thread) failed: must be the same thread, quickly
# XXX if fixed, re-add i386 to ONLY_FOR_ARCHS-java in databases/db/Makefile.inc
# XXX and remove the block that changes editors/libreoffice default flavour
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}
REVISION-main= 6
PKGNAME-jre= jre-${VERSION}
REVISION-jre= 6
# see jaxp/jaxp.properties & jaxws/jaxws.properties
# in ${WRKDIR} for names and download locations of extra distfiles
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
DISTFILES= ${JDK_SRC} ${PATCH_SET}:1 ${PAXP_SRC}:2 ${JAXWS_SRC}:3 ${JAF_SRC}:4
EXTRACT_ONLY= ${JDK_SRC} ${PATCH_SET}
DIST_SUBDIR= jdk
CATEGORIES= devel/jdk java
MULTI_PACKAGES= -main -jre
FLAVORS= with_ipv6
PSEUDO_FLAVORS= native_bootstrap
FLAVOR?=
HOMEPAGE= http://openjdk.java.net/
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/
MASTER_SITES6= http://spacehopper.org/mirrors/
MAINTAINER= Kurt Miller <kurt@openbsd.org>
# GPLv2 w/CLASSPATH exception
PERMIT_PACKAGE_CDROM= Yes
USE_GROFF= Yes
NO_TEST= 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
APACHE_ANT= apache-ant-1.8.4-bin.tar.gz
SUPDISTFILES+= openjdk6-bootjdk-amd64-20130822.tar.gz:6 \
openjdk6-bootjdk-i386-20130822.tar.gz:6 \
${APACHE_ANT}:5
.if ${FLAVOR: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 \
devel/apache-ant>=1.8.2
ALT_BOOTDIR= ${LOCALBASE}/${JDKHOME}
.else
BOOT_JDK= openjdk6-bootjdk-${ARCH}-20130822.tar.gz
.include <bsd.port.arch.mk>
.if (${ARCH}==amd64) || (${ARCH}==i386)
DISTFILES+= ${BOOT_JDK}:6
.endif
DISTFILES+= ${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
USE_GMAKE= Yes
DPB_PROPERTIES= parallel
# Don't call make -jN, instead pass MAKE_JOBS to HOTSPOT_BUILD_JOBS
PARALLEL_BUILD= No
# Allow HOTSPOT_BUILD_JOBS to be overridden
HOTSPOT_BUILD_JOBS?= ${MAKE_JOBS}
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=${HOTSPOT_BUILD_JOBS}
.if !${FLAVOR:Mwith_ipv6}
MAKE_ENV+= DONT_ENABLE_IPV6=YES
.endif
JDKHOME= jdk-1.6.0
JREHOME= jre-1.6.0
SUBST_VARS= JDKHOME JREHOME
.if ${MACHINE_ARCH} == "i386"
PKG_ARGS+= -Dclient_vm=1
.else
PKG_ARGS+= -Dclient_vm=0
.endif
# Deal with Sun's internal build structure
WRKDIST= ${WRKDIR}
OUTPUTDIR= ${WRKDIR}/build/bsd-${MACHINE_ARCH:S/i386/i586/}
JDKIMAGEDIR= ${OUTPUTDIR}/j2sdk-image
JREIMAGEDIR= ${OUTPUTDIR}/j2re-image
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
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:
@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.u${UPDATE} --quiet < ${WRKDIR}/${PATCH_SET:R}
post-build:
@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 -
.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
@ldd ${WRKDIR}/tmp/bootjdk/bin/unpack200 | \
grep rlib | cut -d"/" -f 2-20 | \
xargs -I % cp /% ${WRKDIR}/tmp/bootjdk-libs
@objdump -p ${WRKDIR}/tmp/bootjdk/jre/lib/${ARCH}/libfontmanager.so | \
grep NEEDED | grep libfreetype | sed -e 's/[[:blank:]]*NEEDED[[:blank:]]*//' | \
xargs -I % cp ${X11BASE}/lib/% ${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,16 +0,0 @@
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-20130822.tar.gz) = izqlux8hRo5txoMFN9M30ICVwFivGpTlD7sEg9GqkdM=
SHA256 (jdk/openjdk6-bootjdk-i386-20130822.tar.gz) = TmOq6PAuIE9ATyWZRDUpJKBgjD49Dk3r6yEZKQriNYo=
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-20130822.tar.gz) = 64600139
SIZE (jdk/openjdk6-bootjdk-i386-20130822.tar.gz) = 66090198

View File

@ -1,482 +0,0 @@
/*
* Copyright (c) 2009 Jacob Meuser <jakemsr@sdf.lonestar.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* sndio backend for DirectAudio */
#include <stdlib.h>
#include <poll.h>
#include <sndio.h>
#include "DirectAudio.h"
#if USE_DAUDIO == TRUE
struct sndio_data {
struct sio_hdl *hdl;
struct sio_par par;
int mode;
long long realpos;
long long softpos;
};
static void
sndio_movecb(void *arg, int delta)
{
struct sndio_data *d = arg;
d->realpos += delta;
}
static int
sndio_check_handle(struct sndio_data *d, int isSource)
{
if (!d || !d->hdl ||
(isSource ? d->mode != SIO_PLAY : d->mode != SIO_REC))
return 0;
return 1;
}
INT32
DAUDIO_GetDirectAudioDeviceCount()
{
/* keep it simple for now */
return 1;
}
INT32
DAUDIO_GetDirectAudioDeviceDescription(INT32 mixerIndex,
DirectAudioDeviceDescription* description)
{
if (mixerIndex != 0) {
printf("invalid sndio mixerIndex\n");
return FALSE;
}
/* one device for now */
description->deviceID = 0;
/* number of simultaneous connections: 1 for hardware, -1 (inf)
* for aucat. no way to know the difference.
*/
description->maxSimulLines = -1;
strlcpy(description->name, "sndio device", DAUDIO_STRING_LENGTH);
strlcpy(description->vendor, "OpenBSD", DAUDIO_STRING_LENGTH);
strlcpy(description->version, "1", DAUDIO_STRING_LENGTH);
strlcpy(description->description, "OpenBSD Audio", DAUDIO_STRING_LENGTH);
return TRUE;
}
void
DAUDIO_GetFormats(INT32 mixerIndex, INT32 deviceID, int isSource,
void* creator)
{
struct sio_hdl *hdl;
struct sio_cap cap;
int i, j, k;
unsigned int n;
hdl = sio_open(NULL, isSource ? SIO_PLAY : SIO_REC, 0);
if (hdl == NULL) {
printf("could not get sndio handle to probe formats");
return;
}
if (!sio_getcap(hdl, &cap)) {
printf("sio_getcap failed\n");
return;
}
for (n = 0; n < cap.nconf; n++) {
for (i = 0; i < SIO_NENC; i++) {
if (cap.confs[n].enc & (1 << i)) {
for (j = 0; j < SIO_NCHAN; j++) {
if ((isSource ?
cap.confs[n].pchan : cap.confs[n].rchan) & (1 << j)) {
for (k = 0; k < SIO_NRATE; k++) {
if (cap.confs[n].rate & (1 << k)) {
DAUDIO_AddAudioFormat(creator,
cap.enc[i].bits,
0, /* cap.enc[i].bps * (isSource ? cap.pchan[j] : cap.rchan[j]) */
(isSource ? cap.pchan[j] : cap.rchan[j]),
cap.rate[k],
DAUDIO_PCM,
cap.enc[i].sig,
!cap.enc[i].le);
}
}
}
}
}
}
}
sio_close(hdl);
}
void*
DAUDIO_Open(INT32 mixerIndex, INT32 deviceID, int isSource, int encoding,
float sampleRate, int sampleSizeInBits, int frameSize, int channels,
int isSigned, int isBigEndian, int bufferSizeInBytes)
{
struct sndio_data *d;
struct sio_par gpar;
if (encoding != DAUDIO_PCM) {
printf("invalid encoding for sndio\n");
return NULL;
}
if (mixerIndex != 0 || deviceID != 0) {
printf("invalid device for sndio\n");
return NULL;
}
d = malloc(sizeof(struct sndio_data));
if (d == NULL) {
printf("could not alloc sndio_data structure\n");
return NULL;
}
d->mode = isSource ? SIO_PLAY : SIO_REC;
d->hdl = NULL;
d->hdl = sio_open(NULL, d->mode, 0);
if (d->hdl == NULL) {
printf("could not open sndio device\n");
goto bad;
}
sio_initpar(&d->par);
if (d->mode == SIO_PLAY)
d->par.pchan = channels;
else
d->par.rchan = channels;
d->par.rate = sampleRate;
d->par.bits = sampleSizeInBits;
d->par.sig = isSigned;
d->par.le = !isBigEndian;
d->par.appbufsz = bufferSizeInBytes / SIO_BPS(d->par.bits) /
((d->mode == SIO_PLAY) ? d->par.pchan : d->par.rchan);
if (!sio_setpar(d->hdl, &d->par)) {
printf("could not set sndio params\n");
goto bad;
}
if (!sio_getpar(d->hdl, &gpar)) {
printf("could not get sndio params\n");
goto bad;
}
if (d->par.rate != gpar.rate ||
d->par.bits != gpar.bits ||
d->par.sig != gpar.sig ||
d->par.le != gpar.le ||
((d->mode == SIO_PLAY) ?
d->par.pchan != gpar.pchan : d->par.rchan != gpar.rchan)) {
printf("could not set sndio params as desired\n");
goto bad;
}
d->par.appbufsz = gpar.appbufsz;
d->realpos = d->softpos = 0;
sio_onmove(d->hdl, sndio_movecb, d);
return (void *)d;
bad:
if (d) {
if (d->hdl)
sio_close(d->hdl);
free(d);
}
return NULL;
}
int
DAUDIO_Start(void *id, int isSource)
{
struct sndio_data *d = id;
if (!sndio_check_handle(d, isSource)) {
printf("sndio handle error: DAUDIO_Start\n");
return FALSE;
}
if (!sio_start(d->hdl)) {
printf("could not start sndio\n");
return FALSE;
}
return TRUE;
}
int
DAUDIO_Stop(void *id, int isSource)
{
struct sndio_data *d = id;
if (!sndio_check_handle(d, isSource)) {
printf("sndio handle error: DAUDIO_Stop\n");
return FALSE;
}
if (!sio_stop(d->hdl)) {
printf("could not stop sndio\n");
return FALSE;
}
return TRUE;
}
void
DAUDIO_Close(void *id, int isSource)
{
struct sndio_data *d = id;
if (!sndio_check_handle(d, isSource)) {
printf("sndio handle error: DAUDIO_Close\n");
return;
}
sio_close(d->hdl);
free(d);
d = NULL;
}
int
DAUDIO_Write(void *id, char* data, int byteSize)
{
struct sndio_data *d = id;
int ret, done;
if (!sndio_check_handle(d, 1)) {
printf("sndio handle error: DAUDIO_Write\n");
return -1;
}
done = 0;
while (byteSize > 0) {
ret = sio_write(d->hdl, data + done, byteSize);
if (ret == 0) {
printf("sndio write error\n");
return -1;
}
done += ret;
byteSize -= ret;
}
d->softpos += done / (d->par.bps * d->par.pchan);
return done;
}
int
DAUDIO_Read(void *id, char* data, int byteSize)
{
struct sndio_data *d = id;
int ret, done;
if (!sndio_check_handle(d, 0)) {
printf("sndio handle error: DAUDIO_Read\n");
return -1;
}
done = 0;
while (byteSize > 0) {
ret = sio_read(d->hdl, data + done, byteSize);
if (ret == 0) {
printf("sndio read error\n");
return -1;
}
done += ret;
byteSize -= ret;
}
d->softpos += done / (d->par.bps * d->par.rchan);
return done;
}
int
DAUDIO_GetBufferSize(void *id, int isSource)
{
struct sndio_data *d = id;
if (!sndio_check_handle(d, isSource)) {
printf("sndio handle error: DAUDIO_GetBufferSize\n");
return 0;
}
return (d->par.appbufsz * d->par.bps *
((d->mode == SIO_PLAY) ? d->par.pchan : d->par.rchan));
}
int
DAUDIO_StillDraining(void *id, int isSource)
{
struct sndio_data *d = id;
struct pollfd pfd;
nfds_t nfds;
if (!sndio_check_handle(d, isSource)) {
printf("sndio handle error: DAUDIO_StillDraining\n");
return FALSE;
}
/* make sure counters are up-to-date */
nfds = sio_pollfd(d->hdl, &pfd,
(d->mode == SIO_PLAY) ? POLLOUT : POLLIN);
poll(&pfd, nfds, 0);
sio_revents(d->hdl, &pfd);
if (d->mode == SIO_PLAY) {
if (d->softpos - d->realpos > 0)
return TRUE;
else
return FALSE;
} else {
/* what does it mean to drain recording? */
#if 0
if (d->realpos - d->softpos > 0)
return TRUE;
else
return FALSE;
#else
return FALSE;
#endif
}
}
int
DAUDIO_Flush(void *id, int isSource)
{
struct sndio_data *d = id;
struct pollfd pfd;
nfds_t nfds;
if (!sndio_check_handle(d, isSource)) {
printf("sndio handle error: DAUDIO_StillDraining\n");
return FALSE;
}
/* how do you flush recording? */
if (d->mode == SIO_REC)
return TRUE;
#if 0
/* probably unnecessary busy work */
while (d->softpos > d->realpos) {
nfds = sio_pollfd(d->hdl, &pfd, POLLOUT);
/* wait a little bit */
poll(&pfd, nfds, 10);
sio_revents(d->hdl, &pfd);
}
#endif
return TRUE;
}
int
DAUDIO_GetAvailable(void *id, int isSource)
{
struct sndio_data *d = id;
struct pollfd pfd;
nfds_t nfds;
int avail;
if (!sndio_check_handle(d, isSource)) {
printf("sndio handle error: DAUDIO_GetAvailable\n");
return 0;
}
nfds = sio_pollfd(d->hdl, &pfd,
(d->mode == SIO_PLAY) ? POLLOUT : POLLIN);
poll(&pfd, nfds, 0);
sio_revents(d->hdl, &pfd);
avail = 0;
if (d->mode == SIO_PLAY)
avail = d->par.appbufsz - (d->softpos - d->realpos);
else
avail = d->realpos - d->softpos;
if (avail < 0)
avail = 0;
else if (avail > d->par.appbufsz)
avail = d->par.appbufsz;
return (avail * d->par.bps *
(d->mode == SIO_PLAY ? d->par.pchan : d->par.rchan));
}
INT64
DAUDIO_GetBytePosition(void *id, int isSource, INT64 javaBytePos)
{
struct sndio_data *d = id;
struct pollfd pfd;
nfds_t nfds;
long long pos;
if (!sndio_check_handle(d, isSource)) {
printf("sndio handle error: DAUDIO_GetBytePosition\n");
return 0;
}
nfds = sio_pollfd(d->hdl, &pfd,
(d->mode == SIO_PLAY) ? POLLOUT : POLLIN);
poll(&pfd, nfds, 0);
sio_revents(d->hdl, &pfd);
pos = d->realpos;
if (pos > d->par.appbufsz)
pos = d->par.appbufsz;
else if (pos < 0)
pos = 0;
return (pos * d->par.bps *
((d->mode == SIO_PLAY) ? d->par.pchan : d->par.rchan));
}
void
DAUDIO_SetBytePosition(void *id, int isSource, INT64 javaBytePos)
{
struct sndio_data *d = id;
INT64 pos;
int diff;
if (!sndio_check_handle(d, isSource)) {
printf("sndio handle error: DAUDIO_SetBytePosition\n");
return;
}
pos = DAUDIO_GetBytePosition(id, isSource, 0);
diff = (javaBytePos - pos) / d->par.bps /
((d->mode == SIO_PLAY) ? d->par.pchan : d->par.rchan);
d->realpos += diff;
d->softpos += diff;
}
int
DAUDIO_RequiresServicing(void *id, int isSource)
{
return FALSE;
}
void
DAUDIO_Service(void *id, int isSource)
{
}
#endif /* USE_DAUDIO */

Binary file not shown.

View File

@ -1,12 +0,0 @@
$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

@ -1,14 +0,0 @@
$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

@ -1,37 +0,0 @@
$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,124 +0,0 @@
$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,14 +0,0 @@
$OpenBSD: patch-hotspot_src_cpu_x86_vm_globals_x86_hpp,v 1.1 2013/02/03 21:03:39 kurt Exp $
--- hotspot/src/cpu/x86/vm/globals_x86.hpp.orig Sun Feb 3 10:36:52 2013
+++ hotspot/src/cpu/x86/vm/globals_x86.hpp Sun Feb 3 10:37:13 2013
@@ -70,6 +70,10 @@ define_pd_global(intx, PreInflateSpin, 10);
define_pd_global(bool, RewriteBytecodes, true);
define_pd_global(bool, RewriteFrequentPairs, true);
+#ifdef _ALLBSD_SOURCE
+define_pd_global(bool, UseMembar, true);
+#else
define_pd_global(bool, UseMembar, false);
+#endif
#endif // CPU_X86_VM_GLOBALS_X86_HPP

View File

@ -1,77 +0,0 @@
$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,26 +0,0 @@
$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

@ -1,29 +0,0 @@
$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,41 +0,0 @@
$OpenBSD: patch-hotspot_src_os_cpu_bsd_x86_vm_os_bsd_x86_cpp,v 1.1 2013/03/19 19:26:45 kurt Exp $
--- hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp.orig Mon Feb 4 13:08:55 2013
+++ hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Mon Feb 4 22:00:10 2013
@@ -226,7 +226,6 @@
# define context_esi sc_esi
# define context_edi sc_edi
# define context_eflags sc_eflags
-# define context_trapno sc_trapno
# endif
#endif
@@ -394,6 +393,9 @@ frame os::current_frame() {
// From IA32 System Programming Guide
enum {
+#ifdef __OpenBSD__
+ trap_protection_fault = 0x4,
+#endif
trap_page_fault = 0xE
};
@@ -649,7 +651,11 @@ JVM_handle_bsd_signal(int sig,
// Furthermore, a false-positive should be harmless.
if (UnguardOnExecutionViolation > 0 &&
(sig == SIGSEGV || sig == SIGBUS) &&
+#ifdef __OpenBSD__
+ uc->context_trapno == trap_protection_fault) {
+#else
uc->context_trapno == trap_page_fault) {
+#endif
int page_size = os::vm_page_size();
address addr = (address) info->si_addr;
address pc = os::Bsd::ucontext_get_pc(uc);
@@ -1062,6 +1068,7 @@ void os::print_context(outputStream *st, void *context
st->cr();
st->print( "EIP=" INTPTR_FORMAT, uc->context_eip);
st->print(", EFLAGS=" INTPTR_FORMAT, uc->context_eflags);
+ st->print(", TRAPNO=" INTPTR_FORMAT, uc->context_trapno);
#endif // AMD64
st->cr();
st->cr();

View File

@ -1,15 +0,0 @@
$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,24 +0,0 @@
$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

@ -1,12 +0,0 @@
$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

@ -1,28 +0,0 @@
$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

@ -1,44 +0,0 @@
$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

@ -1,21 +0,0 @@
$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

@ -1,13 +0,0 @@
$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

@ -1,34 +0,0 @@
$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

@ -1,17 +0,0 @@
$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

@ -1,17 +0,0 @@
$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

@ -1,23 +0,0 @@
$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

@ -1,19 +0,0 @@
$OpenBSD: patch-jdk_make_sun_awt_mawt_gmk,v 1.1 2013/04/10 02:47:10 kurt Exp $
--- jdk/make/sun/awt/mawt.gmk.orig Tue Apr 9 15:31:27 2013
+++ jdk/make/sun/awt/mawt.gmk Tue Apr 9 15:34:43 2013
@@ -202,15 +202,6 @@ endif
#
# Other extra flags needed for compiling.
#
-CPPFLAGS += -I$(CUPS_HEADERS_PATH)
-
-ifndef HEADLESS
-CPPFLAGS += -I$(MOTIF_DIR)/include \
- -I$(OPENWIN_HOME)/include
-LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
-
-endif # !HEADLESS
-
CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
-I$(SHARE_SRC)/native/$(PKGDIR)/../font \
-I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \

View File

@ -1,90 +0,0 @@
$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

@ -1,50 +0,0 @@
$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

@ -1,67 +0,0 @@
$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

@ -1,26 +0,0 @@
$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

@ -1,16 +0,0 @@
$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

@ -1,11 +0,0 @@
$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

@ -1,19 +0,0 @@
$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

@ -1,21 +0,0 @@
$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,51 +0,0 @@
$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,
- LG3D_WM = 13;
+ LG3D_WM = 13,
+ CWM_WM = 14;
public String toString() {
switch (WMID) {
case NO_WM:
@@ -125,6 +126,8 @@ class XWM implements MWMConstants, XUtilConstants {
return "Compiz";
case LG3D_WM:
return "LookingGlass";
+ case CWM_WM:
+ return "CWM";
case UNDETERMINED_WM:
default:
return "Undetermined WM";
@@ -558,6 +561,10 @@ class XWM implements MWMConstants, XUtilConstants {
return isNetWMName("LG3D");
}
+ static boolean isCWM() {
+ return isNetWMName("CWM");
+ }
+
/*
* Is Metacity running?
*/
@@ -570,7 +577,7 @@ class XWM implements MWMConstants, XUtilConstants {
}
static boolean isNonReparentingWM() {
- return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM);
+ return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM);
}
/*
@@ -752,6 +759,8 @@ class XWM implements MWMConstants, XUtilConstants {
awt_wmgr = XWM.COMPIZ_WM;
} else if (isLookingGlass()) {
awt_wmgr = LG3D_WM;
+ } else if (isCWM()) {
+ awt_wmgr = CWM_WM;
} else if (doIsIceWM && isIceWM()) {
awt_wmgr = XWM.ICE_WM;
}

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-jdk_src_solaris_hpi_native_threads_include_threads_md_h,v 1.1 2013/03/19 19:26:45 kurt Exp $
--- jdk/src/solaris/hpi/native_threads/include/threads_md.h.orig Sun Mar 10 12:10:32 2013
+++ jdk/src/solaris/hpi/native_threads/include/threads_md.h Sun Mar 10 12:11:55 2013
@@ -174,7 +174,7 @@ struct sys_thread {
struct sys_thread *nextBlocked;
#ifdef USE_PTHREADS
int suspend_count;
-#ifdef __linux__
+#if defined(__linux__) || defined(__OpenBSD__)
sem_t sem_suspended;
sem_t sem_ready_to_suspend;
sem_t sem_selfsuspend;

View File

@ -1,25 +0,0 @@
$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

@ -1,683 +0,0 @@
$OpenBSD: patch-jdk_src_solaris_hpi_native_threads_src_threads_bsd_c,v 1.1 2013/03/19 19:26:45 kurt Exp $
--- jdk/src/solaris/hpi/native_threads/src/threads_bsd.c.orig Sun Mar 10 13:02:26 2013
+++ jdk/src/solaris/hpi/native_threads/src/threads_bsd.c Sun Mar 10 12:58:07 2013
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2000, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,381 +23,387 @@
* questions.
*/
-#ifdef __APPLE__
+/*
+ * Implementation of notposix.h on Linux.
+ */
-/* We need the mach API, which must be be included before any other system includes.
- * Additionally, java and mach both define thread_state_t, so temporarily redefine it. */
-#define thread_state_t mach_thread_state_t
-#include <mach/mach.h>
-#undef thread_state_t
+#include <pthread.h>
+#include <signal.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <time.h>
-#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 said thread. Used to implement java.lang.Thread.suspend(),
- * which is deprecated.
- */
-int
-np_suspend(sys_thread_t *tid)
+/* The tid of the thread being suspended/resumed */
+static sys_thread_t *sr_tid;
+
+int sr_sigsusp;
+int sr_sigresu;
+
+static void prtsigset(char *s, sigset_t *set)
{
-#ifdef __APPLE__
- if (thread_suspend(pthread_mach_thread_np(tid->sys_thread)) == KERN_SUCCESS)
- return SYS_OK;
- else
- return SYS_ERR;
-#else
- return pthread_suspend_np(tid->sys_thread);
-#endif
+ int sig;
+ dprintf(2, "%s:", s);
+ for (sig = 1; sig < _NSIG; sig++) {
+ if (sigismember(set, sig)) {
+ dprintf(2, " %d", sig);
+ }
+ }
+ dprintf(2, "\n");
}
/*
- * 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.
*/
-int
-np_continue(sys_thread_t *tid)
-{
-#ifdef __APPLE__
- 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
- return pthread_resume_np(tid->sys_thread);
+susp_handler(int sig)
#endif
+{
+ 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);
}
-/*
- * 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)
-{
- size_t s;
- void *p;
- int ret = SYS_ERR;
-
- 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:
-
- return (ret);
-}
+ act.sa_handler = (__sighandler_t) resu_handler;
#endif
-
-/*
- * Get the stack start address, and max stack size for the current thread.
- */
-int
-np_stackinfo(void **addr, long *size)
-{
-#if defined(__OpenBSD__) || defined(__APPLE__)
- return(get_stackinfo(pthread_self(), addr, size));
+#ifdef SA_SIGINFO
+ act.sa_flags = SA_SIGINFO;
#else
- pthread_attr_t attr;
- int ret = SYS_ERR;
+ act.sa_flags = 0;
+#endif
+ sigfillset(&act.sa_mask);
+ if (sigaction(sr_sigresu, &act, 0) == -1) {
+ return -1;
+ }
- if (pthread_attr_init(&attr) == 0) {
- ret = get_stackinfo(pthread_self(), attr, addr, size);
- pthread_attr_destroy(&attr);
+ /* Initialize semaphore used by np_{suspend/resume} */
+ if (sem_init(&sr_sem, 0, 0) == -1) {
+ return SYS_ERR;
}
- return (ret);
-#endif
-}
+ /* Initialize mutex used by np_{suspend/resume} */
+ err = mutexInit(&sr_lock);
+ sysAssert(err == 0);
-/*
- * On Bsd when doing CPU profiling, the threads are bound.
- */
-void
-np_profiler_init(sys_thread_t *tid)
-{
+ return SYS_OK;
}
int
-np_profiler_suspend(sys_thread_t *tid)
+np_initial_suspend(sys_thread_t* tid)
{
- return np_suspend(tid);
-}
+ int count;
-int
-np_profiler_continue(sys_thread_t *tid)
-{
- return np_continue(tid);
-}
+ tid->selfsuspended = (tid == sysThreadSelf());
+ sysAssert(tid->selfsuspended);
-bool_t
-np_profiler_thread_is_running(sys_thread_t *tid)
-{
- return TRUE;
+ 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;
}
int
-np_initialize()
+np_suspend(sys_thread_t *tid)
{
- return SYS_OK;
-}
+ int count, ret = 0;
-/* prototypes */
+ int err = mutexLock(&sr_lock);
+ sysAssert(err == 0);
-static void record_thread_regs();
+ tid->selfsuspended = (tid == sysThreadSelf());
-/*
- * 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.
- */
-#ifdef __APPLE__
-int
-np_single(void)
-{
- sysAssert(SYS_QUEUE_LOCKED(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;
- /* 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());
+ } 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
+ }
+ }
+ err = mutexUnlock(&sr_lock);
+ sysAssert(err == 0);
- mach_msg_type_number_t cur_count, prev_count, i, j, k;
- thread_act_array_t cur_list, prev_list;
- bool_t changes;
+ return ret == 0 ? SYS_OK : SYS_ERR;
+}
- 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;
+int
+np_continue(sys_thread_t *tid)
+{
+ int count, ret = 0;
- /* 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;
+ int err = mutexLock(&sr_lock);
+ sysAssert(err == 0);
- /* 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;
- }
+ 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);
}
-
- /* Deallocate the previous list, if necessary */
- for (k = 0; k < prev_count; k++)
- mach_port_deallocate(self, prev_list[k]);
+#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;
+ }
- vm_deallocate(self, (vm_address_t)prev_list, sizeof(thread_t) * prev_count);
+ err = mutexUnlock(&sr_lock);
+ sysAssert(err == 0);
- /* Set up the 'new' list for the next loop iteration */
- prev_list = cur_list;
- prev_count = cur_count;
- } while (changes);
+ return ret == 0 ? SYS_OK : SYS_ERR;
+}
- /* Deallocate the last-allocated list. */
- for (i = 0; i < prev_count; i++)
- mach_port_deallocate(self, prev_list[i]);
+/*
+ * Get the stack base and size.
+ */
+int
+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 */
- vm_deallocate(self, (vm_address_t)prev_list, sizeof(thread_t) * prev_count);
+ *addr = (void *)(((unsigned long)sp | (STACK_SIZE-1))+1) - 1;
+ *size = STACK_SIZE;
- /* Record registers and return */
- record_thread_regs();
return SYS_OK;
}
-#else
+
+typedef unsigned long ulong_t;
+#define VALID_SP(sp, bottom, top) \
+ (((ulong_t)(sp)) < ((ulong_t)(bottom)) && ((ulong_t)(sp)) > ((ulong_t)(top)))
+
+/*
+ * Go into single threaded mode for GC.
+ */
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.
+ * 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;
- self = pthread_mach_thread_np(pthread_self());
+ /* Semaphore used for self-suspension */
+ sem_init(&tid->sem_selfsuspend, 0, 0);
+ tid->selfsuspended = 0;
- /* 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
- *
- * XXXBSD: There's a problem with this implemenation. Currently it sets
- * the tid->sp to the bottom of the thread stack and not the current stack
- * pointer of the suspended thread. Both solaris and linux use the current
- * thread stack pointer. -- kurt
- *
- * Assumes stacks grow down from high to low memory. True on sparc and Intel.
+ * 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++) {
- if (tid->onproc != TRUE) {
- int i;
-
- if (tid->sys_thread != 0) {
- /* if thread has already been initialized */
-#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,32 +0,0 @@
$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

@ -1,11 +0,0 @@
$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

@ -1,12 +0,0 @@
$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

@ -1,12 +0,0 @@
$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

@ -1,23 +0,0 @@
$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

@ -1,70 +0,0 @@
$OpenBSD: patch-jdk_src_solaris_native_java_lang_UNIXProcess_md_c,v 1.2 2013/04/15 03:01:06 kurt Exp $
--- jdk/src/solaris/native/java/lang/UNIXProcess_md.c.orig Sun Apr 14 20:25:35 2013
+++ jdk/src/solaris/native/java/lang/UNIXProcess_md.c Sun Apr 14 20:29:34 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
@@ -678,30 +677,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.

View File

@ -1,11 +0,0 @@
$OpenBSD: patch-jdk_src_solaris_native_java_net_NetworkInterface_c,v 1.1 2013/10/16 14:12:21 bluhm Exp $
--- jdk/src/solaris/native/java/net/NetworkInterface.c.orig Thu Sep 5 02:33:44 2013
+++ jdk/src/solaris/native/java/net/NetworkInterface.c Thu Sep 5 19:39:48 2013
@@ -55,6 +55,7 @@
#include <net/if_var.h>
#elif defined(__OpenBSD__)
#include <netinet/if_ether.h>
+#include <netinet6/in6_var.h>
#endif
#include <net/if_dl.h>
#include <netinet/in_var.h>

View File

@ -1,39 +0,0 @@
$OpenBSD: patch-jdk_src_solaris_native_java_net_PlainDatagramSocketImpl_c,v 1.1 2013/02/02 17:41:18 kurt Exp $
--- jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c.orig Fri Feb 1 11:16:47 2013
+++ jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c Fri Feb 1 12:52:14 2013
@@ -1338,7 +1338,7 @@ static void setMulticastInterface(JNIEnv *env, jobject
/*
* value is an InetAddress.
*/
-#ifdef __solaris__
+#if defined(__solaris__) || defined(_ALLBSD_SOURCE)
if (ipv6_available()) {
mcast_set_if_by_addr_v6(env, this, fd, value);
} else {
@@ -1357,7 +1357,7 @@ static void setMulticastInterface(JNIEnv *env, jobject
/*
* value is a NetworkInterface.
*/
-#ifdef __solaris__
+#if defined(__solaris__) || defined(_ALLBSD_SOURCE)
if (ipv6_available()) {
mcast_set_if_by_if_v6(env, this, fd, value);
} else {
@@ -1434,7 +1434,7 @@ static void mcast_set_loop_v6(JNIEnv *env, jobject thi
*/
static void setMulticastLoopbackMode(JNIEnv *env, jobject this, int fd,
jint opt, jobject value) {
-#ifdef __solaris__
+#if defined(__solaris__) || defined(_ALLBSD_SOURCE)
if (ipv6_available()) {
mcast_set_loop_v6(env, this, fd, value);
} else {
@@ -2002,7 +2002,7 @@ Java_java_net_PlainDatagramSocketImpl_setTimeToLive(JN
fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID);
}
/* setsockopt to be correct ttl */
-#ifdef __solaris__
+#if defined(__solaris__) || defined(_ALLBSD_SOURCE)
if (ipv6_available()) {
setHopLimit(env, fd, ttl);
} else {

View File

@ -1,44 +0,0 @@
$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

@ -1,35 +0,0 @@
$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

@ -1,83 +0,0 @@
$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

@ -1,23 +0,0 @@
Java (TM) 2 Runtime Environment, Standard Edition
Version 1.6.0
The Java(TM) 2 Runtime Environment contains the Java virtual machine,
runtime class libraries, and Java application launcher that are
necessary to run programs written in the Java programming language.
It is not a development environment and does not contain development
tools such as compilers and debuggers. For development tools, use
the Java 2 SDK, Standard Edition.
Flavors:
native_bootstrap
Bootstrap the jdk using a previously built and installed
devel/jdk/1.6 package.
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.
Since ipv4 to ipv6 address mapping is disabled on OpenBSD,
using ipv4 addresses will fail. Consequently, you may only
use ipv6 addresses or you can start java with
-Djava.net.preferIPv4Stack=true and can only use ipv4
addresses.

View File

@ -1,20 +0,0 @@
Java (TM) 2 SDK, Standard Edition
Version 1.6.0
The Java 2 SDK software includes tools useful for developing and
testing programs written in the Java programming language and
running on the Java platform.
Flavors:
native_bootstrap
Bootstrap the jdk using a previously built and installed
devel/jdk/1.6 package.
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.
Since ipv4 to ipv6 address mapping is disabled on OpenBSD,
using ipv4 addresses will fail. Consequently, you may only
use ipv6 addresses or you can start java with
-Djava.net.preferIPv4Stack=true and can only use ipv4
addresses.

View File

@ -1,5 +0,0 @@
@comment $OpenBSD: PFRAG.client_vm-jre,v 1.1.1.1 2007/11/19 03:19:44 kurt Exp $
${JREHOME}/lib/${MACHINE_ARCH}/client/
${JREHOME}/lib/${MACHINE_ARCH}/client/Xusage.txt
${JREHOME}/lib/${MACHINE_ARCH}/client/libjsig.so
${JREHOME}/lib/${MACHINE_ARCH}/client/libjvm.so

View File

@ -1,6 +0,0 @@
@comment $OpenBSD: PFRAG.client_vm-main,v 1.1.1.1 2007/11/19 03:19:44 kurt Exp $
${JDKHOME}/bin/java-rmi.cgi
${JDKHOME}/jre/lib/${MACHINE_ARCH}/client/
${JDKHOME}/jre/lib/${MACHINE_ARCH}/client/Xusage.txt
${JDKHOME}/jre/lib/${MACHINE_ARCH}/client/libjsig.so
${JDKHOME}/jre/lib/${MACHINE_ARCH}/client/libjvm.so

View File

@ -1,594 +0,0 @@
@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}/ASSEMBLY_EXCEPTION
${JREHOME}/LICENSE
${JREHOME}/THIRD_PARTY_README
${JREHOME}/bin/
@bin ${JREHOME}/bin/java
@bin ${JREHOME}/bin/keytool
@bin ${JREHOME}/bin/orbd
@bin ${JREHOME}/bin/pack200
@bin ${JREHOME}/bin/policytool
@bin ${JREHOME}/bin/rmid
@bin ${JREHOME}/bin/rmiregistry
@bin ${JREHOME}/bin/servertool
@bin ${JREHOME}/bin/tnameserv
@bin ${JREHOME}/bin/unpack200
${JREHOME}/lib/
${JREHOME}/lib/applet/
${JREHOME}/lib/calendars.properties
${JREHOME}/lib/charsets.jar
${JREHOME}/lib/classlist
${JREHOME}/lib/cmm/
${JREHOME}/lib/cmm/CIEXYZ.pf
${JREHOME}/lib/cmm/GRAY.pf
${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
${JREHOME}/lib/ext/meta-index
${JREHOME}/lib/ext/sunjce_provider.jar
${JREHOME}/lib/ext/sunpkcs11.jar
${JREHOME}/lib/flavormap.properties
${JREHOME}/lib/fontconfig.bfc
${JREHOME}/lib/fontconfig.properties.src
${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}/jvm.cfg
${JREHOME}/lib/${MACHINE_ARCH}/libawt.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}/libj2gss.so
${JREHOME}/lib/${MACHINE_ARCH}/libj2pcsc.so
${JREHOME}/lib/${MACHINE_ARCH}/libj2pkcs11.so
${JREHOME}/lib/${MACHINE_ARCH}/libjaas_unix.so
${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
${JREHOME}/lib/${MACHINE_ARCH}/libnio.so
${JREHOME}/lib/${MACHINE_ARCH}/libnpt.so
${JREHOME}/lib/${MACHINE_ARCH}/librmi.so
${JREHOME}/lib/${MACHINE_ARCH}/libsplashscreen.so
${JREHOME}/lib/${MACHINE_ARCH}/libunpack.so
${JREHOME}/lib/${MACHINE_ARCH}/libverify.so
${JREHOME}/lib/${MACHINE_ARCH}/libzip.so
${JREHOME}/lib/${MACHINE_ARCH}/native_threads/
${JREHOME}/lib/${MACHINE_ARCH}/native_threads/libhpi.so
${JREHOME}/lib/${MACHINE_ARCH}/server/
${JREHOME}/lib/${MACHINE_ARCH}/server/Xusage.txt
${JREHOME}/lib/${MACHINE_ARCH}/server/libjsig.so
${JREHOME}/lib/${MACHINE_ARCH}/server/libjvm.so
${JREHOME}/lib/${MACHINE_ARCH}/xawt/
${JREHOME}/lib/${MACHINE_ARCH}/xawt/libmawt.so
${JREHOME}/lib/im/
${JREHOME}/lib/im/indicim.jar
${JREHOME}/lib/im/thaiim.jar
${JREHOME}/lib/images/
${JREHOME}/lib/images/cursors/
${JREHOME}/lib/images/cursors/cursors.properties
${JREHOME}/lib/images/cursors/invalid32x32.gif
${JREHOME}/lib/images/cursors/motif_CopyDrop32x32.gif
${JREHOME}/lib/images/cursors/motif_CopyNoDrop32x32.gif
${JREHOME}/lib/images/cursors/motif_LinkDrop32x32.gif
${JREHOME}/lib/images/cursors/motif_LinkNoDrop32x32.gif
${JREHOME}/lib/images/cursors/motif_MoveDrop32x32.gif
${JREHOME}/lib/images/cursors/motif_MoveNoDrop32x32.gif
${JREHOME}/lib/jce.jar
${JREHOME}/lib/jsse.jar
${JREHOME}/lib/jvm.hprof.txt
${JREHOME}/lib/logging.properties
${JREHOME}/lib/management/
${JREHOME}/lib/management-agent.jar
${JREHOME}/lib/management/jmxremote.access
${JREHOME}/lib/management/jmxremote.password.template
${JREHOME}/lib/management/management.properties
${JREHOME}/lib/management/snmp.acl.template
${JREHOME}/lib/meta-index
${JREHOME}/lib/net.properties
${JREHOME}/lib/psfont.properties.ja
${JREHOME}/lib/psfontj2d.properties
${JREHOME}/lib/resources.jar
${JREHOME}/lib/rt.jar
${JREHOME}/lib/security/
${JREHOME}/lib/security/US_export_policy.jar
${JREHOME}/lib/security/cacerts
${JREHOME}/lib/security/java.policy
${JREHOME}/lib/security/java.security
${JREHOME}/lib/security/local_policy.jar
${JREHOME}/lib/sound.properties
${JREHOME}/lib/zi/
${JREHOME}/lib/zi/Africa/
${JREHOME}/lib/zi/Africa/Abidjan
${JREHOME}/lib/zi/Africa/Accra
${JREHOME}/lib/zi/Africa/Addis_Ababa
${JREHOME}/lib/zi/Africa/Algiers
${JREHOME}/lib/zi/Africa/Asmara
${JREHOME}/lib/zi/Africa/Bamako
${JREHOME}/lib/zi/Africa/Bangui
${JREHOME}/lib/zi/Africa/Banjul
${JREHOME}/lib/zi/Africa/Bissau
${JREHOME}/lib/zi/Africa/Blantyre
${JREHOME}/lib/zi/Africa/Brazzaville
${JREHOME}/lib/zi/Africa/Bujumbura
${JREHOME}/lib/zi/Africa/Cairo
${JREHOME}/lib/zi/Africa/Casablanca
${JREHOME}/lib/zi/Africa/Ceuta
${JREHOME}/lib/zi/Africa/Conakry
${JREHOME}/lib/zi/Africa/Dakar
${JREHOME}/lib/zi/Africa/Dar_es_Salaam
${JREHOME}/lib/zi/Africa/Djibouti
${JREHOME}/lib/zi/Africa/Douala
${JREHOME}/lib/zi/Africa/El_Aaiun
${JREHOME}/lib/zi/Africa/Freetown
${JREHOME}/lib/zi/Africa/Gaborone
${JREHOME}/lib/zi/Africa/Harare
${JREHOME}/lib/zi/Africa/Johannesburg
${JREHOME}/lib/zi/Africa/Kampala
${JREHOME}/lib/zi/Africa/Khartoum
${JREHOME}/lib/zi/Africa/Kigali
${JREHOME}/lib/zi/Africa/Kinshasa
${JREHOME}/lib/zi/Africa/Lagos
${JREHOME}/lib/zi/Africa/Libreville
${JREHOME}/lib/zi/Africa/Lome
${JREHOME}/lib/zi/Africa/Luanda
${JREHOME}/lib/zi/Africa/Lubumbashi
${JREHOME}/lib/zi/Africa/Lusaka
${JREHOME}/lib/zi/Africa/Malabo
${JREHOME}/lib/zi/Africa/Maputo
${JREHOME}/lib/zi/Africa/Maseru
${JREHOME}/lib/zi/Africa/Mbabane
${JREHOME}/lib/zi/Africa/Mogadishu
${JREHOME}/lib/zi/Africa/Monrovia
${JREHOME}/lib/zi/Africa/Nairobi
${JREHOME}/lib/zi/Africa/Ndjamena
${JREHOME}/lib/zi/Africa/Niamey
${JREHOME}/lib/zi/Africa/Nouakchott
${JREHOME}/lib/zi/Africa/Ouagadougou
${JREHOME}/lib/zi/Africa/Porto-Novo
${JREHOME}/lib/zi/Africa/Sao_Tome
${JREHOME}/lib/zi/Africa/Tripoli
${JREHOME}/lib/zi/Africa/Tunis
${JREHOME}/lib/zi/Africa/Windhoek
${JREHOME}/lib/zi/America/
${JREHOME}/lib/zi/America/Adak
${JREHOME}/lib/zi/America/Anchorage
${JREHOME}/lib/zi/America/Anguilla
${JREHOME}/lib/zi/America/Antigua
${JREHOME}/lib/zi/America/Araguaina
${JREHOME}/lib/zi/America/Argentina/
${JREHOME}/lib/zi/America/Argentina/Buenos_Aires
${JREHOME}/lib/zi/America/Argentina/Catamarca
${JREHOME}/lib/zi/America/Argentina/Cordoba
${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
${JREHOME}/lib/zi/America/Asuncion
${JREHOME}/lib/zi/America/Atikokan
${JREHOME}/lib/zi/America/Bahia
${JREHOME}/lib/zi/America/Barbados
${JREHOME}/lib/zi/America/Belem
${JREHOME}/lib/zi/America/Belize
${JREHOME}/lib/zi/America/Blanc-Sablon
${JREHOME}/lib/zi/America/Boa_Vista
${JREHOME}/lib/zi/America/Bogota
${JREHOME}/lib/zi/America/Boise
${JREHOME}/lib/zi/America/Cambridge_Bay
${JREHOME}/lib/zi/America/Campo_Grande
${JREHOME}/lib/zi/America/Cancun
${JREHOME}/lib/zi/America/Caracas
${JREHOME}/lib/zi/America/Cayenne
${JREHOME}/lib/zi/America/Cayman
${JREHOME}/lib/zi/America/Chicago
${JREHOME}/lib/zi/America/Chihuahua
${JREHOME}/lib/zi/America/Costa_Rica
${JREHOME}/lib/zi/America/Cuiaba
${JREHOME}/lib/zi/America/Curacao
${JREHOME}/lib/zi/America/Danmarkshavn
${JREHOME}/lib/zi/America/Dawson
${JREHOME}/lib/zi/America/Dawson_Creek
${JREHOME}/lib/zi/America/Denver
${JREHOME}/lib/zi/America/Detroit
${JREHOME}/lib/zi/America/Dominica
${JREHOME}/lib/zi/America/Edmonton
${JREHOME}/lib/zi/America/Eirunepe
${JREHOME}/lib/zi/America/El_Salvador
${JREHOME}/lib/zi/America/Fortaleza
${JREHOME}/lib/zi/America/Glace_Bay
${JREHOME}/lib/zi/America/Godthab
${JREHOME}/lib/zi/America/Goose_Bay
${JREHOME}/lib/zi/America/Grand_Turk
${JREHOME}/lib/zi/America/Grenada
${JREHOME}/lib/zi/America/Guadeloupe
${JREHOME}/lib/zi/America/Guatemala
${JREHOME}/lib/zi/America/Guayaquil
${JREHOME}/lib/zi/America/Guyana
${JREHOME}/lib/zi/America/Halifax
${JREHOME}/lib/zi/America/Havana
${JREHOME}/lib/zi/America/Hermosillo
${JREHOME}/lib/zi/America/Indiana/
${JREHOME}/lib/zi/America/Indiana/Indianapolis
${JREHOME}/lib/zi/America/Indiana/Knox
${JREHOME}/lib/zi/America/Indiana/Marengo
${JREHOME}/lib/zi/America/Indiana/Petersburg
${JREHOME}/lib/zi/America/Indiana/Tell_City
${JREHOME}/lib/zi/America/Indiana/Vevay
${JREHOME}/lib/zi/America/Indiana/Vincennes
${JREHOME}/lib/zi/America/Indiana/Winamac
${JREHOME}/lib/zi/America/Inuvik
${JREHOME}/lib/zi/America/Iqaluit
${JREHOME}/lib/zi/America/Jamaica
${JREHOME}/lib/zi/America/Juneau
${JREHOME}/lib/zi/America/Kentucky/
${JREHOME}/lib/zi/America/Kentucky/Louisville
${JREHOME}/lib/zi/America/Kentucky/Monticello
${JREHOME}/lib/zi/America/La_Paz
${JREHOME}/lib/zi/America/Lima
${JREHOME}/lib/zi/America/Los_Angeles
${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
${JREHOME}/lib/zi/America/Mexico_City
${JREHOME}/lib/zi/America/Miquelon
${JREHOME}/lib/zi/America/Moncton
${JREHOME}/lib/zi/America/Monterrey
${JREHOME}/lib/zi/America/Montevideo
${JREHOME}/lib/zi/America/Montreal
${JREHOME}/lib/zi/America/Montserrat
${JREHOME}/lib/zi/America/Nassau
${JREHOME}/lib/zi/America/New_York
${JREHOME}/lib/zi/America/Nipigon
${JREHOME}/lib/zi/America/Nome
${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
${JREHOME}/lib/zi/America/Phoenix
${JREHOME}/lib/zi/America/Port-au-Prince
${JREHOME}/lib/zi/America/Port_of_Spain
${JREHOME}/lib/zi/America/Porto_Velho
${JREHOME}/lib/zi/America/Puerto_Rico
${JREHOME}/lib/zi/America/Rainy_River
${JREHOME}/lib/zi/America/Rankin_Inlet
${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
${JREHOME}/lib/zi/America/Scoresbysund
${JREHOME}/lib/zi/America/St_Johns
${JREHOME}/lib/zi/America/St_Kitts
${JREHOME}/lib/zi/America/St_Lucia
${JREHOME}/lib/zi/America/St_Thomas
${JREHOME}/lib/zi/America/St_Vincent
${JREHOME}/lib/zi/America/Swift_Current
${JREHOME}/lib/zi/America/Tegucigalpa
${JREHOME}/lib/zi/America/Thule
${JREHOME}/lib/zi/America/Thunder_Bay
${JREHOME}/lib/zi/America/Tijuana
${JREHOME}/lib/zi/America/Toronto
${JREHOME}/lib/zi/America/Tortola
${JREHOME}/lib/zi/America/Vancouver
${JREHOME}/lib/zi/America/Whitehorse
${JREHOME}/lib/zi/America/Winnipeg
${JREHOME}/lib/zi/America/Yakutat
${JREHOME}/lib/zi/America/Yellowknife
${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
${JREHOME}/lib/zi/Antarctica/Rothera
${JREHOME}/lib/zi/Antarctica/Syowa
${JREHOME}/lib/zi/Antarctica/Vostok
${JREHOME}/lib/zi/Asia/
${JREHOME}/lib/zi/Asia/Aden
${JREHOME}/lib/zi/Asia/Almaty
${JREHOME}/lib/zi/Asia/Amman
${JREHOME}/lib/zi/Asia/Anadyr
${JREHOME}/lib/zi/Asia/Aqtau
${JREHOME}/lib/zi/Asia/Aqtobe
${JREHOME}/lib/zi/Asia/Ashgabat
${JREHOME}/lib/zi/Asia/Baghdad
${JREHOME}/lib/zi/Asia/Bahrain
${JREHOME}/lib/zi/Asia/Baku
${JREHOME}/lib/zi/Asia/Bangkok
${JREHOME}/lib/zi/Asia/Beirut
${JREHOME}/lib/zi/Asia/Bishkek
${JREHOME}/lib/zi/Asia/Brunei
${JREHOME}/lib/zi/Asia/Choibalsan
${JREHOME}/lib/zi/Asia/Chongqing
${JREHOME}/lib/zi/Asia/Colombo
${JREHOME}/lib/zi/Asia/Damascus
${JREHOME}/lib/zi/Asia/Dhaka
${JREHOME}/lib/zi/Asia/Dili
${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
${JREHOME}/lib/zi/Asia/Jakarta
${JREHOME}/lib/zi/Asia/Jayapura
${JREHOME}/lib/zi/Asia/Jerusalem
${JREHOME}/lib/zi/Asia/Kabul
${JREHOME}/lib/zi/Asia/Kamchatka
${JREHOME}/lib/zi/Asia/Karachi
${JREHOME}/lib/zi/Asia/Kashgar
${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
${JREHOME}/lib/zi/Asia/Kuwait
${JREHOME}/lib/zi/Asia/Macau
${JREHOME}/lib/zi/Asia/Magadan
${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
${JREHOME}/lib/zi/Asia/Phnom_Penh
${JREHOME}/lib/zi/Asia/Pontianak
${JREHOME}/lib/zi/Asia/Pyongyang
${JREHOME}/lib/zi/Asia/Qatar
${JREHOME}/lib/zi/Asia/Qyzylorda
${JREHOME}/lib/zi/Asia/Rangoon
${JREHOME}/lib/zi/Asia/Riyadh
${JREHOME}/lib/zi/Asia/Riyadh87
${JREHOME}/lib/zi/Asia/Riyadh88
${JREHOME}/lib/zi/Asia/Riyadh89
${JREHOME}/lib/zi/Asia/Sakhalin
${JREHOME}/lib/zi/Asia/Samarkand
${JREHOME}/lib/zi/Asia/Seoul
${JREHOME}/lib/zi/Asia/Shanghai
${JREHOME}/lib/zi/Asia/Singapore
${JREHOME}/lib/zi/Asia/Taipei
${JREHOME}/lib/zi/Asia/Tashkent
${JREHOME}/lib/zi/Asia/Tbilisi
${JREHOME}/lib/zi/Asia/Tehran
${JREHOME}/lib/zi/Asia/Thimphu
${JREHOME}/lib/zi/Asia/Tokyo
${JREHOME}/lib/zi/Asia/Ulaanbaatar
${JREHOME}/lib/zi/Asia/Urumqi
${JREHOME}/lib/zi/Asia/Vientiane
${JREHOME}/lib/zi/Asia/Vladivostok
${JREHOME}/lib/zi/Asia/Yakutsk
${JREHOME}/lib/zi/Asia/Yekaterinburg
${JREHOME}/lib/zi/Asia/Yerevan
${JREHOME}/lib/zi/Atlantic/
${JREHOME}/lib/zi/Atlantic/Azores
${JREHOME}/lib/zi/Atlantic/Bermuda
${JREHOME}/lib/zi/Atlantic/Canary
${JREHOME}/lib/zi/Atlantic/Cape_Verde
${JREHOME}/lib/zi/Atlantic/Faroe
${JREHOME}/lib/zi/Atlantic/Madeira
${JREHOME}/lib/zi/Atlantic/Reykjavik
${JREHOME}/lib/zi/Atlantic/South_Georgia
${JREHOME}/lib/zi/Atlantic/St_Helena
${JREHOME}/lib/zi/Atlantic/Stanley
${JREHOME}/lib/zi/Australia/
${JREHOME}/lib/zi/Australia/Adelaide
${JREHOME}/lib/zi/Australia/Brisbane
${JREHOME}/lib/zi/Australia/Broken_Hill
${JREHOME}/lib/zi/Australia/Currie
${JREHOME}/lib/zi/Australia/Darwin
${JREHOME}/lib/zi/Australia/Eucla
${JREHOME}/lib/zi/Australia/Hobart
${JREHOME}/lib/zi/Australia/Lindeman
${JREHOME}/lib/zi/Australia/Lord_Howe
${JREHOME}/lib/zi/Australia/Melbourne
${JREHOME}/lib/zi/Australia/Perth
${JREHOME}/lib/zi/Australia/Sydney
${JREHOME}/lib/zi/CET
${JREHOME}/lib/zi/CST6CDT
${JREHOME}/lib/zi/EET
${JREHOME}/lib/zi/EST
${JREHOME}/lib/zi/EST5EDT
${JREHOME}/lib/zi/Etc/
${JREHOME}/lib/zi/Etc/GMT
${JREHOME}/lib/zi/Etc/GMT+1
${JREHOME}/lib/zi/Etc/GMT+10
${JREHOME}/lib/zi/Etc/GMT+11
${JREHOME}/lib/zi/Etc/GMT+12
${JREHOME}/lib/zi/Etc/GMT+2
${JREHOME}/lib/zi/Etc/GMT+3
${JREHOME}/lib/zi/Etc/GMT+4
${JREHOME}/lib/zi/Etc/GMT+5
${JREHOME}/lib/zi/Etc/GMT+6
${JREHOME}/lib/zi/Etc/GMT+7
${JREHOME}/lib/zi/Etc/GMT+8
${JREHOME}/lib/zi/Etc/GMT+9
${JREHOME}/lib/zi/Etc/GMT-1
${JREHOME}/lib/zi/Etc/GMT-10
${JREHOME}/lib/zi/Etc/GMT-11
${JREHOME}/lib/zi/Etc/GMT-12
${JREHOME}/lib/zi/Etc/GMT-13
${JREHOME}/lib/zi/Etc/GMT-14
${JREHOME}/lib/zi/Etc/GMT-2
${JREHOME}/lib/zi/Etc/GMT-3
${JREHOME}/lib/zi/Etc/GMT-4
${JREHOME}/lib/zi/Etc/GMT-5
${JREHOME}/lib/zi/Etc/GMT-6
${JREHOME}/lib/zi/Etc/GMT-7
${JREHOME}/lib/zi/Etc/GMT-8
${JREHOME}/lib/zi/Etc/GMT-9
${JREHOME}/lib/zi/Etc/UCT
${JREHOME}/lib/zi/Etc/UTC
${JREHOME}/lib/zi/Europe/
${JREHOME}/lib/zi/Europe/Amsterdam
${JREHOME}/lib/zi/Europe/Andorra
${JREHOME}/lib/zi/Europe/Athens
${JREHOME}/lib/zi/Europe/Belgrade
${JREHOME}/lib/zi/Europe/Berlin
${JREHOME}/lib/zi/Europe/Brussels
${JREHOME}/lib/zi/Europe/Bucharest
${JREHOME}/lib/zi/Europe/Budapest
${JREHOME}/lib/zi/Europe/Chisinau
${JREHOME}/lib/zi/Europe/Copenhagen
${JREHOME}/lib/zi/Europe/Dublin
${JREHOME}/lib/zi/Europe/Gibraltar
${JREHOME}/lib/zi/Europe/Helsinki
${JREHOME}/lib/zi/Europe/Istanbul
${JREHOME}/lib/zi/Europe/Kaliningrad
${JREHOME}/lib/zi/Europe/Kiev
${JREHOME}/lib/zi/Europe/Lisbon
${JREHOME}/lib/zi/Europe/London
${JREHOME}/lib/zi/Europe/Luxembourg
${JREHOME}/lib/zi/Europe/Madrid
${JREHOME}/lib/zi/Europe/Malta
${JREHOME}/lib/zi/Europe/Minsk
${JREHOME}/lib/zi/Europe/Monaco
${JREHOME}/lib/zi/Europe/Moscow
${JREHOME}/lib/zi/Europe/Oslo
${JREHOME}/lib/zi/Europe/Paris
${JREHOME}/lib/zi/Europe/Prague
${JREHOME}/lib/zi/Europe/Riga
${JREHOME}/lib/zi/Europe/Rome
${JREHOME}/lib/zi/Europe/Samara
${JREHOME}/lib/zi/Europe/Simferopol
${JREHOME}/lib/zi/Europe/Sofia
${JREHOME}/lib/zi/Europe/Stockholm
${JREHOME}/lib/zi/Europe/Tallinn
${JREHOME}/lib/zi/Europe/Tirane
${JREHOME}/lib/zi/Europe/Uzhgorod
${JREHOME}/lib/zi/Europe/Vaduz
${JREHOME}/lib/zi/Europe/Vienna
${JREHOME}/lib/zi/Europe/Vilnius
${JREHOME}/lib/zi/Europe/Volgograd
${JREHOME}/lib/zi/Europe/Warsaw
${JREHOME}/lib/zi/Europe/Zaporozhye
${JREHOME}/lib/zi/Europe/Zurich
${JREHOME}/lib/zi/GMT
${JREHOME}/lib/zi/HST
${JREHOME}/lib/zi/Indian/
${JREHOME}/lib/zi/Indian/Antananarivo
${JREHOME}/lib/zi/Indian/Chagos
${JREHOME}/lib/zi/Indian/Christmas
${JREHOME}/lib/zi/Indian/Cocos
${JREHOME}/lib/zi/Indian/Comoro
${JREHOME}/lib/zi/Indian/Kerguelen
${JREHOME}/lib/zi/Indian/Mahe
${JREHOME}/lib/zi/Indian/Maldives
${JREHOME}/lib/zi/Indian/Mauritius
${JREHOME}/lib/zi/Indian/Mayotte
${JREHOME}/lib/zi/Indian/Reunion
${JREHOME}/lib/zi/MET
${JREHOME}/lib/zi/MST
${JREHOME}/lib/zi/MST7MDT
${JREHOME}/lib/zi/PST8PDT
${JREHOME}/lib/zi/Pacific/
${JREHOME}/lib/zi/Pacific/Apia
${JREHOME}/lib/zi/Pacific/Auckland
${JREHOME}/lib/zi/Pacific/Chatham
${JREHOME}/lib/zi/Pacific/Easter
${JREHOME}/lib/zi/Pacific/Efate
${JREHOME}/lib/zi/Pacific/Enderbury
${JREHOME}/lib/zi/Pacific/Fakaofo
${JREHOME}/lib/zi/Pacific/Fiji
${JREHOME}/lib/zi/Pacific/Funafuti
${JREHOME}/lib/zi/Pacific/Galapagos
${JREHOME}/lib/zi/Pacific/Gambier
${JREHOME}/lib/zi/Pacific/Guadalcanal
${JREHOME}/lib/zi/Pacific/Guam
${JREHOME}/lib/zi/Pacific/Honolulu
${JREHOME}/lib/zi/Pacific/Johnston
${JREHOME}/lib/zi/Pacific/Kiritimati
${JREHOME}/lib/zi/Pacific/Kosrae
${JREHOME}/lib/zi/Pacific/Kwajalein
${JREHOME}/lib/zi/Pacific/Majuro
${JREHOME}/lib/zi/Pacific/Marquesas
${JREHOME}/lib/zi/Pacific/Midway
${JREHOME}/lib/zi/Pacific/Nauru
${JREHOME}/lib/zi/Pacific/Niue
${JREHOME}/lib/zi/Pacific/Norfolk
${JREHOME}/lib/zi/Pacific/Noumea
${JREHOME}/lib/zi/Pacific/Pago_Pago
${JREHOME}/lib/zi/Pacific/Palau
${JREHOME}/lib/zi/Pacific/Pitcairn
${JREHOME}/lib/zi/Pacific/Ponape
${JREHOME}/lib/zi/Pacific/Port_Moresby
${JREHOME}/lib/zi/Pacific/Rarotonga
${JREHOME}/lib/zi/Pacific/Saipan
${JREHOME}/lib/zi/Pacific/Tahiti
${JREHOME}/lib/zi/Pacific/Tarawa
${JREHOME}/lib/zi/Pacific/Tongatapu
${JREHOME}/lib/zi/Pacific/Truk
${JREHOME}/lib/zi/Pacific/Wake
${JREHOME}/lib/zi/Pacific/Wallis
${JREHOME}/lib/zi/SystemV/
${JREHOME}/lib/zi/SystemV/AST4
${JREHOME}/lib/zi/SystemV/AST4ADT
${JREHOME}/lib/zi/SystemV/CST6
${JREHOME}/lib/zi/SystemV/CST6CDT
${JREHOME}/lib/zi/SystemV/EST5
${JREHOME}/lib/zi/SystemV/EST5EDT
${JREHOME}/lib/zi/SystemV/HST10
${JREHOME}/lib/zi/SystemV/MST7
${JREHOME}/lib/zi/SystemV/MST7MDT
${JREHOME}/lib/zi/SystemV/PST8
${JREHOME}/lib/zi/SystemV/PST8PDT
${JREHOME}/lib/zi/SystemV/YST9
${JREHOME}/lib/zi/SystemV/YST9YDT
${JREHOME}/lib/zi/WET
${JREHOME}/lib/zi/ZoneInfoMappings
@mandir ${JREHOME}/man/
${JREHOME}/man/man1/
@man ${JREHOME}/man/man1/java.1
@man ${JREHOME}/man/man1/keytool.1
@man ${JREHOME}/man/man1/orbd.1
@man ${JREHOME}/man/man1/pack200.1
@man ${JREHOME}/man/man1/policytool.1
@man ${JREHOME}/man/man1/rmid.1
@man ${JREHOME}/man/man1/rmiregistry.1
@man ${JREHOME}/man/man1/servertool.1
@man ${JREHOME}/man/man1/tnameserv.1
@man ${JREHOME}/man/man1/unpack200.1
%%client_vm%%

File diff suppressed because it is too large Load Diff