Index: branches/2016Q1/java/openjdk8/Makefile =================================================================== --- branches/2016Q1/java/openjdk8/Makefile (revision 406063) +++ branches/2016Q1/java/openjdk8/Makefile (revision 406064) @@ -1,450 +1,446 @@ # $FreeBSD$ PORTNAME= openjdk PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//} -PORTREVISION= 1 +PORTREVISION= 3 CATEGORIES= java devel MASTER_SITES= http://download.java.net/openjdk/jdk${JDK_MAJOR_VERSION}/promoted/b${DIST_BUILD_NUMBER}/:jdk \ https://adopt-openjdk.ci.cloudbees.com/job/jtreg/${JTREG_JENKINS_BUILD}/artifact/:jtreg \ LOCAL/jkim:jdk,jtreg PKGNAMESUFFIX?= ${JDK_MAJOR_VERSION} DISTNAME= ${PORTNAME}-${JDK_MAJOR_VERSION}-src-b${DIST_BUILD_NUMBER}-03_mar_2014 DISTFILES= ${DISTNAME}.zip:jdk PATCH_SITES= LOCAL/glewis/openjdk8 PATCHFILES= patch-8u05-b13.xz \ patch-8u11-b13.xz \ patch-8u20-b26.xz \ patch-8u25-b17.xz \ patch-8u31-b13.xz \ patch-8u40-b25.xz \ patch-8u45-b14.xz \ patch-8u51-b16.xz \ patch-8u60-b23.xz \ patch-8u66-b17.xz MAINTAINER= java@FreeBSD.org COMMENT?= Java Development Kit ${JDK_MAJOR_VERSION} LICENSE= GPLv2 BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip \ ${LOCALBASE}/include/cups/cups.h:${PORTSDIR}/print/cups-client \ bash:${PORTSDIR}/shells/bash LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib \ libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig \ libfreetype.so:${PORTSDIR}/print/freetype2 \ libgif.so:${PORTSDIR}/graphics/giflib RUN_DEPENDS= javavm:${PORTSDIR}/java/javavmwrapper \ dejavu>0:${PORTSDIR}/x11-fonts/dejavu USES= compiler:features dos2unix gmake iconv pkgconfig \ shebangfix USE_AUTOTOOLS= autoconf USE_XORG= x11 xext xi xrender xt xtst .if !exists(/usr/bin/unzip) BUILD_DEPENDS+= ${UNZIP_CMD}:${PORTSDIR}/archivers/unzip .endif ONLY_FOR_ARCHS= amd64 armv6 armv6hf i386 WRKSRC= ${WRKDIR}/${PORTNAME} DOS2UNIX_FILES= jdk/src/bsd/doc/man/appletviewer.1 \ jdk/src/bsd/doc/man/extcheck.1 \ jdk/src/bsd/doc/man/idlj.1 \ jdk/src/bsd/doc/man/jar.1 \ jdk/src/bsd/doc/man/jarsigner.1 \ jdk/src/bsd/doc/man/java.1 \ jdk/src/bsd/doc/man/javac.1 \ jdk/src/bsd/doc/man/javadoc.1 \ jdk/src/bsd/doc/man/javah.1 \ jdk/src/bsd/doc/man/javap.1 \ jdk/src/bsd/doc/man/jcmd.1 \ jdk/src/bsd/doc/man/jconsole.1 \ jdk/src/bsd/doc/man/jdb.1 \ jdk/src/bsd/doc/man/jdeps.1 \ jdk/src/bsd/doc/man/jhat.1 \ jdk/src/bsd/doc/man/jinfo.1 \ jdk/src/bsd/doc/man/jjs.1 \ jdk/src/bsd/doc/man/jmap.1 \ jdk/src/bsd/doc/man/jps.1 \ jdk/src/bsd/doc/man/jrunscript.1 \ jdk/src/bsd/doc/man/jsadebugd.1 \ jdk/src/bsd/doc/man/jstack.1 \ jdk/src/bsd/doc/man/jstat.1 \ jdk/src/bsd/doc/man/jstatd.1 \ jdk/src/bsd/doc/man/keytool.1 \ jdk/src/bsd/doc/man/native2ascii.1 \ jdk/src/bsd/doc/man/orbd.1 \ jdk/src/bsd/doc/man/pack200.1 \ jdk/src/bsd/doc/man/policytool.1 \ jdk/src/bsd/doc/man/rmic.1 \ jdk/src/bsd/doc/man/rmid.1 \ jdk/src/bsd/doc/man/rmiregistry.1 \ jdk/src/bsd/doc/man/schemagen.1 \ jdk/src/bsd/doc/man/serialver.1 \ jdk/src/bsd/doc/man/servertool.1 \ jdk/src/bsd/doc/man/tnameserv.1 \ jdk/src/bsd/doc/man/unpack200.1 \ jdk/src/bsd/doc/man/wsgen.1 \ jdk/src/bsd/doc/man/wsimport.1 \ jdk/src/bsd/doc/man/xjc.1 \ jdk/src/linux/doc/man/appletviewer.1 \ jdk/src/linux/doc/man/extcheck.1 \ jdk/src/linux/doc/man/idlj.1 \ jdk/src/linux/doc/man/jar.1 \ jdk/src/linux/doc/man/jarsigner.1 \ jdk/src/linux/doc/man/java.1 \ jdk/src/linux/doc/man/javac.1 \ jdk/src/linux/doc/man/javadoc.1 \ jdk/src/linux/doc/man/javah.1 \ jdk/src/linux/doc/man/javap.1 \ jdk/src/linux/doc/man/jcmd.1 \ jdk/src/linux/doc/man/jconsole.1 \ jdk/src/linux/doc/man/jdb.1 \ jdk/src/linux/doc/man/jdeps.1 \ jdk/src/linux/doc/man/jhat.1 \ jdk/src/linux/doc/man/jinfo.1 \ jdk/src/linux/doc/man/jjs.1 \ jdk/src/linux/doc/man/jmap.1 \ jdk/src/linux/doc/man/jps.1 \ jdk/src/linux/doc/man/jrunscript.1 \ jdk/src/linux/doc/man/jsadebugd.1 \ jdk/src/linux/doc/man/jstack.1 \ jdk/src/linux/doc/man/jstat.1 \ jdk/src/linux/doc/man/jstatd.1 \ jdk/src/linux/doc/man/keytool.1 \ jdk/src/linux/doc/man/native2ascii.1 \ jdk/src/linux/doc/man/orbd.1 \ jdk/src/linux/doc/man/pack200.1 \ jdk/src/linux/doc/man/policytool.1 \ jdk/src/linux/doc/man/rmic.1 \ jdk/src/linux/doc/man/rmid.1 \ jdk/src/linux/doc/man/rmiregistry.1 \ jdk/src/linux/doc/man/schemagen.1 \ jdk/src/linux/doc/man/serialver.1 \ jdk/src/linux/doc/man/servertool.1 \ jdk/src/linux/doc/man/tnameserv.1 \ jdk/src/linux/doc/man/unpack200.1 \ jdk/src/linux/doc/man/wsgen.1 \ jdk/src/linux/doc/man/wsimport.1 \ jdk/src/linux/doc/man/xjc.1 \ jdk/src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties \ jdk/src/solaris/doc/sun/man/man1/appletviewer.1 \ jdk/src/solaris/doc/sun/man/man1/extcheck.1 \ jdk/src/solaris/doc/sun/man/man1/idlj.1 \ jdk/src/solaris/doc/sun/man/man1/jar.1 \ jdk/src/solaris/doc/sun/man/man1/jarsigner.1 \ jdk/src/solaris/doc/sun/man/man1/java.1 \ jdk/src/solaris/doc/sun/man/man1/javac.1 \ jdk/src/solaris/doc/sun/man/man1/javadoc.1 \ jdk/src/solaris/doc/sun/man/man1/javah.1 \ jdk/src/solaris/doc/sun/man/man1/javap.1 \ jdk/src/solaris/doc/sun/man/man1/jcmd.1 \ jdk/src/solaris/doc/sun/man/man1/jconsole.1 \ jdk/src/solaris/doc/sun/man/man1/jdb.1 \ jdk/src/solaris/doc/sun/man/man1/jdeps.1 \ jdk/src/solaris/doc/sun/man/man1/jhat.1 \ jdk/src/solaris/doc/sun/man/man1/jinfo.1 \ jdk/src/solaris/doc/sun/man/man1/jjs.1 \ jdk/src/solaris/doc/sun/man/man1/jmap.1 \ jdk/src/solaris/doc/sun/man/man1/jps.1 \ jdk/src/solaris/doc/sun/man/man1/jrunscript.1 \ jdk/src/solaris/doc/sun/man/man1/jsadebugd.1 \ jdk/src/solaris/doc/sun/man/man1/jstack.1 \ jdk/src/solaris/doc/sun/man/man1/jstat.1 \ jdk/src/solaris/doc/sun/man/man1/jstatd.1 \ jdk/src/solaris/doc/sun/man/man1/keytool.1 \ jdk/src/solaris/doc/sun/man/man1/native2ascii.1 \ jdk/src/solaris/doc/sun/man/man1/orbd.1 \ jdk/src/solaris/doc/sun/man/man1/pack200.1 \ jdk/src/solaris/doc/sun/man/man1/policytool.1 \ jdk/src/solaris/doc/sun/man/man1/rmic.1 \ jdk/src/solaris/doc/sun/man/man1/rmid.1 \ jdk/src/solaris/doc/sun/man/man1/rmiregistry.1 \ jdk/src/solaris/doc/sun/man/man1/schemagen.1 \ jdk/src/solaris/doc/sun/man/man1/serialver.1 \ jdk/src/solaris/doc/sun/man/man1/servertool.1 \ jdk/src/solaris/doc/sun/man/man1/tnameserv.1 \ jdk/src/solaris/doc/sun/man/man1/unpack200.1 \ jdk/src/solaris/doc/sun/man/man1/wsgen.1 \ jdk/src/solaris/doc/sun/man/man1/wsimport.1 \ jdk/src/solaris/doc/sun/man/man1/xjc.1 \ nashorn/test/script/jfx.js \ nashorn/test/script/jfx/kaleidoscope.js \ nashorn/test/script/jfx/spread.js SHEBANG_FILES= configure _MAKE_JOBS= # CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib MAKE_ENV= LANG="C" LC_ALL="C" MAKE_ENV+= CLASSPATH="" JAVA_HOME="" LD_LIBRARY_PATH="" MAKEFLAGS="" MAKE_ENV+= IGNORE_OLD_CONFIG=true MAKE_ENV+= COMPILER_WARNINGS_FATAL="false" JDK_BUILDDIR= ${WRKSRC}/build/${JDK_OSARCH}-normal-${JDK_BUILD_JVM}-${JDK_BUILD_TYPE} .if !defined(BUILD_JRE) JDK_IMAGEDIR= ${JDK_BUILDDIR}/images/j2sdk-image JRE_IMAGEDIR= ${JDK_BUILDDIR}/images/j2sdk-image/jre .else JRE_IMAGEDIR= ${JDK_BUILDDIR}/images/j2re-image .endif JDK_JVMDIR= lib/${ARCH:C/armv6.*/arm/} JDK_OSARCH= bsd-${ARCH:S/amd64/x86_64/:C/armv6.*/arm/:S/i386/x86/} INSTALLDIR= ${PREFIX}/${PKGBASE} NO_CCACHE= yes NOPRECIOUSMAKEVARS= yes JDK_MAJOR_VERSION= 8 JDK_UPDATE_VERSION= 66 JDK_BUILD_NUMBER= 17 DIST_BUILD_NUMBER= 132 JTREG_VERSION= 4.1 JTREG_BUILD_NUMBER= b08 JTREG_JENKINS_BUILD= 77 CONFIGURE_ARGS= --with-boot-jdk=${BOOTSTRAPJDKDIR} CONFIGURE_ARGS+= --with-build-number="b${JDK_BUILD_NUMBER}" .if ${JDK_UPDATE_VERSION} > 0 CONFIGURE_ARGS+= --with-update-version=${JDK_UPDATE_VERSION} .endif CONFIGURE_ARGS+= --disable-ccache \ --disable-freetype-bundling \ --disable-zip-debug-info \ --with-alsa=${LOCALBASE} \ --with-cacerts-file=${FILESDIR}/cacerts \ --with-cups=${LOCALBASE} \ --with-debug-level=${JDK_BUILD_TYPE} \ --with-freetype=${LOCALBASE} \ --with-freetype-include=${LOCALBASE}/include/freetype2 \ --with-giflib=system \ --with-jobs=${MAKE_JOBS_NUMBER} \ --with-jvm-variants=${JDK_BUILD_JVM} \ --with-milestone=fcs \ --with-package-path=${LOCALBASE} \ --with-zlib=system CONFIGURE_SCRIPT= ../../configure CONFIGURE_WRKSRC= ${WRKSRC}/common/autoconf OPTIONS_DEFINE= POLICY TZUPDATE OPTIONS_DEFAULT= POLICY TZUPDATE POLICY_DESC= Install the Unlimited Strength Policy Files TZUPDATE_DESC= Update the time zone data POLICY_CONFIGURE_ENABLE= unlimited-crypto TZUPDATE_RUN_DEPENDS= java-zoneinfo>0:${PORTSDIR}/java/java-zoneinfo JAVAVMS_COMMENT= OpenJDK${JDK_MAJOR_VERSION} .if !defined(BUILD_JRE) OPTIONS_DEFINE+= TEST OPTIONS_DEFAULT+= RELEASE OPTIONS_SINGLE= BUILD OPTIONS_SINGLE_BUILD= DEBUG DEBUGFAST RELEASE BUILD_DESC= Select OpenJDK build type DEBUG_DESC= Build for debugging (without optimizations) DEBUGFAST_DESC= Build for debugging (with optimizations) RELEASE_DESC= Build for release (default) TEST_DESC= Run regression tests DEBUG_VARS= JDK_BUILD_TYPE=slowdebug DEBUGFAST_VARS= JDK_BUILD_TYPE=fastdebug RELEASE_BUILD_DEPENDS_OFF= ${LOCALBASE}/bin/objcopy:${PORTSDIR}/devel/binutils RELEASE_CONFIGURE_ON= --disable-debug-symbols RELEASE_VARS= JDK_BUILD_TYPE=release RELEASE_VARS_OFF= OBJCOPY=${LOCALBASE}/bin/objcopy TEST_ALL_TARGET= test TEST_ALL_TARGET_OFF= images TEST_CONFIGURE_ON= --with-jtreg=${WRKDIR}/jtreg TEST_DISTFILES= jtreg${JTREG_VERSION}-${JTREG_BUILD_NUMBER}${EXTRACT_SUFX}:jtreg .else ALL_TARGET= images CONFIGURE_ARGS+= --disable-debug-symbols JAVAVMS_COMMENT+= JRE JDK_BUILD_TYPE= release .endif AUTOCONF_ARGS= -I . -o generated-configure.sh generated-configure.ac # XXX configure script rejects CC/CPP/CXX with absolute paths. .for t in CC CPP CXX .if defined(${t}) && ${${t}:M/*} BUILD_${t}= ${${t}:C|.*/||g} CONFIGURE_ENV+= ${t}="${BUILD_${t}}" TOOLS_DIR+= ${${t}:S|/${BUILD_${t}}$||} .endif .endfor .if defined(TOOLS_DIR) CONFIGURE_ARGS+= --with-tools-dir="${TOOLS_DIR:u:S/ /:/g}" .endif .include .if ${ARCH:Marmv6*} || ${ARCH} == "i386" # XXX We must limit max heap size for 32-bit targets. CONFIGURE_ARGS+= --with-boot-jdk-jvmargs="-Xmx768m" MAKE_ENV+= JAVADOC_CMD_MEM="-Xmx768m" .endif .if ${ARCH} == "armv6" # From NetBSD http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/lang/openjdk7/hacks.mk # Workaround incorrect constant folding of subnormals in javac when the FPU # does not handle subnormal arithmetic, like on ARM in Flush-to-zero mode. # These workarounds avoid underflow conditions during the bootstrap so the # JDK can correctly build itself. Compiling or running programs other than # openjdk itself on such hardware may still cause unexpected behaviour. EXTRA_PATCHES= ${PATCHDIR}/armv6.patch .endif .if ${ARCH} == "amd64" || ${ARCH} == "i386" JDK_BUILD_JVM= server .else JDK_BUILD_JVM= zero LIB_DEPENDS+= libffi.so:${PORTSDIR}/devel/libffi .endif BOOTSTRAP_JDKS= ${LOCALBASE}/openjdk8 \ ${LOCALBASE}/openjdk7 .if ${ARCH:Marmv6*} BOOTSTRAP_JDKS+= ${LOCALBASE}/bootstrap-openjdk .endif # do we have valid native jdk installed? .for BJDK in ${BOOTSTRAP_JDKS} . if !defined(BOOTSTRAPJDKDIR) && exists(${BJDK}/bin/javac) BOOTSTRAPJDKDIR= ${BJDK} . endif .endfor # if no valid jdk found, set dependency .if !defined(BOOTSTRAPJDKDIR) . if ${ARCH:Marmv6*} # bootstrap-openjdk is based on openjdk7 and can compile openjdk8 BOOTSTRAPJDKDIR?= ${LOCALBASE}/bootstrap-openjdk BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/bootstrap-openjdk . else BOOTSTRAPJDKDIR?= ${LOCALBASE}/openjdk7 BUILD_DEPENDS+= ${BOOTSTRAPJDKDIR}/bin/javac:${PORTSDIR}/java/openjdk7 . endif -.endif - -.if ${BOOTSTRAPJDKDIR} == ${LOCALBASE}/openjdk8 -CONFIGURE_ARGS+= --enable-sjavac .endif # PR193009: work around the rtld bug .if ${OSVERSION} < 1001511 CONFIGURE_ARGS+= --enable-static-libjli .endif .if ${COMPILER_TYPE} == clang .if ${COMPILER_VERSION} >= 35 MAKE_ENV+= COMPILER_WARNINGS_FATAL=false .endif MAKE_ENV+= USE_CLANG=true .if ${COMPILER_FEATURES:Mlibc++} CONFIGURE_ENV+= LIBCXX="-lc++" .endif .endif # GCC is broken with PCH: https://lists.freebsd.org/pipermail/svn-src-all/2015-March/101722.html .if ${COMPILER_TYPE} == gcc MAKE_ARGS+= USE_PRECOMPILED_HEADER=0 .endif .if empty(ICONV_LIB) ICONV_CPPFLAGS= -DLIBICONV_PLUG .else ICONV_CPPFLAGS= -I${LOCALBASE}/include ICONV_LDFLAGS= -L${LOCALBASE}/lib ${ICONV_LIB} .endif post-extract: @${CP} ${FILESDIR}/jdk-test-javax-imageio-plugins-jpeg-truncated.jpg \ ${WRKSRC}/jdk/test/javax/imageio/plugins/jpeg/truncated.jpg @${CP} ${FILESDIR}/nashorn-test-script-jfx-flyingimage-golden-bsd.png \ ${WRKSRC}/nashorn/test/script/jfx/flyingimage/golden/bsd.png @${CP} ${FILESDIR}/nashorn-test-script-jfx-kaleidoscope-golden-bsd.png \ ${WRKSRC}/nashorn/test/script/jfx/kaleidoscope/golden/bsd.png @${CP} ${FILESDIR}/nashorn-test-script-jfx-spread-golden-bsd.png \ ${WRKSRC}/nashorn/test/script/jfx/spread/golden/bsd.png post-extract-TEST-on: @${LN} -sf ${WRKDIR}/jtreg/linux/bin ${WRKDIR}/jtreg/ post-patch: @${FIND} ${WRKSRC} -name '*.orig' -delete @${RMDIR} ${WRKSRC}/jdk/src/macosx/classes/java/net \ ${WRKSRC}/jdk/src/macosx/native/sun/nio/ch \ ${WRKSRC}/jdk/src/macosx/native/sun/nio @${SED} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ ${FILESDIR}/bsd.fontconfig.properties.in > \ ${WRKSRC}/jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ -e 's|%%OBJCOPY%%|${OBJCOPY}|' \ ${WRKSRC}/configure \ ${WRKSRC}/common/autoconf/toolchain.m4 \ ${WRKSRC}/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java \ ${WRKSRC}/jdk/src/share/classes/sun/print/PSPrinterJob.java \ ${WRKSRC}/jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java @${REINPLACE_CMD} -e 's|/usr/local/share/java/classes|${LOCALBASE}/share/java/classes|' \ ${WRKSRC}/jdk/src/bsd/doc/man/*.1 @${REINPLACE_CMD} -e 's|%%ICONV_CPPFLAGS%%|${ICONV_CPPFLAGS}|' \ -e 's|%%ICONV_LDFLAGS%%|${ICONV_LDFLAGS}|' \ ${WRKSRC}/jdk/make/lib/Awt2dLibraries.gmk \ ${WRKSRC}/jdk/make/lib/CoreLibraries.gmk \ ${WRKSRC}/jdk/make/lib/ServiceabilityLibraries.gmk .if defined(BUILD_JRE) @${REINPLACE_CMD} -e 's|-f Images.gmk$$|& jre-image|' \ -e 's|-f Images.gmk overlay-images$$|-f Images.gmk jre-overlay-image|' \ ${WRKSRC}/jdk/make/BuildJdk.gmk .endif @${CHMOD} 755 ${WRKSRC}/configure pre-configure: @cd ${CONFIGURE_WRKSRC} && \ ${SED} -e "s|@DATE_WHEN_GENERATED@|$$(date +%s)|" configure.ac > \ generated-configure.ac post-build: .if !defined(BUILD_JRE) @${BOOTSTRAPJDKDIR}/bin/jar cfe \ ${JRE_IMAGEDIR}/lib/compilefontconfig.jar \ build.tools.compilefontconfig.CompileFontConfig \ -C ${JDK_BUILDDIR}/jdk/btclasses build/tools/compilefontconfig @${BOOTSTRAPJDKDIR}/bin/jar cfe \ ${JRE_IMAGEDIR}/lib/javazic.jar \ build.tools.tzdb.TzdbZoneRulesCompiler \ -C ${JDK_BUILDDIR}/jdk/btclasses build/tools/tzdb .endif post-build-TZUPDATE-on: @# Update time zones @${RM} -rf ${JRE_IMAGEDIR}/lib/zi @${LN} -sf ${LOCALBASE}/share/java/zi ${JRE_IMAGEDIR}/lib do-install: @${MKDIR} ${STAGEDIR}${INSTALLDIR} .if !defined(BUILD_JRE) @cd ${JDK_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} @cd ${STAGEDIR}${INSTALLDIR} && \ ${FIND} bin jre/bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ ${CHMOD} ${BINMODE} jre/${JDK_JVMDIR}/jexec \ jre/${JDK_JVMDIR}/jspawnhelper ${JDK_JVMDIR}/jexec @${ECHO} "@dir ${INSTALLDIR}/jre/lib/applet" >> ${TMPPLIST} .else @cd ${JRE_IMAGEDIR} && ${COPYTREE_SHARE} . ${STAGEDIR}${INSTALLDIR} @cd ${STAGEDIR}${INSTALLDIR} && \ ${FIND} bin -type f -exec ${CHMOD} ${BINMODE} {} \; && \ ${CHMOD} ${BINMODE} ${JDK_JVMDIR}/jexec ${JDK_JVMDIR}/jspawnhelper @${ECHO} "@dir ${INSTALLDIR}/lib/applet" >> ${TMPPLIST} .endif @${ECHO} "@unexec ${LOCALBASE}/bin/unregistervm ${INSTALLDIR}/bin/java" >> ${TMPPLIST} @${FIND} ${STAGEDIR}${INSTALLDIR} -not -type d | ${SORT} | \ ${SED} -e 's|^${STAGEDIR}${PREFIX}/||' >> ${TMPPLIST} @${ECHO} "@exec ${LOCALBASE}/bin/registervm '${INSTALLDIR}/bin/java # ${JAVAVMS_COMMENT}'" >> ${TMPPLIST} .include Index: branches/2016Q1/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.cpp =================================================================== --- branches/2016Q1/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.cpp (revision 406063) +++ branches/2016Q1/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.cpp (revision 406064) @@ -1,79 +1,121 @@ ---- hotspot/src/os/bsd/vm/os_bsd.cpp.orig 2015-12-22 22:54:16 UTC +--- hotspot/src/os/bsd/vm/os_bsd.cpp.orig 2016-01-05 21:15:40 UTC +++ hotspot/src/os/bsd/vm/os_bsd.cpp @@ -151,6 +151,7 @@ mach_timebase_info_data_t os::Bsd::_time volatile uint64_t os::Bsd::_max_abstime = 0; #else int (*os::Bsd::_clock_gettime)(clockid_t, struct timespec *) = NULL; +int (*os::Bsd::_getcpuclockid)(pthread_t, clockid_t *) = NULL; #endif pthread_t os::Bsd::_main_thread; int os::Bsd::_page_size = -1; -@@ -1058,6 +1059,7 @@ void os::Bsd::clock_init() { +@@ -1028,6 +1029,13 @@ bool os::enable_vtime() { return false + bool os::vtime_enabled() { return false; } + + double os::elapsedVTime() { ++#ifdef RUSAGE_THREAD ++ struct rusage usage; ++ int retval = getrusage(RUSAGE_THREAD, &usage); ++ if (retval == 0) { ++ return (double) (usage.ru_utime.tv_sec + usage.ru_stime.tv_sec) + (double) (usage.ru_utime.tv_usec + usage.ru_stime.tv_usec) / (1000 * 1000); ++ } ++#endif + // better than nothing, but not much + return elapsedTime(); + } +@@ -1058,6 +1066,7 @@ void os::Bsd::clock_init() { // yes, monotonic clock is supported _clock_gettime = ::clock_gettime; } + _getcpuclockid = (int (*)(pthread_t, clockid_t *))dlsym(RTLD_DEFAULT, "pthread_getcpuclockid"); } #endif -@@ -4248,6 +4250,8 @@ jlong os::current_thread_cpu_time() { +@@ -4248,8 +4257,9 @@ jlong os::current_thread_cpu_time() { #ifdef __APPLE__ return os::thread_cpu_time(Thread::current(), true /* user + sys */); #else +- Unimplemented(); +- return 0; + if (Bsd::_getcpuclockid != NULL) + return os::thread_cpu_time(Thread::current(), true /* user + sys */); - Unimplemented(); - return 0; ++ return -1; #endif -@@ -4257,6 +4261,8 @@ jlong os::thread_cpu_time(Thread* thread + } + +@@ -4257,8 +4267,9 @@ jlong os::thread_cpu_time(Thread* thread #ifdef __APPLE__ return os::thread_cpu_time(thread, true /* user + sys */); #else +- Unimplemented(); +- return 0; + if (Bsd::_getcpuclockid != NULL) + return os::thread_cpu_time(thread, true /* user + sys */); - Unimplemented(); - return 0; ++ return -1; #endif -@@ -4266,6 +4272,8 @@ jlong os::current_thread_cpu_time(bool u + } + +@@ -4266,8 +4277,9 @@ jlong os::current_thread_cpu_time(bool u #ifdef __APPLE__ return os::thread_cpu_time(Thread::current(), user_sys_cpu_time); #else +- Unimplemented(); +- return 0; + if (Bsd::_getcpuclockid != NULL) + return os::thread_cpu_time(Thread::current(), user_sys_cpu_time); - Unimplemented(); - return 0; ++ return -1; #endif -@@ -4292,6 +4300,24 @@ jlong os::thread_cpu_time(Thread *thread + } + +@@ -4292,8 +4304,41 @@ jlong os::thread_cpu_time(Thread *thread return ((jlong)tinfo.user_time.seconds * 1000000000) + ((jlong)tinfo.user_time.microseconds * (jlong)1000); } #else +- Unimplemented(); +- return 0; + if (user_sys_cpu_time && Bsd::_getcpuclockid != NULL) { + struct timespec tp; + clockid_t clockid; + int ret; + + /* + * XXX This is essentially a copy of the Linux implementation, + * but with fewer indirections. + */ + ret = Bsd::_getcpuclockid(thread->osthread()->pthread_id(), &clockid); + if (ret != 0) + return -1; + /* NB: _clock_gettime only needs to be valid for CLOCK_MONOTONIC. */ + ret = ::clock_gettime(clockid, &tp); + if (ret != 0) + return -1; + return (tp.tv_sec * NANOSECS_PER_SEC) + tp.tv_nsec; + } - Unimplemented(); - return 0; ++#ifdef RUSAGE_THREAD ++ if (thread == Thread::current()) { ++ struct rusage usage; ++ jlong nanos; ++ ++ if (getrusage(RUSAGE_THREAD, &usage) != 0) ++ return -1; ++ nanos = (jlong)usage.ru_utime.tv_sec * NANOSECS_PER_SEC; ++ nanos += (jlong)usage.ru_utime.tv_usec * 1000; ++ if (user_sys_cpu_time) { ++ nanos += (jlong)usage.ru_stime.tv_sec * NANOSECS_PER_SEC; ++ nanos += (jlong)usage.ru_stime.tv_usec * 1000; ++ } ++ return nanos; ++ } ++#endif ++ return -1; #endif -@@ -4316,7 +4342,7 @@ bool os::is_thread_cpu_time_supported() + } + +@@ -4316,7 +4361,7 @@ bool os::is_thread_cpu_time_supported() #ifdef __APPLE__ return true; #else - return false; + return (Bsd::_getcpuclockid != NULL); #endif } Index: branches/2016Q1/java/openjdk8/files/patch-jdk-src-solaris-native-sun-management-BsdOperatingSystem.c =================================================================== --- branches/2016Q1/java/openjdk8/files/patch-jdk-src-solaris-native-sun-management-BsdOperatingSystem.c (nonexistent) +++ branches/2016Q1/java/openjdk8/files/patch-jdk-src-solaris-native-sun-management-BsdOperatingSystem.c (revision 406064) @@ -0,0 +1,45 @@ +--- /dev/null 2016-01-01 15:03:12.000000000 -0800 ++++ jdk/src/solaris/native/sun/management/BsdOperatingSystem.c 2016-01-01 15:01:40.593188000 -0800 +@@ -0,0 +1,42 @@ ++/* ++ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. Oracle designates this ++ * particular file as subject to the "Classpath" exception as provided ++ * by Oracle in the LICENSE file that accompanied this code. ++ * ++ * This code is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA ++ * or visit www.oracle.com if you need additional information or have any ++ * questions. ++ */ ++ ++#include ++#include "jvm.h" ++#include "sun_management_OperatingSystemImpl.h" ++ ++JNIEXPORT jdouble JNICALL ++Java_sun_management_OperatingSystemImpl_getSystemCpuLoad ++(JNIEnv *env, jobject dummy) ++{ ++ return (jdouble) -1; ++} ++ ++JNIEXPORT jdouble JNICALL ++Java_sun_management_OperatingSystemImpl_getProcessCpuLoad ++(JNIEnv *env, jobject dummy) ++{ ++ return (jdouble) -1; ++} Property changes on: branches/2016Q1/java/openjdk8/files/patch-jdk-src-solaris-native-sun-management-BsdOperatingSystem.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2016Q1 =================================================================== --- branches/2016Q1 (revision 406063) +++ branches/2016Q1 (revision 406064) Property changes on: branches/2016Q1 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r405058,405320