libsoup3: update to 3.6.0; fix GTK2/3 app startup
[oi-userland.git] / components / runtime / openjdk-20 / patches / README.txt
blob22cf3f6668a60a05e90d5cbf20496b0e5a3d563b
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 20.0.2 respin 1
8 Fixed the patch for src/java.base/unix/classes/java/lang/ProcessImpl.java
9 which fixes the startup hang in jshell and illuminate (and hopefully
10 the minecraft reports)
12 Cleanup: missed the dropping of TIERED in 17+8, it's now
13 COMPILER1_AND_COMPILER2
15 20.0.2
17 Reinstate make/data/charsetmapping/stdcs-solaris, removal broke the
18 build.
19 See illumos-port-23.patch
21 20.0.1
23 Needed to include <limits.h> in
24 src/java.base/share/native/libjava/jni_util.c
25 to make sure that INT_MAX is defined. See illumos-port-22.patch
27 20+29, 20+30, 20+31, 20+32, 20+33
29 No changes; now in rampdown phase 2
31 20+28
33 Trivial patch noise
35 20+27
37 Forked off, now in rampdown phase 1.
39 VM_Version::page_size_count() has been removed, but it's only returning
40 a constant so we can easily handle that.
42 20+25, 20+26
44 Minor patch noise
46 20+24
48 os::supports_sse() has been removed
50 20+23
52 ExtendedDTraceProbes has been removed. Which removes
53 DTrace::set_extended_dprobes() as well.
55 20+22
57 Now need to force gnu strip via setting STRIP
59 20+21
61 Remove os::dll_file_extension()
63 Modest amount of patch noise
65 20+20
67 Trivial patch noise.
69 20+19
71 Boot jdk updated to jdk19.
73 Remove patch for hsdis Makefile, as it's been removed.
75 20+18
77 Trivial patch noise
79 20+17
81 src/java.base/unix/native/libnio/ch/FileChannelImpl.c
82 has been removed, so don't patch it. However:
84 FileDispatcherImpl has been split out into a shared
85 UnixFileDispatcherImpl plus platform-specific FileDispatcherImpl, so
86 we need our own implementation, and that includes parts of what would
87 have been FileChannelImpl.c, the new files are
88 src/java.base/solaris/classes/sun/nio/ch/FileDispatcherImpl.java and
89 src/java.base/solaris/native/libnio/ch/FileDispatcherImpl.c, and all
90 we need to do is implement our copy of transferTo0 from the old
91 FileChannelImpl.c, see illumos-port-21.patch
93 Remove tribblix-wait.patch, the patched file is no more.
95 20+15, 20+16
97 Trivial patch noise
99 20+14
101 Bit of patch noise, update cflags from c99 (in our case, gnu99) to c11
102 (in our case, gnu11)
104 20+13
106 Remove ProcDebuggerLocal.java, the whole ProcDebugger has gone. So
107 remove all solaris support from HotSpotAgent.java as a
108 consequence. This also means that libsaproc is no more, and
109 tribblix-demangle4.patch isn't needed either
111 CodeCache::find_blob_unsafe() is now just CodeCache::find_blob()
113 Fixes from build attempt with clang - comments in .S use # not /;
114 register specifier is deprecated; use the right linker flags.
116 20+12
118 Trivial patch noise.
120 20+11
122 page_size() has been centralised
124 Remove more 32-bit code from os_solaris_x86.cpp
126 Tidying up old 32-bit code
128 20+10
130 Quite a lot of changes here.
132 The layout of the os class has changed a bit
133 Needed to patch os.hpp, see illumos-port-20.patch
134 but lots of other changes needed.
136 Remove some 32-bit code from os_solaris_x86.cpp
138 Move correct_stack_boundaries_for_primordial_thread() which is in
139 os::Solaris from the shared thread.cpp into our own os_solaris.cpp
141 Use pthread variants directly in attachListener_solaris.cpp
143 More use of the posix PlatformMutex
145 Remove comment-only patch to os.hpp to simplify maintenance
147 Remove illumos-port-8.patch, as the platform guard was reworked to be
148 correct by default
150 Test builds with different C standards. With -std=gnu11, everything is
151 fine; with -std=c11 or c99, build fails with our own headers (around
152 signals, eg sigaction and friends, and presumably more).
154 Remove src/hotspot/os_cpu/solaris_x86/count_trailing_zeros_solaris_x86.hpp
156 Tidy up atomic_solaris_x86.hpp, remove Studio support;
157 solaris_x86_64.il can also be removed.
159 Tidy up bytes_solaris_x86.hpp, remove 32-bit and Studio support.
161 20+9
163 Remove print_jni_name_prefix_on, centralized in os_posix.cpp
164 Merge illumos-port-14.patch into the main patch to simplify the patch
165 set.
167 Tribblix updates mean I'm now using gcc10 rather than gcc7
169 20+8
171 Minimal patch noise.
173 Tidying up.
174 Remove now unused mutex_scope and cond_scope.
175 Remove UsePthreads, as it's now the only option.
176 Clean up set_mutex* and set_cond* now we're exclusively pthreads.
178 20+7
180 Remove os::print_statistics()
182 Remove os_share_solaris.hpp
184 20+6
186 SuspendResume is no longer in os::, needs illumos-port-19.patch
188 os::message_box has been centralized
190 Removed now unused unpackTime() and compute_Abstime().
192 20+5
194 Some big breaking changes here.
196 In os_posix.cpp, some things like PlatformMutex, PlatformEvent,
197 PlatformMonitor have dropped the os:: namespace. The definitions have
198 been centralized, posix uses _event whereas solaris used _Event (like
199 windows does). And the posix variants all use pthreads, whereas
200 solaris used native threads, which leads to signature mismatches.
202 So there are a couple of changes. First, replace mutex_t with
203 pthread_mutex_t. Second, assign directly rather than setting the
204 symbols dynamically, which used to be done as a way of switching
205 between thread-based and lwp-based synchronization.
207 And with that, in fact, we could use the central posix versions of the
208 Platform pieces.
210 And do the same for the cond_ functions as well as the mutex_ functions.
212 Remove illumos-port-1.patch and roll the pthreads versions in by default
214 ThreadCrashProtection has moved out of os_posix.{c,h}pp which means we
215 have to move stuff around.
217 mutex.hpp, park.hpp, threadCrashProtection.hpp headers reworked
218 -> illumos-port-18.patch
220 Remove RecordSynch
222 20+4
224 os::infinite_sleep() has been centralised
226 Build failure in
227 src/java.base/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
228 Looking at the various implementations of this, the solaris one
229 appears to be old and could simply be updated to use common code like
230 linux and bsd do.
232 The file
233 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/ProcAddress.java
234 removed getValue(), so use asLongValue() in
235 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebuggerLocal.java
237 The reproducible builds by default stuff breaks us because it assumes
238 it will always be enabled and appears not to be. Needs
239 --with-source-date=current
240 and also gnu date, so add DATE=/usr/gnu/bin/date to configure
242 Setting --with-source-date also breaks copyright year generation which
243 also needs gnu date.
245 No need to have a Solaris switch to force fork1(), as of S10 that's
246 the default behaviour.
248 20+3
250 Build broken by https://www.illumos.org/issues/14418. That did 2
251 things -  (1) exposed memcntl and meminfo by default, and (2) changed
252 the signature for memcntl from caddr_t to void so there's a
253 mismatch. The fix adopted is to modify the internal java signature for
254 memcntl to the new version, which still allows builds on older
255 releases as the old definition in sys/mman.h was effectively invisible
256 there.
258 Rename thread_solaris_x86.{c,h}pp -> javaThread_solaris_x86.{c,h}pp
259 mv thread_solaris_x86.cpp javaThread_solaris_x86.cpp
260 mv thread_solaris_x86.hpp javaThread_solaris_x86.hpp
261 sed -i s:_THREAD_:_JAVATHREAD_: javaThread_solaris_x86.hpp
262 sed -i s:runtime/thread.inline.hpp:runtime/javaThread.hpp:
263 javaThread_solaris_x86.cpp
264 and fix up includes in os_solaris.cpp
266 The checkedNatives stuff now causes compilation failures, so remove it
267 wholesale.
269 20+2
271 Trivial patch noise
273 20+1
275 Starting fairly clean
277 Build:
279 env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin bash ./configure \
280 --enable-unlimited-crypto --with-boot-jdk=/usr/jdk/instances/jdk19 \
281 --with-native-debug-symbols=none \
282 --with-toolchain-type=gcc \
283 --disable-dtrace \
284 --disable-warnings-as-errors \
285 --enable-deprecated-ports=yes \
286 --with-source-date=current \
287 --with-jobs=3 \
288 DATE=/usr/gnu/bin/date \
289 STRIP=/usr/gnu/bin/strip
291 env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin gmake all