Andreas Wacknitz
2024-01-27 9a6458b68a833ac3c968ac953949a8dc833c2b77
commit | author | age
a7b936 1 This is originally derived from the pkgsrc-joyent set for openjdk11,
NP 2 considerably modified. Cut from the jdk15 patches as of jdk15+32.
3
4 See also README-zero.txt for patches to build a project zero variant.
5
6 Most patches -p0
7
8 JDK17:
9a6458 9
AW 10 17.0.10
11
12 Drop the make/modules/jdk.net/Lib.gmk patch, as it's guarded in such a
13 way as will never be used on solaris.
14
15 Need to add illumos-port-18.patch (derived from jdk21's
16 illumos-port-24.patch) so that test/jdk/java/io/File/libGetXSpace.c
17 will compile.
18
19 17.0.9
20
21 Much rework around safefetch. Removed illumos-port-12.patch, and
22 removed the is_safefetch_fault() block entirely. (Looked at the
23 Windows port, and that block was removed there in this release. It
24 wasn't present at all in other platforms.) Copied the new assembler
25 src/hotspot/os_cpu/linux_x86/safefetch_linux_x86_64.S to
26 src/hotspot/os_cpu/solaris_x86/safefetch_solaris_x86_64.S, see
27 illumos-port-17.patch
28
29 In os_solaris_x86.cpp, the end of print_context() is now split off
30 into print_tos_pc()
31
32 We need an implementation of os::can_trim_native_heap() and
33 trim_native_heap(); simply add a stub in os_solaris.inline.hpp to
34 return false like pretty much every other platform except linux does.
35
56491d 36 17.0.8
NP 37
38 Reinstate make/data/charsetmapping/stdcs-solaris, removal broke the
39 build.
40 See illumos-port-16.patch
41
42 Cleanup: remove TAR_CREATE_FILE_PARAM TAR_CREATE_EXTRA_PARAM
43
44 Cleanup: Removed another STLPORT reference
a7b936 45
21d27d 46 17.0.7
NP 47
48 Minor patch noise. Removed an STLPORT patch.
49
a7b936 50 17.0.6
NP 51
52 Minor patch noise.
53
54 17.0.5
55
56 A number of functions centralised into os_posix
57
58 17.0.4
59
60 Build broken by https://www.illumos.org/issues/14418. That did 2
61 things -  (1) exposed memcntl and meminfo by default, and (2) changed
62 the signature for memcntl from caddr_t to void so there's a
63 mismatch. The fix adopted is to modify the internal java signature for
64 memcntl to the new version, which still allows builds on older
65 releases as the old definition in sys/mman.h was effectively invisible
66 there.
67
68
69 Remove some unnecessary patches
70 src/java.base/unix/native/libjli/java_md.h
71  - new comment is good
72 src/java.desktop/unix/native/common/awt/fontpath.c
73  - shouldn't need to check for SunOS 5.8/5.9
74 Remove HS_DTRACE_WORKAROUND_TAIL_CALL_BUG, the bug it works around
75   was fixed in 2008
76 Remove remaining SUNPRO and related MLIB_NO_LIBSUNMATH checks
77 src/java.desktop/unix/native/common/awt/X11Color.c
78  - the complexity is over 20 years old and no longer relevant
79 make/autoconf/flags-cflags.m4
80  - adding -DTRIMMED is useless
81 src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c
82  - unnecessary on illumos and current Solaris (and my S10 system too)
83 use the 64-bit rdtsc variant
84
85 17.0.2
86
87 illumos-port-15.patch to fix the broken ld check
88
89 17-35
90
91 RC1, no changes
92
93 17-29,17-30,17-31,17-32,17-33,17-34
94
95 No changes
96
97 17-27,17-28
98
99 No changes. Packaged 17-28.
100
101 17-26
102
103 First from the jdk17 stabilisation repository. Same changes as in the
104 first jdk18 tag.
105
106 Remove extended file io workaround, it's 32-bit only
107
108 17-25
109
110 SecurityManager deprecation. Added suppression annotations (the way it
111 was done for Windows), and cleaned up the line number noise.
112
113 17-24
114
115 Line number noise.
116
117 Clean up some of the compiler warnings.
118
119 17-23
120
121 Line number noise.
122
123 os::os_exception_wrapper signature; last argument is a JavaThread not
124 a Thread. No impact as we don't actually use it.
125
126 17-22
127
128 Signature of reserve_memory_special and pd_reserve_memory_special has
129 changed to pass the page size. All we do is change the signature as
130 it's a no-op on solaris.
131
132 17-21
133
134 Line number noise.
135
136 17-20
137
138 Quite a lot of changes this time around.
139
140 No more aot, so remove patches for that.
141
142 src/hotspot/share/cds/classListParser.cpp has moved to
143 src/hotspot/share/cds/classListParser.cpp
144
145 suspend/resume has been essentially gutted
146
147 Assembler files are all .S not .s now; and the way it's called has
148 changed, so we need to just forget about forcing the studio assembler
149
150 Other changes made:
151
152 Also removed solstudio, which also cleans up C_FLAG_REORDER
153
154 Cleared out some of the sparc pieces
155
156 Gutted ucrypto
157
158 17-19
159
160 .mx.jvmci has gone, we don't need it anyway
161
162 Boot jdk requirement bumped to 16.
163 This triggers a lot of noisy
164 "SIGSEGV happened inside stack but outside yellow and red zone."
165 warnings during the build, but they appear harmless.
166
167 17-18
168
169 Don't patch jib-profiles.js. We don't use this, there aren't any AIX
170 entries, so putting ours in is a waste of effort.
171
172 Remove the nbproject patches; they're either wrong or irrelevant, or both.
173
174 The boolAtPut flag stuff is no more. The whole JVMFlag machinery has
175 been reworked. Renamed to set_bool.
176
177 Remove patching of JvmOverrideFiles.gmk when we then disable the
178 patch later.
179
180 17-17
181
182 No significant changes
183
184 17-16
185
186 Some patch noise this time. Some of the SPARC-related noise simply
187 removed.
188
189 17-15
190
191 No changes this time
192
193 17-14
194
195 Remove patch to c1_LIRAssembler.cpp as it's only for SPARC
196 Maybe lir_pack/lir_unpack could go too?
197
198 Tidied up Awt2dLibraries.gmk
199
200 More centralization into os_posix: os::die() os::shutdown() os::abort()
201
202 Tidy up some of the format noise
203
204 17-13
205
206 Remove the patches for lib-X11.m4; they're actually for S10, so we
207 don't want them anyway. And remove the patch to XRBackendNative.c
208 related to it which is also an S10 fixup.
209
210 os::fork_and_exec has been centralized
211
212 MetaspaceShared::is_in_trampoline_frame() has been removed
213
214 17-12
215
216 Remove saved_rbp_address_offset() from thread_solaris_x86.hpp
217
218 There's also evidence of xattr support on some platforms having been
219 added; it's not needed for the build so I've ignored it for now.
220
221 17-11
222
223 Fix memTracker.hpp; signature changed
224 Don't patch deoptimization.cpp, it was SPARC-specific
225
226 17-10
227
228 No significant changes
229
230 17-9
231
232 No significant changes
233
234 17-8
235
236 Man os:: functions were centralized into os_posix.inline.hpp, so
237 needed to remove our duplicates from os_solaris.inline.hpp and
238 os_solaris.cpp. Mostly the central copy was identical, the only odd
239 one was that the Solaris os::connect had some funky error handling
240
241 17-7
242
243 CLOCK_MONOTONIC is now just on.
244 Needed to remove os::supports_monotonic_clock() from os_solaris.inline.hpp
245 Remove javaTimeMillis() and javaTimeSystemUTC() and javaTimeNanos()
246 and javaTimeNanos_info() from os_solaris.cpp
247 Parker::park and Parker::unpark no longer compile, park.hpp has been
248 modified so we need to make sure _counter is present in
249 os_solaris.hpp; that makes it compile but it then crashes the jvm in there
250 The posix variant removed the guarantee in PlatformParker; we need to
251 do the same, fix the signature, and provide an implementation.
252 (The PlatformParker piece took a lot of effort.)
253
254 17-6
255
256 we now have perfMemory_posix.cpp, so perfMemory_solaris.ccp should be
257 removed or the build fails with multiply defined symbols
258
259 17-5
260
261 make/CompileJavaModules.gmk has mostly been gutted; ignore our patch
262 as it seem to build fine without
263
264 os.cpp needs to include alloca.h, see illumos-port-11.patch
265
266 17-4
267
268 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/asm/Disassembler.java
269 has been refactored, but the new version appears to do the same thing
270 as we need in a platform-independent manner, so drop our patch
271
272 17-3
273
274 make/common/Modules.gmk has been completely redone; remove our patch
275
276 17-2
277
278 More memory stuff; pd_uncommit_memory pd_reserve_memory
279 pd_attempt_reserve_memory_at have changed signatures, with an extra
280 bool argument (that appears to be unused, at least linux and aix
281 don't make any use of it; this appears to be a Mac thing)
282
283 17-0/17-1
284
285 Quite a lot of refactoring of the toolchain stuff.
286
287 The page_size rework is really quite massive. The old _page_sizes was
288 an array you manipulated directly. It's now a set. This needs various
289 changes:
290
291 os::Solaris::is_valid_page_size() is just _page_sizes.contains()
292
293 Not strictly broken, but easy to fix: in mpss_sanity_check, we can
294 simplify the getpagesizes() stuff as we know we're modern
295
296 Rework listing of valid page sizes
297
298 This is a bit ugly because we don't really end up using the new
299 _page_sizes, but instead emulate the old array. Still, I can't find
300 examples of how the new way is supposed to work on any other platform.
301
302 Also need to implement print_memory_mappings, as a no-op (like AIX is)
303
304 That's enough to make it compile; it blows up with an arithmetic
305 exception, apparently inside apply_ergo(). In mpss_sanity_check, we
306 need to make sure page_size (which is really a pointer to
307 _large_page_size) is initialized to the largest valid page size.
308
309 Build:
310
311 env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin bash ./configure \
312 --enable-unlimited-crypto --with-boot-jdk=/usr/jdk/instances/jdk16 \
313 --with-native-debug-symbols=none \
314 --with-toolchain-type=gcc \
315 --disable-dtrace \
316 --disable-warnings-as-errors \
317 --enable-deprecated-ports=yes \
318 --with-jobs=3
319
320 env PATH=/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/gnu/bin gmake all