summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorjperkin <jperkin@pkgsrc.org>2013-06-15 09:31:05 +0000
committerjperkin <jperkin@pkgsrc.org>2013-06-15 09:31:05 +0000
commita8cd756c6657cea958c00f6126e6d8a047352811 (patch)
tree2ba0b813caff7ebda73df046147dc9ecf55df1c3 /lang
parent8ed4570a835d3b6d17d2385c4f9668d0b864a51f (diff)
downloadpkgsrc-a8cd756c6657cea958c00f6126e6d8a047352811.tar.gz
Add SunOS/GCC support. With huge thanks to "jesse" from #SmartOS who did the
bulk of the porting work. Tested on SmartOS 32-bit. 64-bit builds currently fail, they should hopefully be fixed soon.
Diffstat (limited to 'lang')
-rw-r--r--lang/openjdk7/Makefile85
-rw-r--r--lang/openjdk7/PLIST4
-rw-r--r--lang/openjdk7/PLIST.SunOS1165
-rw-r--r--lang/openjdk7/bootstrap.mk10
-rw-r--r--lang/openjdk7/distinfo114
-rw-r--r--lang/openjdk7/patches/patch-aa4
-rw-r--r--lang/openjdk7/patches/patch-ab4
-rw-r--r--lang/openjdk7/patches/patch-ac4
-rw-r--r--lang/openjdk7/patches/patch-ad4
-rw-r--r--lang/openjdk7/patches/patch-ae4
-rw-r--r--lang/openjdk7/patches/patch-af4
-rw-r--r--lang/openjdk7/patches/patch-ag4
-rw-r--r--lang/openjdk7/patches/patch-ah4
-rw-r--r--lang/openjdk7/patches/patch-ai4
-rw-r--r--lang/openjdk7/patches/patch-aj4
-rw-r--r--lang/openjdk7/patches/patch-ak4
-rw-r--r--lang/openjdk7/patches/patch-al4
-rw-r--r--lang/openjdk7/patches/patch-am4
-rw-r--r--lang/openjdk7/patches/patch-an4
-rw-r--r--lang/openjdk7/patches/patch-ao4
-rw-r--r--lang/openjdk7/patches/patch-ap4
-rw-r--r--lang/openjdk7/patches/patch-aq4
-rw-r--r--lang/openjdk7/patches/patch-ar4
-rw-r--r--lang/openjdk7/patches/patch-ba4
-rw-r--r--lang/openjdk7/patches/patch-bd4
-rw-r--r--lang/openjdk7/patches/patch-bg4
-rw-r--r--lang/openjdk7/patches/patch-bh4
-rw-r--r--lang/openjdk7/patches/patch-bi4
-rw-r--r--lang/openjdk7/patches/patch-bj4
-rw-r--r--lang/openjdk7/patches/patch-bk4
-rw-r--r--lang/openjdk7/patches/patch-bl4
-rw-r--r--lang/openjdk7/patches/patch-bn4
-rw-r--r--lang/openjdk7/patches/patch-corba_make_common_shared_Defs-utils.gmk15
-rw-r--r--lang/openjdk7/patches/patch-corba_make_common_shared_Platform.gmk15
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_bsd_makefiles_defs.make4
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_adlc.make18
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_build__vm__def.sh14
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_debug.make19
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_dtrace.make56
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_fastdebug.make19
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_gcc.make120
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_jsig.make34
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_jvmg.make19
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER1.gcc50
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER2.gcc53
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-TIERED.gcc52
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_optimized.make19
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_product.make25
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_saproc.make23
-rw-r--r--lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_vm.make50
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_atomic__solaris__x86.inline.hpp92
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_orderAccess__solaris__x86.inline.hpp18
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_os__solaris__x86.cpp41
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_prefetch__solaris__x86.inline.hpp35
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_threadLS__solaris__x86.hpp18
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_os_posix_vm_os__posix.cpp39
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_os_solaris_dtrace_jhelper.d89
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_os_solaris_vm_decoder__solaris.cpp18
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_os_solaris_vm_os__solaris.cpp124
-rw-r--r--lang/openjdk7/patches/patch-hotspot_src_share_vm_utilities_globalDefinitions__gcc.hpp17
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_com_sun_java_pack_Makefile31
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_common_Defs-solaris-gcc.gmk511
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_common_Defs-solaris.gmk23
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_common_Mapfile-vers.gmk42
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_common_Program.gmk36
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_common_shared_Compiler-gcc.gmk15
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_common_shared_Defs-utils.gmk14
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_common_shared_Defs-versions.gmk19
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_java_instrument_Makefile16
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_java_nio_Makefile16
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_java_npt_Makefile19
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_sun_awt_Makefile70
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_sun_awt_mawt.gmk31
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_sun_security_ec_Makefile22
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_sun_splashscreen_Makefile18
-rw-r--r--lang/openjdk7/patches/patch-jdk_make_sun_xawt_Makefile25
-rw-r--r--lang/openjdk7/patches/patch-jdk_src_share_native_com_sun_java_util_jar_pack_defines.h15
-rw-r--r--lang/openjdk7/patches/patch-jdk_src_share_native_sun_awt_image_jpeg_imageioJPEG.c15
-rw-r--r--lang/openjdk7/patches/patch-jdk_src_share_native_sun_awt_image_jpeg_jpegdecoder.c15
-rw-r--r--lang/openjdk7/patches/patch-jdk_src_share_native_sun_security_ec_impl_ecc__impl.h33
-rw-r--r--lang/openjdk7/patches/patch-jdk_src_solaris_bin_ergo__i586.c50
-rw-r--r--lang/openjdk7/patches/patch-jdk_src_solaris_native_java_net_NetworkInterface.c45
-rw-r--r--lang/openjdk7/patches/patch-jdk_src_solaris_native_sun_awt_X11Color.c15
-rw-r--r--lang/openjdk7/patches/patch-jdk_test_Makefile28
-rw-r--r--lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_4168475_Test4168475.java15
-rw-r--r--lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_4520754_Test4520754.java15
-rw-r--r--lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_Test4144543.java16
-rw-r--r--lang/openjdk7/patches/patch-jdk_test_java_lang_management_OperatingSystemMXBean_GetSystemLoadAverage.java15
-rw-r--r--lang/openjdk7/patches/patch-jdk_test_sun_security_ec_TestEC.java15
89 files changed, 3706 insertions, 76 deletions
diff --git a/lang/openjdk7/Makefile b/lang/openjdk7/Makefile
index a35749c50fd..aeba45ba6c9 100644
--- a/lang/openjdk7/Makefile
+++ b/lang/openjdk7/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.49 2013/06/04 22:16:33 tron Exp $
+# $NetBSD: Makefile,v 1.50 2013/06/15 09:31:05 jperkin Exp $
DISTNAME= openjdk-7u6-fcs-src-b24-09_aug_2012
PKGNAME= openjdk7-1.7.21
@@ -71,8 +71,8 @@ MAKE_ENV+= JAVA_HOME=
MAKE_ENV+= CLASSPATH=
MAKE_ENV+= EXTRA_CFLAGS="-DDEFAULT_LIBPATH=\\\"${PREFIX}/lib/jni:${PREFIX}/lib:/lib:/usr/lib\\\""
-BUILDDIR= ${WRKSRC}/build/${OPSYS:C/.*BSD/bsd/:S/DragonFly/bsd/}-${MACHINE_ARCH:S/i386/i586/:S/x86_64/amd64/}
-LD_LIBRARY_PATH= ${BUILDDIR}/lib/${MACHINE_ARCH:S/x86_64/amd64/}:${BUILDDIR}/lib/${MACHINE_ARCH:S/x86_64/amd64/}/server:${WRKDIR}/bootstrap/jre/lib/${MACHINE_ARCH:S/x86_64/amd64/}:${WRKDIR}/bootstrap/jre/lib/${MACHINE_ARCH:S/x86_64/amd64/}/server
+BUILDDIR= ${WRKSRC}/build/${OPSYS:C/.*BSD/bsd/:S/DragonFly/bsd/:S/SunOS/solaris/}-${MACHINE_ARCH:S/i386/i586/:S/x86_64/amd64/}
+LD_LIBRARY_PATH= ${BUILDDIR}/lib/${MACHINE_ARCH:S/x86_64/amd64/}:${BUILDDIR}/lib/${MACHINE_ARCH:S/x86_64/amd64/}/jli:${BUILDDIR}/lib/${MACHINE_ARCH:S/x86_64/amd64/}/server:${WRKDIR}/bootstrap/jre/lib/${MACHINE_ARCH:S/x86_64/amd64/}:${WRKDIR}/bootstrap/jre/lib/${MACHINE_ARCH:S/x86_64/amd64/}/jli:${WRKDIR}/bootstrap/jre/lib/${MACHINE_ARCH:S/x86_64/amd64/}/server
MAKE_ENV+= LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
BUILDLINK_PASSTHRU_RPATHDIRS+= ${PREFIX}/java/openjdk7/jre/lib/${MACHINE_ARCH:S/x86_64/amd64/}
@@ -81,6 +81,37 @@ PLIST_SUBST+= LOWER_OPSYS=${LOWER_OPSYS}
.include "../../mk/compiler.mk"
+.if ${OPSYS} == "SunOS" && !empty(PKGSRC_COMPILER:Mgcc)
+MAKE_ENV+= USE_GCC=1
+MAKE_ENV+= ARCH_DATA_MODEL=${ABI:Q}
+.endif
+
+# SmartOS has ccs tools in /usr/bin
+.if ${OS_VARIANT} == "SmartOS"
+SUBST_CLASSES+= ccspath
+SUBST_STAGE.ccspath= pre-build
+SUBST_FILES.ccspath= jdk/make/common/shared/Defs-utils.gmk
+SUBST_FILES.ccspath+= hotspot/make/solaris/makefiles/build_vm_def.sh
+SUBST_SED.ccspath= -e 's/UNIXCCS_PATH/UNIXCOMMAND_PATH/g'
+SUBST_SED.ccspath+= -e 's,/usr/ccs/bin,/usr/bin,g'
+.endif
+
+.if ${OPSYS} == "SunOS"
+SUBST_CLASSES+= mapfix
+SUBST_STAGE.mapfix= pre-build
+SUBST_FILES.mapfix= jdk/make/com/sun/java/pack/mapfile-vers
+SUBST_FILES.mapfix+= jdk/make/java/main/java/mapfile-amd64
+SUBST_FILES.mapfix+= jdk/make/java/main/java/mapfile-i586
+SUBST_SED.mapfix= -e '/__fsr_init_value/d'
+SUBST_SED.mapfix+= -e '/__progname/d'
+
+# environ should only be removed from this file (added by patches)
+SUBST_CLASSES+= mapfix2
+SUBST_STAGE.mapfix2= pre-build
+SUBST_FILES.mapfix2= jdk/make/com/sun/java/pack/mapfile-vers
+SUBST_SED.mapfix2= -e '/environ/d'
+.endif
+
.if !empty(PKGSRC_COMPILER:Mclang)
_WRAP_EXTRA_ARGS.CXX+= -Wno-parentheses -Wno-sign-conversion \
-Wno-shorten-64-to-32 -Wno-conversion \
@@ -117,10 +148,13 @@ SUBST_FILES.fontpaths+= jdk/src/solaris/native/sun/awt/fontpath.c
SUBST_SED.fontpaths= -e 's|@PREFIX@|${PREFIX}|g'
SUBST_SED.fontpaths+= -e 's|@BUILDLINK_PREFIX.fontconfig@|${BUILDLINK_PREFIX.fontconfig}|g'
-PLIST_VARS+= i386 jce
+PLIST_VARS+= i386 jce manja
.if ${MACHINE_ARCH} == "i386"
PLIST.i386= yes
.endif
+.if ${OPSYS} != "SunOS"
+PLIST.manja= yes
+.endif
post-extract:
chmod +x ${ANT_BIN}/ant
@@ -129,15 +163,28 @@ post-extract:
cd ${WRKDIR}/${ICEDTEA_WEB}/netx && pax -rw . \
${WRKSRC}/jdk/src/share/classes
# cd ${WRKSRC} && patch -s -p1 < ${WRKDIR}/${ICEDTEA}/patches/rhino.patch
- mv ${WRKDIR}/bootstrap/bin/java ${WRKDIR}/bootstrap/bin/java-real
- printf '#!/bin/sh\nexec %s/bootstrap/bin/java-real -mx256m "$$@"\n' \
- ${WRKDIR} > ${WRKDIR}/bootstrap/bin/java
- chmod a+x ${WRKDIR}/bootstrap/bin/java
+.if ${OPSYS} == "SunOS"
+ ${MKDIR} ${ALT_BOOTDIR}/bin
+ ${LN} -s ${JDK_BOOTDIR}/include ${ALT_BOOTDIR}/include
+ ${LN} -s ${JDK_BOOTDIR}/lib ${ALT_BOOTDIR}/lib
+ printf '#!/bin/sh\nexec %s/bin/java -mx256m "$$@"\n' \
+ ${JDK_BOOTDIR} > ${ALT_BOOTDIR}/bin/java
+.else
+ mv ${ALT_BOOTDIR}/bin/java ${ALT_BOOTDIR}/bin/java-real
+ printf '#!/bin/sh\nexec %s/bin/java-real -mx256m "$$@"\n' \
+ ${ALT_BOOTDIR} > ${ALT_BOOTDIR}/bin/java
+.endif
+ chmod a+x ${ALT_BOOTDIR}/bin/java
.for t in idlj jar javac javah javap native2ascii rmic
- mv ${WRKDIR}/bootstrap/bin/${t} ${WRKDIR}/bootstrap/bin/${t}-real
- printf '#!/bin/sh\n\nexec %s/bootstrap/bin/${t}-real -J-mx256m "$$@"\n' \
- ${WRKDIR} > ${WRKDIR}/bootstrap/bin/${t}
- chmod a+x ${WRKDIR}/bootstrap/bin/${t}
+.if ${OPSYS} == "SunOS"
+ printf '#!/bin/sh\n\nexec %s/bin/${t} -J-mx256m "$$@"\n' \
+ ${JDK_BOOTDIR} > ${ALT_BOOTDIR}/bin/${t}
+.else
+ mv ${ALT_BOOTDIR}/bin/${t} ${ALT_BOOTDIR}/bin/${t}-real
+ printf '#!/bin/sh\n\nexec %s/bin/${t}-real -J-mx256m "$$@"\n' \
+ ${ALT_BOOTDIR} > ${ALT_BOOTDIR}/bin/${t}
+.endif
+ chmod a+x ${ALT_BOOTDIR}/bin/${t}
.endfor
do-build: ${WRKDIR}/stage3-done
@@ -145,9 +192,9 @@ do-build: ${WRKDIR}/stage3-done
# stage 1 builds a native JDK using the bootstrap binaries
${WRKDIR}/stage1-done:
${_ULIMIT_CMD} cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM}
- rm -rf ${WRKDIR}/bootstrap
- cd ${BUILDDIR} && mv j2sdk-image ${WRKDIR}/bootstrap
- rm -rf ${BUILDDIR}
+ rm -rf ${ALT_BOOTDIR}
+ cd ${BUILDDIR} && mv j2sdk-image ${ALT_BOOTDIR}
+ mv ${BUILDDIR} ${BUILDDIR}-stage1
touch ${WRKDIR}/stage1-done
# stage 2 rebuilds the JDK using native tools
@@ -189,6 +236,14 @@ MAKE_ENV+= PTHREAD_STACKSIZE=1024
TOOLS_PLATFORM.unzip=
.endif
+# Include binutils for objcopy and GNU strip on SmartOS
+.if ${OS_VARIANT} == "SmartOS"
+.include "../../devel/binutils/buildlink3.mk"
+BUILDLINK_DEPMETHOD.binutils?= build
+MAKE_ENV+= ALT_OBJCOPY=${PREFIX}/bin/gobjcopy
+MAKE_ENV+= STRIP=${PREFIX}/bin/gstrip
+.endif
+
.include "../../converters/libiconv/buildlink3.mk"
.include "../../fonts/fontconfig/buildlink3.mk"
.include "../../graphics/freetype2/buildlink3.mk"
diff --git a/lang/openjdk7/PLIST b/lang/openjdk7/PLIST
index 56eb65c7f53..e082752d0cb 100644
--- a/lang/openjdk7/PLIST
+++ b/lang/openjdk7/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.9 2013/06/02 15:32:03 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.10 2013/06/15 09:31:05 jperkin Exp $
bin/openjdk7-jar
bin/openjdk7-java
bin/openjdk7-javac
@@ -925,7 +925,7 @@ java/openjdk7/lib/jconsole.jar
java/openjdk7/lib/orb.idl
java/openjdk7/lib/sa-jdi.jar
java/openjdk7/lib/tools.jar
-java/openjdk7/man/ja
+${PLIST.manja}java/openjdk7/man/ja
java/openjdk7/man/ja_JP.UTF-8/man1/appletviewer.1
java/openjdk7/man/ja_JP.UTF-8/man1/apt.1
java/openjdk7/man/ja_JP.UTF-8/man1/extcheck.1
diff --git a/lang/openjdk7/PLIST.SunOS b/lang/openjdk7/PLIST.SunOS
new file mode 100644
index 00000000000..5d8a4e2d876
--- /dev/null
+++ b/lang/openjdk7/PLIST.SunOS
@@ -0,0 +1,1165 @@
+@comment $NetBSD: PLIST.SunOS,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+bin/openjdk7-jar
+bin/openjdk7-java
+bin/openjdk7-javac
+bin/openjdk7-javadoc
+bin/openjdk7-javah
+bin/openjdk7-javap
+bin/openjdk7-keytool
+bin/openjdk7-orbd
+bin/openjdk7-policytool
+bin/openjdk7-rmid
+bin/openjdk7-rmiregistry
+bin/openjdk7-servertool
+bin/openjdk7-tnameserv
+java/openjdk7/ASSEMBLY_EXCEPTION
+java/openjdk7/LICENSE
+java/openjdk7/THIRD_PARTY_README
+java/openjdk7/bin/appletviewer
+java/openjdk7/bin/apt
+java/openjdk7/bin/extcheck
+java/openjdk7/bin/idlj
+java/openjdk7/bin/jar
+java/openjdk7/bin/jarsigner
+java/openjdk7/bin/java
+java/openjdk7/bin/java-rmi.cgi
+java/openjdk7/bin/javac
+java/openjdk7/bin/javadoc
+java/openjdk7/bin/javah
+java/openjdk7/bin/javap
+java/openjdk7/bin/jcmd
+java/openjdk7/bin/jconsole
+java/openjdk7/bin/jdb
+java/openjdk7/bin/jhat
+java/openjdk7/bin/jinfo
+java/openjdk7/bin/jmap
+java/openjdk7/bin/jps
+java/openjdk7/bin/jrunscript
+java/openjdk7/bin/jsadebugd
+java/openjdk7/bin/jstack
+java/openjdk7/bin/jstat
+java/openjdk7/bin/jstatd
+java/openjdk7/bin/keytool
+java/openjdk7/bin/native2ascii
+java/openjdk7/bin/orbd
+java/openjdk7/bin/pack200
+java/openjdk7/bin/policytool
+java/openjdk7/bin/rmic
+java/openjdk7/bin/rmid
+java/openjdk7/bin/rmiregistry
+java/openjdk7/bin/schemagen
+java/openjdk7/bin/serialver
+java/openjdk7/bin/servertool
+java/openjdk7/bin/tnameserv
+java/openjdk7/bin/unpack200
+java/openjdk7/bin/wsgen
+java/openjdk7/bin/wsimport
+java/openjdk7/bin/xjc
+java/openjdk7/demo/README
+java/openjdk7/demo/applets/ArcTest/ArcCanvas.class
+java/openjdk7/demo/applets/ArcTest/ArcControls.class
+java/openjdk7/demo/applets/ArcTest/ArcTest.class
+java/openjdk7/demo/applets/ArcTest/ArcTest.java
+java/openjdk7/demo/applets/ArcTest/IntegerTextField.class
+java/openjdk7/demo/applets/ArcTest/example1.html
+java/openjdk7/demo/applets/BarChart/BarChart.class
+java/openjdk7/demo/applets/BarChart/BarChart.java
+java/openjdk7/demo/applets/BarChart/example1.html
+java/openjdk7/demo/applets/BarChart/example2.html
+java/openjdk7/demo/applets/Blink/Blink$1.class
+java/openjdk7/demo/applets/Blink/Blink.class
+java/openjdk7/demo/applets/Blink/Blink.java
+java/openjdk7/demo/applets/Blink/example1.html
+java/openjdk7/demo/applets/CardTest/CardPanel.class
+java/openjdk7/demo/applets/CardTest/CardTest.class
+java/openjdk7/demo/applets/CardTest/CardTest.java
+java/openjdk7/demo/applets/CardTest/example1.html
+java/openjdk7/demo/applets/Clock/Clock.class
+java/openjdk7/demo/applets/Clock/Clock.java
+java/openjdk7/demo/applets/Clock/example1.html
+java/openjdk7/demo/applets/DitherTest/CardinalTextField.class
+java/openjdk7/demo/applets/DitherTest/DitherCanvas.class
+java/openjdk7/demo/applets/DitherTest/DitherControls.class
+java/openjdk7/demo/applets/DitherTest/DitherMethod.class
+java/openjdk7/demo/applets/DitherTest/DitherTest$1.class
+java/openjdk7/demo/applets/DitherTest/DitherTest.class
+java/openjdk7/demo/applets/DitherTest/DitherTest.java
+java/openjdk7/demo/applets/DitherTest/example1.html
+java/openjdk7/demo/applets/DrawTest/DrawControls.class
+java/openjdk7/demo/applets/DrawTest/DrawPanel.class
+java/openjdk7/demo/applets/DrawTest/DrawTest.class
+java/openjdk7/demo/applets/DrawTest/DrawTest.java
+java/openjdk7/demo/applets/DrawTest/example1.html
+java/openjdk7/demo/applets/Fractal/CLSFractal.class
+java/openjdk7/demo/applets/Fractal/CLSFractal.java
+java/openjdk7/demo/applets/Fractal/CLSRule.class
+java/openjdk7/demo/applets/Fractal/CLSTurtle.class
+java/openjdk7/demo/applets/Fractal/ContextLSystem.class
+java/openjdk7/demo/applets/Fractal/example1.html
+java/openjdk7/demo/applets/GraphicsTest/AppletFrame.class
+java/openjdk7/demo/applets/GraphicsTest/AppletFrame.java
+java/openjdk7/demo/applets/GraphicsTest/ArcCard.class
+java/openjdk7/demo/applets/GraphicsTest/ArcDegreePanel.class
+java/openjdk7/demo/applets/GraphicsTest/ArcPanel.class
+java/openjdk7/demo/applets/GraphicsTest/ColorUtils.class
+java/openjdk7/demo/applets/GraphicsTest/GraphicsCards.class
+java/openjdk7/demo/applets/GraphicsTest/GraphicsPanel.class
+java/openjdk7/demo/applets/GraphicsTest/GraphicsTest.class
+java/openjdk7/demo/applets/GraphicsTest/GraphicsTest.java
+java/openjdk7/demo/applets/GraphicsTest/OvalShape.class
+java/openjdk7/demo/applets/GraphicsTest/PolygonShape.class
+java/openjdk7/demo/applets/GraphicsTest/RectShape.class
+java/openjdk7/demo/applets/GraphicsTest/RoundRectShape.class
+java/openjdk7/demo/applets/GraphicsTest/Shape.class
+java/openjdk7/demo/applets/GraphicsTest/ShapeTest.class
+java/openjdk7/demo/applets/GraphicsTest/example1.html
+java/openjdk7/demo/applets/MoleculeViewer/Atom.class
+java/openjdk7/demo/applets/MoleculeViewer/Matrix3D.class
+java/openjdk7/demo/applets/MoleculeViewer/Matrix3D.java
+java/openjdk7/demo/applets/MoleculeViewer/XYZApp.class
+java/openjdk7/demo/applets/MoleculeViewer/XYZApp.java
+java/openjdk7/demo/applets/MoleculeViewer/XYZChemModel.class
+java/openjdk7/demo/applets/MoleculeViewer/example1.html
+java/openjdk7/demo/applets/MoleculeViewer/example2.html
+java/openjdk7/demo/applets/MoleculeViewer/example3.html
+java/openjdk7/demo/applets/MoleculeViewer/models/HyaluronicAcid.xyz
+java/openjdk7/demo/applets/MoleculeViewer/models/benzene.xyz
+java/openjdk7/demo/applets/MoleculeViewer/models/buckminsterfullerine.xyz
+java/openjdk7/demo/applets/MoleculeViewer/models/cyclohexane.xyz
+java/openjdk7/demo/applets/MoleculeViewer/models/ethane.xyz
+java/openjdk7/demo/applets/MoleculeViewer/models/water.xyz
+java/openjdk7/demo/applets/NervousText/NervousText.class
+java/openjdk7/demo/applets/NervousText/NervousText.java
+java/openjdk7/demo/applets/NervousText/example1.html
+java/openjdk7/demo/applets/SimpleGraph/GraphApplet.class
+java/openjdk7/demo/applets/SimpleGraph/GraphApplet.java
+java/openjdk7/demo/applets/SimpleGraph/example1.html
+java/openjdk7/demo/applets/SortDemo/BidirBubbleSortAlgorithm.class
+java/openjdk7/demo/applets/SortDemo/BidirBubbleSortAlgorithm.java
+java/openjdk7/demo/applets/SortDemo/BubbleSortAlgorithm.class
+java/openjdk7/demo/applets/SortDemo/BubbleSortAlgorithm.java
+java/openjdk7/demo/applets/SortDemo/QSortAlgorithm.class
+java/openjdk7/demo/applets/SortDemo/QSortAlgorithm.java
+java/openjdk7/demo/applets/SortDemo/SortAlgorithm.class
+java/openjdk7/demo/applets/SortDemo/SortAlgorithm.java
+java/openjdk7/demo/applets/SortDemo/SortItem.class
+java/openjdk7/demo/applets/SortDemo/SortItem.java
+java/openjdk7/demo/applets/SortDemo/example1.html
+java/openjdk7/demo/applets/SpreadSheet/Cell.class
+java/openjdk7/demo/applets/SpreadSheet/CellUpdater.class
+java/openjdk7/demo/applets/SpreadSheet/InputField.class
+java/openjdk7/demo/applets/SpreadSheet/Node.class
+java/openjdk7/demo/applets/SpreadSheet/SpreadSheet.class
+java/openjdk7/demo/applets/SpreadSheet/SpreadSheet.java
+java/openjdk7/demo/applets/SpreadSheet/SpreadSheetInput.class
+java/openjdk7/demo/applets/SpreadSheet/example1.html
+java/openjdk7/demo/applets/WireFrame/FileFormatException.class
+java/openjdk7/demo/applets/WireFrame/Matrix3D.class
+java/openjdk7/demo/applets/WireFrame/Matrix3D.java
+java/openjdk7/demo/applets/WireFrame/Model3D.class
+java/openjdk7/demo/applets/WireFrame/ThreeD.class
+java/openjdk7/demo/applets/WireFrame/ThreeD.java
+java/openjdk7/demo/applets/WireFrame/example1.html
+java/openjdk7/demo/applets/WireFrame/example2.html
+java/openjdk7/demo/applets/WireFrame/example3.html
+java/openjdk7/demo/applets/WireFrame/example4.html
+java/openjdk7/demo/applets/WireFrame/models/cube.obj
+java/openjdk7/demo/applets/WireFrame/models/dinasaur.obj
+java/openjdk7/demo/applets/WireFrame/models/hughes_500.obj
+java/openjdk7/demo/applets/WireFrame/models/knoxS.obj
+java/openjdk7/demo/jfc/CodePointIM/CodePointIM.jar
+java/openjdk7/demo/jfc/CodePointIM/README.html
+java/openjdk7/demo/jfc/CodePointIM/README_ja.html
+java/openjdk7/demo/jfc/CodePointIM/README_zh_CN.html
+java/openjdk7/demo/jfc/CodePointIM/src.zip
+java/openjdk7/demo/jfc/FileChooserDemo/FileChooserDemo.jar
+java/openjdk7/demo/jfc/FileChooserDemo/README.txt
+java/openjdk7/demo/jfc/FileChooserDemo/src.zip
+java/openjdk7/demo/jfc/Font2DTest/Font2DTest.html
+java/openjdk7/demo/jfc/Font2DTest/Font2DTest.jar
+java/openjdk7/demo/jfc/Font2DTest/README.txt
+java/openjdk7/demo/jfc/Font2DTest/src.zip
+java/openjdk7/demo/jfc/Metalworks/Metalworks.jar
+java/openjdk7/demo/jfc/Metalworks/README.txt
+java/openjdk7/demo/jfc/Metalworks/src.zip
+java/openjdk7/demo/jfc/Notepad/Notepad.jar
+java/openjdk7/demo/jfc/Notepad/README.txt
+java/openjdk7/demo/jfc/Notepad/src.zip
+java/openjdk7/demo/jfc/SampleTree/README.txt
+java/openjdk7/demo/jfc/SampleTree/SampleTree.jar
+java/openjdk7/demo/jfc/SampleTree/src.zip
+java/openjdk7/demo/jfc/SwingApplet/README.txt
+java/openjdk7/demo/jfc/SwingApplet/SwingApplet.html
+java/openjdk7/demo/jfc/SwingApplet/SwingApplet.jar
+java/openjdk7/demo/jfc/SwingApplet/src.zip
+java/openjdk7/demo/jfc/TableExample/README.txt
+java/openjdk7/demo/jfc/TableExample/TableExample.jar
+java/openjdk7/demo/jfc/TableExample/src.zip
+java/openjdk7/demo/jfc/TransparentRuler/README.txt
+java/openjdk7/demo/jfc/TransparentRuler/TransparentRuler.jar
+java/openjdk7/demo/jfc/TransparentRuler/src.zip
+java/openjdk7/demo/jni/Poller/Poller.jar
+java/openjdk7/demo/jni/Poller/README.txt
+java/openjdk7/demo/jni/Poller/lib/libPoller.so
+java/openjdk7/demo/jni/Poller/src.zip
+java/openjdk7/demo/jpda/com/sun/tools/example/README
+java/openjdk7/demo/jpda/examples.jar
+java/openjdk7/demo/jpda/src.zip
+java/openjdk7/demo/jvmti/compiledMethodLoad/README.txt
+java/openjdk7/demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
+java/openjdk7/demo/jvmti/compiledMethodLoad/src.zip
+java/openjdk7/demo/jvmti/gctest/README.txt
+java/openjdk7/demo/jvmti/gctest/lib/libgctest.so
+java/openjdk7/demo/jvmti/gctest/src.zip
+java/openjdk7/demo/jvmti/heapTracker/README.txt
+java/openjdk7/demo/jvmti/heapTracker/heapTracker.jar
+java/openjdk7/demo/jvmti/heapTracker/lib/libheapTracker.so
+java/openjdk7/demo/jvmti/heapTracker/src.zip
+java/openjdk7/demo/jvmti/heapViewer/README.txt
+java/openjdk7/demo/jvmti/heapViewer/lib/libheapViewer.so
+java/openjdk7/demo/jvmti/heapViewer/src.zip
+java/openjdk7/demo/jvmti/hprof/README.txt
+java/openjdk7/demo/jvmti/hprof/lib/libhprof.so
+java/openjdk7/demo/jvmti/hprof/src.zip
+java/openjdk7/demo/jvmti/index.html
+java/openjdk7/demo/jvmti/minst/README.txt
+java/openjdk7/demo/jvmti/minst/lib/libminst.so
+java/openjdk7/demo/jvmti/minst/minst.jar
+java/openjdk7/demo/jvmti/minst/src.zip
+java/openjdk7/demo/jvmti/mtrace/README.txt
+java/openjdk7/demo/jvmti/mtrace/lib/libmtrace.so
+java/openjdk7/demo/jvmti/mtrace/mtrace.jar
+java/openjdk7/demo/jvmti/mtrace/src.zip
+java/openjdk7/demo/jvmti/versionCheck/README.txt
+java/openjdk7/demo/jvmti/versionCheck/lib/libversionCheck.so
+java/openjdk7/demo/jvmti/versionCheck/src.zip
+java/openjdk7/demo/jvmti/waiters/README.txt
+java/openjdk7/demo/jvmti/waiters/lib/libwaiters.so
+java/openjdk7/demo/jvmti/waiters/src.zip
+java/openjdk7/demo/management/FullThreadDump/FullThreadDump.jar
+java/openjdk7/demo/management/FullThreadDump/README.txt
+java/openjdk7/demo/management/FullThreadDump/src.zip
+java/openjdk7/demo/management/JTop/JTop.jar
+java/openjdk7/demo/management/JTop/README.txt
+java/openjdk7/demo/management/JTop/src.zip
+java/openjdk7/demo/management/MemoryMonitor/MemoryMonitor.jar
+java/openjdk7/demo/management/MemoryMonitor/README.txt
+java/openjdk7/demo/management/MemoryMonitor/src.zip
+java/openjdk7/demo/management/VerboseGC/README.txt
+java/openjdk7/demo/management/VerboseGC/VerboseGC.jar
+java/openjdk7/demo/management/VerboseGC/src.zip
+java/openjdk7/demo/management/index.html
+java/openjdk7/demo/nbproject/README.txt
+java/openjdk7/demo/nbproject/jfc/FileChooserDemo/build.properties
+java/openjdk7/demo/nbproject/jfc/FileChooserDemo/build.xml
+java/openjdk7/demo/nbproject/jfc/FileChooserDemo/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/jfc/FileChooserDemo/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/jfc/FileChooserDemo/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/jfc/FileChooserDemo/nbproject/project.xml
+java/openjdk7/demo/nbproject/jfc/Font2DTest/build.properties
+java/openjdk7/demo/nbproject/jfc/Font2DTest/build.xml
+java/openjdk7/demo/nbproject/jfc/Font2DTest/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/jfc/Font2DTest/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/jfc/Font2DTest/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/jfc/Font2DTest/nbproject/project.xml
+java/openjdk7/demo/nbproject/jfc/Metalworks/build.properties
+java/openjdk7/demo/nbproject/jfc/Metalworks/build.xml
+java/openjdk7/demo/nbproject/jfc/Metalworks/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/jfc/Metalworks/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/jfc/Metalworks/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/jfc/Metalworks/nbproject/project.xml
+java/openjdk7/demo/nbproject/jfc/Notepad/build.properties
+java/openjdk7/demo/nbproject/jfc/Notepad/build.xml
+java/openjdk7/demo/nbproject/jfc/Notepad/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/jfc/Notepad/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/jfc/Notepad/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/jfc/Notepad/nbproject/project.xml
+java/openjdk7/demo/nbproject/jfc/SampleTree/build.properties
+java/openjdk7/demo/nbproject/jfc/SampleTree/build.xml
+java/openjdk7/demo/nbproject/jfc/SampleTree/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/jfc/SampleTree/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/jfc/SampleTree/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/jfc/SampleTree/nbproject/project.xml
+java/openjdk7/demo/nbproject/jfc/SwingApplet/build.properties
+java/openjdk7/demo/nbproject/jfc/SwingApplet/build.xml
+java/openjdk7/demo/nbproject/jfc/SwingApplet/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/jfc/SwingApplet/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/jfc/SwingApplet/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/jfc/SwingApplet/nbproject/project.xml
+java/openjdk7/demo/nbproject/jfc/TableExample/build.properties
+java/openjdk7/demo/nbproject/jfc/TableExample/build.xml
+java/openjdk7/demo/nbproject/jfc/TableExample/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/jfc/TableExample/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/jfc/TableExample/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/jfc/TableExample/nbproject/project.xml
+java/openjdk7/demo/nbproject/jfc/TransparentRuler/build.properties
+java/openjdk7/demo/nbproject/jfc/TransparentRuler/build.xml
+java/openjdk7/demo/nbproject/jfc/TransparentRuler/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/jfc/TransparentRuler/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/jfc/TransparentRuler/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/jfc/TransparentRuler/nbproject/project.xml
+java/openjdk7/demo/nbproject/management/FullThreadDump/build.properties
+java/openjdk7/demo/nbproject/management/FullThreadDump/build.xml
+java/openjdk7/demo/nbproject/management/FullThreadDump/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/management/FullThreadDump/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/management/FullThreadDump/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/management/FullThreadDump/nbproject/project.xml
+java/openjdk7/demo/nbproject/management/JTop/build.properties
+java/openjdk7/demo/nbproject/management/JTop/build.xml
+java/openjdk7/demo/nbproject/management/JTop/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/management/JTop/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/management/JTop/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/management/JTop/nbproject/project.xml
+java/openjdk7/demo/nbproject/management/MemoryMonitor/build.properties
+java/openjdk7/demo/nbproject/management/MemoryMonitor/build.xml
+java/openjdk7/demo/nbproject/management/MemoryMonitor/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/management/MemoryMonitor/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/management/MemoryMonitor/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/management/MemoryMonitor/nbproject/project.xml
+java/openjdk7/demo/nbproject/management/VerboseGC/build.properties
+java/openjdk7/demo/nbproject/management/VerboseGC/build.xml
+java/openjdk7/demo/nbproject/management/VerboseGC/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/management/VerboseGC/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/management/VerboseGC/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/management/VerboseGC/nbproject/project.xml
+java/openjdk7/demo/nbproject/project.xml
+java/openjdk7/demo/nbproject/scripting/jconsole-plugin/build.properties
+java/openjdk7/demo/nbproject/scripting/jconsole-plugin/build.xml
+java/openjdk7/demo/nbproject/scripting/jconsole-plugin/nbproject/file-targets.xml
+java/openjdk7/demo/nbproject/scripting/jconsole-plugin/nbproject/jdk.xml
+java/openjdk7/demo/nbproject/scripting/jconsole-plugin/nbproject/netbeans-targets.xml
+java/openjdk7/demo/nbproject/scripting/jconsole-plugin/nbproject/project.xml
+java/openjdk7/demo/nio/zipfs/Demo.java
+java/openjdk7/demo/nio/zipfs/README.txt
+java/openjdk7/demo/nio/zipfs/src.zip
+java/openjdk7/demo/nio/zipfs/zipfs.jar
+java/openjdk7/demo/scripting/jconsole-plugin/README.txt
+java/openjdk7/demo/scripting/jconsole-plugin/build.xml
+java/openjdk7/demo/scripting/jconsole-plugin/jconsole-plugin.jar
+java/openjdk7/demo/scripting/jconsole-plugin/src.zip
+java/openjdk7/include/classfile_constants.h
+java/openjdk7/include/jawt.h
+java/openjdk7/include/jdwpTransport.h
+java/openjdk7/include/jni.h
+java/openjdk7/include/jni_md.h
+java/openjdk7/include/jvmti.h
+java/openjdk7/include/jvmticmlr.h
+java/openjdk7/include/solaris/jawt_md.h
+java/openjdk7/include/solaris/jni_md.h
+java/openjdk7/jre/ASSEMBLY_EXCEPTION
+java/openjdk7/jre/LICENSE
+java/openjdk7/jre/THIRD_PARTY_README
+java/openjdk7/jre/bin/java
+java/openjdk7/jre/bin/keytool
+java/openjdk7/jre/bin/orbd
+java/openjdk7/jre/bin/pack200
+java/openjdk7/jre/bin/policytool
+java/openjdk7/jre/bin/rmid
+java/openjdk7/jre/bin/rmiregistry
+java/openjdk7/jre/bin/servertool
+java/openjdk7/jre/bin/tnameserv
+java/openjdk7/jre/bin/unpack200
+java/openjdk7/jre/lib/applet/.keep
+java/openjdk7/jre/lib/calendars.properties
+java/openjdk7/jre/lib/charsets.jar
+java/openjdk7/jre/lib/classlist
+java/openjdk7/jre/lib/cmm/CIEXYZ.pf
+java/openjdk7/jre/lib/cmm/GRAY.pf
+java/openjdk7/jre/lib/cmm/LINEAR_RGB.pf
+java/openjdk7/jre/lib/cmm/PYCC.pf
+java/openjdk7/jre/lib/cmm/sRGB.pf
+java/openjdk7/jre/lib/content-types.properties
+java/openjdk7/jre/lib/currency.data
+java/openjdk7/jre/lib/ext/dnsns.jar
+java/openjdk7/jre/lib/ext/localedata.jar
+java/openjdk7/jre/lib/ext/meta-index
+java/openjdk7/jre/lib/ext/sunec.jar
+java/openjdk7/jre/lib/ext/sunjce_provider.jar
+java/openjdk7/jre/lib/ext/sunpkcs11.jar
+java/openjdk7/jre/lib/ext/zipfs.jar
+java/openjdk7/jre/lib/flavormap.properties
+java/openjdk7/jre/lib/fontconfig.bfc
+java/openjdk7/jre/lib/fontconfig.properties.src
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/64/libjvm_db.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/64/libjvm_db.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/64/libjvm_dtrace.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/64/libjvm_dtrace.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/Xusage.txt
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/libjsig.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/libjsig.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/libjvm.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/libjvm.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/libjvm_db.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/libjvm_db.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/libjvm_dtrace.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/client/libjvm_dtrace.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/headless/libmawt.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/jexec
+java/openjdk7/jre/lib/${MACHINE_ARCH}/jli/libjli.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/jvm.cfg
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libattach.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libattach.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libawt.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libdt_socket.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libdt_socket.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libfontmanager.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libfreetype.so.6
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libhprof.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libhprof.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libinstrument.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libinstrument.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libj2gss.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libj2pcsc.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libj2pkcs11.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjaas_unix.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjava.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjava_crw_demo.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjava_crw_demo.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjawt.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjdwp.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjpeg.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjsdt.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjsdt.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjsig.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjsig.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libjsound.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/liblcms.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libmanagement.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libmanagement.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libmlib_image.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libnet.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libnio.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libnpt.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libnpt.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/librmi.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libsaproc.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libsaproc.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libsctp.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libsplashscreen.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libsunec.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libunpack.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libverify.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libverify.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/libzip.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/64/libjvm_db.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/64/libjvm_db.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/64/libjvm_dtrace.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/64/libjvm_dtrace.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/Xusage.txt
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/libjsig.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/libjsig.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/libjvm.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/libjvm.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/libjvm_db.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/libjvm_db.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/libjvm_dtrace.diz
+java/openjdk7/jre/lib/${MACHINE_ARCH}/server/libjvm_dtrace.so
+java/openjdk7/jre/lib/${MACHINE_ARCH}/xawt/libmawt.so
+java/openjdk7/jre/lib/images/cursors/cursors.properties
+java/openjdk7/jre/lib/images/cursors/invalid32x32.gif
+java/openjdk7/jre/lib/images/cursors/motif_CopyDrop32x32.gif
+java/openjdk7/jre/lib/images/cursors/motif_CopyNoDrop32x32.gif
+java/openjdk7/jre/lib/images/cursors/motif_LinkDrop32x32.gif
+java/openjdk7/jre/lib/images/cursors/motif_LinkNoDrop32x32.gif
+java/openjdk7/jre/lib/images/cursors/motif_MoveDrop32x32.gif
+java/openjdk7/jre/lib/images/cursors/motif_MoveNoDrop32x32.gif
+java/openjdk7/jre/lib/jce.jar
+java/openjdk7/jre/lib/jsse.jar
+java/openjdk7/jre/lib/jvm.hprof.txt
+java/openjdk7/jre/lib/logging.properties
+java/openjdk7/jre/lib/management-agent.jar
+java/openjdk7/jre/lib/management/jmxremote.access
+java/openjdk7/jre/lib/management/jmxremote.password.template
+java/openjdk7/jre/lib/management/management.properties
+java/openjdk7/jre/lib/management/snmp.acl.template
+java/openjdk7/jre/lib/meta-index
+java/openjdk7/jre/lib/net.properties
+java/openjdk7/jre/lib/psfont.properties.ja
+java/openjdk7/jre/lib/psfontj2d.properties
+java/openjdk7/jre/lib/resources.jar
+java/openjdk7/jre/lib/rhino.jar
+java/openjdk7/jre/lib/rt.jar
+java/openjdk7/jre/lib/sdp/sdp.conf.template
+java/openjdk7/jre/lib/security/US_export_policy.jar
+java/openjdk7/jre/lib/security/cacerts
+java/openjdk7/jre/lib/security/java.policy
+java/openjdk7/jre/lib/security/java.security
+java/openjdk7/jre/lib/security/local_policy.jar
+java/openjdk7/jre/lib/security/sunpkcs11-solaris.cfg
+java/openjdk7/jre/lib/servicetag/jdk_header.png
+java/openjdk7/jre/lib/sound.properties
+java/openjdk7/jre/lib/zi/Africa/Abidjan
+java/openjdk7/jre/lib/zi/Africa/Accra
+java/openjdk7/jre/lib/zi/Africa/Addis_Ababa
+java/openjdk7/jre/lib/zi/Africa/Algiers
+java/openjdk7/jre/lib/zi/Africa/Asmara
+java/openjdk7/jre/lib/zi/Africa/Bamako
+java/openjdk7/jre/lib/zi/Africa/Bangui
+java/openjdk7/jre/lib/zi/Africa/Banjul
+java/openjdk7/jre/lib/zi/Africa/Bissau
+java/openjdk7/jre/lib/zi/Africa/Blantyre
+java/openjdk7/jre/lib/zi/Africa/Brazzaville
+java/openjdk7/jre/lib/zi/Africa/Bujumbura
+java/openjdk7/jre/lib/zi/Africa/Cairo
+java/openjdk7/jre/lib/zi/Africa/Casablanca
+java/openjdk7/jre/lib/zi/Africa/Ceuta
+java/openjdk7/jre/lib/zi/Africa/Conakry
+java/openjdk7/jre/lib/zi/Africa/Dakar
+java/openjdk7/jre/lib/zi/Africa/Dar_es_Salaam
+java/openjdk7/jre/lib/zi/Africa/Djibouti
+java/openjdk7/jre/lib/zi/Africa/Douala
+java/openjdk7/jre/lib/zi/Africa/El_Aaiun
+java/openjdk7/jre/lib/zi/Africa/Freetown
+java/openjdk7/jre/lib/zi/Africa/Gaborone
+java/openjdk7/jre/lib/zi/Africa/Harare
+java/openjdk7/jre/lib/zi/Africa/Johannesburg
+java/openjdk7/jre/lib/zi/Africa/Juba
+java/openjdk7/jre/lib/zi/Africa/Kampala
+java/openjdk7/jre/lib/zi/Africa/Khartoum
+java/openjdk7/jre/lib/zi/Africa/Kigali
+java/openjdk7/jre/lib/zi/Africa/Kinshasa
+java/openjdk7/jre/lib/zi/Africa/Lagos
+java/openjdk7/jre/lib/zi/Africa/Libreville
+java/openjdk7/jre/lib/zi/Africa/Lome
+java/openjdk7/jre/lib/zi/Africa/Luanda
+java/openjdk7/jre/lib/zi/Africa/Lubumbashi
+java/openjdk7/jre/lib/zi/Africa/Lusaka
+java/openjdk7/jre/lib/zi/Africa/Malabo
+java/openjdk7/jre/lib/zi/Africa/Maputo
+java/openjdk7/jre/lib/zi/Africa/Maseru
+java/openjdk7/jre/lib/zi/Africa/Mbabane
+java/openjdk7/jre/lib/zi/Africa/Mogadishu
+java/openjdk7/jre/lib/zi/Africa/Monrovia
+java/openjdk7/jre/lib/zi/Africa/Nairobi
+java/openjdk7/jre/lib/zi/Africa/Ndjamena
+java/openjdk7/jre/lib/zi/Africa/Niamey
+java/openjdk7/jre/lib/zi/Africa/Nouakchott
+java/openjdk7/jre/lib/zi/Africa/Ouagadougou
+java/openjdk7/jre/lib/zi/Africa/Porto-Novo
+java/openjdk7/jre/lib/zi/Africa/Sao_Tome
+java/openjdk7/jre/lib/zi/Africa/Tripoli
+java/openjdk7/jre/lib/zi/Africa/Tunis
+java/openjdk7/jre/lib/zi/Africa/Windhoek
+java/openjdk7/jre/lib/zi/America/Adak
+java/openjdk7/jre/lib/zi/America/Anchorage
+java/openjdk7/jre/lib/zi/America/Anguilla
+java/openjdk7/jre/lib/zi/America/Antigua
+java/openjdk7/jre/lib/zi/America/Araguaina
+java/openjdk7/jre/lib/zi/America/Argentina/Buenos_Aires
+java/openjdk7/jre/lib/zi/America/Argentina/Catamarca
+java/openjdk7/jre/lib/zi/America/Argentina/Cordoba
+java/openjdk7/jre/lib/zi/America/Argentina/Jujuy
+java/openjdk7/jre/lib/zi/America/Argentina/La_Rioja
+java/openjdk7/jre/lib/zi/America/Argentina/Mendoza
+java/openjdk7/jre/lib/zi/America/Argentina/Rio_Gallegos
+java/openjdk7/jre/lib/zi/America/Argentina/Salta
+java/openjdk7/jre/lib/zi/America/Argentina/San_Juan
+java/openjdk7/jre/lib/zi/America/Argentina/San_Luis
+java/openjdk7/jre/lib/zi/America/Argentina/Tucuman
+java/openjdk7/jre/lib/zi/America/Argentina/Ushuaia
+java/openjdk7/jre/lib/zi/America/Aruba
+java/openjdk7/jre/lib/zi/America/Asuncion
+java/openjdk7/jre/lib/zi/America/Atikokan
+java/openjdk7/jre/lib/zi/America/Bahia
+java/openjdk7/jre/lib/zi/America/Bahia_Banderas
+java/openjdk7/jre/lib/zi/America/Barbados
+java/openjdk7/jre/lib/zi/America/Belem
+java/openjdk7/jre/lib/zi/America/Belize
+java/openjdk7/jre/lib/zi/America/Blanc-Sablon
+java/openjdk7/jre/lib/zi/America/Boa_Vista
+java/openjdk7/jre/lib/zi/America/Bogota
+java/openjdk7/jre/lib/zi/America/Boise
+java/openjdk7/jre/lib/zi/America/Cambridge_Bay
+java/openjdk7/jre/lib/zi/America/Campo_Grande
+java/openjdk7/jre/lib/zi/America/Cancun
+java/openjdk7/jre/lib/zi/America/Caracas
+java/openjdk7/jre/lib/zi/America/Cayenne
+java/openjdk7/jre/lib/zi/America/Cayman
+java/openjdk7/jre/lib/zi/America/Chicago
+java/openjdk7/jre/lib/zi/America/Chihuahua
+java/openjdk7/jre/lib/zi/America/Costa_Rica
+java/openjdk7/jre/lib/zi/America/Creston
+java/openjdk7/jre/lib/zi/America/Cuiaba
+java/openjdk7/jre/lib/zi/America/Curacao
+java/openjdk7/jre/lib/zi/America/Danmarkshavn
+java/openjdk7/jre/lib/zi/America/Dawson
+java/openjdk7/jre/lib/zi/America/Dawson_Creek
+java/openjdk7/jre/lib/zi/America/Denver
+java/openjdk7/jre/lib/zi/America/Detroit
+java/openjdk7/jre/lib/zi/America/Dominica
+java/openjdk7/jre/lib/zi/America/Edmonton
+java/openjdk7/jre/lib/zi/America/Eirunepe
+java/openjdk7/jre/lib/zi/America/El_Salvador
+java/openjdk7/jre/lib/zi/America/Fortaleza
+java/openjdk7/jre/lib/zi/America/Glace_Bay
+java/openjdk7/jre/lib/zi/America/Godthab
+java/openjdk7/jre/lib/zi/America/Goose_Bay
+java/openjdk7/jre/lib/zi/America/Grand_Turk
+java/openjdk7/jre/lib/zi/America/Grenada
+java/openjdk7/jre/lib/zi/America/Guadeloupe
+java/openjdk7/jre/lib/zi/America/Guatemala
+java/openjdk7/jre/lib/zi/America/Guayaquil
+java/openjdk7/jre/lib/zi/America/Guyana
+java/openjdk7/jre/lib/zi/America/Halifax
+java/openjdk7/jre/lib/zi/America/Havana
+java/openjdk7/jre/lib/zi/America/Hermosillo
+java/openjdk7/jre/lib/zi/America/Indiana/Indianapolis
+java/openjdk7/jre/lib/zi/America/Indiana/Knox
+java/openjdk7/jre/lib/zi/America/Indiana/Marengo
+java/openjdk7/jre/lib/zi/America/Indiana/Petersburg
+java/openjdk7/jre/lib/zi/America/Indiana/Tell_City
+java/openjdk7/jre/lib/zi/America/Indiana/Vevay
+java/openjdk7/jre/lib/zi/America/Indiana/Vincennes
+java/openjdk7/jre/lib/zi/America/Indiana/Winamac
+java/openjdk7/jre/lib/zi/America/Inuvik
+java/openjdk7/jre/lib/zi/America/Iqaluit
+java/openjdk7/jre/lib/zi/America/Jamaica
+java/openjdk7/jre/lib/zi/America/Juneau
+java/openjdk7/jre/lib/zi/America/Kentucky/Louisville
+java/openjdk7/jre/lib/zi/America/Kentucky/Monticello
+java/openjdk7/jre/lib/zi/America/La_Paz
+java/openjdk7/jre/lib/zi/America/Lima
+java/openjdk7/jre/lib/zi/America/Los_Angeles
+java/openjdk7/jre/lib/zi/America/Maceio
+java/openjdk7/jre/lib/zi/America/Managua
+java/openjdk7/jre/lib/zi/America/Manaus
+java/openjdk7/jre/lib/zi/America/Martinique
+java/openjdk7/jre/lib/zi/America/Matamoros
+java/openjdk7/jre/lib/zi/America/Mazatlan
+java/openjdk7/jre/lib/zi/America/Menominee
+java/openjdk7/jre/lib/zi/America/Merida
+java/openjdk7/jre/lib/zi/America/Metlakatla
+java/openjdk7/jre/lib/zi/America/Mexico_City
+java/openjdk7/jre/lib/zi/America/Miquelon
+java/openjdk7/jre/lib/zi/America/Moncton
+java/openjdk7/jre/lib/zi/America/Monterrey
+java/openjdk7/jre/lib/zi/America/Montevideo
+java/openjdk7/jre/lib/zi/America/Montreal
+java/openjdk7/jre/lib/zi/America/Montserrat
+java/openjdk7/jre/lib/zi/America/Nassau
+java/openjdk7/jre/lib/zi/America/New_York
+java/openjdk7/jre/lib/zi/America/Nipigon
+java/openjdk7/jre/lib/zi/America/Nome
+java/openjdk7/jre/lib/zi/America/Noronha
+java/openjdk7/jre/lib/zi/America/North_Dakota/Beulah
+java/openjdk7/jre/lib/zi/America/North_Dakota/Center
+java/openjdk7/jre/lib/zi/America/North_Dakota/New_Salem
+java/openjdk7/jre/lib/zi/America/Ojinaga
+java/openjdk7/jre/lib/zi/America/Panama
+java/openjdk7/jre/lib/zi/America/Pangnirtung
+java/openjdk7/jre/lib/zi/America/Paramaribo
+java/openjdk7/jre/lib/zi/America/Phoenix
+java/openjdk7/jre/lib/zi/America/Port-au-Prince
+java/openjdk7/jre/lib/zi/America/Port_of_Spain
+java/openjdk7/jre/lib/zi/America/Porto_Velho
+java/openjdk7/jre/lib/zi/America/Puerto_Rico
+java/openjdk7/jre/lib/zi/America/Rainy_River
+java/openjdk7/jre/lib/zi/America/Rankin_Inlet
+java/openjdk7/jre/lib/zi/America/Recife
+java/openjdk7/jre/lib/zi/America/Regina
+java/openjdk7/jre/lib/zi/America/Resolute
+java/openjdk7/jre/lib/zi/America/Rio_Branco
+java/openjdk7/jre/lib/zi/America/Santa_Isabel
+java/openjdk7/jre/lib/zi/America/Santarem
+java/openjdk7/jre/lib/zi/America/Santiago
+java/openjdk7/jre/lib/zi/America/Santo_Domingo
+java/openjdk7/jre/lib/zi/America/Sao_Paulo
+java/openjdk7/jre/lib/zi/America/Scoresbysund
+java/openjdk7/jre/lib/zi/America/Sitka
+java/openjdk7/jre/lib/zi/America/St_Johns
+java/openjdk7/jre/lib/zi/America/St_Kitts
+java/openjdk7/jre/lib/zi/America/St_Lucia
+java/openjdk7/jre/lib/zi/America/St_Thomas
+java/openjdk7/jre/lib/zi/America/St_Vincent
+java/openjdk7/jre/lib/zi/America/Swift_Current
+java/openjdk7/jre/lib/zi/America/Tegucigalpa
+java/openjdk7/jre/lib/zi/America/Thule
+java/openjdk7/jre/lib/zi/America/Thunder_Bay
+java/openjdk7/jre/lib/zi/America/Tijuana
+java/openjdk7/jre/lib/zi/America/Toronto
+java/openjdk7/jre/lib/zi/America/Tortola
+java/openjdk7/jre/lib/zi/America/Vancouver
+java/openjdk7/jre/lib/zi/America/Whitehorse
+java/openjdk7/jre/lib/zi/America/Winnipeg
+java/openjdk7/jre/lib/zi/America/Yakutat
+java/openjdk7/jre/lib/zi/America/Yellowknife
+java/openjdk7/jre/lib/zi/Antarctica/Casey
+java/openjdk7/jre/lib/zi/Antarctica/Davis
+java/openjdk7/jre/lib/zi/Antarctica/DumontDUrville
+java/openjdk7/jre/lib/zi/Antarctica/Macquarie
+java/openjdk7/jre/lib/zi/Antarctica/Mawson
+java/openjdk7/jre/lib/zi/Antarctica/McMurdo
+java/openjdk7/jre/lib/zi/Antarctica/Palmer
+java/openjdk7/jre/lib/zi/Antarctica/Rothera
+java/openjdk7/jre/lib/zi/Antarctica/Syowa
+java/openjdk7/jre/lib/zi/Antarctica/Vostok
+java/openjdk7/jre/lib/zi/Asia/Aden
+java/openjdk7/jre/lib/zi/Asia/Almaty
+java/openjdk7/jre/lib/zi/Asia/Amman
+java/openjdk7/jre/lib/zi/Asia/Anadyr
+java/openjdk7/jre/lib/zi/Asia/Aqtau
+java/openjdk7/jre/lib/zi/Asia/Aqtobe
+java/openjdk7/jre/lib/zi/Asia/Ashgabat
+java/openjdk7/jre/lib/zi/Asia/Baghdad
+java/openjdk7/jre/lib/zi/Asia/Bahrain
+java/openjdk7/jre/lib/zi/Asia/Baku
+java/openjdk7/jre/lib/zi/Asia/Bangkok
+java/openjdk7/jre/lib/zi/Asia/Beirut
+java/openjdk7/jre/lib/zi/Asia/Bishkek
+java/openjdk7/jre/lib/zi/Asia/Brunei
+java/openjdk7/jre/lib/zi/Asia/Choibalsan
+java/openjdk7/jre/lib/zi/Asia/Chongqing
+java/openjdk7/jre/lib/zi/Asia/Colombo
+java/openjdk7/jre/lib/zi/Asia/Damascus
+java/openjdk7/jre/lib/zi/Asia/Dhaka
+java/openjdk7/jre/lib/zi/Asia/Dili
+java/openjdk7/jre/lib/zi/Asia/Dubai
+java/openjdk7/jre/lib/zi/Asia/Dushanbe
+java/openjdk7/jre/lib/zi/Asia/Gaza
+java/openjdk7/jre/lib/zi/Asia/Harbin
+java/openjdk7/jre/lib/zi/Asia/Hebron
+java/openjdk7/jre/lib/zi/Asia/Ho_Chi_Minh
+java/openjdk7/jre/lib/zi/Asia/Hong_Kong
+java/openjdk7/jre/lib/zi/Asia/Hovd
+java/openjdk7/jre/lib/zi/Asia/Irkutsk
+java/openjdk7/jre/lib/zi/Asia/Jakarta
+java/openjdk7/jre/lib/zi/Asia/Jayapura
+java/openjdk7/jre/lib/zi/Asia/Jerusalem
+java/openjdk7/jre/lib/zi/Asia/Kabul
+java/openjdk7/jre/lib/zi/Asia/Kamchatka
+java/openjdk7/jre/lib/zi/Asia/Karachi
+java/openjdk7/jre/lib/zi/Asia/Kashgar
+java/openjdk7/jre/lib/zi/Asia/Kathmandu
+java/openjdk7/jre/lib/zi/Asia/Kolkata
+java/openjdk7/jre/lib/zi/Asia/Krasnoyarsk
+java/openjdk7/jre/lib/zi/Asia/Kuala_Lumpur
+java/openjdk7/jre/lib/zi/Asia/Kuching
+java/openjdk7/jre/lib/zi/Asia/Kuwait
+java/openjdk7/jre/lib/zi/Asia/Macau
+java/openjdk7/jre/lib/zi/Asia/Magadan
+java/openjdk7/jre/lib/zi/Asia/Makassar
+java/openjdk7/jre/lib/zi/Asia/Manila
+java/openjdk7/jre/lib/zi/Asia/Muscat
+java/openjdk7/jre/lib/zi/Asia/Nicosia
+java/openjdk7/jre/lib/zi/Asia/Novokuznetsk
+java/openjdk7/jre/lib/zi/Asia/Novosibirsk
+java/openjdk7/jre/lib/zi/Asia/Omsk
+java/openjdk7/jre/lib/zi/Asia/Oral
+java/openjdk7/jre/lib/zi/Asia/Phnom_Penh
+java/openjdk7/jre/lib/zi/Asia/Pontianak
+java/openjdk7/jre/lib/zi/Asia/Pyongyang
+java/openjdk7/jre/lib/zi/Asia/Qatar
+java/openjdk7/jre/lib/zi/Asia/Qyzylorda
+java/openjdk7/jre/lib/zi/Asia/Rangoon
+java/openjdk7/jre/lib/zi/Asia/Riyadh
+java/openjdk7/jre/lib/zi/Asia/Riyadh87
+java/openjdk7/jre/lib/zi/Asia/Riyadh88
+java/openjdk7/jre/lib/zi/Asia/Riyadh89
+java/openjdk7/jre/lib/zi/Asia/Sakhalin
+java/openjdk7/jre/lib/zi/Asia/Samarkand
+java/openjdk7/jre/lib/zi/Asia/Seoul
+java/openjdk7/jre/lib/zi/Asia/Shanghai
+java/openjdk7/jre/lib/zi/Asia/Singapore
+java/openjdk7/jre/lib/zi/Asia/Taipei
+java/openjdk7/jre/lib/zi/Asia/Tashkent
+java/openjdk7/jre/lib/zi/Asia/Tbilisi
+java/openjdk7/jre/lib/zi/Asia/Tehran
+java/openjdk7/jre/lib/zi/Asia/Thimphu
+java/openjdk7/jre/lib/zi/Asia/Tokyo
+java/openjdk7/jre/lib/zi/Asia/Ulaanbaatar
+java/openjdk7/jre/lib/zi/Asia/Urumqi
+java/openjdk7/jre/lib/zi/Asia/Vientiane
+java/openjdk7/jre/lib/zi/Asia/Vladivostok
+java/openjdk7/jre/lib/zi/Asia/Yakutsk
+java/openjdk7/jre/lib/zi/Asia/Yekaterinburg
+java/openjdk7/jre/lib/zi/Asia/Yerevan
+java/openjdk7/jre/lib/zi/Atlantic/Azores
+java/openjdk7/jre/lib/zi/Atlantic/Bermuda
+java/openjdk7/jre/lib/zi/Atlantic/Canary
+java/openjdk7/jre/lib/zi/Atlantic/Cape_Verde
+java/openjdk7/jre/lib/zi/Atlantic/Faroe
+java/openjdk7/jre/lib/zi/Atlantic/Madeira
+java/openjdk7/jre/lib/zi/Atlantic/Reykjavik
+java/openjdk7/jre/lib/zi/Atlantic/South_Georgia
+java/openjdk7/jre/lib/zi/Atlantic/St_Helena
+java/openjdk7/jre/lib/zi/Atlantic/Stanley
+java/openjdk7/jre/lib/zi/Australia/Adelaide
+java/openjdk7/jre/lib/zi/Australia/Brisbane
+java/openjdk7/jre/lib/zi/Australia/Broken_Hill
+java/openjdk7/jre/lib/zi/Australia/Currie
+java/openjdk7/jre/lib/zi/Australia/Darwin
+java/openjdk7/jre/lib/zi/Australia/Eucla
+java/openjdk7/jre/lib/zi/Australia/Hobart
+java/openjdk7/jre/lib/zi/Australia/Lindeman
+java/openjdk7/jre/lib/zi/Australia/Lord_Howe
+java/openjdk7/jre/lib/zi/Australia/Melbourne
+java/openjdk7/jre/lib/zi/Australia/Perth
+java/openjdk7/jre/lib/zi/Australia/Sydney
+java/openjdk7/jre/lib/zi/CET
+java/openjdk7/jre/lib/zi/CST6CDT
+java/openjdk7/jre/lib/zi/EET
+java/openjdk7/jre/lib/zi/EST
+java/openjdk7/jre/lib/zi/EST5EDT
+java/openjdk7/jre/lib/zi/Etc/GMT
+java/openjdk7/jre/lib/zi/Etc/GMT+1
+java/openjdk7/jre/lib/zi/Etc/GMT+10
+java/openjdk7/jre/lib/zi/Etc/GMT+11
+java/openjdk7/jre/lib/zi/Etc/GMT+12
+java/openjdk7/jre/lib/zi/Etc/GMT+2
+java/openjdk7/jre/lib/zi/Etc/GMT+3
+java/openjdk7/jre/lib/zi/Etc/GMT+4
+java/openjdk7/jre/lib/zi/Etc/GMT+5
+java/openjdk7/jre/lib/zi/Etc/GMT+6
+java/openjdk7/jre/lib/zi/Etc/GMT+7
+java/openjdk7/jre/lib/zi/Etc/GMT+8
+java/openjdk7/jre/lib/zi/Etc/GMT+9
+java/openjdk7/jre/lib/zi/Etc/GMT-1
+java/openjdk7/jre/lib/zi/Etc/GMT-10
+java/openjdk7/jre/lib/zi/Etc/GMT-11
+java/openjdk7/jre/lib/zi/Etc/GMT-12
+java/openjdk7/jre/lib/zi/Etc/GMT-13
+java/openjdk7/jre/lib/zi/Etc/GMT-14
+java/openjdk7/jre/lib/zi/Etc/GMT-2
+java/openjdk7/jre/lib/zi/Etc/GMT-3
+java/openjdk7/jre/lib/zi/Etc/GMT-4
+java/openjdk7/jre/lib/zi/Etc/GMT-5
+java/openjdk7/jre/lib/zi/Etc/GMT-6
+java/openjdk7/jre/lib/zi/Etc/GMT-7
+java/openjdk7/jre/lib/zi/Etc/GMT-8
+java/openjdk7/jre/lib/zi/Etc/GMT-9
+java/openjdk7/jre/lib/zi/Etc/UCT
+java/openjdk7/jre/lib/zi/Etc/UTC
+java/openjdk7/jre/lib/zi/Europe/Amsterdam
+java/openjdk7/jre/lib/zi/Europe/Andorra
+java/openjdk7/jre/lib/zi/Europe/Athens
+java/openjdk7/jre/lib/zi/Europe/Belgrade
+java/openjdk7/jre/lib/zi/Europe/Berlin
+java/openjdk7/jre/lib/zi/Europe/Brussels
+java/openjdk7/jre/lib/zi/Europe/Bucharest
+java/openjdk7/jre/lib/zi/Europe/Budapest
+java/openjdk7/jre/lib/zi/Europe/Chisinau
+java/openjdk7/jre/lib/zi/Europe/Copenhagen
+java/openjdk7/jre/lib/zi/Europe/Dublin
+java/openjdk7/jre/lib/zi/Europe/Gibraltar
+java/openjdk7/jre/lib/zi/Europe/Helsinki
+java/openjdk7/jre/lib/zi/Europe/Istanbul
+java/openjdk7/jre/lib/zi/Europe/Kaliningrad
+java/openjdk7/jre/lib/zi/Europe/Kiev
+java/openjdk7/jre/lib/zi/Europe/Lisbon
+java/openjdk7/jre/lib/zi/Europe/London
+java/openjdk7/jre/lib/zi/Europe/Luxembourg
+java/openjdk7/jre/lib/zi/Europe/Madrid
+java/openjdk7/jre/lib/zi/Europe/Malta
+java/openjdk7/jre/lib/zi/Europe/Minsk
+java/openjdk7/jre/lib/zi/Europe/Monaco
+java/openjdk7/jre/lib/zi/Europe/Moscow
+java/openjdk7/jre/lib/zi/Europe/Oslo
+java/openjdk7/jre/lib/zi/Europe/Paris
+java/openjdk7/jre/lib/zi/Europe/Prague
+java/openjdk7/jre/lib/zi/Europe/Riga
+java/openjdk7/jre/lib/zi/Europe/Rome
+java/openjdk7/jre/lib/zi/Europe/Samara
+java/openjdk7/jre/lib/zi/Europe/Simferopol
+java/openjdk7/jre/lib/zi/Europe/Sofia
+java/openjdk7/jre/lib/zi/Europe/Stockholm
+java/openjdk7/jre/lib/zi/Europe/Tallinn
+java/openjdk7/jre/lib/zi/Europe/Tirane
+java/openjdk7/jre/lib/zi/Europe/Uzhgorod
+java/openjdk7/jre/lib/zi/Europe/Vaduz
+java/openjdk7/jre/lib/zi/Europe/Vienna
+java/openjdk7/jre/lib/zi/Europe/Vilnius
+java/openjdk7/jre/lib/zi/Europe/Volgograd
+java/openjdk7/jre/lib/zi/Europe/Warsaw
+java/openjdk7/jre/lib/zi/Europe/Zaporozhye
+java/openjdk7/jre/lib/zi/Europe/Zurich
+java/openjdk7/jre/lib/zi/GMT
+java/openjdk7/jre/lib/zi/HST
+java/openjdk7/jre/lib/zi/Indian/Antananarivo
+java/openjdk7/jre/lib/zi/Indian/Chagos
+java/openjdk7/jre/lib/zi/Indian/Christmas
+java/openjdk7/jre/lib/zi/Indian/Cocos
+java/openjdk7/jre/lib/zi/Indian/Comoro
+java/openjdk7/jre/lib/zi/Indian/Kerguelen
+java/openjdk7/jre/lib/zi/Indian/Mahe
+java/openjdk7/jre/lib/zi/Indian/Maldives
+java/openjdk7/jre/lib/zi/Indian/Mauritius
+java/openjdk7/jre/lib/zi/Indian/Mayotte
+java/openjdk7/jre/lib/zi/Indian/Reunion
+java/openjdk7/jre/lib/zi/MET
+java/openjdk7/jre/lib/zi/MST
+java/openjdk7/jre/lib/zi/MST7MDT
+java/openjdk7/jre/lib/zi/PST8PDT
+java/openjdk7/jre/lib/zi/Pacific/Apia
+java/openjdk7/jre/lib/zi/Pacific/Auckland
+java/openjdk7/jre/lib/zi/Pacific/Chatham
+java/openjdk7/jre/lib/zi/Pacific/Chuuk
+java/openjdk7/jre/lib/zi/Pacific/Easter
+java/openjdk7/jre/lib/zi/Pacific/Efate
+java/openjdk7/jre/lib/zi/Pacific/Enderbury
+java/openjdk7/jre/lib/zi/Pacific/Fakaofo
+java/openjdk7/jre/lib/zi/Pacific/Fiji
+java/openjdk7/jre/lib/zi/Pacific/Funafuti
+java/openjdk7/jre/lib/zi/Pacific/Galapagos
+java/openjdk7/jre/lib/zi/Pacific/Gambier
+java/openjdk7/jre/lib/zi/Pacific/Guadalcanal
+java/openjdk7/jre/lib/zi/Pacific/Guam
+java/openjdk7/jre/lib/zi/Pacific/Honolulu
+java/openjdk7/jre/lib/zi/Pacific/Johnston
+java/openjdk7/jre/lib/zi/Pacific/Kiritimati
+java/openjdk7/jre/lib/zi/Pacific/Kosrae
+java/openjdk7/jre/lib/zi/Pacific/Kwajalein
+java/openjdk7/jre/lib/zi/Pacific/Majuro
+java/openjdk7/jre/lib/zi/Pacific/Marquesas
+java/openjdk7/jre/lib/zi/Pacific/Midway
+java/openjdk7/jre/lib/zi/Pacific/Nauru
+java/openjdk7/jre/lib/zi/Pacific/Niue
+java/openjdk7/jre/lib/zi/Pacific/Norfolk
+java/openjdk7/jre/lib/zi/Pacific/Noumea
+java/openjdk7/jre/lib/zi/Pacific/Pago_Pago
+java/openjdk7/jre/lib/zi/Pacific/Palau
+java/openjdk7/jre/lib/zi/Pacific/Pitcairn
+java/openjdk7/jre/lib/zi/Pacific/Pohnpei
+java/openjdk7/jre/lib/zi/Pacific/Port_Moresby
+java/openjdk7/jre/lib/zi/Pacific/Rarotonga
+java/openjdk7/jre/lib/zi/Pacific/Saipan
+java/openjdk7/jre/lib/zi/Pacific/Tahiti
+java/openjdk7/jre/lib/zi/Pacific/Tarawa
+java/openjdk7/jre/lib/zi/Pacific/Tongatapu
+java/openjdk7/jre/lib/zi/Pacific/Wake
+java/openjdk7/jre/lib/zi/Pacific/Wallis
+java/openjdk7/jre/lib/zi/SystemV/AST4
+java/openjdk7/jre/lib/zi/SystemV/AST4ADT
+java/openjdk7/jre/lib/zi/SystemV/CST6
+java/openjdk7/jre/lib/zi/SystemV/CST6CDT
+java/openjdk7/jre/lib/zi/SystemV/EST5
+java/openjdk7/jre/lib/zi/SystemV/EST5EDT
+java/openjdk7/jre/lib/zi/SystemV/HST10
+java/openjdk7/jre/lib/zi/SystemV/MST7
+java/openjdk7/jre/lib/zi/SystemV/MST7MDT
+java/openjdk7/jre/lib/zi/SystemV/PST8
+java/openjdk7/jre/lib/zi/SystemV/PST8PDT
+java/openjdk7/jre/lib/zi/SystemV/YST9
+java/openjdk7/jre/lib/zi/SystemV/YST9YDT
+java/openjdk7/jre/lib/zi/WET
+java/openjdk7/jre/lib/zi/ZoneInfoMappings
+java/openjdk7/lib/ct.sym
+java/openjdk7/lib/ir.idl
+java/openjdk7/lib/jconsole.jar
+java/openjdk7/lib/orb.idl
+java/openjdk7/lib/sa-jdi.jar
+java/openjdk7/lib/tools.jar
+java/openjdk7/man/ja_JP.UTF-8/man1/appletviewer.1
+java/openjdk7/man/ja_JP.UTF-8/man1/apt.1
+java/openjdk7/man/ja_JP.UTF-8/man1/extcheck.1
+java/openjdk7/man/ja_JP.UTF-8/man1/idlj.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jar.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jarsigner.1
+java/openjdk7/man/ja_JP.UTF-8/man1/java.1
+java/openjdk7/man/ja_JP.UTF-8/man1/javac.1
+java/openjdk7/man/ja_JP.UTF-8/man1/javadoc.1
+java/openjdk7/man/ja_JP.UTF-8/man1/javah.1
+java/openjdk7/man/ja_JP.UTF-8/man1/javap.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jcmd.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jconsole.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jdb.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jhat.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jinfo.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jmap.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jps.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jrunscript.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jsadebugd.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jstack.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jstat.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jstatd.1
+java/openjdk7/man/ja_JP.UTF-8/man1/jvisualvm.1
+java/openjdk7/man/ja_JP.UTF-8/man1/keytool.1
+java/openjdk7/man/ja_JP.UTF-8/man1/native2ascii.1
+java/openjdk7/man/ja_JP.UTF-8/man1/orbd.1
+java/openjdk7/man/ja_JP.UTF-8/man1/pack200.1
+java/openjdk7/man/ja_JP.UTF-8/man1/policytool.1
+java/openjdk7/man/ja_JP.UTF-8/man1/rmic.1
+java/openjdk7/man/ja_JP.UTF-8/man1/rmid.1
+java/openjdk7/man/ja_JP.UTF-8/man1/rmiregistry.1
+java/openjdk7/man/ja_JP.UTF-8/man1/schemagen.1
+java/openjdk7/man/ja_JP.UTF-8/man1/serialver.1
+java/openjdk7/man/ja_JP.UTF-8/man1/servertool.1
+java/openjdk7/man/ja_JP.UTF-8/man1/tnameserv.1
+java/openjdk7/man/ja_JP.UTF-8/man1/unpack200.1
+java/openjdk7/man/ja_JP.UTF-8/man1/wsgen.1
+java/openjdk7/man/ja_JP.UTF-8/man1/wsimport.1
+java/openjdk7/man/ja_JP.UTF-8/man1/xjc.1
+java/openjdk7/man/man1/appletviewer.1
+java/openjdk7/man/man1/apt.1
+java/openjdk7/man/man1/extcheck.1
+java/openjdk7/man/man1/idlj.1
+java/openjdk7/man/man1/jar.1
+java/openjdk7/man/man1/jarsigner.1
+java/openjdk7/man/man1/java.1
+java/openjdk7/man/man1/javac.1
+java/openjdk7/man/man1/javadoc.1
+java/openjdk7/man/man1/javah.1
+java/openjdk7/man/man1/javap.1
+java/openjdk7/man/man1/jcmd.1
+java/openjdk7/man/man1/jconsole.1
+java/openjdk7/man/man1/jdb.1
+java/openjdk7/man/man1/jhat.1
+java/openjdk7/man/man1/jinfo.1
+java/openjdk7/man/man1/jmap.1
+java/openjdk7/man/man1/jps.1
+java/openjdk7/man/man1/jrunscript.1
+java/openjdk7/man/man1/jsadebugd.1
+java/openjdk7/man/man1/jstack.1
+java/openjdk7/man/man1/jstat.1
+java/openjdk7/man/man1/jstatd.1
+java/openjdk7/man/man1/jvisualvm.1
+java/openjdk7/man/man1/keytool.1
+java/openjdk7/man/man1/native2ascii.1
+java/openjdk7/man/man1/orbd.1
+java/openjdk7/man/man1/pack200.1
+java/openjdk7/man/man1/policytool.1
+java/openjdk7/man/man1/rmic.1
+java/openjdk7/man/man1/rmid.1
+java/openjdk7/man/man1/rmiregistry.1
+java/openjdk7/man/man1/schemagen.1
+java/openjdk7/man/man1/serialver.1
+java/openjdk7/man/man1/servertool.1
+java/openjdk7/man/man1/tnameserv.1
+java/openjdk7/man/man1/unpack200.1
+java/openjdk7/man/man1/wsgen.1
+java/openjdk7/man/man1/wsimport.1
+java/openjdk7/man/man1/xjc.1
+java/openjdk7/release
+java/openjdk7/sample/README
+java/openjdk7/sample/dtrace/README.txt
+java/openjdk7/sample/dtrace/helpers/dtrace_helper.d
+java/openjdk7/sample/dtrace/hotspot/README.txt
+java/openjdk7/sample/dtrace/hotspot/class_loading_stat.d
+java/openjdk7/sample/dtrace/hotspot/gc_time_stat.d
+java/openjdk7/sample/dtrace/hotspot/hotspot_calls_tree.d
+java/openjdk7/sample/dtrace/hotspot/method_compile_stat.d
+java/openjdk7/sample/dtrace/hotspot/method_invocation_stat.d
+java/openjdk7/sample/dtrace/hotspot/method_invocation_stat_filter.d
+java/openjdk7/sample/dtrace/hotspot/method_invocation_tree.d
+java/openjdk7/sample/dtrace/hotspot/monitors.d
+java/openjdk7/sample/dtrace/hotspot/object_allocation_stat.d
+java/openjdk7/sample/dtrace/hotspot_jni/CriticalSection.d
+java/openjdk7/sample/dtrace/hotspot_jni/CriticalSection_slow.d
+java/openjdk7/sample/dtrace/hotspot_jni/README.txt
+java/openjdk7/sample/dtrace/hotspot_jni/hotspot_jni_calls_stat.d
+java/openjdk7/sample/dtrace/hotspot_jni/hotspot_jni_calls_tree.d
+java/openjdk7/sample/forkjoin/mergesort/MergeDemo.java
+java/openjdk7/sample/forkjoin/mergesort/MergeSort.java
+java/openjdk7/sample/jmx/jmx-scandir/build.properties
+java/openjdk7/sample/jmx/jmx-scandir/build.xml
+java/openjdk7/sample/jmx/jmx-scandir/docfiles/connect-local-ant-run.jpg
+java/openjdk7/sample/jmx/jmx-scandir/docfiles/connect-local-java-jar.jpg
+java/openjdk7/sample/jmx/jmx-scandir/docfiles/connect-local.jpg
+java/openjdk7/sample/jmx/jmx-scandir/docfiles/remote-connection-failed.jpg
+java/openjdk7/sample/jmx/jmx-scandir/docfiles/remote-connection.jpg
+java/openjdk7/sample/jmx/jmx-scandir/docfiles/scandir-config.jpg
+java/openjdk7/sample/jmx/jmx-scandir/docfiles/scandir-result.jpg
+java/openjdk7/sample/jmx/jmx-scandir/docfiles/scandir-start.jpg
+java/openjdk7/sample/jmx/jmx-scandir/index.html
+java/openjdk7/sample/jmx/jmx-scandir/keystore
+java/openjdk7/sample/jmx/jmx-scandir/logging.properties
+java/openjdk7/sample/jmx/jmx-scandir/manifest.mf
+java/openjdk7/sample/jmx/jmx-scandir/nbproject/file-targets.xml
+java/openjdk7/sample/jmx/jmx-scandir/nbproject/jdk.xml
+java/openjdk7/sample/jmx/jmx-scandir/nbproject/netbeans-targets.xml
+java/openjdk7/sample/jmx/jmx-scandir/nbproject/project.xml
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScanner.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScannerMXBean.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManager.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManagerMXBean.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirAgent.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirClient.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfig.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfigMXBean.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManager.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManagerMXBean.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/DirectoryScannerConfig.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/FileMatch.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultLogConfig.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultRecord.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ScanManagerConfig.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/XmlConfigUtils.java
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/package.html
+java/openjdk7/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/package.html
+java/openjdk7/sample/jmx/jmx-scandir/src/etc/access.properties
+java/openjdk7/sample/jmx/jmx-scandir/src/etc/management.properties
+java/openjdk7/sample/jmx/jmx-scandir/src/etc/password.properties
+java/openjdk7/sample/jmx/jmx-scandir/src/etc/testconfig.xml
+java/openjdk7/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/DirectoryScannerTest.java
+java/openjdk7/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanDirConfigTest.java
+java/openjdk7/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanManagerTest.java
+java/openjdk7/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/TestUtils.java
+java/openjdk7/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/config/XmlConfigUtilsTest.java
+java/openjdk7/sample/jmx/jmx-scandir/truststore
+java/openjdk7/sample/nbproject/project.xml
+java/openjdk7/sample/nio/chatserver/ChatServer.java
+java/openjdk7/sample/nio/chatserver/Client.java
+java/openjdk7/sample/nio/chatserver/ClientReader.java
+java/openjdk7/sample/nio/chatserver/DataReader.java
+java/openjdk7/sample/nio/chatserver/MessageReader.java
+java/openjdk7/sample/nio/chatserver/NameReader.java
+java/openjdk7/sample/nio/chatserver/README.txt
+java/openjdk7/sample/nio/file/AclEdit.java
+java/openjdk7/sample/nio/file/Chmod.java
+java/openjdk7/sample/nio/file/Copy.java
+java/openjdk7/sample/nio/file/DiskUsage.java
+java/openjdk7/sample/nio/file/FileType.java
+java/openjdk7/sample/nio/file/WatchDir.java
+java/openjdk7/sample/nio/file/Xdd.java
+java/openjdk7/sample/nio/multicast/MulticastAddress.java
+java/openjdk7/sample/nio/multicast/Reader.java
+java/openjdk7/sample/nio/multicast/Sender.java
+java/openjdk7/sample/nio/server/AcceptHandler.java
+java/openjdk7/sample/nio/server/Acceptor.java
+java/openjdk7/sample/nio/server/B1.java
+java/openjdk7/sample/nio/server/BN.java
+java/openjdk7/sample/nio/server/BP.java
+java/openjdk7/sample/nio/server/ChannelIO.java
+java/openjdk7/sample/nio/server/ChannelIOSecure.java
+java/openjdk7/sample/nio/server/Content.java
+java/openjdk7/sample/nio/server/Dispatcher.java
+java/openjdk7/sample/nio/server/Dispatcher1.java
+java/openjdk7/sample/nio/server/DispatcherN.java
+java/openjdk7/sample/nio/server/FileContent.java
+java/openjdk7/sample/nio/server/Handler.java
+java/openjdk7/sample/nio/server/MalformedRequestException.java
+java/openjdk7/sample/nio/server/N1.java
+java/openjdk7/sample/nio/server/N2.java
+java/openjdk7/sample/nio/server/README.txt
+java/openjdk7/sample/nio/server/Reply.java
+java/openjdk7/sample/nio/server/Request.java
+java/openjdk7/sample/nio/server/RequestHandler.java
+java/openjdk7/sample/nio/server/RequestServicer.java
+java/openjdk7/sample/nio/server/Sendable.java
+java/openjdk7/sample/nio/server/Server.java
+java/openjdk7/sample/nio/server/StringContent.java
+java/openjdk7/sample/nio/server/URLDumper.java
+java/openjdk7/sample/scripting/scriptpad/README.txt
+java/openjdk7/sample/scripting/scriptpad/build.properties
+java/openjdk7/sample/scripting/scriptpad/build.xml
+java/openjdk7/sample/scripting/scriptpad/nbproject/file-targets.xml
+java/openjdk7/sample/scripting/scriptpad/nbproject/jdk.xml
+java/openjdk7/sample/scripting/scriptpad/nbproject/netbeans-targets.xml
+java/openjdk7/sample/scripting/scriptpad/nbproject/project.xml
+java/openjdk7/sample/scripting/scriptpad/src/META-INF/manifest.mf
+java/openjdk7/sample/scripting/scriptpad/src/com/sun/sample/scriptpad/Main.java
+java/openjdk7/sample/scripting/scriptpad/src/resources/Main.js
+java/openjdk7/sample/scripting/scriptpad/src/resources/conc.js
+java/openjdk7/sample/scripting/scriptpad/src/resources/gui.js
+java/openjdk7/sample/scripting/scriptpad/src/resources/mm.js
+java/openjdk7/sample/scripting/scriptpad/src/resources/scriptpad.js
+java/openjdk7/sample/scripting/scriptpad/src/scripts/README.txt
+java/openjdk7/sample/scripting/scriptpad/src/scripts/browse.js
+java/openjdk7/sample/scripting/scriptpad/src/scripts/insertfile.js
+java/openjdk7/sample/scripting/scriptpad/src/scripts/linewrap.js
+java/openjdk7/sample/scripting/scriptpad/src/scripts/mail.js
+java/openjdk7/sample/scripting/scriptpad/src/scripts/memmonitor.js
+java/openjdk7/sample/scripting/scriptpad/src/scripts/memory.bat
+java/openjdk7/sample/scripting/scriptpad/src/scripts/memory.js
+java/openjdk7/sample/scripting/scriptpad/src/scripts/memory.sh
+java/openjdk7/sample/scripting/scriptpad/src/scripts/textcolor.js
+java/openjdk7/src.zip
diff --git a/lang/openjdk7/bootstrap.mk b/lang/openjdk7/bootstrap.mk
index 4f9f4f968db..68fcbd093ca 100644
--- a/lang/openjdk7/bootstrap.mk
+++ b/lang/openjdk7/bootstrap.mk
@@ -1,7 +1,7 @@
-# $NetBSD: bootstrap.mk,v 1.7 2012/05/16 08:55:45 marino Exp $
+# $NetBSD: bootstrap.mk,v 1.8 2013/06/15 09:31:05 jperkin Exp $
ONLY_FOR_PLATFORM= NetBSD-[56].*-i386 NetBSD-[56].*-x86_64
-ONLY_FOR_PLATFORM+= DragonFly-[23].*-*
+ONLY_FOR_PLATFORM+= DragonFly-[23].*-* SunOS-*-*
BOOT.nb5-i386= bootstrap-jdk7-bin-netbsd-5-i386-20110811.tar.bz2
BOOT.nb5-amd64= bootstrap-jdk7-bin-netbsd-5-amd64-20110811.tar.bz2
@@ -53,4 +53,10 @@ DISTFILES+= ${BOOT.common-20110811}
EXTRACT_ONLY+= ${BOOT.common-20110811}
.endif
+.if ${OPSYS} == "SunOS"
+BUILD_DEPENDS+= sun-jdk7-[0-9]*:../../lang/sun-jdk7
+JDK_BOOTDIR= ${PREFIX}/java/sun-7
+MAKE_ENV+= ALT_JDK_IMPORT_PATH=${JDK_BOOTDIR}
+.endif
+
ALT_BOOTDIR= ${WRKDIR}/bootstrap
diff --git a/lang/openjdk7/distinfo b/lang/openjdk7/distinfo
index ec1b2e74068..e825a81aa36 100644
--- a/lang/openjdk7/distinfo
+++ b/lang/openjdk7/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.23 2013/06/05 12:05:19 obache Exp $
+$NetBSD: distinfo,v 1.24 2013/06/15 09:31:05 jperkin Exp $
SHA1 (openjdk7/UnlimitedJCEPolicyJDK7.zip) = 7d3c9ee89536b82cd21c680088b1bced16017253
RMD160 (openjdk7/UnlimitedJCEPolicyJDK7.zip) = a4a6a284579f43d2df3532d279e143d2f03c2c3f
@@ -54,39 +54,82 @@ Size (openjdk7/openjdk-7u6-fcs-src-b24-09_aug_2012.zip) = 103796914 bytes
SHA1 (openjdk7/rhino1_7R3.zip) = 81f39d6e24529d62b23a6a92a1a09af95495d7c1
RMD160 (openjdk7/rhino1_7R3.zip) = 3fdc3e1540d0fa35ba7dec1bf34a70b0d41cedd0
Size (openjdk7/rhino1_7R3.zip) = 4651597 bytes
-SHA1 (patch-aa) = 14132fe1bc29e6054ff92f6111e7696dffe9d1c6
-SHA1 (patch-ab) = f7d3a7e9ff645222c9ee49f61b1190dbe593678d
-SHA1 (patch-ac) = c10145eba997d367014d91a01891bedbde0f62a2
-SHA1 (patch-ad) = 430eba5b46f287b448c8ac885f977de57d6c2feb
-SHA1 (patch-ae) = 868a3ecd93b71e1394cdd0b34647b3d2b491e4ff
-SHA1 (patch-af) = 978d640a529fa3eba9f5ed8fb25c0ad3691879f9
-SHA1 (patch-ag) = 5e972632de0dbb02b23688ebdaa74dc77988eed0
-SHA1 (patch-ah) = 430aab5c0c8ccf7a095381ba04385345579d50dc
-SHA1 (patch-ai) = fdbd6452c736aa6fe1a7027a204989c4b0e67d2b
-SHA1 (patch-aj) = b014df9da89e9f95f029d9e23f58de734e0ae455
-SHA1 (patch-ak) = 2eb65025598a29153a2085927ed8be241a9a4887
-SHA1 (patch-al) = 32860ca2ba2f9974bafde31a490a787dfe502e51
-SHA1 (patch-am) = 47f2e3662eb2318f9ebe265eecd15589d9609fa9
-SHA1 (patch-an) = 1658febb4bb360d190c39b3bd5461a811a8489c8
-SHA1 (patch-ao) = e8289024ad75e56d26421a64abdc4553378dd929
-SHA1 (patch-ap) = 61ee5aba12076825165b35036cc0a5f249049c2b
-SHA1 (patch-aq) = 2c49fec8affb45ee5913155573941fc28b401390
-SHA1 (patch-ar) = 6dbd78d753c44be344e6ae48acf037043bd9882f
+SHA1 (patch-aa) = 6c27af8648ef893100a965ef2a009439e7bae6af
+SHA1 (patch-ab) = 35d5a4a4aa32f8b92ba82f583a2d31f2b7af7998
+SHA1 (patch-ac) = 7a7853d8d0fd451e64a6fc39c28bd2bd8173adc6
+SHA1 (patch-ad) = 93ddbb82e8999c581e56e7bc3c194ff87e68d8b9
+SHA1 (patch-ae) = 0bc7f2cf43835ce7d1e30e09a570e46a952a03e8
+SHA1 (patch-af) = 203f61a448989130552a2fbef73f93d1734f4f66
+SHA1 (patch-ag) = 83ec8015b8e0f2657f4289cea84bdc9b6d0c5e88
+SHA1 (patch-ah) = a02db4b415b20146e8703d925b5ac9004606e035
+SHA1 (patch-ai) = bee1b592401d15a91e7d926c9011bcd0d83fb5ec
+SHA1 (patch-aj) = b8f7f80e41ccc4fe9bb167d857c6a286b3b09f0a
+SHA1 (patch-ak) = 45beaba484a74fb47f74bec786c418781dc478e2
+SHA1 (patch-al) = f52ad9a838357f03348344f09cabf00157bb18cd
+SHA1 (patch-am) = d9b30616a7803d1f10751a2c6950317c167c5703
+SHA1 (patch-an) = da6a3a2451504a71faed11789fa7b015867a89cd
+SHA1 (patch-ao) = 258f2a35b66d40c9b1917034eadda307d7a2dfb2
+SHA1 (patch-ap) = 0ef305622c8d1ee1d5d6361b5af352251d52929a
+SHA1 (patch-aq) = 97303ebcdcf0251406eef816ae56c82c703dab9d
+SHA1 (patch-ar) = 6544d4c7d4f30a3baeac95834e41ce8f7d41f9ec
SHA1 (patch-as) = 0cef122fb4e8606a9f4923d44079156b89dca0c2
SHA1 (patch-at) = fdba3bdfccab8de333de08bcc0c9c52d3469d9a3
SHA1 (patch-aw) = b6de59de25cec67f2f8b776529df7bf23a5d870e
-SHA1 (patch-ba) = 258ccc9695289451cdcab52ebe4737a045ebf639
-SHA1 (patch-bd) = a081ae435aee1817fefe862cfb2c5ff4d332820e
-SHA1 (patch-bg) = 66778a32a03241a6f409eebf9843f0d7db065b41
-SHA1 (patch-bh) = 5ad9d3ae5fe34b1e9060149b1801a937435fa9e0
-SHA1 (patch-bi) = cc937210fd8cd5378754b8efc507fb4fcc7afbe6
-SHA1 (patch-bj) = 221256ff1a5f872fe62a3803b6588b7dd685e6f0
-SHA1 (patch-bk) = 1d140b248a227ed225e843b74258e9ff6e3d93b2
-SHA1 (patch-bl) = 203ac82af9e33ef6aced6588b28ad0e451c1d90a
-SHA1 (patch-bn) = df4532d613de76e58e3cbf411acc644ef13052c8
-SHA1 (patch-hotspot_make_bsd_makefiles_defs.make) = a2b1bb69cd80ce758873b1e136beaeb42c88fc45
+SHA1 (patch-ba) = 97e42aea28e4d7b63f41596690cd9f21c85622bf
+SHA1 (patch-bd) = b192cab222f76b5c05935946c6229117dd905423
+SHA1 (patch-bg) = 90328bd927c52e62d97c72fade2ceb70d42fe273
+SHA1 (patch-bh) = 33b56c77da352e710350a9e210660a78b11930a6
+SHA1 (patch-bi) = 9323d54054e5b3112e96ba311014c8228009de1a
+SHA1 (patch-bj) = 072939cfa9bc5d358393702f71cf98cae87b1743
+SHA1 (patch-bk) = cb6f2da6fb2bbecb981dbf454603c851c48f75bc
+SHA1 (patch-bl) = 34b829c6768fc67c0c0471880ce642284be602bb
+SHA1 (patch-bn) = e90012a3acbdeec1fe97d53ffa11816379ac90e9
+SHA1 (patch-corba_make_common_shared_Defs-utils.gmk) = e3b6d4683f1128bc1b2e5d8453608228da54e3d2
+SHA1 (patch-corba_make_common_shared_Platform.gmk) = 88b779af38d2f88db873d74493e5d2721c04531f
+SHA1 (patch-hotspot_make_bsd_makefiles_defs.make) = 85eda2125ef39c5fe5fcfbc072bd8a3591d5c4bf
+SHA1 (patch-hotspot_make_solaris_makefiles_adlc.make) = 1d1be862ed0d8fc3da4710da169ad5a965d9df14
+SHA1 (patch-hotspot_make_solaris_makefiles_build__vm__def.sh) = 54d197a94d27406f2957b5c2a7a7982866f99239
+SHA1 (patch-hotspot_make_solaris_makefiles_debug.make) = 5d3003a2b98501cb17695d11f8d3bfc7737657bd
+SHA1 (patch-hotspot_make_solaris_makefiles_dtrace.make) = d0060b60463f3695a9a9d2e60841266233fd589d
+SHA1 (patch-hotspot_make_solaris_makefiles_fastdebug.make) = 03bc8db5ac6623b63860a76d2d5cc4f26c44617b
+SHA1 (patch-hotspot_make_solaris_makefiles_gcc.make) = 805a45d52a715206fb4b964c6e7d533895059c30
+SHA1 (patch-hotspot_make_solaris_makefiles_jsig.make) = 8028a9aa009ce34e434a62a231747143bd16966a
+SHA1 (patch-hotspot_make_solaris_makefiles_jvmg.make) = 4b14c61707d739f612943c41ab7f3ccc34106a18
+SHA1 (patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER1.gcc) = 5163ebc52439f6fe1cdfde87b9b930744a485e70
+SHA1 (patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER2.gcc) = 690c750d9c0469cd6b71afed2633aa13373c2a7b
+SHA1 (patch-hotspot_make_solaris_makefiles_mapfile-vers-TIERED.gcc) = 9fbe6b4e8d4ef9e4ffc8361aa469a9ceacb331ff
+SHA1 (patch-hotspot_make_solaris_makefiles_optimized.make) = 78d64fe6cb7c3420889884a450c0803d56e44850
+SHA1 (patch-hotspot_make_solaris_makefiles_product.make) = 6105c8e7f8b612e70957bccf7313384488388aa5
+SHA1 (patch-hotspot_make_solaris_makefiles_saproc.make) = 8a034088ca3c9f5a625849b772dd51f65fad0b43
+SHA1 (patch-hotspot_make_solaris_makefiles_vm.make) = dfa30c806ceacd2598483a8e1138c2c757462311
+SHA1 (patch-hotspot_src_os__cpu_solaris__x86_vm_atomic__solaris__x86.inline.hpp) = 2bf9147643be4ac711d1bf94eb0e6ae4abad20c6
+SHA1 (patch-hotspot_src_os__cpu_solaris__x86_vm_orderAccess__solaris__x86.inline.hpp) = 82818bc8d8fee46403b88cf52a7c978b5ea0005c
+SHA1 (patch-hotspot_src_os__cpu_solaris__x86_vm_os__solaris__x86.cpp) = 7099b9bc230869edced8d521513173ab5bd0fa3f
+SHA1 (patch-hotspot_src_os__cpu_solaris__x86_vm_prefetch__solaris__x86.inline.hpp) = 5679710d8dc743b5e9820057cc1800471c6ac40b
+SHA1 (patch-hotspot_src_os__cpu_solaris__x86_vm_threadLS__solaris__x86.hpp) = 062a3cf87793867b68d497b75f5fef55ed6e1666
+SHA1 (patch-hotspot_src_os_posix_vm_os__posix.cpp) = da6017447c5537048fcf04198c400f96568dc6e2
+SHA1 (patch-hotspot_src_os_solaris_dtrace_jhelper.d) = 43ae9934ce7cf477f7968bcf9ba3c57e98f65cc8
+SHA1 (patch-hotspot_src_os_solaris_vm_decoder__solaris.cpp) = 3be8a96525ead1df18a40b18dccfad4ef2765d47
+SHA1 (patch-hotspot_src_os_solaris_vm_os__solaris.cpp) = cf7c6226ad7c322f43df900be0e69686ca3a7a57
+SHA1 (patch-hotspot_src_share_vm_utilities_globalDefinitions__gcc.hpp) = 7d244b859debf4f68e49fe6fb36fe2598951fcdb
SHA1 (patch-jdk_make_com_sun_Makefile) = 7b3b8163a4343b820f50b00babd4363c141ada67
+SHA1 (patch-jdk_make_com_sun_java_pack_Makefile) = bb258d4c2235ea780810d980b84b90a0380f3b46
SHA1 (patch-jdk_make_com_sun_script_Makefile) = ae6408118933387f4ac7a4f13c1fc4a73b44a2a3
+SHA1 (patch-jdk_make_common_Defs-solaris-gcc.gmk) = 32c0bbd91ec0c85eb725cd721ed759c6d6499f50
+SHA1 (patch-jdk_make_common_Defs-solaris.gmk) = ea0bef0fd67a1ff809a17005458dadaed202ba70
+SHA1 (patch-jdk_make_common_Mapfile-vers.gmk) = 7115ec8e0fc25f952a6c72ee78df33901040a7b6
+SHA1 (patch-jdk_make_common_Program.gmk) = 2ccab79ba7b84aa418c63d7f2a6f2a8b9e519b64
+SHA1 (patch-jdk_make_common_shared_Compiler-gcc.gmk) = e180383490d6c0a8bec4626ed96ad1741c8fb3a2
+SHA1 (patch-jdk_make_common_shared_Defs-utils.gmk) = bb5d55282bf100986c397e41b1be4d25e73232dc
+SHA1 (patch-jdk_make_common_shared_Defs-versions.gmk) = 20a9492180db88cf78bc107f1e2fc4a9101d2eab
+SHA1 (patch-jdk_make_java_instrument_Makefile) = c9bd9bf27d9f2971d59762320e5cf9d25c2c4852
+SHA1 (patch-jdk_make_java_nio_Makefile) = d4b8b830ce73841ae107f8485400ab6116b9ca3c
+SHA1 (patch-jdk_make_java_npt_Makefile) = bf7505c30fe3e9014399bc5ce618c5dc40aef62b
+SHA1 (patch-jdk_make_sun_awt_Makefile) = 981082d4dfda204f09a66b9fc452bea218d3ce6a
+SHA1 (patch-jdk_make_sun_awt_mawt.gmk) = aa694522a6b75a5ac30d7fe3a530e3feb6563d30
+SHA1 (patch-jdk_make_sun_security_ec_Makefile) = 30e35128a763b8d70e02e302f2e3ae5b7a24a99b
+SHA1 (patch-jdk_make_sun_splashscreen_Makefile) = fa6e9a60c1e0908c9c31761608a25bffc8093a60
+SHA1 (patch-jdk_make_sun_xawt_Makefile) = 735cf251798c2b6a638fc57dc90fe0750433f26d
SHA1 (patch-jdk_src_share_classes_com_sun_script_javascript_ExternalScriptable.java) = 9e9c0254740742cd103c0cb33d3aa564ad7de01f
SHA1 (patch-jdk_src_share_classes_com_sun_script_javascript_JSAdapter.java) = 85ddae5aa955ef951b2a9964b5f475f559c3c335
SHA1 (patch-jdk_src_share_classes_com_sun_script_javascript_JavaAdapter.java) = d8327c56a99ef6af8b3dfaf31e20bdebab5d6d44
@@ -96,5 +139,18 @@ SHA1 (patch-jdk_src_share_classes_com_sun_script_javascript_RhinoScriptEngine.ja
SHA1 (patch-jdk_src_share_classes_com_sun_script_javascript_RhinoScriptEngineFactory.java) = 64659b0845bf19680bc5d3d2d34b8eac5ada3994
SHA1 (patch-jdk_src_share_classes_com_sun_script_javascript_RhinoTopLevel.java) = 9663c73cb02170040256fd880ae51dd1353747e5
SHA1 (patch-jdk_src_share_classes_com_sun_script_javascript_RhinoWrapFactory.java) = b34d66405825fb4173eb5b517e004ae724686155
+SHA1 (patch-jdk_src_share_native_com_sun_java_util_jar_pack_defines.h) = 23ea055894e3a77dc9e3be1c627d4b0dde342221
+SHA1 (patch-jdk_src_share_native_sun_awt_image_jpeg_imageioJPEG.c) = 8502fc7da308daafc135db38e4513347a39368ba
+SHA1 (patch-jdk_src_share_native_sun_awt_image_jpeg_jpegdecoder.c) = ca10ce2d79f11925b7ec52fc1b5dfad9b25ddddb
+SHA1 (patch-jdk_src_share_native_sun_security_ec_impl_ecc__impl.h) = 13aae05b649af0d1f908b0a9b6f60c55d8baa7d4
+SHA1 (patch-jdk_src_solaris_bin_ergo__i586.c) = 7b1d1c7f84e752ef7c53d5419dc3ab5213fec716
SHA1 (patch-jdk_src_solaris_classes_sun_nio_fs_BsdFileSystemProvider.java) = b57411309b8d46de6a9ab3606d72690908989d50
+SHA1 (patch-jdk_src_solaris_native_java_net_NetworkInterface.c) = f65f616965c2e1149b72297d7c9b803d7adc4e8a
+SHA1 (patch-jdk_src_solaris_native_sun_awt_X11Color.c) = 928e9fbc11d8e64a69e27573efa13482acb62480
+SHA1 (patch-jdk_test_Makefile) = d747987549c2f6e9eb42233edae02d8eae6b4584
+SHA1 (patch-jdk_test_java_beans_Introspector_4168475_Test4168475.java) = a2a13434a4e87730fa96f53efa176fa91d3c1eeb
+SHA1 (patch-jdk_test_java_beans_Introspector_4520754_Test4520754.java) = 98a7c2fbccd50da0c879940131901b3937d72c0d
+SHA1 (patch-jdk_test_java_beans_Introspector_Test4144543.java) = e003869d924ac3cb326c4093891bd0cfc0f7ff9c
+SHA1 (patch-jdk_test_java_lang_management_OperatingSystemMXBean_GetSystemLoadAverage.java) = 1997194b919a96628568ef469150c1bd39ede295
+SHA1 (patch-jdk_test_sun_security_ec_TestEC.java) = 142fa7029bfbdbb63354ce4e315ea7f5fd372a32
SHA1 (patch-langtools_make_build.xml) = 98fe0f88aaa774e47e1a358c7005b203c3123d09
diff --git a/lang/openjdk7/patches/patch-aa b/lang/openjdk7/patches/patch-aa
index afd68e00a07..a97c6079e79 100644
--- a/lang/openjdk7/patches/patch-aa
+++ b/lang/openjdk7/patches/patch-aa
@@ -1,4 +1,6 @@
-$NetBSD: patch-aa,v 1.8 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-aa,v 1.9 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- hotspot/src/os/bsd/vm/os_bsd.cpp.orig 2013-05-29 03:57:57.000000000 +0000
+++ hotspot/src/os/bsd/vm/os_bsd.cpp
diff --git a/lang/openjdk7/patches/patch-ab b/lang/openjdk7/patches/patch-ab
index c78c3b33b0d..81f90cafebf 100644
--- a/lang/openjdk7/patches/patch-ab
+++ b/lang/openjdk7/patches/patch-ab
@@ -1,4 +1,6 @@
-$NetBSD: patch-ab,v 1.5 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ab,v 1.6 2013/06/15 09:31:05 jperkin Exp $
+
+We use LD_LIBRARY_PATH.
--- jdk/make/common/shared/Sanity.gmk.orig 2012-08-10 17:21:34.000000000 +0000
+++ jdk/make/common/shared/Sanity.gmk
diff --git a/lang/openjdk7/patches/patch-ac b/lang/openjdk7/patches/patch-ac
index cbd0b6a2886..5efe91ae4a1 100644
--- a/lang/openjdk7/patches/patch-ac
+++ b/lang/openjdk7/patches/patch-ac
@@ -1,4 +1,6 @@
-$NetBSD: patch-ac,v 1.3 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ac,v 1.4 2013/06/15 09:31:05 jperkin Exp $
+
+__progname support.
--- jdk/make/java/main/java/mapfile-i586.orig 2012-08-10 17:21:36.000000000 +0000
+++ jdk/make/java/main/java/mapfile-i586
diff --git a/lang/openjdk7/patches/patch-ad b/lang/openjdk7/patches/patch-ad
index 53b687c6139..7daca0a5394 100644
--- a/lang/openjdk7/patches/patch-ad
+++ b/lang/openjdk7/patches/patch-ad
@@ -1,4 +1,6 @@
-$NetBSD: patch-ad,v 1.4 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ad,v 1.5 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- corba/make/common/shared/Platform.gmk.orig 2012-08-10 16:10:07.000000000 +0000
+++ corba/make/common/shared/Platform.gmk
diff --git a/lang/openjdk7/patches/patch-ae b/lang/openjdk7/patches/patch-ae
index 66623556689..9279333af06 100644
--- a/lang/openjdk7/patches/patch-ae
+++ b/lang/openjdk7/patches/patch-ae
@@ -1,4 +1,6 @@
-$NetBSD: patch-ae,v 1.4 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ae,v 1.5 2013/06/15 09:31:05 jperkin Exp $
+
+Additional BSD support.
--- hotspot/make/bsd/makefiles/gcc.make.orig 2013-05-29 03:57:57.000000000 +0000
+++ hotspot/make/bsd/makefiles/gcc.make
diff --git a/lang/openjdk7/patches/patch-af b/lang/openjdk7/patches/patch-af
index 6e9d084ae50..adfd8f66143 100644
--- a/lang/openjdk7/patches/patch-af
+++ b/lang/openjdk7/patches/patch-af
@@ -1,4 +1,6 @@
-$NetBSD: patch-af,v 1.3 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-af,v 1.4 2013/06/15 09:31:05 jperkin Exp $
+
+Use tools from pkgsrc.
--- jdk/make/common/shared/Defs-utils.gmk.orig 2013-05-29 03:57:57.000000000 +0000
+++ jdk/make/common/shared/Defs-utils.gmk
diff --git a/lang/openjdk7/patches/patch-ag b/lang/openjdk7/patches/patch-ag
index 1e6ea758165..c319cbd292e 100644
--- a/lang/openjdk7/patches/patch-ag
+++ b/lang/openjdk7/patches/patch-ag
@@ -1,4 +1,6 @@
-$NetBSD: patch-ag,v 1.2 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ag,v 1.3 2013/06/15 09:31:05 jperkin Exp $
+
+X rpath.
--- jdk/make/launchers/Makefile.launcher.orig 2012-08-10 17:21:41.000000000 +0000
+++ jdk/make/launchers/Makefile.launcher
diff --git a/lang/openjdk7/patches/patch-ah b/lang/openjdk7/patches/patch-ah
index f0e34315f52..bfd3a7a39cd 100644
--- a/lang/openjdk7/patches/patch-ah
+++ b/lang/openjdk7/patches/patch-ah
@@ -1,4 +1,6 @@
-$NetBSD: patch-ah,v 1.3 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ah,v 1.4 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- jdk/make/common/shared/Platform.gmk.orig 2013-05-29 03:57:57.000000000 +0000
+++ jdk/make/common/shared/Platform.gmk
diff --git a/lang/openjdk7/patches/patch-ai b/lang/openjdk7/patches/patch-ai
index 7f726387782..4bceaa7e433 100644
--- a/lang/openjdk7/patches/patch-ai
+++ b/lang/openjdk7/patches/patch-ai
@@ -1,4 +1,6 @@
-$NetBSD: patch-ai,v 1.2 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ai,v 1.3 2013/06/15 09:31:05 jperkin Exp $
+
+Support older NetBSD.
--- hotspot/src/os/bsd/vm/attachListener_bsd.cpp.orig 2012-08-10 16:24:15.000000000 +0000
+++ hotspot/src/os/bsd/vm/attachListener_bsd.cpp
diff --git a/lang/openjdk7/patches/patch-aj b/lang/openjdk7/patches/patch-aj
index 2e8b7e72e65..c511e3a1736 100644
--- a/lang/openjdk7/patches/patch-aj
+++ b/lang/openjdk7/patches/patch-aj
@@ -1,4 +1,6 @@
-$NetBSD: patch-aj,v 1.4 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-aj,v 1.5 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- jdk/src/solaris/native/java/net/NetworkInterface.c.orig 2013-05-29 03:57:58.000000000 +0000
+++ jdk/src/solaris/native/java/net/NetworkInterface.c
diff --git a/lang/openjdk7/patches/patch-ak b/lang/openjdk7/patches/patch-ak
index 0e59e9815b3..d5aab951bef 100644
--- a/lang/openjdk7/patches/patch-ak
+++ b/lang/openjdk7/patches/patch-ak
@@ -1,4 +1,6 @@
-$NetBSD: patch-ak,v 1.5 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ak,v 1.6 2013/06/15 09:31:05 jperkin Exp $
+
+Additional rpaths.
--- jdk/make/common/Defs-bsd.gmk.orig 2013-05-29 03:57:57.000000000 +0000
+++ jdk/make/common/Defs-bsd.gmk
diff --git a/lang/openjdk7/patches/patch-al b/lang/openjdk7/patches/patch-al
index 239fe377c77..44558c8f689 100644
--- a/lang/openjdk7/patches/patch-al
+++ b/lang/openjdk7/patches/patch-al
@@ -1,4 +1,6 @@
-$NetBSD: patch-al,v 1.3 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-al,v 1.4 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java.orig 2013-06-01 14:10:31.000000000 +0000
+++ jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java
diff --git a/lang/openjdk7/patches/patch-am b/lang/openjdk7/patches/patch-am
index c0650f34c9a..a8626b667f3 100644
--- a/lang/openjdk7/patches/patch-am
+++ b/lang/openjdk7/patches/patch-am
@@ -1,4 +1,6 @@
-$NetBSD: patch-am,v 1.3 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-am,v 1.4 2013/06/15 09:31:05 jperkin Exp $
+
+Set username to pkgsrc.
--- jdk/make/common/shared/Defs.gmk.orig 2013-05-29 03:57:57.000000000 +0000
+++ jdk/make/common/shared/Defs.gmk
diff --git a/lang/openjdk7/patches/patch-an b/lang/openjdk7/patches/patch-an
index 771aff7280c..967f9f02e60 100644
--- a/lang/openjdk7/patches/patch-an
+++ b/lang/openjdk7/patches/patch-an
@@ -1,4 +1,6 @@
-$NetBSD: patch-an,v 1.2 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-an,v 1.3 2013/06/15 09:31:05 jperkin Exp $
+
+NetBSD fix.
--- hotspot/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp.orig 2012-08-10 16:24:31.000000000 +0000
+++ hotspot/src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp
diff --git a/lang/openjdk7/patches/patch-ao b/lang/openjdk7/patches/patch-ao
index c04e99ba3c3..85679e0f284 100644
--- a/lang/openjdk7/patches/patch-ao
+++ b/lang/openjdk7/patches/patch-ao
@@ -1,4 +1,6 @@
-$NetBSD: patch-ao,v 1.2 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ao,v 1.3 2013/06/15 09:31:05 jperkin Exp $
+
+Support rhino.
--- jdk/make/common/Release.gmk.orig 2013-05-29 03:57:57.000000000 +0000
+++ jdk/make/common/Release.gmk
diff --git a/lang/openjdk7/patches/patch-ap b/lang/openjdk7/patches/patch-ap
index f2836da1fa8..9507de022eb 100644
--- a/lang/openjdk7/patches/patch-ap
+++ b/lang/openjdk7/patches/patch-ap
@@ -1,4 +1,6 @@
-$NetBSD: patch-ap,v 1.4 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ap,v 1.5 2013/06/15 09:31:05 jperkin Exp $
+
+Use pkgsrc fontconfig.
--- jdk/src/solaris/native/sun/awt/fontpath.c.orig 2013-05-29 03:57:58.000000000 +0000
+++ jdk/src/solaris/native/sun/awt/fontpath.c
diff --git a/lang/openjdk7/patches/patch-aq b/lang/openjdk7/patches/patch-aq
index 695abb520f4..90452511112 100644
--- a/lang/openjdk7/patches/patch-aq
+++ b/lang/openjdk7/patches/patch-aq
@@ -1,4 +1,6 @@
-$NetBSD: patch-aq,v 1.5 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-aq,v 1.6 2013/06/15 09:31:05 jperkin Exp $
+
+Support __progname.
--- jdk/make/java/main/java/mapfile-amd64.orig 2012-08-10 17:21:36.000000000 +0000
+++ jdk/make/java/main/java/mapfile-amd64
diff --git a/lang/openjdk7/patches/patch-ar b/lang/openjdk7/patches/patch-ar
index b27295fdf30..5b831b7c8c5 100644
--- a/lang/openjdk7/patches/patch-ar
+++ b/lang/openjdk7/patches/patch-ar
@@ -1,4 +1,6 @@
-$NetBSD: patch-ar,v 1.3 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ar,v 1.4 2013/06/15 09:31:05 jperkin Exp $
+
+freetype rpath.
--- jdk/make/sun/font/Makefile.orig 2013-05-29 03:57:57.000000000 +0000
+++ jdk/make/sun/font/Makefile
diff --git a/lang/openjdk7/patches/patch-ba b/lang/openjdk7/patches/patch-ba
index 26c7d927d60..d211aacd963 100644
--- a/lang/openjdk7/patches/patch-ba
+++ b/lang/openjdk7/patches/patch-ba
@@ -1,4 +1,6 @@
-$NetBSD: patch-ba,v 1.2 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-ba,v 1.3 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- hotspot/src/share/vm/utilities/macros.hpp.orig 2012-08-10 16:28:55.000000000 +0000
+++ hotspot/src/share/vm/utilities/macros.hpp
diff --git a/lang/openjdk7/patches/patch-bd b/lang/openjdk7/patches/patch-bd
index 1e0e1c18aa6..fb63c6c686a 100644
--- a/lang/openjdk7/patches/patch-bd
+++ b/lang/openjdk7/patches/patch-bd
@@ -1,4 +1,6 @@
-$NetBSD: patch-bd,v 1.3 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-bd,v 1.4 2013/06/15 09:31:05 jperkin Exp $
+
+Support __progname and environ.
--- jdk/make/com/sun/java/pack/mapfile-vers.orig 2012-08-10 17:21:30.000000000 +0000
+++ jdk/make/com/sun/java/pack/mapfile-vers
diff --git a/lang/openjdk7/patches/patch-bg b/lang/openjdk7/patches/patch-bg
index 9119cb00b4d..cf03ffe023c 100644
--- a/lang/openjdk7/patches/patch-bg
+++ b/lang/openjdk7/patches/patch-bg
@@ -1,4 +1,6 @@
-$NetBSD: patch-bg,v 1.2 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-bg,v 1.3 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c.orig 2013-05-29 03:57:58.000000000 +0000
+++ jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
diff --git a/lang/openjdk7/patches/patch-bh b/lang/openjdk7/patches/patch-bh
index 9105bebfbc8..2591b6ff8db 100644
--- a/lang/openjdk7/patches/patch-bh
+++ b/lang/openjdk7/patches/patch-bh
@@ -1,4 +1,6 @@
-$NetBSD: patch-bh,v 1.2 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-bh,v 1.3 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- hotspot/make/defs.make.orig 2012-08-10 16:23:01.000000000 +0000
+++ hotspot/make/defs.make
diff --git a/lang/openjdk7/patches/patch-bi b/lang/openjdk7/patches/patch-bi
index e874eca0b23..114328ea931 100644
--- a/lang/openjdk7/patches/patch-bi
+++ b/lang/openjdk7/patches/patch-bi
@@ -1,4 +1,6 @@
-$NetBSD: patch-bi,v 1.3 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-bi,v 1.4 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp.orig 2012-08-10 16:24:31.000000000 +0000
+++ hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp
diff --git a/lang/openjdk7/patches/patch-bj b/lang/openjdk7/patches/patch-bj
index 953530c7fa9..eddf9120c6e 100644
--- a/lang/openjdk7/patches/patch-bj
+++ b/lang/openjdk7/patches/patch-bj
@@ -1,4 +1,6 @@
-$NetBSD: patch-bj,v 1.2 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-bj,v 1.3 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp.orig 2012-08-10 16:28:55.000000000 +0000
+++ hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
diff --git a/lang/openjdk7/patches/patch-bk b/lang/openjdk7/patches/patch-bk
index 434b2214026..4f1566c2a75 100644
--- a/lang/openjdk7/patches/patch-bk
+++ b/lang/openjdk7/patches/patch-bk
@@ -1,4 +1,6 @@
-$NetBSD: patch-bk,v 1.2 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-bk,v 1.3 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- jdk/make/java/npt/Makefile.orig 2013-05-29 03:57:57.000000000 +0000
+++ jdk/make/java/npt/Makefile
diff --git a/lang/openjdk7/patches/patch-bl b/lang/openjdk7/patches/patch-bl
index efeb5d079f8..edbdfd3bf5b 100644
--- a/lang/openjdk7/patches/patch-bl
+++ b/lang/openjdk7/patches/patch-bl
@@ -1,4 +1,6 @@
-$NetBSD: patch-bl,v 1.2 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-bl,v 1.3 2013/06/15 09:31:05 jperkin Exp $
+
+DragonFly support.
--- jdk/make/java/instrument/Makefile.orig 2013-05-29 03:57:57.000000000 +0000
+++ jdk/make/java/instrument/Makefile
diff --git a/lang/openjdk7/patches/patch-bn b/lang/openjdk7/patches/patch-bn
index f6fb46ac6d2..b011ee6323b 100644
--- a/lang/openjdk7/patches/patch-bn
+++ b/lang/openjdk7/patches/patch-bn
@@ -1,4 +1,6 @@
-$NetBSD: patch-bn,v 1.3 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-bn,v 1.4 2013/06/15 09:31:05 jperkin Exp $
+
+Use pkgsrc fonts.
--- jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties.orig 2012-08-10 17:31:20.000000000 +0000
+++ jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties
diff --git a/lang/openjdk7/patches/patch-corba_make_common_shared_Defs-utils.gmk b/lang/openjdk7/patches/patch-corba_make_common_shared_Defs-utils.gmk
new file mode 100644
index 00000000000..bd63421cacc
--- /dev/null
+++ b/lang/openjdk7/patches/patch-corba_make_common_shared_Defs-utils.gmk
@@ -0,0 +1,15 @@
+$NetBSD: patch-corba_make_common_shared_Defs-utils.gmk,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+Use pkgsrc unzip.
+
+--- corba/make/common/shared/Defs-utils.gmk.orig 2013-02-20 04:35:29.000000000 +0000
++++ corba/make/common/shared/Defs-utils.gmk
+@@ -136,7 +136,7 @@ TR = $(UTILS_USR_BIN_PATH)tr
+ TRUE = $(UTILS_COMMAND_PATH)true
+ UNAME = $(UTILS_COMMAND_PATH)uname
+ UNIQ = $(UTILS_USR_BIN_PATH)uniq
+-UNZIP = $(UTILS_USR_BIN_PATH)unzip
++UNZIP = $(UTILS_DEVTOOL_PATH)unzip
+ UNZIPSFX = $(UTILS_DEVTOOL_PATH)unzipsfx
+ WC = $(UTILS_USR_BIN_PATH)wc
+ WHICH = $(UTILS_USR_BIN_PATH)which
diff --git a/lang/openjdk7/patches/patch-corba_make_common_shared_Platform.gmk b/lang/openjdk7/patches/patch-corba_make_common_shared_Platform.gmk
new file mode 100644
index 00000000000..6a731916d42
--- /dev/null
+++ b/lang/openjdk7/patches/patch-corba_make_common_shared_Platform.gmk
@@ -0,0 +1,15 @@
+$NetBSD: patch-corba_make_common_shared_Platform.gmk,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+Avoid warnings when building in a zone.
+
+--- corba/make/common/shared/Platform.gmk.orig 2013-02-20 04:35:29.000000000 +0000
++++ corba/make/common/shared/Platform.gmk
+@@ -143,7 +143,7 @@ ifeq ($(SYSTEM_UNAME), SunOS)
+ REQUIRED_FREE_SPACE=1040000
+ endif
+ # How much RAM does this machine have:
+- MB_OF_MEMORY=$(shell /etc/prtconf | fgrep 'Memory size:' | expand | cut -d' ' -f3)
++ MB_OF_MEMORY=$(shell /usr/sbin/prtconf 2>&1 | fgrep 'Memory size:' | expand | cut -d' ' -f3)
+ endif
+
+ # Platform settings specific to Linux
diff --git a/lang/openjdk7/patches/patch-hotspot_make_bsd_makefiles_defs.make b/lang/openjdk7/patches/patch-hotspot_make_bsd_makefiles_defs.make
index 04d076524c2..2458389f236 100644
--- a/lang/openjdk7/patches/patch-hotspot_make_bsd_makefiles_defs.make
+++ b/lang/openjdk7/patches/patch-hotspot_make_bsd_makefiles_defs.make
@@ -1,4 +1,6 @@
-$NetBSD: patch-hotspot_make_bsd_makefiles_defs.make,v 1.2 2013/06/02 06:12:28 ryoon Exp $
+$NetBSD: patch-hotspot_make_bsd_makefiles_defs.make,v 1.3 2013/06/15 09:31:05 jperkin Exp $
+
+64-bit support.
--- hotspot/make/bsd/makefiles/defs.make.orig 2013-05-29 03:57:57.000000000 +0000
+++ hotspot/make/bsd/makefiles/defs.make
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_adlc.make b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_adlc.make
new file mode 100644
index 00000000000..55338811c66
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_adlc.make
@@ -0,0 +1,18 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_adlc.make,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/adlc.make.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/make/solaris/makefiles/adlc.make
+@@ -75,9 +75,11 @@ endif
+
+ # CFLAGS_WARN holds compiler options to suppress/enable warnings.
+ # Compiler warnings are treated as errors
++ifeq ("${Platform_compiler}", "sparcWorks")
+ ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1)
+ CFLAGS_WARN = +w -errwarn
+ endif
++endif
+ CFLAGS += $(CFLAGS_WARN)
+
+ ifeq ("${Platform_compiler}", "sparcWorks")
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_build__vm__def.sh b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_build__vm__def.sh
new file mode 100644
index 00000000000..d0cfe527299
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_build__vm__def.sh
@@ -0,0 +1,14 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_build__vm__def.sh,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+Fix path to nm.
+
+--- hotspot/make/solaris/makefiles/build_vm_def.sh.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/make/solaris/makefiles/build_vm_def.sh
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-/usr/ccs/bin/nm -p $* \
++/usr/bin/nm -p $* \
+ | awk '{
+ if ($2 == "U") next
+ if ($3 ~ /^__1c.*__vtbl_$/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";"
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_debug.make b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_debug.make
new file mode 100644
index 00000000000..7309b89576e
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_debug.make
@@ -0,0 +1,19 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_debug.make,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/debug.make.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/make/solaris/makefiles/debug.make
+@@ -45,7 +45,11 @@ MAPFILE = $(GAMMADIR)/make/solaris/makef
+
+ # This mapfile is only needed when compiling with dtrace support,
+ # and mustn't be otherwise.
+-MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
++ifdef USE_GCC
++ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE).gcc
++else
++ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
++endif # USE_GCC
+
+ _JUNK_ := $(shell echo >&2 ""\
+ "-------------------------------------------------------------------------\n" \
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_dtrace.make b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_dtrace.make
new file mode 100644
index 00000000000..4314aaaaab6
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_dtrace.make
@@ -0,0 +1,56 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_dtrace.make,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+Enable DTrace support with GCC.
+
+--- hotspot/make/solaris/makefiles/dtrace.make.orig 2012-08-10 16:23:13.000000000 +0000
++++ hotspot/make/solaris/makefiles/dtrace.make
+@@ -30,13 +30,6 @@
+ ifneq ("${TYPE}", "CORE")
+ ifneq ("${TYPE}", "KERNEL")
+
+-ifdef USE_GCC
+-
+-dtraceCheck:
+- $(QUIETLY) echo "**NOTICE** Dtrace support disabled for gcc builds"
+-
+-else
+-
+ JVM_DB = libjvm_db
+ LIBJVM_DB = libjvm_db.so
+ LIBJVM_DB_G = libjvm$(G_SUFFIX)_db.so
+@@ -63,14 +56,23 @@ DTRACE_SRCDIR = $(GAMMADIR)/src/os/$(Pla
+ DTRACE = dtrace
+ DTRACE.o = $(DTRACE).o
+
+-# to remove '-g' option which causes link problems
+-# also '-z nodefs' is used as workaround
+-GENOFFS_CFLAGS = $(shell echo $(CFLAGS) | sed -e 's/ -g / /g' -e 's/ -g0 / /g';)
++ifdef USE_GCC
++ # solaris linker does not like gcc and -fvisibility=hidden without mapfiles
++ GENOFFS_CFLAGS = $(shell echo $(CFLAGS) | sed -e 's/ -g / /g' -e 's/ -g0 / /g' -e 's/ -fvisibility=hidden / /g';)
++else
++ # to remove '-g' option which causes link problems
++ # also '-z nodefs' is used as workaround
++ GENOFFS_CFLAGS = $(shell echo $(CFLAGS) | sed -e 's/ -g / /g' -e 's/ -g0 / /g';)
++endif
+
+ ifdef LP64
+ DTRACE_OPTS = -64 -D_LP64
+ endif
+
++ifdef USE_GCC
++ DTRACE_OPTS = -D_GNU_SOURCE
++endif # USE_GCC
++
+ # making libjvm_db
+
+ # Use mapfile with libjvm_db.so
+@@ -384,8 +386,6 @@ dtraceCheck:
+
+ endif # ifneq ("${dtraceFound}", "")
+
+-endif # ifdef USE_GCC
+-
+ else # KERNEL build
+
+ dtraceCheck:
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_fastdebug.make b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_fastdebug.make
new file mode 100644
index 00000000000..b9a45c75328
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_fastdebug.make
@@ -0,0 +1,19 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_fastdebug.make,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/fastdebug.make.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/make/solaris/makefiles/fastdebug.make
+@@ -116,7 +116,11 @@ MAPFILE = $(GAMMADIR)/make/solaris/makef
+
+ # This mapfile is only needed when compiling with dtrace support,
+ # and mustn't be otherwise.
+-MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
++ifdef USE_GCC
++ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE).gcc
++else
++ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
++endif # USE_GCC
+
+ G_SUFFIX = _g
+ VERSION = optimized
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_gcc.make b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_gcc.make
new file mode 100644
index 00000000000..3e2a42418f7
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_gcc.make
@@ -0,0 +1,120 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_gcc.make,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/gcc.make.orig 2012-08-10 16:23:14.000000000 +0000
++++ hotspot/make/solaris/makefiles/gcc.make
+@@ -66,11 +66,23 @@ VM_PICFLAG/LIBJVM = $(PICFLAG)
+ VM_PICFLAG/AOUT =
+ VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO))
+
++ifeq ($(JVM_VARIANT_ZERO), true)
++ CFLAGS += $(LIBFFI_CFLAGS)
++endif
++ifeq ($(JVM_VARIANT_ZEROSHARK), true)
++ CFLAGS += $(LIBFFI_CFLAGS)
++ CFLAGS += $(LLVM_CFLAGS)
++endif
+ CFLAGS += $(VM_PICFLAG)
+ CFLAGS += -fno-rtti
+ CFLAGS += -fno-exceptions
+ CFLAGS += -D_REENTRANT
+ CFLAGS += -fcheck-new
++# version 4 and above support fvisibility=hidden (matches jni_x86.h file)
++# except 4.1.2 gives pointless warnings that can't be disabled (afaik)
++ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
++ CFLAGS += -fvisibility=hidden
++endif
+
+ ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
+
+@@ -103,6 +115,11 @@ ifdef CC_INTERP
+ CFLAGS += -DCC_INTERP
+ endif
+
++# Build for embedded targets
++ifdef JAVASE_EMBEDDED
++ CFLAGS += -DJAVASE_EMBEDDED
++endif
++
+ # Keep temporary files (.ii, .s)
+ ifdef NEED_ASM
+ CFLAGS += -save-temps
+@@ -113,9 +130,18 @@ endif
+
+ # Compiler warnings are treated as errors
+ WARNINGS_ARE_ERRORS = -Werror
+-# Enable these warnings. See 'info gcc' about details on these options
+-ADDITIONAL_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare
+-CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ADDITIONAL_WARNINGS)
++
++# Except for a few acceptable ones
++# Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
++# conversions which might affect the values. To avoid that, we need to turn
++# it off explicitly.
++ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
++ ACCEPTABLE_WARNINGS = -Wpointer-arith -Wsign-compare
++else
++ ACCEPTABLE_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare
++endif
++
++CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS)
+ # Special cases
+ CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
+
+@@ -173,7 +199,7 @@ MAPFLAG = -Xlinker -M -Xlinker FILENAME
+ endif
+
+ # Use $(SONAMEFLAG:SONAME=soname) to specify the intrinsic name of a shared obj
+-SONAMEFLAG = -Xlinker -soname=SONAME
++SONAMEFLAG = -Wl,-soname=SONAME
+
+ # Build shared library
+ SHARED_FLAG = -shared
+@@ -181,17 +207,34 @@ SHARED_FLAG = -shared
+ #------------------------------------------------------------------------
+ # Debug flags
+
+-# Use the stabs format for debugging information (this is the default
+-# on gcc-2.91). It's good enough, has all the information about line
+-# numbers and local variables, and libjvm_g.so is only about 16M.
+-# Change this back to "-g" if you want the most expressive format.
+-# (warning: that could easily inflate libjvm_g.so to 150M!)
+-# Note: The Itanium gcc compiler crashes when using -gstabs.
+-DEBUG_CFLAGS/ia64 = -g
+-DEBUG_CFLAGS/amd64 = -g
+-DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
+-ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
+-DEBUG_CFLAGS += -gstabs
+-endif
++# DEBUG_BINARIES uses full -g debug information for all configs
++ifeq ($(DEBUG_BINARIES), true)
++ CFLAGS += -g
++else
++# Use the stabs format for debugging information (this is the default
++# on gcc-2.91). It's good enough, has all the information about line
++# numbers and local variables, and libjvm_g.so is only about 16M.
++# Change this back to "-g" if you want the most expressive format.
++# (warning: that could easily inflate libjvm_g.so to 150M!)
++# Note: The Itanium gcc compiler crashes when using -gstabs.
++DEBUG_CFLAGS/ia64 = -g
++DEBUG_CFLAGS/amd64 = -g
++DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
++ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
++DEBUG_CFLAGS += -gstabs
++endif
++endif
++
++# If we are building HEADLESS, pass on to VM
++# so it can set the java.awt.headless property
++ifdef HEADLESS
++ CFLAGS += -DHEADLESS
++endif
++
++# We are building Embedded for a small device
++# favor code space over speed
++ifdef MINIMIZE_RAM_USAGE
++ CFLAGS += -DMINIMIZE_RAM_USAGE
++endif
+
+ MCS = /usr/ccs/bin/mcs
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_jsig.make b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_jsig.make
new file mode 100644
index 00000000000..44baa264dfe
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_jsig.make
@@ -0,0 +1,34 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_jsig.make,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/jsig.make.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/make/solaris/makefiles/jsig.make
+@@ -47,15 +47,25 @@ LIBJSIG_MAPFILE = $(MAKEFILES_DIR)/mapfi
+ LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
+
+ ifdef USE_GCC
+-LFLAGS_JSIG += -D_REENTRANT
++ LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT
+ else
+-LFLAGS_JSIG += -mt -xnolib
++ LFLAGS_JSIG += -mt -xnolib
++endif
++
++# DEBUG_BINARIES overrides everything, use full -g debug information
++ifeq ($(DEBUG_BINARIES), true)
++ JSIG_DEBUG_CFLAGS = -g
+ endif
+
+ $(LIBJSIG): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
+ @echo Making signal interposition lib...
++ifdef USE_GCC
++ $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
++ $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $(JSIGSRCDIR)/jsig.c -ldl
++else
+ $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
+ $(LFLAGS_JSIG) -o $@ $(JSIGSRCDIR)/jsig.c -ldl
++endif
+ [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); }
+ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+ # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_jvmg.make b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_jvmg.make
new file mode 100644
index 00000000000..cc946f13be1
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_jvmg.make
@@ -0,0 +1,19 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_jvmg.make,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/jvmg.make.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/make/solaris/makefiles/jvmg.make
+@@ -49,7 +49,11 @@ MAPFILE = $(GAMMADIR)/make/solaris/makef
+
+ # This mapfile is only needed when compiling with dtrace support,
+ # and mustn't be otherwise.
+-MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
++ifdef USE_GCC
++ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE).gcc
++else
++ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
++endif # USE_GCC
+
+ G_SUFFIX = _g
+ VERSION = debug
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER1.gcc b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER1.gcc
new file mode 100644
index 00000000000..54b5a139e72
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER1.gcc
@@ -0,0 +1,50 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER1.gcc,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/mapfile-vers-COMPILER1.gcc.orig 2013-03-10 22:22:12.895432470 +0000
++++ hotspot/make/solaris/makefiles/mapfile-vers-COMPILER1.gcc
+@@ -0,0 +1,43 @@
++#
++
++#
++# Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++# or visit www.oracle.com if you need additional information or have any
++# questions.
++#
++#
++
++# Define public interface.
++
++SUNWprivate_1.1 {
++ global:
++ # Dtrace support
++ _ZN8Universe15_methodKlassObjE;
++ _ZN9CodeCache5_heapE;
++ _ZN8Universe14_collectedHeapE;
++ _ZTV7nmethod;
++ _ZTV8CodeBlob;
++ _ZTV10BufferBlob;
++ _ZTV11RuntimeStub;
++ _ZTV13SafepointBlob;
++ _ZTV18DeoptimizationBlob;
++
++ __JvmOffsets;
++};
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER2.gcc b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER2.gcc
new file mode 100644
index 00000000000..10a4d47dd4a
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER2.gcc
@@ -0,0 +1,53 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_mapfile-vers-COMPILER2.gcc,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/mapfile-vers-COMPILER2.gcc.orig 2013-03-10 22:22:12.896595236 +0000
++++ hotspot/make/solaris/makefiles/mapfile-vers-COMPILER2.gcc
+@@ -0,0 +1,46 @@
++#
++
++#
++# Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++# or visit www.oracle.com if you need additional information or have any
++# questions.
++#
++#
++
++# Define public interface.
++
++SUNWprivate_1.1 {
++ global:
++ # Dtrace support
++ _ZN8Universe15_methodKlassObjE;
++ _ZN9CodeCache5_heapE;
++ _ZN8Universe14_collectedHeapE;
++ _ZTV7nmethod;
++ _ZTV8CodeBlob;
++ _ZTV10BufferBlob;
++ _ZTV11RuntimeStub;
++ _ZTV13SafepointBlob;
++ _ZTV18DeoptimizationBlob;
++
++ _ZTV13ExceptionBlob;
++ _ZTV16UncommonTrapBlob;
++
++ __JvmOffsets;
++};
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-TIERED.gcc b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-TIERED.gcc
new file mode 100644
index 00000000000..f840ef0847a
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_mapfile-vers-TIERED.gcc
@@ -0,0 +1,52 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_mapfile-vers-TIERED.gcc,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/mapfile-vers-TIERED.gcc.orig 2013-03-10 22:22:12.897768214 +0000
++++ hotspot/make/solaris/makefiles/mapfile-vers-TIERED.gcc
+@@ -0,0 +1,45 @@
++#
++
++#
++# Copyright (c) 2006, 2008, Oracle and/or its affiliates. All rights reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++# or visit www.oracle.com if you need additional information or have any
++# questions.
++#
++#
++
++# Define public interface.
++
++SUNWprivate_1.1 {
++ global:
++ # Dtrace support
++ _ZN8Universe15_methodKlassObjE;
++ _ZN9CodeCache5_heapE;
++ _ZN8Universe14_collectedHeapE;
++ _ZTV7nmethod;
++ _ZTV8CodeBlob;
++ _ZTV10BufferBlob;
++ _ZTV11RuntimeStub;
++ _ZTV13SafepointBlob;
++ _ZTV18DeoptimizationBlob;
++ _ZTV13ExceptionBlob;
++ _ZTV16UncommonTrapBlob;
++
++ __JvmOffsets;
++};
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_optimized.make b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_optimized.make
new file mode 100644
index 00000000000..6f702aac9b1
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_optimized.make
@@ -0,0 +1,19 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_optimized.make,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/optimized.make.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/make/solaris/makefiles/optimized.make
+@@ -57,7 +57,11 @@ MAPFILE = $(GAMMADIR)/make/solaris/makef
+
+ # This mapfile is only needed when compiling with dtrace support,
+ # and mustn't be otherwise.
+-MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
++ifdef USE_GCC
++ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE).gcc
++else
++ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
++endif # USE_GCC
+
+ # Set the environment variable HOTSPARC_GENERIC to "true"
+ # to inhibit the effect of the previous line on CFLAGS.
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_product.make b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_product.make
new file mode 100644
index 00000000000..bb56402e5c4
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_product.make
@@ -0,0 +1,25 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_product.make,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/product.make.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/make/solaris/makefiles/product.make
+@@ -65,11 +65,16 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAG
+ # Linker mapfiles
+ MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers
+
+-ifndef USE_GCC
+ # This mapfile is only needed when compiling with dtrace support,
+ # and mustn't be otherwise.
+-MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
++ifdef USE_GCC
++ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE).gcc
++else
++ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
++endif # USE_GCC
+
++# reorder is not used with gcc
++ifndef USE_GCC
+ REORDERFILE = $(GAMMADIR)/make/solaris/makefiles/reorder_$(TYPE)_$(BUILDARCH)
+ endif
+
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_saproc.make b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_saproc.make
new file mode 100644
index 00000000000..eed134319a4
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_saproc.make
@@ -0,0 +1,23 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_saproc.make,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+Only use libdemangle for Sun Studio builds.
+
+--- hotspot/make/solaris/makefiles/saproc.make.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/make/solaris/makefiles/saproc.make
+@@ -61,6 +61,7 @@ ifdef USE_GCC
+ SA_LFLAGS += -D_REENTRANT
+ else
+ SA_LFLAGS += -mt -xnolib -norunpath
++LIBDEMANGLE = -ldemangle
+ endif
+
+ # The libproc Pstack_iter() interface changed in Nevada-B159.
+@@ -106,7 +107,7 @@ $(LIBSAPROC): $(ADD_GNU_DEBUGLINK) $(FIX
+ $(SASRCFILES) \
+ $(SA_LFLAGS) \
+ -o $@ \
+- -ldl -ldemangle -lthread -lc
++ -ldl ${LIBDEMANGLE} -lthread -lc
+ [ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); }
+ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+ # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
diff --git a/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_vm.make b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_vm.make
new file mode 100644
index 00000000000..20d8df03b3c
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_make_solaris_makefiles_vm.make
@@ -0,0 +1,50 @@
+$NetBSD: patch-hotspot_make_solaris_makefiles_vm.make,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/make/solaris/makefiles/vm.make.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/make/solaris/makefiles/vm.make
+@@ -59,7 +59,11 @@ INCLUDES += $(Src_Dirs_I:%=-I%)
+ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+ # always build with debug info when we can create .debuginfo files
+ # and disable 'lazy debug info' so the .so has everything.
+- SYMFLAG = -g -xs
++ ifdef USE_GCC
++ SYMFLAG = -g
++ else
++ SYMFLAG = -g -xs
++ endif
+ else
+ ifeq (${VERSION}, debug)
+ SYMFLAG = -g
+@@ -132,7 +136,7 @@ LIBS += -ldl -lthread -lsocket $(LIBM) -
+ endif # 502
+ endif # 505
+ else
+-LIBS += -lsocket -lsched -ldl $(LIBM) -lthread -lc -ldemangle
++LIBS += -lsocket -lsched -ldl $(LIBM) -lthread -lc
+ endif # sparcWorks
+
+ ifeq ("${Platform_arch}", "sparc")
+@@ -268,16 +272,19 @@ ifeq ($(LINK_INTO),AOUT)
+ LIBS_VM = $(LIBS)
+ else
+ LIBJVM.o = $(JVM_OBJ_FILES)
+- LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder
+- LFLAGS_VM$(LDNOMAP) += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
+ LFLAGS_VM += $(SONAMEFLAG:SONAME=$(LIBJVM))
+ ifndef USE_GCC
+ LIBS_VM = $(LIBS)
++ LIBJVM_MAPFILE$(LDNOMAP) = mapfile_reorder
++ LFLAGS_VM$(LDNOMAP) += $(MAPFLAG:FILENAME=$(LIBJVM_MAPFILE))
+ else
+ # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
+ # get around library dependency and compatibility issues. Must use gcc not
+ # g++ to link.
+ LFLAGS_VM += $(STATIC_LIBGCC)
++ ifeq ($(BUILDARCH),i486)
++ LFLAGS_VM += -mimpure-text
++ endif
+ LIBS_VM += $(STATIC_STDCXX) $(LIBS)
+ endif
+ endif
diff --git a/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_atomic__solaris__x86.inline.hpp b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_atomic__solaris__x86.inline.hpp
new file mode 100644
index 00000000000..0d0189083aa
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_atomic__solaris__x86.inline.hpp
@@ -0,0 +1,92 @@
+$NetBSD: patch-hotspot_src_os__cpu_solaris__x86_vm_atomic__solaris__x86.inline.hpp,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp
+@@ -59,6 +59,8 @@ inline void Atomic::dec_ptr(volatile voi
+ // facilitate this, os::is_MP() is passed as an additional argument. 64-bit
+ // processors are assumed to be multi-threaded and/or multi-core, so the extra
+ // argument is unnecessary.
++// This needs cleaning up - gcc always requires is_mp due to laziness of porter.
++#ifndef _GNU_SOURCE
+ #ifndef _LP64
+ #define IS_MP_DECL() , int is_mp
+ #define IS_MP_ARG() , (int) os::is_MP()
+@@ -66,6 +68,11 @@ inline void Atomic::dec_ptr(volatile voi
+ #define IS_MP_DECL()
+ #define IS_MP_ARG()
+ #endif // _LP64
++#else
++#define IS_MP_DECL() , int is_mp
++#define IS_MP_ARG() , (int) os::is_MP()
++#endif // _GNU_SOURCE
++
+
+ extern "C" {
+ jint _Atomic_add(jint add_value, volatile jint* dest IS_MP_DECL());
+@@ -96,15 +103,27 @@ inline jlong Atomic::cmpxchg (jlon
+ #ifdef AMD64
+ inline void Atomic::store (jlong store_value, jlong* dest) { *dest = store_value; }
+ inline void Atomic::store (jlong store_value, volatile jlong* dest) { *dest = store_value; }
++#ifndef _GNU_SOURCE
+ extern "C" jlong _Atomic_add_long(jlong add_value, volatile jlong* dest);
++#else
++extern "C" jlong _Atomic_add_long(jlong add_value, volatile jlong* dest IS_MP_DECL());
++#endif // _GNU_SOURCE
+ extern "C" jlong _Atomic_xchg_long(jlong exchange_value, volatile jlong* dest);
+
+ inline intptr_t Atomic::add_ptr(intptr_t add_value, volatile intptr_t* dest) {
++#ifndef _GNU_SOURCE
+ return (intptr_t)_Atomic_add_long((jlong)add_value, (volatile jlong*)dest);
++#else
++ return (intptr_t)_Atomic_add_long((jlong)add_value, (volatile jlong*)dest IS_MP_ARG());
++#endif // _GNU_SOURCE
+ }
+
+ inline void* Atomic::add_ptr(intptr_t add_value, volatile void* dest) {
++#ifndef _GNU_SOURCE
+ return (void*)_Atomic_add_long((jlong)add_value, (volatile jlong*)dest);
++#else
++ return (void*)_Atomic_add_long((jlong)add_value, (volatile jlong*)dest IS_MP_ARG());
++#endif // _GNU_SOURCE
+ }
+
+ inline intptr_t Atomic::xchg_ptr(intptr_t exchange_value, volatile intptr_t* dest) {
+@@ -116,11 +135,19 @@ inline void* Atomic::xchg_ptr(void*
+ }
+
+ inline intptr_t Atomic::cmpxchg_ptr(intptr_t exchange_value, volatile intptr_t* dest, intptr_t compare_value) {
++#ifndef _GNU_SOURCE
+ return (intptr_t)_Atomic_cmpxchg_long((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value);
++#else
++ return (intptr_t)_Atomic_cmpxchg_long((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value IS_MP_ARG());
++#endif // _GNU_SOURCE
+ }
+
+ inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value) {
++#ifndef _GNU_SOURCE
+ return (void*)_Atomic_cmpxchg_long((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value);
++#else
++ return (void*)_Atomic_cmpxchg_long((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value IS_MP_ARG());
++#endif // _GNU_SOURCE
+ }
+
+ inline jlong Atomic::load(volatile jlong* src) { return *src; }
+@@ -257,6 +284,16 @@ extern "C" {
+ #endif // if 0
+ #endif // AMD64
+ }
++
++ inline void _Atomic_move_long(volatile jlong* src, volatile jlong* dst) {
++ __asm__ volatile (
++ "fildll (%0)" "\n\t"
++ "fistpll (%1)"
++ :
++ :"r" (src), "r" (dst)
++ :"memory");
++ }
++
+ }
+ #undef LOCK_IF_MP
+
diff --git a/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_orderAccess__solaris__x86.inline.hpp b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_orderAccess__solaris__x86.inline.hpp
new file mode 100644
index 00000000000..4315d165abd
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_orderAccess__solaris__x86.inline.hpp
@@ -0,0 +1,18 @@
+$NetBSD: patch-hotspot_src_os__cpu_solaris__x86_vm_orderAccess__solaris__x86.inline.hpp,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp
+@@ -71,7 +71,11 @@ extern "C" {
+ }
+ inline void _OrderAccess_fence() {
+ // Always use locked addl since mfence is sometimes expensive
++#ifdef AMD64
++ __asm__ volatile ("lock; addl $0,0(%%rsp)" : : : "cc", "memory");
++#else
+ __asm__ volatile ("lock; addl $0,0(%%esp)" : : : "cc", "memory");
++#endif // AMD64
+ }
+
+ }
diff --git a/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_os__solaris__x86.cpp b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_os__solaris__x86.cpp
new file mode 100644
index 00000000000..2688a5508bd
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_os__solaris__x86.cpp
@@ -0,0 +1,41 @@
+$NetBSD: patch-hotspot_src_os__cpu_solaris__x86_vm_os__solaris__x86.cpp,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp.orig 2012-08-10 16:24:45.000000000 +0000
++++ hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp
+@@ -237,7 +237,22 @@ frame os::get_sender_for_C_frame(frame*
+ return frame(fr->sender_sp(), fr->link(), fr->sender_pc());
+ }
+
++#ifdef AMD64
++#define SPELL_REG_FP "rbp"
++#else
++#define SPELL_REG_FP "ebp"
++#endif
++
++#ifdef SPARC_WORKS
+ extern "C" intptr_t *_get_current_fp(); // in .il file
++#else
++#ifdef _GNU_SOURCE
++extern "C" intptr_t *_get_current_fp() {
++ register intptr_t **rbp __asm__ (SPELL_REG_FP);
++ return (intptr_t*) *rbp; // we want what it points to.
++}
++#endif // _GNU_SOURCE
++#endif // SPARC_WORKS
+
+ frame os::current_frame() {
+ intptr_t* fp = _get_current_fp(); // it's inlined so want current fp
+@@ -951,6 +966,11 @@ add_func_t* os::atomic_add_func
+ extern "C" void _solaris_raw_setup_fpu(address ptr);
+ void os::setup_fpu() {
+ address fpu_cntrl = StubRoutines::addr_fpu_cntrl_wrd_std();
++#ifndef _GNU_SOURCE
+ _solaris_raw_setup_fpu(fpu_cntrl);
++#else
++ // same as hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp : os::setup_fpu()
++ __asm__ volatile("fldcw (%0)"::"r"(fpu_cntrl):"memory");
++#endif
+ }
+ #endif // AMD64
diff --git a/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_prefetch__solaris__x86.inline.hpp b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_prefetch__solaris__x86.inline.hpp
new file mode 100644
index 00000000000..93c53a0e6aa
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_prefetch__solaris__x86.inline.hpp
@@ -0,0 +1,35 @@
+$NetBSD: patch-hotspot_src_os__cpu_solaris__x86_vm_prefetch__solaris__x86.inline.hpp,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC compatability.
+
+--- hotspot/src/os_cpu/solaris_x86/vm/prefetch_solaris_x86.inline.hpp.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/src/os_cpu/solaris_x86/vm/prefetch_solaris_x86.inline.hpp
+@@ -34,14 +34,28 @@ extern "C" {
+
+ inline void Prefetch::read (void *loc, intx interval) {
+ #ifdef AMD64
++#ifdef SPARC_WORKS
+ _Prefetch_read(loc, interval);
++#else
++#ifdef _GNU_SOURCE
++ __asm__ ("prefetcht0 (%0,%1,1)" : : "r" (loc), "r" (interval));
++#endif // _GNU_SOURCE
++#endif // SPARC_WORKS
+ #endif // AMD64
+ }
+
+ // Use of this method should be gated by VM_Version::has_prefetchw.
+ inline void Prefetch::write(void *loc, intx interval) {
+ #ifdef AMD64
++#ifdef SPARC_WORKS
+ _Prefetch_write(loc, interval);
++#else
++#ifdef _GNU_SOURCE
++ // Do not use the 3dnow prefetchw instruction. It isn't supported on em64t.
++ // __asm__ ("prefetchw (%0,%1,1)" : : "r" (loc), "r" (interval));
++ __asm__ ("prefetcht0 (%0,%1,1)" : : "r" (loc), "r" (interval));
++#endif // _GNU_SOURCE
++#endif // SPARC_WORKS
+ #endif // AMD64
+ }
+
diff --git a/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_threadLS__solaris__x86.hpp b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_threadLS__solaris__x86.hpp
new file mode 100644
index 00000000000..e8b234db5fc
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_os__cpu_solaris__x86_vm_threadLS__solaris__x86.hpp
@@ -0,0 +1,18 @@
+$NetBSD: patch-hotspot_src_os__cpu_solaris__x86_vm_threadLS__solaris__x86.hpp,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC support.
+
+--- hotspot/src/os_cpu/solaris_x86/vm/threadLS_solaris_x86.hpp.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/src/os_cpu/solaris_x86/vm/threadLS_solaris_x86.hpp
+@@ -65,7 +65,10 @@ public:
+ __asm__ __volatile__ ("movq %%fs:0, %0" : "=r"(rv));
+ return rv;
+ #else
+- return gs_thread();
++ uintptr_t rv;
++ __asm__ __volatile__ ("movl %%gs:0, %0" : "=r"(rv));
++ return rv;
++// return gs_thread();
+ #endif // AMD64
+ #else //_GNU_SOURCE
+ return _raw_thread_id();
diff --git a/lang/openjdk7/patches/patch-hotspot_src_os_posix_vm_os__posix.cpp b/lang/openjdk7/patches/patch-hotspot_src_os_posix_vm_os__posix.cpp
new file mode 100644
index 00000000000..7c3cbb460ae
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_os_posix_vm_os__posix.cpp
@@ -0,0 +1,39 @@
+$NetBSD: patch-hotspot_src_os_posix_vm_os__posix.cpp,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+rlim_t fixes.
+
+--- hotspot/src/os/posix/vm/os_posix.cpp.orig 2013-06-11 09:37:03.648327363 +0000
++++ hotspot/src/os/posix/vm/os_posix.cpp
+@@ -130,12 +130,12 @@ void os::Posix::print_rlimit_info(output
+
+ st->print(" STACK ");
+ getrlimit(RLIMIT_STACK, &rlim);
+- if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
++ if (rlim.rlim_cur == (rlim_t)RLIM_INFINITY) st->print("infinity");
+ else st->print("%uk", rlim.rlim_cur >> 10);
+
+ st->print(", CORE ");
+ getrlimit(RLIMIT_CORE, &rlim);
+- if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
++ if (rlim.rlim_cur == (rlim_t)RLIM_INFINITY) st->print("infinity");
+ else st->print("%uk", rlim.rlim_cur >> 10);
+
+ //Isn't there on solaris
+@@ -148,7 +148,7 @@ void os::Posix::print_rlimit_info(output
+
+ st->print(", NOFILE ");
+ getrlimit(RLIMIT_NOFILE, &rlim);
+- if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
++ if (rlim.rlim_cur == (rlim_t)RLIM_INFINITY) st->print("infinity");
+ else st->print("%d", rlim.rlim_cur);
+
+ #ifdef __OpenBSD__
+@@ -160,7 +160,7 @@ void os::Posix::print_rlimit_info(output
+ #else
+ st->print(", AS ");
+ getrlimit(RLIMIT_AS, &rlim);
+- if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
++ if (rlim.rlim_cur == (rlim_t)RLIM_INFINITY) st->print("infinity");
+ else st->print("%uk", rlim.rlim_cur >> 10);
+ st->cr();
+ #endif
diff --git a/lang/openjdk7/patches/patch-hotspot_src_os_solaris_dtrace_jhelper.d b/lang/openjdk7/patches/patch-hotspot_src_os_solaris_dtrace_jhelper.d
new file mode 100644
index 00000000000..da9ab0404e4
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_os_solaris_dtrace_jhelper.d
@@ -0,0 +1,89 @@
+$NetBSD: patch-hotspot_src_os_solaris_dtrace_jhelper.d,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+GCC compatability.
+
+--- hotspot/src/os/solaris/dtrace/jhelper.d.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/src/os/solaris/dtrace/jhelper.d
+@@ -43,16 +43,33 @@
+
+ extern pointer __JvmOffsets;
+
+-extern pointer __1cJCodeCacheF_heap_;
+-extern pointer __1cIUniverseP_methodKlassObj_;
+-extern pointer __1cIUniverseO_collectedHeap_;
+-extern pointer __1cIUniverseL_narrow_oop_;
++/* name mangling depends on the compiler used */
++#ifndef _GNU_SOURCE
++#define SYMBOL_JCODECACHE_HEAP __1cJCodeCacheF_heap_
++#define SYMBOL_UNIVERSE_METHODKLASSOBJ __1cIUniverseP_methodKlassObj_
++#define SYMBOL_UNIVERSE_COLLECTEDHEAP __1cIUniverseO_collectedHeap_
++#define SYMBOL_UNIVERSE_NARROW_OOP __1cIUniverseL_narrow_oop_
++#define SYMBOL_NMETHOD_VTBL __1cHnmethodG__vtbl_
++#define SYMBOL_BUFFERBLOB_VTBL __1cKBufferBlobG__vtbl_
++#else
++#define SYMBOL_JCODECACHE_HEAP _ZN9CodeCache5_heapE
++#define SYMBOL_UNIVERSE_METHODKLASSOBJ _ZN8Universe15_methodKlassObjE
++#define SYMBOL_UNIVERSE_COLLECTEDHEAP _ZN8Universe14_collectedHeapE
++#define SYMBOL_UNIVERSE_NARROW_OOP _ZN8Universe11_narrow_oopE
++#define SYMBOL_NMETHOD_VTBL _ZTV7nmethod
++#define SYMBOL_BUFFERBLOB_VTBL _ZTV10BufferBlob
++#endif /* ! _GNU_SOURCE */
++
++extern pointer SYMBOL_JCODECACHE_HEAP;
++extern pointer SYMBOL_UNIVERSE_METHODKLASSOBJ;
++extern pointer SYMBOL_UNIVERSE_COLLECTEDHEAP;
++extern pointer SYMBOL_UNIVERSE_NARROW_OOP;
+ #ifdef _LP64
+ extern pointer UseCompressedOops;
+ #endif
+
+-extern pointer __1cHnmethodG__vtbl_;
+-extern pointer __1cKBufferBlobG__vtbl_;
++extern pointer SYMBOL_NMETHOD_VTBL;
++extern pointer SYMBOL_BUFFERBLOB_VTBL;
+
+ #define copyin_ptr(ADDR) *(pointer*) copyin((pointer) (ADDR), sizeof(pointer))
+ #define copyin_uchar(ADDR) *(uchar_t*) copyin((pointer) (ADDR), sizeof(uchar_t))
+@@ -156,8 +173,8 @@ dtrace:helper:ustack:
+ #error "Don't know architecture"
+ #endif
+
+- this->Universe_methodKlassOop = copyin_ptr(&``__1cIUniverseP_methodKlassObj_);
+- this->CodeCache_heap_address = copyin_ptr(&``__1cJCodeCacheF_heap_);
++ this->Universe_methodKlassOop = copyin_ptr(&``SYMBOL_UNIVERSE_METHODKLASSOBJ);
++ this->CodeCache_heap_address = copyin_ptr(&``SYMBOL_JCODECACHE_HEAP);
+
+ /* Reading volatile values */
+ #ifdef _LP64
+@@ -166,9 +183,9 @@ dtrace:helper:ustack:
+ this->Use_Compressed_Oops = 0;
+ #endif
+
+- this->Universe_narrow_oop_base = copyin_ptr(&``__1cIUniverseL_narrow_oop_ +
++ this->Universe_narrow_oop_base = copyin_ptr(&``SYMBOL_UNIVERSE_NARROW_OOP +
+ OFFSET_NarrowOopStruct_base);
+- this->Universe_narrow_oop_shift = copyin_int32(&``__1cIUniverseL_narrow_oop_ +
++ this->Universe_narrow_oop_shift = copyin_int32(&``SYMBOL_UNIVERSE_NARROW_OOP +
+ OFFSET_NarrowOopStruct_shift);
+
+ this->CodeCache_low = copyin_ptr(this->CodeCache_heap_address +
+@@ -189,7 +206,7 @@ dtrace:helper:ustack:
+ /*
+ * Get Java heap bounds
+ */
+- this->Universe_collectedHeap = copyin_ptr(&``__1cIUniverseO_collectedHeap_);
++ this->Universe_collectedHeap = copyin_ptr(&``SYMBOL_UNIVERSE_COLLECTEDHEAP);
+ this->heap_start = copyin_ptr(this->Universe_collectedHeap +
+ OFFSET_CollectedHeap_reserved +
+ OFFSET_MemRegion_start);
+@@ -290,8 +307,8 @@ dtrace:helper:ustack:
+ this->start = this->block + SIZE_HeapBlockHeader;
+ this->vtbl = copyin_ptr(this->start);
+
+- this->nmethod_vtbl = (pointer) &``__1cHnmethodG__vtbl_;
+- this->BufferBlob_vtbl = (pointer) &``__1cKBufferBlobG__vtbl_;
++ this->nmethod_vtbl = (pointer) &``SYMBOL_NMETHOD_VTBL;
++ this->BufferBlob_vtbl = (pointer) &``SYMBOL_BUFFERBLOB_VTBL;
+ }
+
+ dtrace:helper:ustack:
diff --git a/lang/openjdk7/patches/patch-hotspot_src_os_solaris_vm_decoder__solaris.cpp b/lang/openjdk7/patches/patch-hotspot_src_os_solaris_vm_decoder__solaris.cpp
new file mode 100644
index 00000000000..6d54786d695
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_os_solaris_vm_decoder__solaris.cpp
@@ -0,0 +1,18 @@
+$NetBSD: patch-hotspot_src_os_solaris_vm_decoder__solaris.cpp,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+Avoid libdemangle with GCC.
+
+--- hotspot/src/os/solaris/vm/decoder_solaris.cpp.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/src/os/solaris/vm/decoder_solaris.cpp
+@@ -27,6 +27,11 @@
+ #include <demangle.h>
+
+ bool ElfDecoder::demangle(const char* symbol, char *buf, int buflen) {
++#ifdef SPARC_WORKS
+ return !cplus_demangle(symbol, buf, (size_t)buflen);
++#else
++ memcpy(buf, symbol, (size_t)buflen);
++ return 0;
++#endif
+ }
+
diff --git a/lang/openjdk7/patches/patch-hotspot_src_os_solaris_vm_os__solaris.cpp b/lang/openjdk7/patches/patch-hotspot_src_os_solaris_vm_os__solaris.cpp
new file mode 100644
index 00000000000..70ed1cd8d30
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_os_solaris_vm_os__solaris.cpp
@@ -0,0 +1,124 @@
+$NetBSD: patch-hotspot_src_os_solaris_vm_os__solaris.cpp,v 1.1 2013/06/15 09:31:05 jperkin Exp $
+
+Misc SunOS casts.
+
+--- hotspot/src/os/solaris/vm/os_solaris.cpp.orig 2012-08-10 16:24:27.000000000 +0000
++++ hotspot/src/os/solaris/vm/os_solaris.cpp
+@@ -630,7 +630,7 @@ static bool assign_distribution(processo
+ const processorid_t limit_id = max_id + 1;
+ // Make up markers for available processors.
+ bool* available_id = NEW_C_HEAP_ARRAY(bool, limit_id);
+- for (uint c = 0; c < limit_id; c += 1) {
++ for (processorid_t c = 0; c < limit_id; c += 1) {
+ available_id[c] = false;
+ }
+ for (uint a = 0; a < id_length; a += 1) {
+@@ -653,7 +653,7 @@ static bool assign_distribution(processo
+ // ... find the next available processor in the board.
+ for (uint slot = 0; slot < processors_per_board; slot += 1) {
+ uint try_id = board * processors_per_board + slot;
+- if ((try_id < limit_id) && (available_id[try_id] == true)) {
++ if ((try_id < (uint)limit_id) && (available_id[try_id] == true)) {
+ distribution[assigned] = try_id;
+ available_id[try_id] = false;
+ assigned += 1;
+@@ -661,7 +661,7 @@ static bool assign_distribution(processo
+ }
+ }
+ board += 1;
+- if (board * processors_per_board + 0 >= limit_id) {
++ if (board * processors_per_board + 0 >= (uint)limit_id) {
+ board = 0;
+ }
+ }
+@@ -718,7 +718,7 @@ bool os::bind_to_processor(uint processo
+ bool os::getenv(const char* name, char* buffer, int len) {
+ char* val = ::getenv( name );
+ if ( val == NULL
+- || strlen(val) + 1 > len ) {
++ || strlen(val) + 1 > (size_t)len ) {
+ if (len > 0) buffer[0] = 0; // return a null string
+ return false;
+ }
+@@ -925,7 +925,7 @@ void os::init_system_properties_values()
+ strcpy(library_path, common_path);
+ } else {
+ int inserted = 0;
+- for (i = 0; i < info->dls_cnt; i++, path++) {
++ for (i = 0; (uint_t)i < info->dls_cnt; i++, path++) {
+ uint_t flags = path->dls_flags & LA_SER_MASK;
+ if (((flags & LA_SER_LIBPATH) == 0) && !inserted) {
+ strcat(library_path, common_path);
+@@ -1059,7 +1059,8 @@ extern "C" void* java_start(void* thread
+ // in java_to_os_priority. So we save the native priority
+ // in the osThread and recall it here.
+
+- if ( osthr->thread_id() != -1 ) {
++ // thread_id_t ("osThread_solaris.hpp") == thread_t (<thread.h>) == unsigned int
++ if ( osthr->thread_id() != (unsigned int)-1 ) {
+ if ( UseThreadPriorities ) {
+ int prio = osthr->native_priority();
+ if (ThreadPriorityVerbose) {
+@@ -2855,7 +2856,7 @@ void os::numa_make_global(char *addr, si
+ // Get the number of the locality groups.
+ size_t os::numa_get_groups_num() {
+ size_t n = Solaris::lgrp_nlgrps(Solaris::lgrp_cookie());
+- return n != -1 ? n : 1;
++ return n != (size_t) -1 ? n : 1;
+ }
+
+ // Get a list of leaf locality groups. A leaf lgroup is group that
+@@ -2867,7 +2868,7 @@ size_t os::numa_get_leaf_groups(int *ids
+ return 1;
+ }
+ int result_size = 0, top = 1, bottom = 0, cur = 0;
+- for (int k = 0; k < size; k++) {
++ for (size_t k = 0; k < size; k++) {
+ int r = Solaris::lgrp_children(Solaris::lgrp_cookie(), ids[cur],
+ (Solaris::lgrp_id_t*)&ids[top], size - top);
+ if (r == -1) {
+@@ -2987,7 +2988,7 @@ char *os::scan_pages(char *start, char*
+ }
+
+ if ((validity[i] & 2) != 0 && page_expected->lgrp_id > 0) {
+- if (outdata[types * i] != page_expected->lgrp_id) {
++ if (outdata[types * i] != (uint64_t)page_expected->lgrp_id) {
+ break;
+ }
+ }
+@@ -4714,7 +4715,7 @@ const char * signames[] = {
+ const char* os::exception_name(int exception_code, char* buf, size_t size) {
+ if (0 < exception_code && exception_code <= SIGRTMAX) {
+ // signal
+- if (exception_code < sizeof(signames)/sizeof(const char*)) {
++ if ((size_t)exception_code < sizeof(signames)/sizeof(const char*)) {
+ jio_snprintf(buf, size, "%s", signames[exception_code]);
+ } else {
+ jio_snprintf(buf, size, "SIG%d", exception_code);
+@@ -5051,7 +5052,7 @@ void os::init(void) {
+ // If the pagesize of the VM is greater than 8K determine the appropriate
+ // number of initial guard pages. The user can change this with the
+ // command line arguments, if needed.
+- if (vm_page_size() > 8*K) {
++ if ((size_t)vm_page_size() > 8*K) {
+ StackYellowPages = 1;
+ StackRedPages = 1;
+ StackShadowPages = round_to((StackShadowPages*8*K), vm_page_size()) / vm_page_size();
+@@ -5072,7 +5073,7 @@ jint os::init_2(void) {
+
+ // Allocate a single page and mark it as readable for safepoint polling. Also
+ // use this first mmap call to check support for MAP_ALIGN.
+- address polling_page = (address)Solaris::mmap_chunk((char*)page_size,
++ address polling_page = (address)Solaris::mmap_chunk((char*)(uintptr_t)page_size,
+ page_size,
+ MAP_PRIVATE | MAP_ALIGN,
+ PROT_READ);
+@@ -5126,7 +5127,7 @@ jint os::init_2(void) {
+ // stack on a power of 2 boundary. The real fix for this
+ // should be to fix the guard page mechanism.
+
+- if (vm_page_size() > 8*K) {
++ if ((size_t)vm_page_size() > 8*K) {
+ threadStackSizeInBytes = (threadStackSizeInBytes != 0)
+ ? threadStackSizeInBytes +
+ ((StackYellowPages + StackRedPages) * vm_page_size())
diff --git a/lang/openjdk7/patches/patch-hotspot_src_share_vm_utilities_globalDefinitions__gcc.hpp b/lang/openjdk7/patches/patch-hotspot_src_share_vm_utilities_globalDefinitions__gcc.hpp
new file mode 100644
index 00000000000..c4a1c212dfe
--- /dev/null
+++ b/lang/openjdk7/patches/patch-hotspot_src_share_vm_utilities_globalDefinitions__gcc.hpp
@@ -0,0 +1,17 @@
+$NetBSD: patch-hotspot_src_share_vm_utilities_globalDefinitions__gcc.hpp,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+SunOS fixes.
+
+--- hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp.orig 2013-02-19 23:21:59.000000000 +0000
++++ hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+@@ -31,6 +31,10 @@
+ // globally used constants & types, class (forward)
+ // declarations and a few frequently used utility functions.
+
++#ifdef SOLARIS
++#include <inttypes.h>
++#endif // SOLARIS
++
+ #include <ctype.h>
+ #include <string.h>
+ #include <stdarg.h>
diff --git a/lang/openjdk7/patches/patch-jdk_make_com_sun_java_pack_Makefile b/lang/openjdk7/patches/patch-jdk_make_com_sun_java_pack_Makefile
new file mode 100644
index 00000000000..21f97a86786
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_com_sun_java_pack_Makefile
@@ -0,0 +1,31 @@
+$NetBSD: patch-jdk_make_com_sun_java_pack_Makefile,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC support.
+
+--- jdk/make/com/sun/java/pack/Makefile.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/make/com/sun/java/pack/Makefile
+@@ -109,6 +109,15 @@ endif
+ endif #LINUX
+ endif #PLATFORM
+
++# gcc on solaris; this makes a library, too, so the -Wl, will appear on the LDDFLAGS. it needs to be removed for the exe build
++LINKER_EXE = $(LINKER)
++ifeq ($(PLATFORM), solaris)
++ ifeq ($(CC_VERSION), gcc)
++ REPLACE=-Wl,-soname=lib$(LIBRARY).so
++ LINKER_EXE = $(subst $(REPLACE),,$(LINKER))
++ endif # CC_VERSION
++endif # PLATFORM
++
+ UNPACK_EXE = $(BINDIR)/unpack200$(EXE_SUFFIX)
+
+ UNPACK_EXE_FILES_cpp = $(filter-out jni.cpp,$(FILES_cpp))
+@@ -157,7 +166,7 @@ $(UNPACK_EXE): $(UNPACK_EXE_FILES_o) upd
+ $(prep-target)
+ $(RM) $(TEMPDIR)/mapfile-vers
+ $(CP) mapfile-vers-unpack200 $(TEMPDIR)/mapfile-vers
+- $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX)
++ $(LINKER_EXE) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX)
+ ifdef MT
+ $(MT) /manifest $(OBJDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1
+ endif
diff --git a/lang/openjdk7/patches/patch-jdk_make_common_Defs-solaris-gcc.gmk b/lang/openjdk7/patches/patch-jdk_make_common_Defs-solaris-gcc.gmk
new file mode 100644
index 00000000000..21eb14c01dc
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_common_Defs-solaris-gcc.gmk
@@ -0,0 +1,511 @@
+$NetBSD: patch-jdk_make_common_Defs-solaris-gcc.gmk,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC support.
+
+--- jdk/make/common/Defs-solaris-gcc.gmk.orig 2013-03-11 12:55:10.407557389 +0000
++++ jdk/make/common/Defs-solaris-gcc.gmk
+@@ -0,0 +1,504 @@
++#
++# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation. Oracle designates this
++# particular file as subject to the "Classpath" exception as provided
++# by Oracle in the LICENSE file that accompanied this code.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++# or visit www.oracle.com if you need additional information or have any
++# questions.
++#
++
++#
++# Makefile to specify compiler flags for programs and libraries
++# targeted to Solaris. Should not contain any rules.
++#
++# WARNING: This file is shared with other workspaces.
++# So when it includes other files, it must use JDK_TOPDIR.
++#
++
++# Warning: the following variables are overriden by Defs.gmk. Set
++# values will be silently ignored:
++# CFLAGS (set $(OTHER_CFLAGS) instead)
++# CPPFLAGS (set $(OTHER_CPPFLAGS) instead)
++# CXXFLAGS (set $(OTHER_CXXFLAGS) instead)
++# LDFLAGS (set $(OTHER_LDFAGS) instead)
++# LDLIBS (set $(EXTRA_LIBS) instead)
++# LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
++
++# Get shared JDK settings
++include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
++
++# Part of INCREMENTAL_BUILD mechanism.
++# Compiler emits things like: path/file.o: file.h
++# We want something like: relative_path/file.o relative_path/file.d: file.h
++CC_DEPEND = -MM
++CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g'
++
++ifndef PLATFORM_SRC
++ PLATFORM_SRC = $(BUILDDIR)/../src/solaris
++endif # PLATFORM_SRC
++
++# Location of the various .properties files specific to Solaris platform
++ifndef PLATFORM_PROPERTIES
++ PLATFORM_PROPERTIES = $(BUILDDIR)/../src/solaris/lib
++endif # PLATFORM_SRC
++
++# Platform specific closed sources
++ifndef OPENJDK
++ ifndef CLOSED_PLATFORM_SRC
++ CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
++ endif
++endif
++
++# platform specific include files
++PLATFORM_INCLUDE_NAME = $(PLATFORM)
++PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
++
++# suffix used for make dependencies files.
++DEPEND_SUFFIX = d
++# The suffix applied to the library name for FDLIBM
++FDDLIBM_SUFFIX = a
++# The suffix applied to scripts (.bat for windows, nothing for unix)
++SCRIPT_SUFFIX =
++# CC compiler object code output directive flag value
++CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
++CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required!
++
++# The Full Debug Symbols (FDS) default for VARIANT == OPT builds is
++# enabled with debug info files ZIP'ed to save space. For VARIANT !=
++# OPT builds, FDS is always enabled, after all a debug build without
++# debug info isn't very useful. The ZIP_DEBUGINFO_FILES option only has
++# meaning when FDS is enabled.
++#
++# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
++# disabled for a VARIANT == OPT build.
++#
++# Note: Use of a different variable name for the FDS override option
++# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
++# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
++# in options via environment variables, use of distinct variables
++# prevents strange behaviours. For example, in a VARIANT != OPT build,
++# the FULL_DEBUG_SYMBOLS environment variable will be 0, but the
++# ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If the same
++# variable name is used, then different values can be picked up by
++# different parts of the build. Just to be clear, we only need two
++# variable names because the incoming option value can be overridden
++# in some situations, e.g., a VARIANT != OPT build.
++
++ADD_GNU_DEBUGLINK = $(ABS_BUILDTOOLBINDIR)/add_gnu_debuglink
++FIX_EMPTY_SEC_HDR_FLAGS = $(ABS_BUILDTOOLBINDIR)/fix_empty_sec_hdr_flags
++
++ifeq ($(VARIANT), OPT)
++ FULL_DEBUG_SYMBOLS ?= 1
++ ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
++else
++ # debug variants always get Full Debug Symbols (if available)
++ ENABLE_FULL_DEBUG_SYMBOLS = 1
++endif
++_JUNK_ := $(shell \
++ echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
++# since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
++
++ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
++ ifndef CROSS_COMPILE_ARCH
++ # Default OBJCOPY comes from GNU Binutils on Solaris:
++ DEF_OBJCOPY=/opt/local/bin/objcopy
++ else
++ # Assume objcopy is part of the cross-compilation toolkit
++ DEF_OBJCOPY=$(COMPILER_PATH)/objcopy
++ endif
++ OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
++ ifneq ($(ALT_OBJCOPY),)
++ _JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
++ # disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
++ OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
++ endif
++
++ # Setting ENABLE_FULL_DEBUG_SYMBOLS=1 (and OBJCOPY) above enables the
++ # JDK build to import .debuginfo or .diz files from the HotSpot build.
++ # However, adding FDS support to the JDK build will occur in phases
++ # so a different make variable (LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
++ # and PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS) is used to indicate that a
++ # particular library or program supports FDS.
++
++ ifeq ($(OBJCOPY),)
++ _JUNK_ := $(shell \
++ echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY.")
++ ENABLE_FULL_DEBUG_SYMBOLS=0
++ else
++ _JUNK_ := $(shell \
++ echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
++
++ # Library stripping policies for .debuginfo configs:
++ # all_strip - strips everything from the library
++ # min_strip - strips most stuff from the library; leaves minimum symbols
++ # no_strip - does not strip the library at all
++ #
++ # Oracle security policy requires "all_strip". A waiver was granted on
++ # 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
++ #
++ # Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
++ STRIP_POLICY ?= min_strip
++
++ _JUNK_ := $(shell \
++ echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
++
++ ZIP_DEBUGINFO_FILES ?= 1
++
++ _JUNK_ := $(shell \
++ echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
++ endif
++endif
++
++#
++# Default optimization
++#
++
++ifndef OPTIMIZATION_LEVEL
++ ifeq ($(PRODUCT), java)
++ OPTIMIZATION_LEVEL = HIGHER
++ else
++ OPTIMIZATION_LEVEL = LOWER
++ endif
++endif
++ifndef FASTDEBUG_OPTIMIZATION_LEVEL
++ FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
++endif
++
++CC_OPT/NONE =
++CC_OPT/LOWER = -O2
++CC_OPT/HIGHER = -O3
++CC_OPT/HIGHEST = -O3
++
++CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL))
++
++# For all platforms, do not omit the frame pointer register usage.
++# We need this frame pointer to make it easy to walk the stacks.
++# This should be the default on X86, but ia64 and amd64 may not have this
++# as the default.
++CFLAGS_REQUIRED_amd64 += -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
++LDFLAGS_COMMON_amd64 += -m64
++CFLAGS_REQUIRED_i586 += -m32 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
++LDFLAGS_COMMON_i586 += -m32
++CFLAGS_REQUIRED_ia64 += -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9
++LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9
++CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9
++LDFLAGS_COMMON_sparc += -m32 -mcpu=v9
++CFLAGS_REQUIRED_arm += -fsigned-char -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_ppc += -fsigned-char -D_BIG_ENDIAN
++ifeq ($(ZERO_BUILD), true)
++ CFLAGS_REQUIRED = $(ZERO_ARCHFLAG)
++ ifeq ($(ZERO_ENDIANNESS), little)
++ CFLAGS_REQUIRED += -D_LITTLE_ENDIAN
++ endif
++ LDFLAGS_COMMON += $(ZERO_ARCHFLAG)
++else
++ CFLAGS_REQUIRED = $(CFLAGS_REQUIRED_$(ARCH))
++ LDFLAGS_COMMON += $(LDFLAGS_COMMON_$(ARCH))
++endif
++
++# If this is a --hash-style=gnu system, use --hash-style=both
++# The gnu .hash section won't work on some Linux systems like SuSE 10.
++_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | $(GREP) -- '--hash-style=gnu')
++ifneq ($(_HAS_HASH_STYLE_GNU),)
++ LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
++endif
++LDFLAGS_COMMON += $(LDFLAGS_HASH_STYLE)
++
++#
++# Selection of warning messages
++#
++GCC_INHIBIT = -Wno-unused -Wno-parentheses
++GCC_STYLE =
++GCC_WARNINGS = -W -Wall $(GCC_STYLE) $(GCC_INHIBIT)
++
++#
++# Treat compiler warnings as errors, if warnings not allowed
++#
++ifeq ($(COMPILER_WARNINGS_FATAL),true)
++ GCC_WARNINGS += -Werror
++endif
++
++#
++# Misc compiler options
++#
++ifneq ($(ARCH),ppc)
++ CFLAGS_COMMON = -fno-strict-aliasing
++endif
++PIC_CODE_LARGE = -fPIC
++PIC_CODE_SMALL = -fpic
++GLOBAL_KPIC = $(PIC_CODE_LARGE)
++CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS)
++ifeq ($(ARCH), amd64)
++ CFLAGS_COMMON += -pipe
++endif
++
++# Linux 64bit machines use Dwarf2, which can be HUGE, have fastdebug use -g1
++DEBUG_FLAG = -g
++ifeq ($(FASTDEBUG), true)
++ ifeq ($(ARCH_DATA_MODEL), 64)
++ DEBUG_FLAG = -g1
++ endif
++endif
++
++# DEBUG_BINARIES overrides everything, use full -g debug information
++ifeq ($(DEBUG_BINARIES), true)
++ DEBUG_FLAG = -g
++ CFLAGS_REQUIRED += $(DEBUG_FLAG)
++endif
++
++# If Full Debug Symbols is enabled, then we want the same debug and
++# optimization flags as used by FASTDEBUG.
++#
++ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
++ ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
++ ifeq ($(VARIANT), OPT)
++ CC_OPT = $(DEBUG_FLAG) $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
++ endif
++ endif
++endif
++
++CFLAGS_OPT = $(CC_OPT)
++CFLAGS_DBG = $(DEBUG_FLAG)
++CFLAGS_COMMON += $(CFLAGS_REQUIRED)
++
++CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS)
++CXXFLAGS_OPT = $(CC_OPT)
++CXXFLAGS_DBG = $(DEBUG_FLAG)
++CXXFLAGS_COMMON += $(CFLAGS_REQUIRED)
++
++# FASTDEBUG: Optimize the code in the -g versions, gives us a faster debug java
++ifeq ($(FASTDEBUG), true)
++ CFLAGS_DBG += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
++ CXXFLAGS_DBG += $(CC_OPT/$(FASTDEBUG_OPTIMIZATION_LEVEL))
++endif
++
++CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"'
++
++# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here)
++ifneq ($(ARCH),alpha)
++ CPP_ARCH_FLAGS += -D$(ARCH)
++else
++ CPP_ARCH_FLAGS += -D_$(ARCH)_
++endif
++
++CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -D__solaris__ $(VERSION_DEFINES) -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT
++
++ifeq ($(ARCH_DATA_MODEL), 64)
++CPPFLAGS_COMMON += -D_LP64=1
++endif
++
++CPPFLAGS_OPT = -DNDEBUG
++CPPFLAGS_DBG = -DDEBUG
++ifneq ($(PRODUCT), java)
++ CPPFLAGS_DBG += -DLOGGING
++endif
++
++ifdef LIBRARY
++ # Libraries need to locate other libraries at runtime, and you can tell
++ # a library where to look by way of the dynamic runpaths (RPATH or RUNPATH)
++ # buried inside the .so. The $ORIGIN says to look relative to where
++ # the library itself is and it can be followed with relative paths from
++ # that. By default we always look in $ORIGIN, optionally we add relative
++ # paths if the Makefile sets LD_RUNPATH_EXTRAS to those relative paths.
++ # On Linux we add a flag -z origin, not sure if this is necessary, but
++ # doesn't seem to hurt.
++ # The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
++ # Try: 'readelf -d lib*.so' to see these settings in a library.
++ #
++ifndef USE_GCC
++ Z_ORIGIN_FLAG/sparc = -Xlinker -z -Xlinker origin
++ Z_ORIGIN_FLAG/i586 = -Xlinker -z -Xlinker origin
++ Z_ORIGIN_FLAG/amd64 = -Xlinker -z -Xlinker origin
++ Z_ORIGIN_FLAG/ia64 = -Xlinker -z -Xlinker origin
++ Z_ORIGIN_FLAG/arm =
++ Z_ORIGIN_FLAG/ppc =
++ Z_ORIGIN_FLAG/zero = -Xlinker -z -Xlinker origin
++
++ LDFLAG_Z_ORIGIN = $(Z_ORIGIN_FLAG/$(ARCH_FAMILY))
++
++ LDFLAGS_COMMON += $(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN
++ LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=$(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN/%)
++else
++ LDFLAGS_COMMON += -Wl,-R${PREFIX}/lib
++ LDFLAGS_COMMON += -Wl,-R${PREFIX}/java/openjdk7/jre/lib/$(LIBARCH)
++ LDFLAGS_COMMON += -Wl,-R${PREFIX}/java/openjdk7/jre/lib/$(LIBARCH)/jli
++endif # USE_GCC
++endif # LIBRARY
++
++EXTRA_LIBS += -lc
++
++LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker defs
++LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
++
++#
++# -L paths for finding and -ljava
++#
++#LDFLAGS_OPT = -Xlinker -O1
++LDFLAGS_OPT =
++LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
++ifdef LIBRARY
++LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
++endif
++
++#
++# -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
++# statically link libgcc but will print a warning with the flag. We don't
++# want the warning, so check gcc version first.
++#
++ifeq ($(CC_MAJORVER),3)
++ OTHER_LDFLAGS += -static-libgcc
++endif
++
++# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
++# (See Rules.gmk) The gcc 5 compiler might have an option for this?
++AUTOMATIC_PCH_OPTION =
++
++#
++# Post Processing of libraries/executables
++#
++ifeq ($(VARIANT), OPT)
++ ifneq ($(NO_STRIP), true)
++ ifneq ($(DEBUG_BINARIES), true)
++ # Debug 'strip -g' leaves local function Elf symbols (better stack
++ # traces)
++ POST_STRIP_PROCESS = $(STRIP) -g
++ endif
++ endif
++endif
++
++#
++# Use: ld $(LD_MAPFILE_FLAG) mapfile *.o
++#
++# actually if linker = illumos
++ifeq ($(CC_VERSION),gcc)
++LD_MAPFILE_FLAG = -Xlinker -M -Xlinker
++else
++LD_MAPFILE_FLAG = -Xlinker --version-script -Xlinker
++#LD_MAPFILE_FLAG = -M
++endif
++
++#
++# Support for Quantify.
++#
++ifdef QUANTIFY
++QUANTIFY_CMD = quantify
++QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes
++LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS)
++endif
++
++#
++# Path and option to link against the VM, if you have to. Note that
++# there are libraries that link against only -ljava, but they do get
++# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas
++# the library itself should not.
++#
++VM_NAME = server
++JVMLIB = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -Wl,-R${PREFIX}/java/openjdk7/jre/lib/$(LIBARCH)/$(VM_NAME) -ljvm
++JAVALIB = -ljava $(JVMLIB)
++
++#
++# We want to privatize JVM symbols on Solaris. This is so the user can
++# write a function called FindClass and this should not override the
++# FindClass that is inside the JVM. At this point in time we are not
++# concerned with other JNI libraries because we hope that there will
++# not be as many clashes there.
++#
++PRIVATIZE_JVM_SYMBOLS = false
++
++#USE_PTHREADS = true
++#override ALT_CODESET_KEY = _NL_CTYPE_CODESET_NAME
++override AWT_RUNPATH =
++#override HAVE_ALTZONE = false
++#override HAVE_FILIOH = false
++#override HAVE_GETHRTIME = false
++#override HAVE_GETHRVTIME = false
++#override HAVE_SIGIGNORE = true
++#override LEX_LIBRARY = -lfl
++ifeq ($(STATIC_CXX),true)
++override LIBCXX = -Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic
++else
++override LIBCXX = -lstdc++
++endif
++#override LIBPOSIX4 =
++override LIBM = /usr/lib$(ISA_DIR)/libm.so.2
++override LIBSOCKET = -lsocket
++override LIBNSL = -lnsl
++override LIBSCF = -lscf
++#override LIBTHREAD =
++override LIBDL = -ldl
++#override MOOT_PRIORITIES = true
++#override NO_INTERRUPTIBLE_IO = true
++override OPENWIN_HOME = /opt/local
++override OPENWIN_LIB = $(OPENWIN_HOME)/lib$(ISA_DIR)
++override OTHER_M4FLAGS = -D__GLIBC__ -DGNU_ASSEMBLER
++#override SUN_CMM_SUBDIR =
++override THREADS_FLAG = native
++#override USE_GNU_M4 = true
++override USING_GNU_TAR = true
++#override WRITE_LIBVERSION = false
++
++# assuming that solaris && gcc equals a system with modular X11 header location
++ifeq ($(PLATFORM), solaris)
++ ifeq ($(CC_VERSION), gcc)
++ OTHER_CPPFLAGS += -I$(OPENWIN_HOME)/include
++ endif # CC_VERSION
++endif # PLATFORM
++
++# USE_EXECNAME forces the launcher to look up argv[0] on $PATH, and put the
++# resulting resolved absolute name of the executable in the environment
++# variable EXECNAME. That executable name is then used that to locate the
++# installation area.
++#override USE_EXECNAME = true
++
++# If your platform has DPS, it will have Type1 fonts too, in which case
++# it is best to enable DPS support until such time as 2D's rasteriser
++# can fully handle Type1 fonts in all cases. Default is "yes".
++# HAVE_DPS should only be "no" if the platform has no DPS headers or libs
++# DPS (Displayable PostScript) is available on Solaris machines
++HAVE_DPS = no
++
++SYSTEM_ZLIB = true
++
++#
++# Japanese manpages
++#
++JA_SOURCE_ENCODING = eucJP
++JA_TARGET_ENCODINGS = UTF-8
++
++# Settings for the JDI - Serviceability Agent binding.
++HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
++SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
++SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
++SA_DIZ_NAME = $(LIB_PREFIX)saproc.diz
++
++# The JDI - Serviceability Agent binding is not currently supported
++# on Linux-ia64.
++#ifeq ($(ARCH), ia64)
++# INCLUDE_SA = false
++#else
++ INCLUDE_SA = true
++#endif
++
++ifdef CROSS_COMPILE_ARCH
++ # X11 headers are not under /usr/include
++ OTHER_CFLAGS += -I$(OPENWIN_HOME)/include
++ OTHER_CXXFLAGS += -I$(OPENWIN_HOME)/include
++ OTHER_CPPFLAGS += -I$(OPENWIN_HOME)/include
++endif
diff --git a/lang/openjdk7/patches/patch-jdk_make_common_Defs-solaris.gmk b/lang/openjdk7/patches/patch-jdk_make_common_Defs-solaris.gmk
new file mode 100644
index 00000000000..f89dea27f68
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_common_Defs-solaris.gmk
@@ -0,0 +1,23 @@
+$NetBSD: patch-jdk_make_common_Defs-solaris.gmk,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC support.
+
+--- jdk/make/common/Defs-solaris.gmk.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/make/common/Defs-solaris.gmk
+@@ -44,6 +44,10 @@
+ # Note: CPPFLAGS are used in C and C++ compiles.
+ #
+
++ifdef USE_GCC
++ include $(JDK_TOPDIR)/make/common/Defs-$(PLATFORM)-gcc.gmk
++else
++
+ # Get shared JDK settings
+ include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
+
+@@ -799,3 +803,5 @@ SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.
+ SA_DIZ_NAME = $(LIB_PREFIX)saproc.diz
+ INCLUDE_SA=true
+
++endif # USE_GCC
++
diff --git a/lang/openjdk7/patches/patch-jdk_make_common_Mapfile-vers.gmk b/lang/openjdk7/patches/patch-jdk_make_common_Mapfile-vers.gmk
new file mode 100644
index 00000000000..cbda9610494
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_common_Mapfile-vers.gmk
@@ -0,0 +1,42 @@
+$NetBSD: patch-jdk_make_common_Mapfile-vers.gmk,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC support.
+
+--- jdk/make/common/Mapfile-vers.gmk.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/make/common/Mapfile-vers.gmk
+@@ -50,14 +50,16 @@ ifeq ($(VARIANT), OPT)
+ ifndef FILES_m
+ FILES_m = mapfile-vers
+ endif
+-
++
++ifneq ($(CC_VERSION), gcc)
+ # If we are re-ordering functions in this solaris library, we need to make
+ # sure that -xF is added to the compile lines. This option is critical and
+ # enables the functions to be reordered.
+ ifdef FILES_reorder
+ CFLAGS_OPT += -xF
+ CXXFLAGS_OPT += -xF
+- endif
++ endif # FILES_reorder
++endif # USE_GCC
+
+ INIT += $(TEMPDIR)/mapfile-vers
+
+@@ -70,9 +72,15 @@ $(TEMPDIR)/mapfile-vers : $(FILES_m) $(F
+ endif # VARIANT
+
+ ifndef LDNOMAP
++ifneq ($(CC_VERSION), gcc)
+ LDMAPFLAGS_OPT = -M$(TEMPDIR)/mapfile-vers
+ LDMAPFLAGS_DBG = $(FILES_m:%=-M%)
+-endif
++else
++ ## proper passthrough for gcc
++ LDMAPFLAGS_OPT = -Xlinker -M$(TEMPDIR)/mapfile-vers
++ LDMAPFLAGS_DBG = $(FILES_m:%=-Xlinker -M%)
++endif # USE_GCC
++endif # LDNOMAP
+
+ endif # PLATFORM
+
diff --git a/lang/openjdk7/patches/patch-jdk_make_common_Program.gmk b/lang/openjdk7/patches/patch-jdk_make_common_Program.gmk
new file mode 100644
index 00000000000..5a012228b99
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_common_Program.gmk
@@ -0,0 +1,36 @@
+$NetBSD: patch-jdk_make_common_Program.gmk,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC support.
+
+--- jdk/make/common/Program.gmk.orig 2013-06-11 09:37:03.843509400 +0000
++++ jdk/make/common/Program.gmk
+@@ -65,7 +65,10 @@ program: $(ACTUAL_PROGRAM)
+ ifndef CROSS_COMPILE_ARCH
+ # reuse the mapfiles in the launcher's directory, the same should
+ # be applicable to the tool launchers as well.
+- FILES_m = $(BUILDDIR)/java/main/java/mapfile-$(ARCH)
++ # Except when the makefile requests a specific mapfile.
++ ifndef FILES_m
++ FILES_m = $(BUILDDIR)/java/main/java/mapfile-$(ARCH)
++ endif # ! FILES_m
+ include $(BUILDDIR)/common/Mapfile-vers.gmk
+ endif
+
+@@ -110,6 +113,7 @@ ifneq (,$(findstring $(PLATFORM), linux
+ LDFLAGS += -L $(LIBDIR)/$(LIBARCH)/jli
+ OTHER_LDLIBS += -ljli
+ ifeq ($(PLATFORM), solaris)
++ LDFLAGS += -R ${PREFIX}/java/openjdk7/jre/lib/${LIBARCH}/jli
+ ifeq ($(ARCH_DATA_MODEL), 32)
+ LDFLAGS += -R \$$ORIGIN/../lib/$(LIBARCH)/jli
+ LDFLAGS += -R \$$ORIGIN/../jre/lib/$(LIBARCH)/jli
+@@ -124,6 +128,9 @@ ifneq (,$(findstring $(PLATFORM), linux
+ LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli
+ LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH)/jli
+ endif # PLATFORM LINUX
++ ifeq ($(SYSTEM_ZLIB),true)
++ OTHER_LDLIBS += $(ZLIB_LIBS)
++ endif # SYSTEM_ZLIB
+ endif # PLATFORM linux solaris
+
+ ifeq ($(PLATFORM), windows)
diff --git a/lang/openjdk7/patches/patch-jdk_make_common_shared_Compiler-gcc.gmk b/lang/openjdk7/patches/patch-jdk_make_common_shared_Compiler-gcc.gmk
new file mode 100644
index 00000000000..437a4d4ffaf
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_common_shared_Compiler-gcc.gmk
@@ -0,0 +1,15 @@
+$NetBSD: patch-jdk_make_common_shared_Compiler-gcc.gmk,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC needs -shared not -G.
+
+--- jdk/make/common/shared/Compiler-gcc.gmk.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/make/common/shared/Compiler-gcc.gmk
+@@ -80,7 +80,7 @@ ifeq ($(PLATFORM), solaris)
+ CXX = $(COMPILER_PATH)g++
+
+ # Option used to create a shared library
+- SHARED_LIBRARY_FLAG = -G
++ SHARED_LIBRARY_FLAG = -shared
+
+ endif
+
diff --git a/lang/openjdk7/patches/patch-jdk_make_common_shared_Defs-utils.gmk b/lang/openjdk7/patches/patch-jdk_make_common_shared_Defs-utils.gmk
new file mode 100644
index 00000000000..b9561d200d2
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_common_shared_Defs-utils.gmk
@@ -0,0 +1,14 @@
+$NetBSD: patch-jdk_make_common_shared_Defs-utils.gmk,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Use pkgsrc zip commands.
+
+--- jdk/make/common/shared/Defs-utils.gmk.orig 2013-03-10 22:22:12.950670029 +0000
++++ jdk/make/common/shared/Defs-utils.gmk
+@@ -254,3 +254,7 @@ ifeq ($(PLATFORM), macosx)
+ # Builtin shell command, no -e option needed
+ ECHO = echo
+ endif
++
++ZIPEXE = $(PKGSRC_ZIPEXE)
++UNZIP = $(PKGSRC_UNZIP)
++UNZIPSFX = $(PKGSRC_UNZIPSFX)
diff --git a/lang/openjdk7/patches/patch-jdk_make_common_shared_Defs-versions.gmk b/lang/openjdk7/patches/patch-jdk_make_common_shared_Defs-versions.gmk
new file mode 100644
index 00000000000..ee6a38ed688
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_common_shared_Defs-versions.gmk
@@ -0,0 +1,19 @@
+$NetBSD: patch-jdk_make_common_shared_Defs-versions.gmk,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Add GCC support.
+
+--- jdk/make/common/shared/Defs-versions.gmk.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/make/common/shared/Defs-versions.gmk
+@@ -36,7 +36,11 @@ endif
+
+ # Solaris uses Sun Studio compilers by default
+ ifeq ($(PLATFORM), solaris)
+- override CC_VERSION = sun
++ ifdef USE_GCC
++ override CC_VERSION = gcc
++ else
++ override CC_VERSION = sun
++ endif
+ endif
+
+ # Linux uses GNU compilers by default
diff --git a/lang/openjdk7/patches/patch-jdk_make_java_instrument_Makefile b/lang/openjdk7/patches/patch-jdk_make_java_instrument_Makefile
new file mode 100644
index 00000000000..76e11be1d88
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_java_instrument_Makefile
@@ -0,0 +1,16 @@
+$NetBSD: patch-jdk_make_java_instrument_Makefile,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Need libiconv.
+
+--- jdk/make/java/instrument/Makefile.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/make/java/instrument/Makefile
+@@ -119,6 +119,9 @@ else
+ OTHER_LDLIBS += -ldl
+ ifeq ($(PLATFORM), solaris)
+ LDFLAGS += -R \$$ORIGIN/jli
++ ifeq ($(CC_VERSION), gcc)
++ OTHER_LDLIBS += -liconv
++ endif
+ endif
+ ifeq ($(PLATFORM), linux)
+ LDFLAGS += $(LDFLAG_Z_ORIGIN)
diff --git a/lang/openjdk7/patches/patch-jdk_make_java_nio_Makefile b/lang/openjdk7/patches/patch-jdk_make_java_nio_Makefile
new file mode 100644
index 00000000000..5397a06f94a
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_java_nio_Makefile
@@ -0,0 +1,16 @@
+$NetBSD: patch-jdk_make_java_nio_Makefile,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Ensure we pick up the main flags.
+
+--- jdk/make/java/nio/Makefile.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/make/java/nio/Makefile
+@@ -34,6 +34,9 @@ PRODUCT = java
+ OTHER_JAVACFLAGS += -Xmaxwarns 1000 -Xlint:serial -Werror
+ include $(BUILDDIR)/common/Defs.gmk
+
++LDDFLAGS += $(LDFLAGS_COMMON_$(ARCH))
++CPPFLAGS += $(CFLAGS_REQUIRED_$(ARCH))
++
+ NIO_SRC = $(SHARE_SRC)/classes/java/nio
+ NIO_GEN = $(GENSRCDIR)/java/nio
+
diff --git a/lang/openjdk7/patches/patch-jdk_make_java_npt_Makefile b/lang/openjdk7/patches/patch-jdk_make_java_npt_Makefile
new file mode 100644
index 00000000000..64123cff7ca
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_java_npt_Makefile
@@ -0,0 +1,19 @@
+$NetBSD: patch-jdk_make_java_npt_Makefile,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC needs libiconv.
+
+--- jdk/make/java/npt/Makefile.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/make/java/npt/Makefile
+@@ -38,6 +38,12 @@ FILES_m = mapfile-vers
+
+ include $(BUILDDIR)/common/Defs.gmk
+
++ifeq ($(PLATFORM), solaris)
++ ifeq ($(CC_VERSION), gcc)
++ OTHER_LDLIBS += -liconv
++ endif # CC_VERSION
++endif # PLATFORM
++
+ SRCDIR=$(SHARE_SRC)/npt
+ PSRCDIR=$(PLATFORM_SRC)/npt
+
diff --git a/lang/openjdk7/patches/patch-jdk_make_sun_awt_Makefile b/lang/openjdk7/patches/patch-jdk_make_sun_awt_Makefile
new file mode 100644
index 00000000000..c1e976b5f81
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_sun_awt_Makefile
@@ -0,0 +1,70 @@
+$NetBSD: patch-jdk_make_sun_awt_Makefile,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC support.
+
+--- jdk/make/sun/awt/Makefile.orig 2013-06-11 14:02:41.501545894 +0000
++++ jdk/make/sun/awt/Makefile
+@@ -94,6 +94,7 @@ ifeq ($(PLATFORM), solaris)
+ FILES_c = $(FILES_2D_c)
+ FILES_c += awt_LoadLibrary.c
+ OTHER_LDLIBS = $(JVMLIB) $(LIBM) $(LIBDL)
++ifneq ($(CC_VERSION), gcc)
+ ifeq ($(CC_VER), 5.8)
+ ifndef REMOVE_ALL_WORKAROUNDS
+ ifeq ($(ARCH_FAMILY), i586)
+@@ -114,6 +115,7 @@ ifeq ($(CC_VER), 5.8)
+ endif
+ endif
+ endif
++endif # ! CC_VERSION
+ endif
+
+ ifeq ($(PLATFORM), linux)
+@@ -427,7 +429,15 @@ FONTCONFIGS_SRC = $(PLATFORM_SRC)/classe
+ _FONTCONFIGS = \
+ fontconfig.properties
+
+-FONTCONFIGS_SRC_PREFIX = $(PLATFORM).
++ifndef DISTRO
++ DISTRO=$(PLATFORM)
++endif # DISTRO
++
++ifeq ($(DISTRO), pkgsrc)
++ FONTCONFIGS_SRC_PREFIX = pkgsrc.
++else
++ FONTCONFIGS_SRC_PREFIX = $(PLATFORM).
++endif # DISTRO
+
+ # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ SOLARIS
+ endif # PLATFORM
+@@ -543,12 +553,7 @@ ifneq ($(PLATFORM), windows)
+ # Other extra flags needed for compiling.
+ #
+
+-ifeq ($(PLATFORM), linux)
+-CPPFLAGS += -I$(OPENWIN_HOME)/include \
+- -I$(OPENWIN_HOME)/include/X11/extensions \
+- -I$(PLATFORM_SRC)/native/$(PKGDIR)/font
+-endif
+-ifeq ($(PLATFORM), bsd)
++ifneq (,$(findstring $(PLATFORM), linux bsd solaris))
+ CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/font
+ endif
+ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
+@@ -573,13 +578,10 @@ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGD
+ $(EVENT_MODEL)
+
+ # include these last so we don't pick up unintentional includes
+-ifeq ($(PLATFORM), bsd)
++ifneq (,$(findstring $(PLATFORM), linux bsd solaris))
+ CPPFLAGS += -I$(OPENWIN_HOME)/include \
+- -I$(OPENWIN_HOME)/include/X11/extensions
+-endif
+-
+-ifneq (,$(findstring $(PLATFORM), linux bsd))
+-LDFLAGS += -L$(OPENWIN_LIB)
++ -I$(OPENWIN_HOME)/include/X11/extensions
++LDFLAGS += -L$(OPENWIN_LIB) -Wl,-R$(OPENWIN_LIB)
+ endif
+
+ LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
diff --git a/lang/openjdk7/patches/patch-jdk_make_sun_awt_mawt.gmk b/lang/openjdk7/patches/patch-jdk_make_sun_awt_mawt.gmk
new file mode 100644
index 00000000000..08bd0b903de
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_sun_awt_mawt.gmk
@@ -0,0 +1,31 @@
+$NetBSD: patch-jdk_make_sun_awt_mawt.gmk,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Fix "Extraneous text after `ifeq' directive".
+
+--- jdk/make/sun/awt/mawt.gmk.orig 2013-06-14 12:22:13.564220901 +0000
++++ jdk/make/sun/awt/mawt.gmk
+@@ -193,7 +193,7 @@ endif
+ #
+ # Other extra flags needed for compiling.
+ #
+-ifneq ($(PLATFORM), bsd))
++ifneq ($(PLATFORM), bsd)
+ CPPFLAGS += -I$(CUPS_HEADERS_PATH)
+
+ ifndef HEADLESS
+@@ -245,13 +245,13 @@ ifeq ($(PLATFORM), linux)
+ $(wildcard /usr/include/X11/extensions))
+ endif
+
+-ifeq ($(PLATFORM), bsd))
++ifeq ($(PLATFORM), bsd)
+ CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
+ -I$(OPENWIN_HOME)/include \
+ -DX11_PATH=\"$(X11_PATH)\" -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
+ endif
+
+-ifeq ($(PLATFORM), macosx))
++ifeq ($(PLATFORM), macosx)
+ CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
+ -I$(OPENWIN_HOME)/include
+ endif
diff --git a/lang/openjdk7/patches/patch-jdk_make_sun_security_ec_Makefile b/lang/openjdk7/patches/patch-jdk_make_sun_security_ec_Makefile
new file mode 100644
index 00000000000..146d5b307f0
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_sun_security_ec_Makefile
@@ -0,0 +1,22 @@
+$NetBSD: patch-jdk_make_sun_security_ec_Makefile,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC compatability.
+
+--- jdk/make/sun/security/ec/Makefile.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/make/sun/security/ec/Makefile
+@@ -187,6 +187,15 @@ ifeq ($(NATIVE_ECC_AVAILABLE), true)
+ #
+ OTHER_CFLAGS += -DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B
+
++ # gcc on solaris seems to define _POSIX_C_SOURCE or _XOPEN
++ # g++, on the otherhand, does not define either.
++ # It causes problems with g++: _B_FALSE instead of B_FALSE
++ ifeq ($(PLATFORM), solaris)
++ ifeq ($(CC_VERSION), gcc)
++ OTHER_CFLAGS += -D_XOPEN_SOURCE -D_XOPEN_VERSION=4 -D__EXTENSIONS__
++ endif # CC_VERSION
++ endif # PLATFORM
++
+ #
+ # Libraries to link
+ #
diff --git a/lang/openjdk7/patches/patch-jdk_make_sun_splashscreen_Makefile b/lang/openjdk7/patches/patch-jdk_make_sun_splashscreen_Makefile
new file mode 100644
index 00000000000..d78c1ccaed8
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_sun_splashscreen_Makefile
@@ -0,0 +1,18 @@
+$NetBSD: patch-jdk_make_sun_splashscreen_Makefile,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC support.
+
+--- jdk/make/sun/splashscreen/Makefile.orig 2013-06-11 09:37:03.893407544 +0000
++++ jdk/make/sun/splashscreen/Makefile
+@@ -91,6 +91,11 @@ else ifneq ($(PLATFORM), windows)
+ OTHER_LDLIBS += -L$(PACKAGE_PATH)/lib -liconv
+ endif
+ endif
++ ifeq ($(PLATFORM), solaris)
++ ifeq ($(CC_VERSION), gcc)
++ OTHER_LDLIBS += -liconv
++ endif
++ endif
+ CPPFLAGS += -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
+ OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpthread
+ else # PLATFORM
diff --git a/lang/openjdk7/patches/patch-jdk_make_sun_xawt_Makefile b/lang/openjdk7/patches/patch-jdk_make_sun_xawt_Makefile
new file mode 100644
index 00000000000..929b718c120
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_make_sun_xawt_Makefile
@@ -0,0 +1,25 @@
+$NetBSD: patch-jdk_make_sun_xawt_Makefile,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC support.
+
+--- jdk/make/sun/xawt/Makefile.orig 2013-06-11 09:37:03.894233474 +0000
++++ jdk/make/sun/xawt/Makefile
+@@ -58,7 +58,7 @@ endif
+
+ # For Xrender extension.
+ ifeq ($(PLATFORM), solaris)
+-LDFLAGS += -L/usr/openwin/sfw/lib$(ISA_DIR) -R/usr/openwin/sfw/lib$(ISA_DIR)
++LDFLAGS += -Wl,-R$(OPENWIN_LIB)
+ endif
+
+ ifeq ($(PLATFORM), linux)
+@@ -170,6 +170,9 @@ endif
+ # we will set a flag indicating this mismatch and the JDK source file
+ # will interpret it to resolve the problem.
+ ifeq ($(PLATFORM), solaris)
++ ifeq ($(CC_VERSION), gcc)
++ CPPFLAGS += -I$(OPENWIN_HOME)/include
++ endif # CC_VERSION
+ CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions
+ OS_VERSION := $(shell uname -r)
+ XRENDER_H := $(OPENWIN_HOME)/share/include/X11/extensions/Xrender.h
diff --git a/lang/openjdk7/patches/patch-jdk_src_share_native_com_sun_java_util_jar_pack_defines.h b/lang/openjdk7/patches/patch-jdk_src_share_native_com_sun_java_util_jar_pack_defines.h
new file mode 100644
index 00000000000..63259cdf417
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_src_share_native_com_sun_java_util_jar_pack_defines.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-jdk_src_share_native_com_sun_java_util_jar_pack_defines.h,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Avoid uLong conflicts on !BSD.
+
+--- jdk/src/share/native/com/sun/java/util/jar/pack/defines.h.orig 2013-06-14 21:08:03.030278224 +0000
++++ jdk/src/share/native/com/sun/java/util/jar/pack/defines.h
+@@ -93,7 +93,7 @@ extern int assert_failed(const char*);
+ // bytes and byte arrays
+
+ typedef unsigned int uint;
+-#if !defined(_ALLBSD_SOURCE) || (defined(_ALLBSD_SOURCE) && defined(NO_ZLIB))
++#if defined(NO_ZLIB)
+ #ifdef _LP64
+ typedef unsigned int uLong; // Historical zlib, should be 32-bit.
+ #else
diff --git a/lang/openjdk7/patches/patch-jdk_src_share_native_sun_awt_image_jpeg_imageioJPEG.c b/lang/openjdk7/patches/patch-jdk_src_share_native_sun_awt_image_jpeg_imageioJPEG.c
new file mode 100644
index 00000000000..39a3d698a34
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_src_share_native_sun_awt_image_jpeg_imageioJPEG.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-jdk_src_share_native_sun_awt_image_jpeg_imageioJPEG.c,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Ensure we use the bundled jpeg.
+
+--- jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
+@@ -50,7 +50,7 @@
+ #include "com_sun_imageio_plugins_jpeg_JPEGImageWriter.h"
+
+ /* headers from the JPEG library */
+-#include <jpeglib.h>
++#include "jpeglib.h"
+ #include "jerror.h"
+
+ #undef MAX
diff --git a/lang/openjdk7/patches/patch-jdk_src_share_native_sun_awt_image_jpeg_jpegdecoder.c b/lang/openjdk7/patches/patch-jdk_src_share_native_sun_awt_image_jpeg_jpegdecoder.c
new file mode 100644
index 00000000000..9bd8779092e
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_src_share_native_sun_awt_image_jpeg_jpegdecoder.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-jdk_src_share_native_sun_awt_image_jpeg_jpegdecoder.c,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Ensure we use the bundled jpeg.
+
+--- jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c
+@@ -44,7 +44,7 @@
+ /* undo "system_boolean" hack and undef FAR since we don't use it anyway */
+ #undef boolean
+ #undef FAR
+-#include <jpeglib.h>
++#include "jpeglib.h"
+ #include "jerror.h"
+
+ /* The method IDs we cache. Note that the last two belongs to the
diff --git a/lang/openjdk7/patches/patch-jdk_src_share_native_sun_security_ec_impl_ecc__impl.h b/lang/openjdk7/patches/patch-jdk_src_share_native_sun_security_ec_impl_ecc__impl.h
new file mode 100644
index 00000000000..92ecd9c3198
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_src_share_native_sun_security_ec_impl_ecc__impl.h
@@ -0,0 +1,33 @@
+$NetBSD: patch-jdk_src_share_native_sun_security_ec_impl_ecc__impl.h,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC compatability.
+
+--- jdk/src/share/native/sun/security/ec/impl/ecc_impl.h.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/src/share/native/sun/security/ec/impl/ecc_impl.h
+@@ -38,12 +38,13 @@
+
+ #ifndef _ECC_IMPL_H
+ #define _ECC_IMPL_H
++
++#include <sys/types.h>
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+-#include <sys/types.h>
+ #include "ecl-exp.h"
+
+ /*
+@@ -57,6 +58,11 @@ typedef unsigned long ulong_t;
+ typedef enum { B_FALSE, B_TRUE } boolean_t;
+ #endif /* __linux__ */
+
++#if defined(__solaris__) && defined(_GNU_SOURCE)
++#define B_FALSE _B_FALSE
++#define B_TRUE _B_TRUE
++#endif /* __solaris__ && _GNU_SOURCE */
++
+ #ifdef _ALLBSD_SOURCE
+ #include <stdint.h>
+ #define B_FALSE FALSE
diff --git a/lang/openjdk7/patches/patch-jdk_src_solaris_bin_ergo__i586.c b/lang/openjdk7/patches/patch-jdk_src_solaris_bin_ergo__i586.c
new file mode 100644
index 00000000000..3360c3abccb
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_src_solaris_bin_ergo__i586.c
@@ -0,0 +1,50 @@
+$NetBSD: patch-jdk_src_solaris_bin_ergo__i586.c,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+GCC compatability.
+
+--- jdk/src/solaris/bin/ergo_i586.c.orig 2013-06-12 00:28:04.421609606 +0000
++++ jdk/src/solaris/bin/ergo_i586.c
+@@ -27,7 +27,7 @@
+
+ static unsigned long physical_processors(void);
+
+-#ifdef __solaris__
++#if defined(__solaris__) && !defined(_GNU_SOURCE)
+
+ /*
+ * A utility method for asking the CPU about itself.
+@@ -76,7 +76,9 @@ get_cpuid(uint32_t arg,
+ asm(" popl %ebx");
+ #endif /* LP64 */
+ }
++#endif /* __solaris__ && !_GNU_SOURCE */
+
++#ifdef __solaris__
+ /* The definition of a server-class machine for solaris-i586/amd64 */
+ jboolean
+ ServerClassMachineImpl(void) {
+@@ -106,7 +108,7 @@ ServerClassMachineImpl(void) {
+
+ #endif /* __solaris__ */
+
+-#if !defined(MACOSX) && (defined(__linux__) || defined(_ALLBSD_SOURCE))
++#if !defined(MACOSX) && (defined(__linux__) || defined(_ALLBSD_SOURCE)) || (defined(__solaris__) && defined(_GNU_SOURCE))
+
+ /*
+ * A utility method for asking the CPU about itself.
+@@ -177,6 +179,7 @@ get_cpuid(uint32_t arg,
+ #define OSNAMEPREFIX "bsd_"
+ #endif
+
++#ifndef __solaris__
+ /* The definition of a server-class machine for linux-i586 */
+ jboolean
+ ServerClassMachineImpl(void) {
+@@ -203,6 +206,7 @@ ServerClassMachineImpl(void) {
+ (result == JNI_TRUE ? "true" : "false"));
+ return result;
+ }
++#endif /* !__solaris__ */
+ #endif /* !MACOSX && (__linux__ || _ALLBSD_SOURCE) */
+
+ /*
diff --git a/lang/openjdk7/patches/patch-jdk_src_solaris_native_java_net_NetworkInterface.c b/lang/openjdk7/patches/patch-jdk_src_solaris_native_java_net_NetworkInterface.c
new file mode 100644
index 00000000000..e8be58fc9e6
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_src_solaris_native_java_net_NetworkInterface.c
@@ -0,0 +1,45 @@
+$NetBSD: patch-jdk_src_solaris_native_java_net_NetworkInterface.c,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Zones support.
+
+--- jdk/src/solaris/native/java/net/NetworkInterface.c.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/src/solaris/native/java/net/NetworkInterface.c
+@@ -43,6 +43,7 @@
+ #include <fcntl.h>
+ #include <stropts.h>
+ #include <sys/sockio.h>
++#include <zone.h>
+ #endif
+
+ #ifdef __linux__
+@@ -1525,7 +1526,8 @@ static short getSubnet(JNIEnv *env, int
+
+
+
+-#define DEV_PREFIX "/dev/"
++#define NET_DEV_PREFIX "/dev/"
++#define ZONE_NET_DEV_PREFIX "/dev/net/"
+
+ /**
+ * Solaris specific DLPI code to get hardware address from a device.
+@@ -1542,11 +1544,18 @@ static int getMacFromDevice(JNIEnv *env,
+ int flags = 0;
+
+ /**
+- * Device is in /dev
++ * Device is in /dev in global zone / standalone
+ * e.g.: /dev/bge0
++ * Device is in /dev/net in a zone
++ * e.g.: /dev/net/net0
+ */
+- strcpy(style1dev, DEV_PREFIX);
++ if (getzoneid()==(zoneid_t)GLOBAL_ZONEID) {
++ strcpy(style1dev, NET_DEV_PREFIX);
++ } else {
++ strcpy(style1dev, ZONE_NET_DEV_PREFIX);
++ }
+ strcat(style1dev, ifname);
++
+ if ((fd = open(style1dev, O_RDWR)) < 0) {
+ /*
+ * Can't open it. We probably are missing the privilege.
diff --git a/lang/openjdk7/patches/patch-jdk_src_solaris_native_sun_awt_X11Color.c b/lang/openjdk7/patches/patch-jdk_src_solaris_native_sun_awt_X11Color.c
new file mode 100644
index 00000000000..e6b99e879aa
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_src_solaris_native_sun_awt_X11Color.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-jdk_src_solaris_native_sun_awt_X11Color.c,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Casting.
+
+--- jdk/src/solaris/native/sun/awt/X11Color.c.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/src/solaris/native/sun/awt/X11Color.c
+@@ -119,7 +119,7 @@ int getVirtCubeSize() {
+ return LOOKUPSIZE;
+ }
+
+- for (i = 0; i < MACHMAPSIZE; i++) {
++ for (i = 0; i < (int)MACHMAPSIZE; i++) {
+ if (strcmp(name.machine, machinemap[i].machine) == 0) {
+ #ifdef DEBUG
+ if (debug_colormap) {
diff --git a/lang/openjdk7/patches/patch-jdk_test_Makefile b/lang/openjdk7/patches/patch-jdk_test_Makefile
new file mode 100644
index 00000000000..7c03b4c7741
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_test_Makefile
@@ -0,0 +1,28 @@
+$NetBSD: patch-jdk_test_Makefile,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Use tools from pkgsrc.
+
+--- jdk/test/Makefile.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/test/Makefile
+@@ -54,6 +54,8 @@ UNAME = uname
+ UNIQ = uniq
+ WC = wc
+ ZIP = zip
++UNZIP = unzip
++WHICH = which
+
+ # Get OS name from uname
+ UNAME_S := $(shell $(UNAME) -s)
+@@ -376,6 +378,12 @@ else
+ JTREG_TEST_OPTIONS = $(JAVA_ARGS:%=-javaoptions:%) $(JAVA_VM_ARGS:%=-vmoption:%)
+ endif
+
++# carry over XAUTHORITY
++JTREG_TEST_OPTIONS += -e:XAUTHORITY
++
++# some tests expect to find zip and unzip on the path
++JTREG_TEST_OPTIONS += -e:PATH=/bin:/usr/bin:$(dir $(shell $(WHICH) $(ZIP))):$(dir $(shell $(WHICH) $(UNZIP)))
++
+ ifdef CONCURRENCY
+ EXTRA_JTREG_OPTIONS += -concurrency:$(CONCURRENCY)
+ endif
diff --git a/lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_4168475_Test4168475.java b/lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_4168475_Test4168475.java
new file mode 100644
index 00000000000..de3a8c688c8
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_4168475_Test4168475.java
@@ -0,0 +1,15 @@
+$NetBSD: patch-jdk_test_java_beans_Introspector_4168475_Test4168475.java,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Test fixes.
+
+--- jdk/test/java/beans/Introspector/4168475/Test4168475.java.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/test/java/beans/Introspector/4168475/Test4168475.java
+@@ -41,6 +41,8 @@ public class Test4168475 {
+ private static final String[] PATH = {"infos"};
+
+ public static void main(String[] args) throws IntrospectionException {
++ // running under jtreg -agentvm: system classloader can't find this class (separate classloader?)
++ Thread.currentThread().setContextClassLoader(Test4168475.class.getClassLoader());
+ Introspector.setBeanInfoSearchPath(PATH);
+ BeanInfo info = Introspector.getBeanInfo(Component.class);
+ PropertyDescriptor[] pds = info.getPropertyDescriptors();
diff --git a/lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_4520754_Test4520754.java b/lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_4520754_Test4520754.java
new file mode 100644
index 00000000000..3da1d4c4c18
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_4520754_Test4520754.java
@@ -0,0 +1,15 @@
+$NetBSD: patch-jdk_test_java_beans_Introspector_4520754_Test4520754.java,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Test fixes.
+
+--- jdk/test/java/beans/Introspector/4520754/Test4520754.java.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/test/java/beans/Introspector/4520754/Test4520754.java
+@@ -56,6 +56,8 @@ public class Test4520754 {
+ };
+
+ public static void main(String[] args) {
++ // running under jtreg -agentvm: system classloader can't find this class (separate classloader?)
++ Thread.currentThread().setContextClassLoader(Test4520754.class.getClassLoader());
+ // ensure that 4168475 does not regress
+ test4168475(Component.class);
+ // AWT classes (com.sun.beans.infos.ComponentBeanInfo)
diff --git a/lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_Test4144543.java b/lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_Test4144543.java
new file mode 100644
index 00000000000..7beb19c5abe
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_test_java_beans_Introspector_Test4144543.java
@@ -0,0 +1,16 @@
+$NetBSD: patch-jdk_test_java_beans_Introspector_Test4144543.java,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Test fixes.
+
+--- jdk/test/java/beans/Introspector/Test4144543.java.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/test/java/beans/Introspector/Test4144543.java
+@@ -34,7 +34,8 @@ import java.beans.PropertyDescriptor;
+
+ public class Test4144543 {
+ public static void main(String[] args) throws Exception {
+- Class type = Beans.instantiate(null, "Test4144543").getClass();
++ // running under jtreg -agentvm: system classloader can't find this class (separate classloader?)
++ Class type = Beans.instantiate(Test4144543.class.getClassLoader(), "Test4144543").getClass();
+
+ // try all the various places that this would break before
+
diff --git a/lang/openjdk7/patches/patch-jdk_test_java_lang_management_OperatingSystemMXBean_GetSystemLoadAverage.java b/lang/openjdk7/patches/patch-jdk_test_java_lang_management_OperatingSystemMXBean_GetSystemLoadAverage.java
new file mode 100644
index 00000000000..9ee700d1191
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_test_java_lang_management_OperatingSystemMXBean_GetSystemLoadAverage.java
@@ -0,0 +1,15 @@
+$NetBSD: patch-jdk_test_java_lang_management_OperatingSystemMXBean_GetSystemLoadAverage.java,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Test fixes.
+
+--- jdk/test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java
+@@ -103,6 +103,8 @@ public class GetSystemLoadAverage {
+ ? output.split(" ")
+ : output.split(",");
+ double expected = Double.parseDouble(lavg[0]);
++ // round to value to two decimals; some OSes report more (SmartOS at least)
++ expected = 0.01D * Math.round(expected / 0.01D);
+ double lowRange = expected * (1 - DELTA);
+ double highRange = expected * (1 + DELTA);
+
diff --git a/lang/openjdk7/patches/patch-jdk_test_sun_security_ec_TestEC.java b/lang/openjdk7/patches/patch-jdk_test_sun_security_ec_TestEC.java
new file mode 100644
index 00000000000..e169c78c2c0
--- /dev/null
+++ b/lang/openjdk7/patches/patch-jdk_test_sun_security_ec_TestEC.java
@@ -0,0 +1,15 @@
+$NetBSD: patch-jdk_test_sun_security_ec_TestEC.java,v 1.1 2013/06/15 09:31:06 jperkin Exp $
+
+Test fixes.
+
+--- jdk/test/sun/security/ec/TestEC.java.orig 2013-02-20 17:07:30.000000000 +0000
++++ jdk/test/sun/security/ec/TestEC.java
+@@ -82,7 +82,7 @@ public class TestEC {
+ // ClientJSSEServerJSSE fails on Solaris 11 when both SunEC and
+ // SunPKCS11-Solaris providers are enabled.
+ // Workaround:
+- // Security.removeProvider("SunPKCS11-Solaris");
++ Security.removeProvider("SunPKCS11-Solaris");
+ new ClientJSSEServerJSSE().main(p);
+
+ long stop = System.currentTimeMillis();