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.
This commit is contained in:
jperkin 2013-06-15 09:31:05 +00:00
parent 8ed4570a83
commit a8cd756c66
89 changed files with 3706 additions and 76 deletions

View file

@ -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"

View file

@ -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

1165
lang/openjdk7/PLIST.SunOS Normal file

File diff suppressed because it is too large Load diff

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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")

View file

@ -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 ";"

View file

@ -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" \

View file

@ -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:

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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;
+};

View file

@ -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;
+};

View file

@ -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;
+};

View file

@ -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.

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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
}
}

View file

@ -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

View file

@ -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
}

View file

@ -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();

View file

@ -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

View file

@ -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:

View file

@ -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
}

View file

@ -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())

View file

@ -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>

View file

@ -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

View file

@ -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

View file

@ -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
+

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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) \

View file

@ -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

View file

@ -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
#

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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) */
/*

View file

@ -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.

View file

@ -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) {

View file

@ -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

View file

@ -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();

View file

@ -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)

View file

@ -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

View file

@ -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);

View file

@ -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();