This OpenJDK implementation requires fdescfs(5) mounted on /dev/fd and
procfs(5) mounted on /proc.
If you have not done it yet, please do the following:
mount -t fdescfs fdesc /dev/fd
mount -t procfs proc /proc
To make it permanent, you need the following lines in /etc/fstab:
fdesc /dev/fd fdescfs rw 0 0
proc /proc procfs rw 0 0
cleanup: remove expired versions of OpenJDK (12 through 16)
Adjust ports depending on expired versions of OpenJDK:
- biology/snpeff: 12+ -> 17+
- devel/RStudio: 12 -> 11
- www/closure-compiler: 13 -> 11+
Allow java/openjdk17 to use java/openjdk17-bootstrap on i386
too, this builds just fine on 13.1-i386
Remove jdk12-doc as it is no longer relevant.
Clean up Java version calculations in bsd.java.mk
Reviewed by: jwb, java (glewis)
Differential Revision: https://reviews.freebsd.org/D35280
openjdk: mark as deprecated all EOLed version of openjdk
The current supported version of openjdk are:
8 (LTS) up to 31 march 2025
11 (LTS) up to 30 september 2026
17 (LTS) up to 20 september 2031
18 up to 30 september 2022
All other version have expired long ago
java/openjdk13 java/openjdk14 java/openjdk15 java/openjdk16 java/openjdk17
java/openjdk17-jre: fix build with clang 14
During an exp-run for llvm 14 (see bug 261742), it turned out that
java/openjdk13 and java/openjdk17 fail to build with clang 14 (but this
also affects openjdk14 through 16):
=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_objs_serviceThread.o:
/wrkdirs/usr/ports/java/openjdk13/work/jdk13u-jdk-13.0.10-5-1/src/hotspot/share/runtime/serviceThread.cpp:133:15:
error: use of bitwise '|' with boolean operands
[-Werror,-Wbitwise-instead-of-logical]
while (((sensors_changed = LowMemoryDetector::has_pending_requests()) |
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/java/openjdk13/work/jdk13u-jdk-13.0.10-5-1/src/hotspot/share/runtime/serviceThread.cpp:133:15:
note: cast one or both operands to int to silence this warning
/wrkdirs/usr/ports/java/openjdk13/work/jdk13u-jdk-13.0.10-5-1/src/hotspot/share/runtime/serviceThread.cpp:133:15:
error: use of bitwise '|' with boolean operands
[-Werror,-Wbitwise-instead-of-logical]
while (((sensors_changed = LowMemoryDetector::has_pending_requests()) |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(Only the first 15 lines of the commit message are shown above )
java/openjdk*: work around UB in markOopDesc, fix builds with clang 13
During an exp-run for llvm 13 (see bug 258209), it turned out that
java/openjdk11 through openjdk13 fail to build with clang 13:
=== Output from failing command(s) repeated here ===
* For target jdk__packages_attribute.done:
These crashes are all caused by the markOop/markOopDesc classes, which
are used to keep track of objects, and which are 'marked' using the low
few bits. (See
https://github.com/openjdk/jdk13u/blob/master/src/hotspot/share/oops/markOop.hpp
).
After some laborious bisecting, I found out that these crashes start
(Only the first 15 lines of the commit message are shown above )
java/openjdk16: fix build with clang 12
During an exp-run for llvm 12 (see bug 255570), it turned out that at
least openjdk11 and openjdk12 do not build with clang 12.0.0. The
exp-run therefore skipped openjdk16.
Building this manually shows that it results in a compile error:
gmake[4]: Leaving directory
'/wrkdirs/usr/ports/java/openjdk16/work/jdk16u-jdk-16.0.1-9-1/make'
/wrkdirs/usr/ports/java/openjdk16/work/jdk16u-jdk-16.0.1-9-1/src/hotspot/cpu/x86/vm_version_ext_x86.cpp:748:3:
error: suspicious concatenation of string literals in an array initialization;
did you mean to separate the elements with a comma?
[-Werror,-Wstring-concatenation]
"",
^
/wrkdirs/usr/ports/java/openjdk16/work/jdk16u-jdk-16.0.1-9-1/src/hotspot/cpu/x86/vm_version_ext_x86.cpp:747:3:
note: place parentheses around the string literal to silence warning
"Opteron QC/Phenom" // Barcelona et.al.
^
(Only the first 15 lines of the commit message are shown above )
Fix the build on i386
This change is a partial sync with the Linux version of this file. The
included fix for i386 is to recognise i586 as a define instead of just
i386. The change also includes some re-ordering and removal of sparc
support, but they should be no-ops.