* Update to 8u212.
* Change master site to Github * Remove patches and Makefile fixes that have been upstreamed to Github
This commit is contained in:
@@ -1,49 +1,20 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= openjdk
|
||||
PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//}
|
||||
PORTVERSION= ${JDK_MAJOR_VERSION}.${JDK_UPDATE_VERSION}.${JDK_BUILD_NUMBER:S/^0//}.${BSD_JDK_VERSION}
|
||||
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
|
||||
MASTER_SITES= https://github.com/battleblow/openjdk-jdk8u/archive/:jdk \
|
||||
LOCAL/jkim: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-1.xz \
|
||||
patch-8u72-b15.xz \
|
||||
patch-8u74-b02.xz \
|
||||
patch-8u77-b03.xz \
|
||||
patch-8u92-b14.xz \
|
||||
patch-8u102-b14.xz \
|
||||
patch-8u112-b16.xz \
|
||||
patch-8u121-b13.xz \
|
||||
patch-8u131-b11.xz \
|
||||
patch-8u144-b01.xz \
|
||||
patch-8u152-b16.xz \
|
||||
patch-8u162-b12.xz \
|
||||
patch-8u172-b11.xz \
|
||||
patch-8u181-b13.xz \
|
||||
patch-8u192-b26.xz \
|
||||
patch-8u202-b08.xz
|
||||
DISTNAME= jdk${JDK_MAJOR_VERSION}u${JDK_UPDATE_VERSION}-b${JDK_BUILD_NUMBER}.${BSD_JDK_VERSION}
|
||||
DISTFILES= ${DISTNAME}.tar.gz:jdk
|
||||
|
||||
MAINTAINER= java@FreeBSD.org
|
||||
COMMENT?= Java Development Kit ${JDK_MAJOR_VERSION}
|
||||
|
||||
LICENSE= GPLv2
|
||||
|
||||
BUILD_DEPENDS= zip:archivers/zip \
|
||||
autoconf>0:devel/autoconf \
|
||||
BUILD_DEPENDS= autoconf>0:devel/autoconf \
|
||||
${LOCALBASE}/include/cups/cups.h:print/cups \
|
||||
bash:shells/bash
|
||||
LIB_DEPENDS= libfreetype.so:print/freetype2 \
|
||||
@@ -51,140 +22,11 @@ LIB_DEPENDS= libfreetype.so:print/freetype2 \
|
||||
RUN_DEPENDS= javavm:java/javavmwrapper \
|
||||
dejavu>0:x11-fonts/dejavu
|
||||
|
||||
USES= compiler:features dos2unix gmake iconv pkgconfig \
|
||||
shebangfix
|
||||
|
||||
.if !exists(/usr/bin/unzip)
|
||||
BUILD_DEPENDS+= ${UNZIP_CMD}:archivers/unzip
|
||||
.endif
|
||||
USES= compiler:features gmake iconv pkgconfig shebangfix
|
||||
|
||||
ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 powerpc powerpc64
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}
|
||||
WRKSRC= ${WRKDIR}/${PORTNAME}-jdk${JDK_MAJOR_VERSION}u-${DISTNAME}
|
||||
|
||||
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= #
|
||||
@@ -208,12 +50,11 @@ INSTALLDIR= ${PREFIX}/${PKGBASE}
|
||||
NOPRECIOUSMAKEVARS= yes
|
||||
|
||||
JDK_MAJOR_VERSION= 8
|
||||
JDK_UPDATE_VERSION= 202
|
||||
JDK_BUILD_NUMBER= 08
|
||||
DIST_BUILD_NUMBER= 132
|
||||
JDK_UPDATE_VERSION= 212
|
||||
JDK_BUILD_NUMBER= 04
|
||||
BSD_JDK_VERSION= 1
|
||||
JTREG_VERSION= 4.1
|
||||
JTREG_BUILD_NUMBER= b08
|
||||
JTREG_JENKINS_BUILD= 77
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --with-boot-jdk=${BOOTSTRAPJDKDIR}
|
||||
@@ -378,16 +219,6 @@ 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/
|
||||
|
||||
@@ -396,9 +227,6 @@ do-patch-FONTCONFIG-on:
|
||||
|
||||
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
|
||||
|
||||
@@ -1,55 +1,5 @@
|
||||
TIMESTAMP = 1549756797
|
||||
SHA256 (openjdk-8-src-b132-03_mar_2014.zip) = ba651f9aa68fdc823b2ef55510710a013ab9f78fff291d5dc1c4d166f3e1e589
|
||||
SIZE (openjdk-8-src-b132-03_mar_2014.zip) = 124099402
|
||||
TIMESTAMP = 1555604894
|
||||
SHA256 (jdk8u212-b04.1.tar.gz) = b69b2601bd1ddb68700df801b0ad5c8351ca8c937573130603910614e7d478d6
|
||||
SIZE (jdk8u212-b04.1.tar.gz) = 85191465
|
||||
SHA256 (jtreg4.1-b08.tar.gz) = a9fbfac903313c12687e60978c4688c20189cdf873560125917d6ad53d55b30c
|
||||
SIZE (jtreg4.1-b08.tar.gz) = 6834252
|
||||
SHA256 (patch-8u05-b13.xz) = 0fd6dfa17769a92d94a710e330d411fcbd49a8142d4cb8826b96b42d3c007a63
|
||||
SIZE (patch-8u05-b13.xz) = 88636
|
||||
SHA256 (patch-8u11-b13.xz) = 68ead09e1841fc43a4fec2c386acc70e3edab99e116923befa0d83960c4a1f85
|
||||
SIZE (patch-8u11-b13.xz) = 48852
|
||||
SHA256 (patch-8u20-b26.xz) = 23c704ed10f0e081e956755e22049b3ef7897b3bc5a7a6450a4d1856351f55a8
|
||||
SIZE (patch-8u20-b26.xz) = 1898392
|
||||
SHA256 (patch-8u25-b17.xz) = beb9ef5ca12660da57f5a8409de4576aef4a55dd9de7bdc14a3d64f706cee6e8
|
||||
SIZE (patch-8u25-b17.xz) = 45968
|
||||
SHA256 (patch-8u31-b13.xz) = c77ca4137a95e45a377c31f2c7a2d0280b64f5d411089cda7380c04c7a70685a
|
||||
SIZE (patch-8u31-b13.xz) = 204032
|
||||
SHA256 (patch-8u40-b25.xz) = 178fd0737235ebef61e39cc06e6d1fdd5079b727b0d23f9326cd39b97036c0d1
|
||||
SIZE (patch-8u40-b25.xz) = 1662812
|
||||
SHA256 (patch-8u45-b14.xz) = 4a2e7c5e3275db6a7aebe15c7dcc9abe9125b25e490c015367ca8ebcf8c65bac
|
||||
SIZE (patch-8u45-b14.xz) = 285564
|
||||
SHA256 (patch-8u51-b16.xz) = 146e8ffa75911a2bc53099ea07625db259f88cbac2e678f965f55c483a01050f
|
||||
SIZE (patch-8u51-b16.xz) = 71144
|
||||
SHA256 (patch-8u60-b23.xz) = 8ebe80e8add9e61dcb43e9be756ccc6d566a39748e7726f265df73af2d082798
|
||||
SIZE (patch-8u60-b23.xz) = 1043720
|
||||
SHA256 (patch-8u66-b17-1.xz) = 8d11cf62d9b70857d1008dea0cdcf9d5b4ba30320696cb2568a8bc13f202bb2e
|
||||
SIZE (patch-8u66-b17-1.xz) = 351328
|
||||
SHA256 (patch-8u72-b15.xz) = 42f774b72f3dbdbfadc63d0b8fb7d94c51c3062d80aedec86f59d295823136d1
|
||||
SIZE (patch-8u72-b15.xz) = 282984
|
||||
SHA256 (patch-8u74-b02.xz) = c21a08d00d8417369837fe82d68bb4f30bcf8c1c93aef85581761e328c58fccd
|
||||
SIZE (patch-8u74-b02.xz) = 2056
|
||||
SHA256 (patch-8u77-b03.xz) = d6469852d556ff9e379852e5a64cc104faf0545804c7f18f65b9840a8cb3a1c1
|
||||
SIZE (patch-8u77-b03.xz) = 4404
|
||||
SHA256 (patch-8u92-b14.xz) = c3c8e607048c61c8b425849c6bb73add59ba9887e4a9d4f6147ab51ad11c8d17
|
||||
SIZE (patch-8u92-b14.xz) = 172836
|
||||
SHA256 (patch-8u102-b14.xz) = 02ae897c1bfbb137339fe00f0672af268b94beee88f44c818a6060dc207d72c3
|
||||
SIZE (patch-8u102-b14.xz) = 411024
|
||||
SHA256 (patch-8u112-b16.xz) = adbca9b317d599a3ee2e8ac6efb47b0576bdb1ebf0a8b9a0d0d7742db499b921
|
||||
SIZE (patch-8u112-b16.xz) = 217492
|
||||
SHA256 (patch-8u121-b13.xz) = ef48cad21bb0ccadb3968147ab4d4d0b9ae024bf42a0fccf5714584f43df9ed4
|
||||
SIZE (patch-8u121-b13.xz) = 135520
|
||||
SHA256 (patch-8u131-b11.xz) = c0953d79f7e1b02ed75e6757ff170a144527af9b44f44cb36f2ddb484437d4d6
|
||||
SIZE (patch-8u131-b11.xz) = 88068
|
||||
SHA256 (patch-8u144-b01.xz) = 4b4b73a345bc69085b712213ff55831e739cf43c9d0b87e77da91283e7c3520f
|
||||
SIZE (patch-8u144-b01.xz) = 239460
|
||||
SHA256 (patch-8u152-b16.xz) = 51c57b8d60b8f71758fe03c45c70ab60d0423bf4699e71b21ba4148f80497852
|
||||
SIZE (patch-8u152-b16.xz) = 454236
|
||||
SHA256 (patch-8u162-b12.xz) = 9f083cde406ead14e38f5423a6dcc0f0b0a3f7ef69fdc4c83a32b8fea4c3ddcb
|
||||
SIZE (patch-8u162-b12.xz) = 337248
|
||||
SHA256 (patch-8u172-b11.xz) = e338a1dc63cc08f9227d685e350e60609e43612f18773213b882d78c7c559934
|
||||
SIZE (patch-8u172-b11.xz) = 146716
|
||||
SHA256 (patch-8u181-b13.xz) = 4cd0f5a04b72ad6c4ef73807d6a42e141394f5c38cee8ce11c0159a080073839
|
||||
SIZE (patch-8u181-b13.xz) = 69096
|
||||
SHA256 (patch-8u192-b26.xz) = 5bfa782ec2af8ddc6aed3e8de81cc37c7f375ebad650341d1ce74956c82a411e
|
||||
SIZE (patch-8u192-b26.xz) = 284164
|
||||
SHA256 (patch-8u202-b08.xz) = 16195793d00b1fbe18e4d3a4cab2db1e5a28722e43d3466d03283ab01d9524d0
|
||||
SIZE (patch-8u202-b08.xz) = 202660
|
||||
|
||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 67 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 198 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 195 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,11 +0,0 @@
|
||||
--- common/autoconf/build-performance.m4.orig
|
||||
+++ common/autoconf/build-performance.m4
|
||||
@@ -213,7 +213,7 @@ AC_DEFUN([BPERF_SETUP_CCACHE_USAGE],
|
||||
# precompiled headers.
|
||||
AC_MSG_CHECKING([if ccache supports precompiled headers])
|
||||
HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | awk '{ split(@S|@3, a, "."); if (a@<:@1@:>@ >= 3 && (a@<:@2@:>@ > 1 || (a@<:@2@:>@ == 1 && a@<:@3@:>@ >= 4))) print "yes"; else print "no"; }') 2> /dev/null`
|
||||
- if test "x$HAS_GOOD_CCACHE" = xyes; then
|
||||
+ if test "x$HAS_GOOD_CCACHE" != xyes; then
|
||||
AC_MSG_RESULT([no, disabling ccache])
|
||||
CCACHE=
|
||||
else
|
||||
@@ -1,11 +0,0 @@
|
||||
--- common/autoconf/generated-configure.sh.orig
|
||||
+++ common/autoconf/generated-configure.sh
|
||||
@@ -36760,7 +36760,7 @@ fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ccache supports precompiled headers" >&5
|
||||
$as_echo_n "checking if ccache supports precompiled headers... " >&6; }
|
||||
HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | awk '{ split($3, a, "."); if (a[1] >= 3 && (a[2] > 1 || (a[2] == 1 && a[3] >= 4))) print "yes"; else print "no"; }') 2> /dev/null`
|
||||
- if test "x$HAS_GOOD_CCACHE" = xyes; then
|
||||
+ if test "x$HAS_GOOD_CCACHE" != xyes; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccache" >&5
|
||||
$as_echo "no, disabling ccache" >&6; }
|
||||
CCACHE=
|
||||
@@ -1,11 +0,0 @@
|
||||
--- ./hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThread.java.orig 2016-05-14 19:57:37.394543000 +0000
|
||||
+++ ./hotspot/agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThread.java 2016-05-14 20:47:09.600014000 +0000
|
||||
@@ -61,7 +62,7 @@
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
- return Integer.toString(thread_id);
|
||||
+ return Integer.toString(thread_id) + "/" + Long.toString(unique_thread_id);
|
||||
}
|
||||
|
||||
public ThreadContext getContext() throws IllegalThreadStateException {
|
||||
@@ -1,36 +0,0 @@
|
||||
--- hotspot/src/os/bsd/vm/os_bsd.cpp.orig 2017-09-06 22:12:44 UTC
|
||||
+++ hotspot/src/os/bsd/vm/os_bsd.cpp
|
||||
@@ -189,7 +189,9 @@ julong os::Bsd::available_memory() {
|
||||
#ifdef __FreeBSD__
|
||||
static const char *vm_stats[] = {
|
||||
"vm.stats.vm.v_free_count",
|
||||
+#if __FreeBSD_version < 1200016
|
||||
"vm.stats.vm.v_cache_count",
|
||||
+#endif
|
||||
"vm.stats.vm.v_inactive_count"
|
||||
};
|
||||
size_t size;
|
||||
@@ -775,6 +777,11 @@ static void *java_start(Thread *thread)
|
||||
guarantee(unique_thread_id != 0, "unique thread id was not found");
|
||||
osthread->set_unique_thread_id(unique_thread_id);
|
||||
#endif
|
||||
+#ifdef __FreeBSD__
|
||||
+ uint64_t unique_thread_id = os::Bsd::gettid();
|
||||
+ guarantee(unique_thread_id != 0, "unique thread id was not found");
|
||||
+ osthread->set_unique_thread_id(unique_thread_id);
|
||||
+#endif
|
||||
// initialize signal mask for this thread
|
||||
os::Bsd::hotspot_sigmask(thread);
|
||||
|
||||
@@ -938,6 +945,11 @@ bool os::create_attached_thread(JavaThre
|
||||
guarantee(unique_thread_id != 0, "just checking");
|
||||
osthread->set_unique_thread_id(unique_thread_id);
|
||||
#endif
|
||||
+#ifdef __FreeBSD__
|
||||
+ uint64_t unique_thread_id = os::Bsd::gettid();
|
||||
+ guarantee(unique_thread_id != 0, "unique thread id was not found");
|
||||
+ osthread->set_unique_thread_id(unique_thread_id);
|
||||
+#endif
|
||||
osthread->set_pthread_id(::pthread_self());
|
||||
|
||||
// initialize floating point control register
|
||||
@@ -1,12 +0,0 @@
|
||||
--- hotspot/src/cpu/zero/vm/methodHandles_zero.cpp.orig
|
||||
+++ hotspot/src/cpu/zero/vm/methodHandles_zero.cpp
|
||||
@@ -180,3 +180,9 @@ address MethodHandles::generate_method_handle_interpre
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
+
|
||||
+#ifndef PRODUCT
|
||||
+void MethodHandles::trace_method_handle(MacroAssembler* _masm, const char* adaptername) {
|
||||
+ // This is just a stub.
|
||||
+}
|
||||
+#endif //PRODUCT
|
||||
@@ -1,12 +0,0 @@
|
||||
--- hotspot/make/bsd/makefiles/gcc.make.orig
|
||||
+++ hotspot/make/bsd/makefiles/gcc.make
|
||||
@@ -200,6 +200,9 @@ ifeq ($(USE_CLANG),)
|
||||
CFLAGS += -fvisibility=hidden
|
||||
endif
|
||||
else
|
||||
+ ifneq ($(OS_VENDOR), Darwin)
|
||||
+ CFLAGS += -pthread
|
||||
+ endif
|
||||
CFLAGS += -fvisibility=hidden
|
||||
endif
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
--- hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp.orig
|
||||
+++ hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp
|
||||
@@ -38,8 +38,13 @@
|
||||
#ifdef TARGET_OS_FAMILY_linux
|
||||
# include "os_linux.inline.hpp"
|
||||
#endif
|
||||
-
|
||||
+#ifdef TARGET_OS_FAMILY_bsd
|
||||
+# include "os_bsd.inline.hpp"
|
||||
+#endif
|
||||
+
|
||||
+#ifndef TARGET_OS_FAMILY_bsd
|
||||
# include <sys/sysinfo.h>
|
||||
+#endif
|
||||
|
||||
int VM_Version::_features = VM_Version::unknown_m;
|
||||
int VM_Version::_measured_cache_line_size = 128; // default value
|
||||
@@ -1,46 +0,0 @@
|
||||
--- hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.inline.hpp.orig 2015-06-03 16:41:00 UTC
|
||||
+++ hotspot/src/os_cpu/bsd_zero/vm/atomic_bsd_zero.inline.hpp
|
||||
@@ -112,8 +112,16 @@ static inline int m68k_lock_test_and_set
|
||||
*
|
||||
*/
|
||||
|
||||
+#if defined(__FreeBSD__)
|
||||
+#include <machine/atomic.h>
|
||||
+#define __kernel_cmpxchg(oldval, newval, ptr) (!atomic_cmpset_rel_32((volatile u_int32_t *)(ptr), (u_int32_t)(oldval), (u_int32_t)(newval)))
|
||||
+#elif defined(__NetBSD__)
|
||||
+#include <sys/atomic.h>
|
||||
+#define __kernel_cmpxchg(oldval, newval, ptr) ((unsigned int)(oldval) != atomic_cas_uint((volatile unsigned int*)(ptr), (unsigned int)(oldval), (unsigned int)(newval)))
|
||||
+#else
|
||||
typedef int (__kernel_cmpxchg_t)(int oldval, int newval, volatile int *ptr);
|
||||
#define __kernel_cmpxchg (*(__kernel_cmpxchg_t *) 0xffff0fc0)
|
||||
+#endif
|
||||
|
||||
|
||||
|
||||
@@ -177,7 +185,7 @@ inline void Atomic::store_ptr(intptr_t s
|
||||
|
||||
inline jint Atomic::add(jint add_value, volatile jint* dest) {
|
||||
#ifdef ARM
|
||||
- return arm_add_and_fetch(dest, add_value);
|
||||
+ return arm_add_and_fetch((volatile int*)dest, add_value);
|
||||
#else
|
||||
#ifdef M68K
|
||||
return m68k_add_and_fetch(dest, add_value);
|
||||
@@ -189,7 +197,7 @@ inline jint Atomic::add(jint add_value,
|
||||
|
||||
inline intptr_t Atomic::add_ptr(intptr_t add_value, volatile intptr_t* dest) {
|
||||
#ifdef ARM
|
||||
- return arm_add_and_fetch(dest, add_value);
|
||||
+ return arm_add_and_fetch((volatile int*)dest, add_value);
|
||||
#else
|
||||
#ifdef M68K
|
||||
return m68k_add_and_fetch(dest, add_value);
|
||||
@@ -286,7 +294,7 @@ inline intptr_t Atomic::cmpxchg_ptr(intp
|
||||
volatile intptr_t* dest,
|
||||
intptr_t compare_value) {
|
||||
#ifdef ARM
|
||||
- return arm_compare_and_swap(dest, compare_value, exchange_value);
|
||||
+ return arm_compare_and_swap((volatile int*)dest, compare_value, exchange_value);
|
||||
#else
|
||||
#ifdef M68K
|
||||
return m68k_compare_and_swap(dest, compare_value, exchange_value);
|
||||
@@ -1,21 +0,0 @@
|
||||
ARM: Substitute Linux atomic ops with FreeBSD/NetBSD atomic ops
|
||||
|
||||
--- hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp.orig 2015-06-03 15:49:41 UTC
|
||||
+++ hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp
|
||||
@@ -37,8 +37,16 @@
|
||||
* and gcc __sync_synchronize(); implementation does not use the kernel
|
||||
* helper for all gcc versions so it is unreliable to use as well.
|
||||
*/
|
||||
+#if defined(__FreeBSD__)
|
||||
+#include <machine/atomic.h>
|
||||
+#define __kernel_dmb dmb
|
||||
+#elif defined(__NetBSD__)
|
||||
+#include <sys/atomic.h>
|
||||
+#define __kernel_dmb membar_sync
|
||||
+#else
|
||||
typedef void (__kernel_dmb_t) (void);
|
||||
#define __kernel_dmb (*(__kernel_dmb_t *) 0xffff0fa0)
|
||||
+#endif
|
||||
|
||||
#define FULL_MEM_BARRIER __kernel_dmb()
|
||||
#define READ_MEM_BARRIER __kernel_dmb()
|
||||
@@ -1,44 +0,0 @@
|
||||
--- hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp.orig 2014-03-04 02:52:15 UTC
|
||||
+++ hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp
|
||||
@@ -60,8 +60,8 @@
|
||||
#include "utilities/vmError.hpp"
|
||||
|
||||
address os::current_stack_pointer() {
|
||||
- address dummy = (address) &dummy;
|
||||
- return dummy;
|
||||
+ // return the address of the current function
|
||||
+ return (address)__builtin_frame_address(0);
|
||||
}
|
||||
|
||||
frame os::get_sender_for_C_frame(frame* fr) {
|
||||
@@ -189,7 +189,7 @@
|
||||
ShouldNotCallThis();
|
||||
}
|
||||
else*/ if (thread->thread_state() == _thread_in_vm &&
|
||||
- sig == SIGBUS && thread->doing_unsafe_access()) {
|
||||
+ (sig == SIGSEGV || sig == SIGBUS) && thread->doing_unsafe_access()) {
|
||||
ShouldNotCallThis();
|
||||
}
|
||||
|
||||
@@ -446,21 +446,6 @@ extern "C" {
|
||||
}
|
||||
};
|
||||
|
||||
-/////////////////////////////////////////////////////////////////////////////
|
||||
-// Implementations of atomic operations not supported by processors.
|
||||
-// -- http://gcc.gnu.org/onlinedocs/gcc-4.2.1/gcc/Atomic-Builtins.html
|
||||
-
|
||||
-#ifndef _LP64
|
||||
-extern "C" {
|
||||
- long long unsigned int __sync_val_compare_and_swap_8(
|
||||
- volatile void *ptr,
|
||||
- long long unsigned int oldval,
|
||||
- long long unsigned int newval) {
|
||||
- ShouldNotCallThis();
|
||||
- }
|
||||
-};
|
||||
-#endif // !_LP64
|
||||
-
|
||||
#ifndef PRODUCT
|
||||
void os::verify_stack_alignment() {
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
--- hotspot/src/os/bsd/vm/globals_bsd.hpp.orig 2014-03-04 02:52:13 UTC
|
||||
+++ hotspot/src/os/bsd/vm/globals_bsd.hpp
|
||||
@@ -35,19 +35,17 @@
|
||||
product(bool, UseBsdPosixThreadCPUClocks, true, \
|
||||
"enable fast Bsd Posix clocks where available") \
|
||||
/* NB: The default value of UseBsdPosixThreadCPUClocks may be \
|
||||
- overridden in Arguments::parse_each_vm_init_arg. */ \
|
||||
- \
|
||||
- product(bool, UseHugeTLBFS, false, \
|
||||
- "Use MAP_HUGETLB for large pages") \
|
||||
- \
|
||||
- product(bool, UseSHM, false, \
|
||||
- "Use SYSV shared memory for large pages")
|
||||
+ overridden in Arguments::parse_each_vm_init_arg. */
|
||||
|
||||
//
|
||||
// Defines Bsd-specific default values. The flags are available on all
|
||||
// platforms, but they may have different default values on other platforms.
|
||||
//
|
||||
+#ifdef __FreeBSD__
|
||||
+define_pd_global(bool, UseLargePages, true);
|
||||
+#else
|
||||
define_pd_global(bool, UseLargePages, false);
|
||||
+#endif
|
||||
define_pd_global(bool, UseLargePagesIndividualAllocation, false);
|
||||
define_pd_global(bool, UseOSErrorReporting, false);
|
||||
define_pd_global(bool, UseThreadPriorities, true) ;
|
||||
@@ -1,249 +0,0 @@
|
||||
--- hotspot/src/os/bsd/vm/os_bsd.cpp.orig 2017-12-01 00:32:02 UTC
|
||||
+++ hotspot/src/os/bsd/vm/os_bsd.cpp
|
||||
@@ -1588,6 +1588,10 @@ void * os::dll_load(const char *filename, char *ebuf,
|
||||
#define EM_X86_64 62 /* AMD x86-64 */
|
||||
#endif
|
||||
|
||||
+ #ifndef EM_AARCH64
|
||||
+ #define EM_AARCH64 183 /* ARM AARCH64 */
|
||||
+ #endif
|
||||
+
|
||||
static const arch_t arch_array[]={
|
||||
{EM_386, EM_386, ELFCLASS32, ELFDATA2LSB, (char*)"IA 32"},
|
||||
{EM_486, EM_386, ELFCLASS32, ELFDATA2LSB, (char*)"IA 32"},
|
||||
@@ -1604,7 +1608,8 @@ void * os::dll_load(const char *filename, char *ebuf,
|
||||
{EM_MIPS_RS3_LE, EM_MIPS_RS3_LE, ELFCLASS32, ELFDATA2LSB, (char*)"MIPSel"},
|
||||
{EM_MIPS, EM_MIPS, ELFCLASS32, ELFDATA2MSB, (char*)"MIPS"},
|
||||
{EM_PARISC, EM_PARISC, ELFCLASS32, ELFDATA2MSB, (char*)"PARISC"},
|
||||
- {EM_68K, EM_68K, ELFCLASS32, ELFDATA2MSB, (char*)"M68k"}
|
||||
+ {EM_68K, EM_68K, ELFCLASS32, ELFDATA2MSB, (char*)"M68k"},
|
||||
+ {EM_AARCH64, EM_AARCH64, ELFCLASS64, ELFDATA2LSB, (char*)"AARCH64"},
|
||||
};
|
||||
|
||||
#if (defined IA32)
|
||||
@@ -1621,6 +1626,8 @@ void * os::dll_load(const char *filename, char *ebuf,
|
||||
static Elf32_Half running_arch_code=EM_PPC64;
|
||||
#elif (defined __powerpc__)
|
||||
static Elf32_Half running_arch_code=EM_PPC;
|
||||
+ #elif (defined AARCH64)
|
||||
+ static Elf32_Half running_arch_code=EM_AARCH64;
|
||||
#elif (defined ARM)
|
||||
static Elf32_Half running_arch_code=EM_ARM;
|
||||
#elif (defined S390)
|
||||
@@ -1637,7 +1644,7 @@ void * os::dll_load(const char *filename, char *ebuf,
|
||||
static Elf32_Half running_arch_code=EM_68K;
|
||||
#else
|
||||
#error Method os::dll_load requires that one of following is defined:\
|
||||
- IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K
|
||||
+ AARCH64, IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K
|
||||
#endif
|
||||
|
||||
// Identify compatability class for VM's architecture and library's architecture
|
||||
@@ -2395,14 +2402,18 @@ static address _highest_vm_reserved_address = NULL;
|
||||
// 'requested_addr' is only treated as a hint, the return value may or
|
||||
// may not start from the requested address. Unlike Bsd mmap(), this
|
||||
// function returns NULL to indicate failure.
|
||||
-static char* anon_mmap(char* requested_addr, size_t bytes, bool fixed) {
|
||||
+static char* anon_mmap(char* requested_addr, size_t bytes, size_t alignment_hint, bool fixed) {
|
||||
char * addr;
|
||||
int flags;
|
||||
|
||||
+ assert(!(fixed && (alignment_hint > 0)), "alignment hint meaningless with fixed mmap");
|
||||
+
|
||||
flags = MAP_PRIVATE | MAP_ANONYMOUS;
|
||||
if (fixed) {
|
||||
assert((uintptr_t)requested_addr % os::Bsd::page_size() == 0, "unaligned address");
|
||||
flags |= MAP_FIXED;
|
||||
+ } else if (alignment_hint > 0) {
|
||||
+ flags |= MAP_ALIGNED(ffs(alignment_hint) - 1);
|
||||
}
|
||||
|
||||
// Map reserved/uncommitted pages PROT_NONE so we fail early if we
|
||||
@@ -2434,7 +2445,7 @@ static int anon_munmap(char * addr, size_t size) {
|
||||
|
||||
char* os::pd_reserve_memory(size_t bytes, char* requested_addr,
|
||||
size_t alignment_hint) {
|
||||
- return anon_mmap(requested_addr, bytes, (requested_addr != NULL));
|
||||
+ return anon_mmap(requested_addr, bytes, alignment_hint, (requested_addr != NULL));
|
||||
}
|
||||
|
||||
bool os::pd_release_memory(char* addr, size_t size) {
|
||||
@@ -2480,19 +2491,93 @@ bool os::unguard_memory(char* addr, size_t size) {
|
||||
return bsd_mprotect(addr, size, PROT_READ|PROT_WRITE);
|
||||
}
|
||||
|
||||
-bool os::Bsd::hugetlbfs_sanity_check(bool warn, size_t page_size) {
|
||||
- return false;
|
||||
-}
|
||||
-
|
||||
// Large page support
|
||||
|
||||
static size_t _large_page_size = 0;
|
||||
|
||||
void os::large_page_init() {
|
||||
+ if (UseLargePages) {
|
||||
+ // print a warning if any large page related flag is specified on command line
|
||||
+ bool warn_on_failure = !FLAG_IS_DEFAULT(UseLargePages) ||
|
||||
+ !FLAG_IS_DEFAULT(LargePageSizeInBytes);
|
||||
+
|
||||
+ UseLargePages = Bsd::superpage_sanity_check(warn_on_failure, &_large_page_size);
|
||||
+ }
|
||||
}
|
||||
|
||||
+// Insertion sort for small arrays (descending order).
|
||||
+static void insertion_sort_descending(size_t* array, int len) {
|
||||
+ for (int i = 0; i < len; i++) {
|
||||
+ size_t val = array[i];
|
||||
+ for (size_t key = i; key > 0 && array[key - 1] < val; --key) {
|
||||
+ size_t tmp = array[key];
|
||||
+ array[key] = array[key - 1];
|
||||
+ array[key - 1] = tmp;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
|
||||
+bool os::Bsd::superpage_sanity_check(bool warn, size_t* page_size) {
|
||||
+#ifdef __FreeBSD__
|
||||
+ const unsigned int usable_count = VM_Version::page_size_count();
|
||||
+ if (usable_count == 1) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ // Fill the array of page sizes.
|
||||
+ int n = ::getpagesizes(_page_sizes, page_sizes_max);
|
||||
+ assert(n > 0, "FreeBSD bug?");
|
||||
+
|
||||
+ if (n == page_sizes_max) {
|
||||
+ // Add a sentinel value (necessary only if the array was completely filled
|
||||
+ // since it is static (zeroed at initialization)).
|
||||
+ _page_sizes[--n] = 0;
|
||||
+ DEBUG_ONLY(warning("increase the size of the os::_page_sizes array.");)
|
||||
+ }
|
||||
+ assert(_page_sizes[n] == 0, "missing sentinel");
|
||||
+ trace_page_sizes("available page sizes", _page_sizes, n);
|
||||
+
|
||||
+ if (n == 1) return false; // Only one page size available.
|
||||
+
|
||||
+ // Skip sizes larger than 4M (or LargePageSizeInBytes if it was set) and
|
||||
+ // select up to usable_count elements. First sort the array, find the first
|
||||
+ // acceptable value, then copy the usable sizes to the top of the array and
|
||||
+ // trim the rest. Make sure to include the default page size :-).
|
||||
+ //
|
||||
+ // A better policy could get rid of the 4M limit by taking the sizes of the
|
||||
+ // important VM memory regions (java heap and possibly the code cache) into
|
||||
+ // account.
|
||||
+ insertion_sort_descending(_page_sizes, n);
|
||||
+ const size_t size_limit =
|
||||
+ FLAG_IS_DEFAULT(LargePageSizeInBytes) ? 4 * M : LargePageSizeInBytes;
|
||||
+ int beg;
|
||||
+ for (beg = 0; beg < n && _page_sizes[beg] > size_limit; ++beg) /* empty */ ;
|
||||
+ const int end = MIN2((int)usable_count, n) - 1;
|
||||
+ for (int cur = 0; cur < end; ++cur, ++beg) {
|
||||
+ _page_sizes[cur] = _page_sizes[beg];
|
||||
+ }
|
||||
+ _page_sizes[end] = vm_page_size();
|
||||
+ _page_sizes[end + 1] = 0;
|
||||
+
|
||||
+ if (_page_sizes[end] > _page_sizes[end - 1]) {
|
||||
+ // Default page size is not the smallest; sort again.
|
||||
+ insertion_sort_descending(_page_sizes, end + 1);
|
||||
+ }
|
||||
+ *page_size = _page_sizes[0];
|
||||
+
|
||||
+ trace_page_sizes("usable page sizes", _page_sizes, end + 1);
|
||||
+ return true;
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+
|
||||
char* os::reserve_memory_special(size_t bytes, size_t alignment, char* req_addr, bool exec) {
|
||||
+#ifdef __FreeBSD__
|
||||
+ fatal("os::reserve_memory_special should not be called on FreeBSD.");
|
||||
+ return NULL;
|
||||
+#else
|
||||
fatal("This code is not used or maintained.");
|
||||
|
||||
// "exec" is passed in but not used. Creating the shared image for
|
||||
@@ -2552,9 +2637,14 @@ char* os::reserve_memory_special(size_t bytes, size_t
|
||||
MemTracker::record_virtual_memory_reserve_and_commit((address)addr, bytes, CALLER_PC);
|
||||
|
||||
return addr;
|
||||
+#endif
|
||||
}
|
||||
|
||||
bool os::release_memory_special(char* base, size_t bytes) {
|
||||
+#ifdef __FreeBSD__
|
||||
+ fatal("os::release_memory_special should not be called on FreeBSD.");
|
||||
+ return false;
|
||||
+#else
|
||||
if (MemTracker::tracking_level() > NMT_minimal) {
|
||||
Tracker tkr = MemTracker::get_virtual_memory_release_tracker();
|
||||
// detaching the SHM segment will also delete it, see reserve_memory_special()
|
||||
@@ -2568,21 +2658,28 @@ bool os::release_memory_special(char* base, size_t byt
|
||||
} else {
|
||||
return shmdt(base) == 0;
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
size_t os::large_page_size() {
|
||||
return _large_page_size;
|
||||
}
|
||||
|
||||
-// HugeTLBFS allows application to commit large page memory on demand;
|
||||
-// with SysV SHM the entire memory region must be allocated as shared
|
||||
-// memory.
|
||||
+// FreeBSD allows application to commit large page memory on demand.
|
||||
bool os::can_commit_large_page_memory() {
|
||||
- return UseHugeTLBFS;
|
||||
+#ifdef __FreeBSD__
|
||||
+ return true;
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
}
|
||||
|
||||
bool os::can_execute_large_page_memory() {
|
||||
- return UseHugeTLBFS;
|
||||
+#ifdef __FreeBSD__
|
||||
+ return true;
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
}
|
||||
|
||||
// Reserve memory at an arbitrary address, only if that area is
|
||||
@@ -2614,7 +2711,7 @@ char* os::pd_attempt_reserve_memory_at(size_t bytes, c
|
||||
|
||||
// Bsd mmap allows caller to pass an address as hint; give it a try first,
|
||||
// if kernel honors the hint then we can return immediately.
|
||||
- char * addr = anon_mmap(requested_addr, bytes, false);
|
||||
+ char * addr = anon_mmap(requested_addr, bytes, 0, false);
|
||||
if (addr == requested_addr) {
|
||||
return requested_addr;
|
||||
}
|
||||
@@ -4010,15 +4010,19 @@
|
||||
}
|
||||
|
||||
void os::set_native_thread_name(const char *name) {
|
||||
-#if defined(__APPLE__) && MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5
|
||||
- // This is only supported in Snow Leopard and beyond
|
||||
if (name != NULL) {
|
||||
+#if defined(__APPLE__) && MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5
|
||||
+ // This is only supported in Snow Leopard and beyond
|
||||
// Add a "Java: " prefix to the name
|
||||
char buf[MAXTHREADNAMESIZE];
|
||||
snprintf(buf, sizeof(buf), "Java: %s", name);
|
||||
pthread_setname_np(buf);
|
||||
- }
|
||||
+#elif defined(__FreeBSD__)
|
||||
+ char buf[MAXCOMLEN+1];
|
||||
+ strlcpy(buf, name, sizeof(buf));
|
||||
+ pthread_set_name_np(pthread_self(), buf);
|
||||
#endif
|
||||
+ }
|
||||
}
|
||||
|
||||
bool os::distribute_processes(uint length, uint* distribution) {
|
||||
@@ -1,11 +0,0 @@
|
||||
--- hotspot/src/os/bsd/vm/os_bsd.hpp.orig 2017-12-01 00:32:02 UTC
|
||||
+++ hotspot/src/os/bsd/vm/os_bsd.hpp
|
||||
@@ -87,7 +87,7 @@ class Bsd {
|
||||
static void rebuild_cpu_to_node_map();
|
||||
static GrowableArray<int>* cpu_to_node() { return _cpu_to_node; }
|
||||
|
||||
- static bool hugetlbfs_sanity_check(bool warn, size_t page_size);
|
||||
+ static bool superpage_sanity_check(bool warn, size_t *page_size);
|
||||
|
||||
public:
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
--- hotspot/src/share/vm/runtime/arguments.cpp.orig 2017-12-01 00:32:02.284351000 +0000
|
||||
+++ hotspot/src/share/vm/runtime/arguments.cpp 2017-12-01 00:38:48.362549000 +0000
|
||||
@@ -3974,7 +3974,8 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
|
||||
hotspotrc, hotspotrc);
|
||||
}
|
||||
|
||||
-#ifdef _ALLBSD_SOURCE // UseLargePages is not yet supported on BSD.
|
||||
+#if defined(_ALLBSD_SOURCE) && !defined(__FreeBSD__)
|
||||
+ // UseLargePages is not yet supported on BSD.
|
||||
UNSUPPORTED_OPTION(UseLargePages, "-XX:+UseLargePages");
|
||||
#endif
|
||||
|
||||
@@ -1,23 +1,20 @@
|
||||
--- jdk/make/lib/Awt2dLibraries.gmk.orig 2018-12-02 16:06:28.335527000 -0800
|
||||
+++ jdk/make/lib/Awt2dLibraries.gmk 2018-12-02 16:29:22.253979000 -0800
|
||||
@@ -1236,6 +1236,11 @@
|
||||
LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS := -x objective-c -O0
|
||||
LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS := -O0
|
||||
|
||||
+ else ifeq ($(OPENJDK_TARGET_OS), bsd)
|
||||
+ LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS) -I$(PACKAGE_PATH)/include
|
||||
+ ifneq ($(OPENJDK_TARGET_OS_VENDOR), openbsd)
|
||||
--- jdk/make/lib/Awt2dLibraries.gmk.orig 2019-04-17 23:24:06.000000000 -0700
|
||||
+++ jdk/make/lib/Awt2dLibraries.gmk 2019-04-18 11:22:47.195832000 -0700
|
||||
@@ -1190,7 +1190,7 @@
|
||||
else ifeq ($(OPENJDK_TARGET_OS), bsd)
|
||||
LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS) -I$(PACKAGE_PATH)/include
|
||||
ifneq ($(OPENJDK_TARGET_OS_VENDOR), openbsd)
|
||||
- LIBSPLASHSCREEN_CFLAGS += -DLIBICONV_PLUG
|
||||
+ LIBSPLASHSCREEN_CFLAGS += %%ICONV_CPPFLAGS%%
|
||||
+ endif
|
||||
endif
|
||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
|
||||
else
|
||||
@@ -1257,6 +1262,8 @@
|
||||
@@ -1212,7 +1212,7 @@
|
||||
-framework Cocoa \
|
||||
-framework JavaNativeFoundation
|
||||
else ifeq ($(OPENJDK_TARGET_OS), bsd)
|
||||
- LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -L$(PACKAGE_PATH)/lib -liconv -pthread
|
||||
+ LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) %%ICONV_LDFLAGS%% -pthread
|
||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
|
||||
+ else ifeq ($(OPENJDK_TARGET_OS), bsd)
|
||||
+ LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) %%ICONV_LDFLAGS%% -pthread
|
||||
else # .. all other Unixes can use X_LIBS
|
||||
LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread
|
||||
endif
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
--- jdk/src/share/native/sun/font/freetypeScaler.c
|
||||
+++ jdk/src/share/native/sun/font/freetypeScaler.c
|
||||
@@ -60,6 +60,7 @@
|
||||
JNIEnv* env;
|
||||
FT_Library library;
|
||||
FT_Face face;
|
||||
+ FT_Stream faceStream;
|
||||
jobject font2D;
|
||||
jobject directBuffer;
|
||||
|
||||
@@ -107,15 +108,10 @@
|
||||
if (scalerInfo == NULL)
|
||||
return;
|
||||
|
||||
- //apparently Done_Face will only close the stream
|
||||
- // but will not relase the memory of stream structure.
|
||||
- // We need to free it explicitly to avoid leak.
|
||||
- //Direct access to the stream field might be not ideal solution as
|
||||
- // it is considred to be "private".
|
||||
- //Alternatively we could have stored pointer to the structure
|
||||
- // in the scalerInfo but this will increase size of the structure
|
||||
- // for no good reason
|
||||
- stream = scalerInfo->face->stream;
|
||||
+ // FT_Done_Face always closes the stream, but only frees the memory
|
||||
+ // of the data structure if it was internally allocated by FT.
|
||||
+ // We hold on to a pointer to the stream structure if we provide it
|
||||
+ // ourselves, so that we can free it here.
|
||||
|
||||
FT_Done_Face(scalerInfo->face);
|
||||
FT_Done_FreeType(scalerInfo->library);
|
||||
@@ -128,8 +124,8 @@
|
||||
free(scalerInfo->fontData);
|
||||
}
|
||||
|
||||
- if (stream != NULL) {
|
||||
- free(stream);
|
||||
+ if (scalerInfo->faceStream != NULL) {
|
||||
+ free(scalerInfo->faceStream);
|
||||
}
|
||||
|
||||
free(scalerInfo);
|
||||
@@ -302,6 +298,10 @@
|
||||
&ft_open_args,
|
||||
indexInCollection,
|
||||
&scalerInfo->face);
|
||||
+
|
||||
+ if (!error) {
|
||||
+ scalerInfo->faceStream = ftstream;
|
||||
+ }
|
||||
}
|
||||
if (error || scalerInfo->directBuffer == NULL) {
|
||||
free(ftstream);
|
||||
@@ -1,13 +0,0 @@
|
||||
--- jdk/src/solaris/native/java/net/NetworkInterface.c.orig 2017-12-24 22:01:27.592305000 -0800
|
||||
+++ jdk/src/solaris/native/java/net/NetworkInterface.c 2017-12-24 22:06:51.899725000 -0800
|
||||
@@ -2075,10 +2075,6 @@
|
||||
if (ifa->ifa_addr == NULL || ifa->ifa_addr->sa_family != AF_INET6)
|
||||
continue;
|
||||
|
||||
- // set scope ID to interface index
|
||||
- ((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_scope_id =
|
||||
- getIndex(sock, ifa->ifa_name);
|
||||
-
|
||||
// add interface to the list
|
||||
ifs = addif(env, sock, ifa->ifa_name, ifs, ifa->ifa_addr, NULL,
|
||||
AF_INET6,
|
||||
@@ -1,23 +0,0 @@
|
||||
--- jdk/src/solaris/native/java/io/UnixFileSystem_md.c.orig 2018-12-12 23:07:51.229721000 +0100
|
||||
+++ jdk/src/solaris/native/java/io/UnixFileSystem_md.c 2018-12-12 23:12:21.847169000 +0100
|
||||
@@ -208,7 +208,8 @@
|
||||
WITH_FIELD_PLATFORM_STRING(env, file, ids.path, path) {
|
||||
struct stat64 sb;
|
||||
if (stat64(path, &sb) == 0) {
|
||||
- rv = 1000 * (jlong)sb.st_mtime;
|
||||
+ rv = (jlong)sb.st_mtim.tv_sec * 1000;
|
||||
+ rv += (jlong)sb.st_mtim.tv_nsec / 1000000;
|
||||
}
|
||||
} END_PLATFORM_STRING(env, path);
|
||||
return rv;
|
||||
@@ -392,8 +393,8 @@
|
||||
struct timeval tv[2];
|
||||
|
||||
/* Preserve access time */
|
||||
- tv[0].tv_sec = sb.st_atime;
|
||||
- tv[0].tv_usec = 0;
|
||||
+ tv[0].tv_sec = sb.st_atim.tv_sec;
|
||||
+ tv[0].tv_usec = sb.st_atim.tv_nsec / 1000;
|
||||
|
||||
/* Change last-modified time */
|
||||
tv[1].tv_sec = time / 1000;
|
||||
@@ -1,41 +0,0 @@
|
||||
--- jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c.org 2018-07-26 09:56:49.897172000 +0200
|
||||
+++ jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c 2018-07-30 16:13:19.116935000 +0200
|
||||
@@ -330,11 +330,11 @@
|
||||
break;
|
||||
case SCTP_ADDR_MADE_PRIM :
|
||||
event = sun_nio_ch_sctp_PeerAddrChange_SCTP_ADDR_MADE_PRIM;
|
||||
-#ifdef __linux__ /* Solaris currently doesn't support SCTP_ADDR_CONFIRMED */
|
||||
+#ifndef __solaris__ /* Solaris currently doesn't support SCTP_ADDR_CONFIRMED */
|
||||
break;
|
||||
case SCTP_ADDR_CONFIRMED :
|
||||
event = sun_nio_ch_sctp_PeerAddrChange_SCTP_ADDR_CONFIRMED;
|
||||
-#endif /* __linux__ */
|
||||
+#endif /* __solaris__ */
|
||||
}
|
||||
|
||||
addressObj = SockAddrToInetSocketAddress(env, (struct sockaddr*)&spc->spc_aaddr);
|
||||
@@ -445,13 +445,13 @@
|
||||
} else if (errno == EINTR) {
|
||||
return IOS_INTERRUPTED;
|
||||
|
||||
-#ifdef __linux__
|
||||
+#ifndef __solaris__
|
||||
} else if (errno == ENOTCONN) {
|
||||
/* ENOTCONN when EOF reached */
|
||||
rv = 0;
|
||||
/* there will be no control data */
|
||||
msg->msg_controllen = 0;
|
||||
-#endif /* __linux__ */
|
||||
+#endif /* __solaris__ */
|
||||
|
||||
} else {
|
||||
handleSocketError(env, errno);
|
||||
@@ -568,7 +568,7 @@
|
||||
/* Set up the msghdr structure for sending */
|
||||
memset(msg, 0, sizeof (*msg));
|
||||
memset(cbuf, 0, cbuf_size);
|
||||
- msg->msg_name = &sa;
|
||||
+ msg->msg_name = (sa_len == 0 ? NULL : &sa);
|
||||
msg->msg_namelen = sa_len;
|
||||
iov->iov_base = addr;
|
||||
iov->iov_len = length;
|
||||
@@ -1,11 +0,0 @@
|
||||
--- ./jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c.orig 2018-12-13 10:02:37.501082000 +0100
|
||||
+++ ./jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c 2018-12-13 10:06:26.825382000 +0100
|
||||
@@ -453,7 +453,7 @@
|
||||
(*env)->SetLongField(env, attrs, attrs_st_birthtime_sec, (jlong)buf->st_birthtime);
|
||||
#endif
|
||||
|
||||
-#if (_POSIX_C_SOURCE >= 200809L) || defined(__solaris__)
|
||||
+#if (_POSIX_C_SOURCE >= 200809L) || defined(__solaris__) || defined(__FreeBSD__)
|
||||
(*env)->SetLongField(env, attrs, attrs_st_atime_nsec, (jlong)buf->st_atim.tv_nsec);
|
||||
(*env)->SetLongField(env, attrs, attrs_st_mtime_nsec, (jlong)buf->st_mtim.tv_nsec);
|
||||
(*env)->SetLongField(env, attrs, attrs_st_ctime_nsec, (jlong)buf->st_ctim.tv_nsec);
|
||||
@@ -1,24 +0,0 @@
|
||||
--- jdk/src/solaris/native/sun/management/OperatingSystemImpl.c.orig 2017-09-06 22:12:44 UTC
|
||||
+++ jdk/src/solaris/native/sun/management/OperatingSystemImpl.c
|
||||
@@ -368,7 +368,9 @@ Java_sun_management_OperatingSystemImpl_
|
||||
#elif defined(__FreeBSD__)
|
||||
static const char *vm_stats[] = {
|
||||
"vm.stats.vm.v_free_count",
|
||||
+#if __FreeBSD_version < 1200016
|
||||
"vm.stats.vm.v_cache_count",
|
||||
+#endif
|
||||
/* "vm.stats.vm.v_inactive_count", */
|
||||
NULL
|
||||
};
|
||||
@@ -435,11 +437,6 @@ Java_sun_management_OperatingSystemImpl_
|
||||
}
|
||||
|
||||
|
||||
-#ifdef _ALLBSD_SOURCE
|
||||
-#define FD_DIR "/dev/fd"
|
||||
-#else
|
||||
-#define FD_DIR "/proc/self/fd"
|
||||
-#endif
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_sun_management_OperatingSystemImpl_getOpenFileDescriptorCount
|
||||
Reference in New Issue
Block a user