1 This is originally derived from the pkgsrc-joyent set for openjdk11,
2 considerably modified. Cut from the jdk15 patches as of jdk15+32.
4 See also README-zero.txt for note on a project zero variant.
6 JDK 23 now that jdk22 has been forked off.
8 Cleanup: Removed last remnants of extended_FILE_stdio, it's unused as 32-bit
9 only, and the code to enable it had already been removed.
11 23+27, 23+28, 23+29, 23+30, 23+31, 23+32, 23+33, 23+34, 23+35, 23+36
17 Branched off now that jdk24 is mainline.
19 Cleanup: switch to SolarisEventPortPoller
21 Fixed the patch for src/java.base/unix/classes/java/lang/ProcessImpl.java
22 which fixes the startup hang in jshell and illuminate (and hopefully
23 the minecraft reports)
27 Saw insufficient memory build failures even with jobs=4.
31 Saw build failures with jobs=8:
32 There is insufficient memory for the Java Runtime Environment to
34 (This has been seen in both the bootstrap compiler and the newly built
35 compiler, so I don't think it's a recent code change, but is more
36 likely related to changes in the build process.)
40 JLine updated, our patch no longer needed (or useful).
44 os::create_binary_file() centralized
46 Tiny tweak to align attachListener code
50 Tiny amount of patch noise.
52 Remove local copies of os::dont_yield() os::naked_yield()
54 Saw build failures with jobs=12:
55 There is insufficient memory for the Java Runtime Environment to continue.
56 But clean build if dialled down to 8.
60 Fixed up attachListener filename.
62 Unsafe arraycopy and memory access function and variable renaming.
64 Blocker type change in EPollSelectorImpl.java
66 Removed illumos-port-4.patch, the solaris-specific code
67 (SolarisUserDefinedFileAttributeView) that used the extra
68 newFileChannel() variant was removed in jdk 20+4, and now fails to
73 Much much more mucking around with Makefiles.
75 Hunk from make/common/MakeBase.gmk now moved to make/common/FileUtils.gmk
77 Rework of make/common/native/DebugSymbols.gmk makes our patch unnecessary.
79 Awt2dLibraries.gmk renamed to AwtLibraries.gmk, and none-Awt split out
80 into ClientLibraries.gmk
82 The attachListener centralization is incorrectly guarded. It only
83 implements bsd and linux, so should be guarded as such, not !aix
84 See illumos-attachlistener.patch
85 (The file also has the wrong name which will get corrected.)
87 With the shuffling around, it can't link properly, had to add libjvm
88 explicitly in a few places. There must be a better way to do this.
92 Minor tweak to one line in os_solaris_x86.cpp to match changes in
97 More mucking around with Makefiles.
99 Need to remove notproduct from RUNTIME_OS_FLAGS in globals_solaris.hpp
101 Minimum boot jdk now bumped to jdk22.
105 Much more mucking around with Makefiles.
107 Centralization of breakpoint()
109 The patch for make/modules/jdk.net/Lib.gmk was broken and unnecessary,
110 as the Solaris libextnet was removed back in jdk15. It was unnecessary
111 because there was a guard that prevented it being built on Solaris,
112 That guard has been removed, and that causes the build to fail because
113 there isn't a Solaris libextnet. So reinstate a guard to prevent
114 libextnet being built on Solaris.
118 Significant rework of the Makefiles.
120 Remove the Launcher.gmk patch as it was guarded by a linux check,
121 delivering jexec which we don't
123 Remove patch-make_launcher_LauncherCommon.gmk,
124 patch-make_lib_LibCommon.gmk, and fix-TestFilesCompilation.patch as the
125 code being patched no longer exists
127 The rework benefits us because we only have to patch out the incorrect
128 --exclude-libs usage in one place
130 Cleanup: reduce gratuitous formatting differences between our
131 attachListener_solaris.cpp and other platforms, without changing any code
135 A little bit of patch cleanup needed due to removal of the xlc toolchain.
137 More use of "isTargetOsType" rather than enumerating the
138 OS variants individually, which actually helps solaris.
140 Some removals of local RESTARTABLE definition which moves the lines around.
142 SKIP_SPACE was removed in src/java.base/unix/native/libjava/TimeZone_md.c,
145 Another gnuism of --exclude-libs in make/common/TestFilesCompilation.gmk
146 to hide, see fix-TestFilesCompilation.patch
150 More work on make/autoconf/flags-cflags.m4, need to make sure that the
151 misguided --disable-new-dtags doesn't apply to us.
155 More rework of the build system.
156 flags-cflags.m4 use of --version-script and SET_SHARED_LIBRARY_MAPFILE
157 has been removed. make/hotspot/lib/JvmMapfile.gmk has been removed and
158 there's a static mapfile at make/data/hotspot-symbols/version-script.txt
159 referenced as HOTSPOT_VERSION_SCRIPT in make/hotspot/lib/CompileJvm.gmk
160 That version-script.txt isn't a valid solution for us, and is rejected
161 by our ld, so ignore the mapfile stuff completely.
163 If we do need to look at this again, the commit that did it is here:
164 https://github.com/openjdk/jdk/commit/da14aa463b8fcd56ba1f1a4cdb3e3f7b19f78964
166 Cleanup: drop the comment-only change to make/langtools/build.xml
170 Extensive rework of NativeCompilation.gmk, the hunk we want is now in
171 make/common/native/DebugSymbols.gmk
173 The file make/scripts/compare_exceptions.sh.incl is now empty, so
174 don't try and patch it
176 os::pd_remap_memory() has been removed
177 os::pd_map_memory() os::pd_unmap_memory() have been centralized into os_posix
181 Patch noise; much of it associated with cleaning up the 64-bit
182 function name usage in Linux and AIX
184 Remove #include of code/icBuffer.hpp, as the file has gone
186 Cleanup: missed the dropping of TIERED in 17+8, it's now
187 COMPILER1_AND_COMPILER2
191 Needed to implement os::total_swap_space and os::free_swap_space
192 This uses the (undocumented in the man page) swapctl(SC_AINFO, &ai)
193 call, as in the doswap() function in usr/src/cmd/swap/swap.c
197 Implement os::pd_pretouch_memory(), copying the basic implementation
202 Tidied up the fatal(dlerror()) warning.
206 New undefined symbol os::pd_dll_unload; copy the implementation from
215 Remove unused and undefined os::can_execute_large_page_memory() from
224 No changes needed, identical to 22+27.
228 env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin bash ./configure \
229 --enable-unlimited-crypto --with-boot-jdk=/usr/jdk/instances/jdk22 \
230 --with-native-debug-symbols=none \
231 --with-toolchain-type=gcc \
233 --disable-warnings-as-errors \
234 --with-source-date=current \
236 DATE=/usr/gnu/bin/date \
237 STRIP=/usr/gnu/bin/strip
239 env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin gmake all