* Update to 8u212.

* Change master site to Github
* Remove patches and Makefile fixes that have been upstreamed to Github
This commit is contained in:
Greg Lewis
2019-04-19 16:31:33 +00:00
parent 0520aba9d1
commit eee68625ae
30 changed files with 27 additions and 23011 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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