Compare commits

...

1922 Commits

Author SHA1 Message Date
Vitaly Provodin
474ec42860 updated JTreg exclude list 2020-05-29 07:00:40 +03:00
Mikhail Grishchenko
d466fc83ea updated JTreg exclude list 2020-05-29 07:00:40 +03:00
Vitaly Provodin
2cf0654d3c updated JTreg exclude list 2020-05-29 07:00:40 +03:00
Vitaly Provodin
e4dea4aaeb updated JTreg exclude list 2020-05-29 07:00:40 +03:00
Vitaly Provodin
1db818fc19 switch boot_jdk to 14.0.1 2020-05-29 07:00:40 +03:00
Vitaly Provodin
e56bc4959f updated JTreg exclude list 2020-05-29 07:00:40 +03:00
Vitaly Provodin
8dc3df99f0 restore actual docker file 2020-05-29 07:00:39 +03:00
Vitaly Provodin
c5d4ec6d18 remove the Nashorn JavaScript Engine
see http://openjdk.java.net/jeps/372,
https://bugs.openjdk.java.net/browse/JDK-8236933 and https://bugs.openjdk.java.net/browse/JDK-8241749
2020-05-29 07:00:39 +03:00
Vitaly Provodin
f81062a473 updated JTreg exclude list 2020-05-29 07:00:39 +03:00
Vitaly Provodin
81f80e1a13 updated JTreg exclude list 2020-05-29 07:00:39 +03:00
Vitaly Provodin
e97efd6bef updated JTreg exclude list 2020-05-29 07:00:39 +03:00
Vitaly Provodin
e9b5168e00 updated JTreg exclude list 2020-05-29 07:00:39 +03:00
Vitaly Provodin
bb5edd24aa updated JTreg exclude list 2020-05-29 07:00:39 +03:00
Vitaly Provodin
68576a4512 JBR-2212 add JBR building scripts 2020-05-29 07:00:39 +03:00
Vitaly Provodin
e0ca66f766 update modules.list from master 2020-05-29 07:00:39 +03:00
Alexey Ushakov
f67765b1ff Updated Docker config to build jbr15 2020-05-29 07:00:38 +03:00
Vitaly Provodin
11484656a0 JBR-2130: remove jdk.pack from JBR 2020-05-29 07:00:38 +03:00
Vitaly Provodin
20b1a4d03a updated JTreg exclude list 2020-05-29 07:00:38 +03:00
Vitaly Provodin
8d7ad8b001 updated JTreg exclude list 2020-05-29 07:00:38 +03:00
Vitaly.Provodin
48e0a595b4 updated JTreg exclude list 2020-05-29 07:00:38 +03:00
Anton Tarasov
a9b0d2dc4e Correct modules.list 2020-05-29 07:00:38 +03:00
Anton Tarasov
dc71e41406 Add modules.list 2020-05-29 07:00:38 +03:00
Vitaly Provodin
8f068edac9 add notarization scripts 2020-05-29 07:00:38 +03:00
Alexey Ushakov
8a1649590f Added Dockerfile for linux build environment 2020-05-29 07:00:37 +03:00
David Holmes
7228978b19 8242504: Enhance the system clock to nanosecond precision
Co-authored-by: Mark Kralj-Taylor <kralj.mark@gmail.com>
Reviewed-by: dfuchs, rriggs, dcubed, vtewari
2020-05-28 22:34:02 -04:00
Kim Barrett
60ac615aa8 8240259: Disable -Wshift-negative-value warnings
Disable warning for gcc/clang.

Reviewed-by: ihse, iklam
2020-05-28 21:40:35 -04:00
Mikael Vidstedt
e29685febd 8246109: Remove unneeded undef CS
Reviewed-by: dcubed
2020-05-28 17:21:00 -07:00
Chris Plummer
e0d03881d0 8244668: Remove SA's javascript support
Reviewed-by: sspitsyn, sundar
2020-05-28 17:12:14 -07:00
Chris Plummer
de34e258ef 8244622: Remove SA's memory/FreeChunk.java. It's no longer used
Reviewed-by: sspitsyn, stefank, coleenp
2020-05-28 17:08:15 -07:00
Daniil Titov
7045a46250 8244993: Revert changes to OutputAnalyzer stderrShouldBeEmptyIgnoreVMWarnings() that allow version strings
Reviewed-by: dholmes, cjplummer
2020-05-28 15:58:59 -07:00
Jesper Wilhelmsson
6df2a95d17 Added tag jdk-15+25 for changeset 90b266a84c06 2020-05-28 23:30:34 +02:00
Alex Menkov
f3c463b50a 8244703: "platform encoding not initialized" exceptions with debugger, JNI
Reviewed-by: alanb, sspitsyn
2020-05-28 11:39:51 -07:00
Igor Veresov
23ce03d2ca 8245505: Prelink j.l.ref.Reference when loading AOT library
Reviewed-by: dlong, kvn
2020-05-28 11:36:39 -07:00
Aleksey Shipilev
b189d0b918 8245478: Implementation: JEP 379: Shenandoah: A Low-Pause-Time Garbage Collector (Production)
Reviewed-by: rkennke, smonteith, zgu
2020-05-28 18:50:58 +02:00
Aleksey Shipilev
3459f9b861 8245942: Shenandoah: x86_32 builds fail after JDK-8245594
Reviewed-by: zgu
2020-05-28 18:50:56 +02:00
Mikael Vidstedt
f702f4d93a 8246023: Obsolete LIRFillDelaySlot
Reviewed-by: thartmann, kvn
2020-05-28 09:26:11 -07:00
Aleksey Shipilev
a9477eb8c9 8245718: Epsilon: improve configuration logging
Reviewed-by: rkennke
2020-05-28 18:17:21 +02:00
Mikael Vidstedt
919f10c407 8245864: Obsolete BranchOnRegister
Reviewed-by: thartmann, kvn
2020-05-28 09:08:53 -07:00
Roman Kennke
6f4f6a2a59 8245955: Shenandoah: Remove LRB/is_redundant optimization
Reviewed-by: roland, shade
2020-05-28 16:43:04 +02:00
Roland Westrelin
57388f807f 8244504: C2: refactor counted loop code in preparation for long counted loop
Reviewed-by: jrose, thartmann
2020-05-28 14:34:01 +02:00
Adam Sotona
456fe234ce 8230827: javac gives inappropriate warning about potentially ambiguous methods
Fix of too strict com.sun.tools.javac.comp.Comp:checkPotentiallyAmbiguousOverloads method

Reviewed-by: jlahoda
2020-05-28 10:52:37 +02:00
Jan Lahoda
7671f2716b 8245786: Scope is wrong for ClassTree representing record
Listing RECORD as a class-like Tree Kind while computing Scope.

Reviewed-by: jjg
2020-05-28 13:37:39 +02:00
Ao Qi
dfc7905a10 8246027: Minimal fastdebug build broken after JDK-8245801
Added COMPILER2_PRESENT macro

Reviewed-by: shade, thartmann
2020-05-28 09:15:25 +02:00
Athijegannathan Sundararajan
8ea971e373 8246034: Remove java.base/share/classes/jdk/internal/jrtfs/jrtfsviewer.js and java.base/share/classes/jdk/internal/jrtfs/jrtls.js
Reviewed-by: jlaskey, alanb
2020-05-28 12:38:03 +05:30
David Holmes
686ca5ae49 8243936: NonWriteable system properties are actually writeable
Reviewed-by: iklam, dcubed
2020-05-28 02:58:56 -04:00
Jesper Wilhelmsson
60ce159dad Added tag jdk-15+25 for changeset 588330449887 2020-05-28 08:23:00 +02:00
Jonathan Gibbons
4aea73361d 8245062: HtmlStyle: group and document members for nav, header, summary, details
Reviewed-by: hannesw
2020-05-27 16:44:10 -07:00
Yumin Qi
e6855f20b0 8245264: Test runtime/cds/appcds/SignedJar.java fails
Concurrent work of symbol table caused _shared_table not walkable in dumping archive which led symbols not sorted in shared archive. Change to use do_safepoint_scan of _local_table to collect symbols.

Reviewed-by: iklam, ccheung
2020-05-27 16:04:28 -07:00
Claes Redestad
7e85b2c787 8245969: Simplify String concat constant folding
Reviewed-by: psandoz, forax
2020-05-28 00:35:04 +02:00
Claes Redestad
69f7f95b93 8245959: Extend String concat testing to account for folded constants
Reviewed-by: psandoz
2020-05-28 00:34:41 +02:00
Mikael Vidstedt
4ad89925d0 8245850: Obsolete UseLWPSynchronization
Reviewed-by: dholmes, dcubed
2020-05-27 14:31:23 -07:00
Xue-Lei Andrew Fan
17a298962c 8206925: Support the certificate_authorities extension
Reviewed-by: mullan
2020-05-27 09:46:40 -07:00
Alexander Matveev
6f5e8a2aa3 8237908: [TESTBUG] [macos] Add support to jtreg helpers to unpack pkg packages
Reviewed-by: herrick, asemenyuk
2020-05-27 09:30:46 -04:00
Alexander Matveev
93d89d3bf3 8242786: [macos] tools/jpackage/share/IconTest.java fails: ABORT trying to dequeue work
Reviewed-by: herrick, asemenyuk
2020-05-27 09:14:20 -04:00
Andy Herrick
4af3a1e078 8245202: Convert existing jpackage tests to newer form
Reviewed-by: asemenyuk, almatvee
2020-05-27 08:59:43 -04:00
Zhengyu Gu
afbdb4932e 8245827: Shenandoah: Cleanup Shenandoah code root iterators and root scanner
Reviewed-by: shade
2020-05-27 10:55:39 -04:00
Adam Sotona
954db3353e 8241312: missing code coverage for records
Added tests for better coverage of records

Reviewed-by: vromero
2020-05-27 10:16:19 -04:00
Aleksey Shipilev
37c3b0bf10 8245814: Shenandoah: reconsider format specifiers for stats
Reviewed-by: rkennke
2020-05-27 15:57:42 +02:00
Zhengyu Gu
b8d49f8c2f 8245825: Shenandoah: Remove diagnostic flag ShenandoahConcurrentScanCodeRoots
Reviewed-by: shade
2020-05-27 08:53:49 -04:00
Zhengyu Gu
db1ef58d5c 8245823: Shenandoah: inline/optimize ShenandoahEvacOOMScope
Reviewed-by: shade, rkennke
2020-05-27 08:36:47 -04:00
Vaibhav Choudhary
c14590378a 8245179: JvmciNotifyBootstrapFinishedEventTest.java fails with custom Tiered Level set externally
Fixed to not to run the testcase with TieredStopAtLevel set

Reviewed-by: thartmann
2020-05-27 17:28:22 +05:30
Tobias Hartmann
76ac621394 8245801: StressRecompilation triggers assert "redundunt OSR recompilation detected. memory leak in CodeCache!"
Assert is too strong.

Reviewed-by: roland
2020-05-27 13:26:23 +02:00
Claes Redestad
5200d162bc 8245756: Reduce bootstrap cost of StringConcatFactory prependers
Reviewed-by: forax, psandoz
2020-05-27 12:42:55 +02:00
Stefan Johansson
6e1403480a 8245724: Move g1 periodic gc logging to G1InitLogger
Reviewed-by: kbarrett, tschatzl
2020-05-27 11:48:33 +02:00
Stefan Johansson
2ff952bf32 8245723: Remove PrintCompressedOopsMode and change gc+heap+coops info log to debug level
Reviewed-by: dholmes, coleenp, tschatzl
2020-05-27 11:48:13 +02:00
Aleksey Shipilev
d0294c3845 8245812: Shenandoah: compute root phase parallelism
Reviewed-by: zgu
2020-05-27 09:22:24 +02:00
Xiaohong Gong
bc669dfc82 8243339: AArch64: Obsolete UseBarriersForVolatile option
Reviewed-by: adinn, aph, drwhite
2020-05-27 15:17:09 +08:00
Serguei Spitsyn
1357c01e57 8245392: Remove duplication in class redefinition and retransformation specs
Remove duplications from the Instrumentation, JDI and JDWP redefinition specs

Reviewed-by: dholmes, cjplummer
2020-05-27 03:21:15 +00:00
Kim Barrett
eb20ed7374 8228692: BitMap::reallocate might not clear some bits
Ensure trailing bits in last copied word are cleared.

Reviewed-by: tschatzl, sjohanss
2020-05-26 21:26:57 -04:00
Igor Ignatyev
64c5823aa4 8245870: GTEST_FRAMEWORK_SRC should go through UTIL_FIXUP_PATH
Reviewed-by: erikj
2020-05-26 15:11:33 -07:00
John Jiang
845799935b 8245134: test/lib/jdk/test/lib/security/KeyStoreUtils.java should allow to specify aliases
Reviewed-by: valeriep
2020-05-27 05:42:28 +08:00
Igor Ignatyev
846fd238fc 8245610: remove in-tree copy on gtest
Reviewed-by: erikj, ihse
2020-05-26 13:33:00 -07:00
Michael McMahon
5374383dcd 8245582: j.net.URLConnection::getHeaderFieldKey(int) behavior does not reliably conform to its specification
Reviewed-by: chegar, dfuchs
2020-05-26 21:29:33 +01:00
Jonathan Gibbons
aabcf9f792 8245847: Update Profile.java to not require per-release updates
Reviewed-by: darcy
2020-05-26 13:25:23 -07:00
Pavel Rappo
0400119e5b 8245841: Remove unused com.sun.tools.javac.comp.Modules.XMODULES_PREFIX
Reviewed-by: jjg
2020-05-26 21:20:34 +01:00
Mikael Vidstedt
1401fe0087 8245521: Remove STACK_BIAS
Reviewed-by: dholmes, mbaesken, kvn
2020-05-26 12:36:59 -07:00
Mikael Vidstedt
44a0a08991 8245600: Clean up libjli
Reviewed-by: dholmes, alanb
2020-05-26 10:18:32 -07:00
Coleen Phillimore
6aa15ad7ab 8166358: Re-enable String verification in java_lang_String::create_from_str()
Check for invalid strings in class names in debug mode, and only verify valid strings in create_for_str().

Reviewed-by: dholmes, hseigel
2020-05-26 09:44:17 -04:00
Aleksey Shipilev
a689a1108c 8245773: Shenandoah: Windows assertion failure after JDK-8245464
Reviewed-by: stuefe
2020-05-26 13:07:21 +02:00
Aleksey Shipilev
c31cae7b53 8245720: Shenandoah: improve configuration logging
Reviewed-by: rkennke
2020-05-26 13:06:42 +02:00
Thomas Schatzl
035d5dffb1 8245088: Always provide logs for G1 heap expansion calculations
Reviewed-by: sjohanss, kbarrett
2020-05-26 09:25:23 +02:00
Thomas Schatzl
bf1f78b9f0 8245087: Use ratios instead of percentages in G1HeapSizingPolicy::expansion_amount
Reviewed-by: kbarrett, sjohanss
2020-05-26 09:25:23 +02:00
Thomas Schatzl
47be3b098e 8245086: G1: Rename measured pause time ratios
Reviewed-by: sjohanss, kbarrett
2020-05-26 09:25:21 +02:00
Aleksey Shipilev
220061b13e 8245757: Shenandoah: AlwaysPreTouch should not disable heap resizing or uncommits
Reviewed-by: rkennke
2020-05-26 09:31:00 +02:00
Aleksey Shipilev
1a8b2a700e 8245755: Shenandoah: missing logging for CWR Roots
Reviewed-by: rkennke
2020-05-26 09:30:23 +02:00
Aleksey Shipilev
ad7f611149 8245754: Shenandoah: ditch ShenandoahAlwaysPreTouch
Reviewed-by: rkennke
2020-05-26 09:30:17 +02:00
Aleksey Shipilev
66f6c8c3fe 8245726: Shenandoah: lift/cleanup ShenandoahHeuristics names and properties
Reviewed-by: rkennke
2020-05-26 09:30:09 +02:00
Aleksey Shipilev
30b750dcd0 8245722: 32-bit build failures after JDK-8243491
Reviewed-by: stuefe
2020-05-26 09:29:00 +02:00
Stefan Johansson
371a663180 8244817: Add configuration logging similar to ZGCs to other GCs
Reviewed-by: kbarrett, pliden, shade
2020-05-26 09:18:13 +02:00
Jie Fu
039b259e94 8245761: [TESTBUG] runtime/logging/TestMethodHandlesVerbose.java fails with release VMs
Reviewed-by: dholmes
2020-05-26 09:18:27 +08:00
Kim Barrett
d3042cc401 8245594: Remove volatile-qualified member functions and parameters from oop class
Remove volatile qualifications in oop and derived classes; use Atomic for access.

Reviewed-by: dholmes, coleenp
2020-05-25 16:21:25 -04:00
Christoph Dreis
bc822ffad8 8245678: Avoid allocations in Executable.getAllGenericParameterTypes
Reviewed-by: jlaskey, redestad
2020-05-25 22:26:18 +02:00
Christoph Dreis
742d35e08a 8245677: Optimize lookups in empty HashMaps
Reviewed-by: jlaskey, redestad
2020-05-25 22:21:45 +02:00
Daniel Fuchs
e04e052889 8239013: java.util.logging.Logger catalog cache keeps strong references to ResourceBundles
Changed the Logger catalog cache to use WeakReference<ResourceBundle>

Reviewed-by: lancea, mchung, naoto
2020-05-25 17:59:40 +01:00
Martin Doerr
ce4e780f53 8244949: [PPC64] Reengineer assembler stop function
Reviewed-by: lucy, xliu
2020-05-25 18:39:31 +02:00
Erik Gahlin
ad940d3154 8245120: JFR: Parser unable to return typed version
Reviewed-by: mgronlun
2020-05-25 16:36:34 +02:00
Claes Redestad
36c4b11bc6 8245455: Remove alternative StringConcatFactory strategies
Reviewed-by: jlaskey, psandoz, forax, mchung
2020-05-25 12:03:30 +02:00
Chris Hegarty
f3eb44a94d 8243491: Implementation of Foreign-Memory Access API (Second Incubator)
Upstream latest changes of the Foreign-Memory Access API

Co-authored-by: Jorn Vernee <jorn.vernee@oracle.com>
Co-authored-by: Mandy Chung <mandy.chung@oracle.com>
Co-authored-by: Paul Sandoz <paul.sandoz@oracle.com>
Co-authored-by: Peter Levart <peter.levart@gmail.com>
Reviewed-by: chegar, psandoz
2020-05-25 10:54:39 +01:00
Christian Hagedorn
9b94b9d1a1 8244946: fatal error: memory leak: allocating without ResourceMark with -XX:+Verbose -Xlog:methodhandles
Fix crash due to a missing ResourceMark when logging methodhandles with Verbose.

Reviewed-by: dcubed, dholmes, coleenp
2020-05-25 11:34:11 +02:00
Aleksey Shipilev
de4b15e52e 8245465: Shenandoah: test_in_cset can use more efficient encoding
Reviewed-by: rkennke, roland
2020-05-25 11:05:23 +02:00
Aleksey Shipilev
360554e41f 8245464: Shenandoah: allocate collection set bitmap at lower addresses
Reviewed-by: rkennke
2020-05-25 11:05:23 +02:00
Aleksey Shipilev
4059e44b94 8244729: Shenandoah: remove resolve paths from SBSA::generate_shenandoah_lrb
Reviewed-by: rkennke
2020-05-25 11:05:23 +02:00
Aleksey Shipilev
008d69e5e2 8245703: 32-bit build failures after JDK-8243392
Reviewed-by: dholmes, stuefe
2020-05-25 11:04:08 +02:00
John Jiang
98cb95b7b7 8245691: Add EdDSA certificstes to SSLSocketTemplate and CertUtils
Reviewed-by: xuelei
2020-05-25 11:29:56 +08:00
Thomas Stuefe
04e6b743db 8243392: Remodel CDS/Metaspace storage reservation
Reviewed-by: iklam, coleenp, ngasson, aph
2020-05-24 19:25:29 +02:00
Serguei Spitsyn
8e01f3ad02 8244571: assert(!_thread->is_pending_jni_exception_check()) failed: Pending JNI Exception Check during class loading
Fix the -Xcheck:jni asserts

Reviewed-by: dholmes, cjplummer
2020-05-23 10:39:07 +00:00
Hai-May Chao
ccd7d70586 8245665: Test WeakAlg.java should only make sure no warning for weak signature algorithms by keytool on root CA
Reviewed-by: weijun
2020-05-23 14:49:55 +08:00
Michael McMahon
2f80d69518 8241389: URLConnection::getHeaderFields returns result inconsistent with getHeaderField/Key for FileURLConnection, FtpURLConnection
Reviewed-by: dfuchs
2020-05-22 21:59:40 +01:00
Chris Plummer
9dc6f10755 8244203: sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java fails with NullPointerException
Reviewed-by: sspitsyn, dtitov
2020-05-22 13:29:26 -07:00
Vladimir A Ivanov
4aa057013c 8245517: java/net/SocketOption/AfterClose.java fails with Invalid value 'READ_ONLY'
Reviewed-by: dfuchs, pconcannon
2020-05-22 10:25:40 -07:00
Vladimir A Ivanov
505d3da49b 8245569: Add jtreg tests for SO_INCOMING_NAPI_ID
Reviewed-by: dfuchs, pconcannon
2020-05-22 10:18:34 -07:00
Erik Gahlin
50f24ca0cb 8227559: JFR: Slow dump with path-to-gc-roots=true
Reviewed-by: mgronlun
2020-05-22 16:55:13 +02:00
Claes Redestad
b2269be8db 8245623: Remove unused code in sun/nio/fs after Solaris removal
Reviewed-by: alanb
2020-05-22 14:21:30 +02:00
Claes Redestad
de37507b8e 8245619: Remove unused methods in UnixNativeDispatcher
Reviewed-by: alanb
2020-05-22 12:10:55 +02:00
Claes Redestad
113c48f5da 8215401: Add isEmpty default method to CharSequence
Reviewed-by: jlaskey, rriggs, jjg, alanb, smarks, darcy
2020-05-22 11:20:57 +02:00
Ioi Lam
7d330d34f1 8245335: [TESTBUG] DeterministicDump.java fails with release JVM
Reviewed-by: stuefe, dholmes, jiefu
2020-05-21 15:56:27 -07:00
Naoto Sato
ea38873d30 8239480: Support for CLDR version 37
Reviewed-by: joehw
2020-05-21 13:56:11 -07:00
Naoto Sato
b5b6ae32d2 8245241: Incorrect locale provider preference is not logged
Reviewed-by: joehw, dfuchs
2020-05-21 13:55:06 -07:00
Coleen Phillimore
e3be308329 8245260: Missing file header for test/hotspot/jtreg/containers/docker/TEST.properties
Reviewed-by: dcubed, hseigel
2020-05-21 16:45:55 -04:00
Prasanta Sadhukhan
270674ce1b Merge 2020-05-21 09:56:19 +05:30
Mikael Vidstedt
20dbc949d5 8245518: Problem list java/net/SocketOption/AfterClose.java
Reviewed-by: dholmes
2020-05-20 19:16:54 -07:00
Erik Gahlin
040d70c155 8238592: JFR: Crash when dumping paths to gc roots on deep heaps
Reviewed-by: mgronlun
2020-05-21 04:09:18 +02:00
Jesper Wilhelmsson
804576efd9 Added tag jdk-15+24 for changeset 497fd9f9129c 2020-05-21 03:53:18 +02:00
Phil Race
f39a0d585b Merge 2020-05-20 17:40:46 -07:00
Mikael Vidstedt
071bd521bc 8244224: Implementation of JEP 381: Remove the Solaris and SPARC Ports
Reviewed-by: alanb, bchristi, dcubed, dfuchs, eosterlund, erikj, glaubitz, ihse, iignatyev, jjiang, kbarrett, ksrini, kvn, naoto, prr, rriggs, serb, sspitsyn, stefank, tschatzl, valeriep, weijun, weijun
2020-05-20 17:33:37 -07:00
Erik Gahlin
9fe4b69c1a 8235921: jdk/jfr/event/oldobject/TestLargeRootSet.java times out with debug bits
Reviewed-by: mgronlun
2020-05-21 01:36:46 +02:00
Phil Race
59dc384fbd Merge 2020-05-20 08:40:27 -07:00
Thomas Stuefe
66514251c1 8244733: Add ResourceHashtable::xxx_if_absent
Reviewed-by: coleenp, iklam, rehn, dholmes
2020-05-20 15:56:39 +02:00
Aleksey Shipilev
ac93f38b16 8245463: Shenandoah: refine ShenandoahPhaseTimings constructor arguments
Reviewed-by: zgu
2020-05-20 15:24:32 +02:00
Aleksey Shipilev
0a94d85172 8245461: Shenandoah: refine mode name()-s
Reviewed-by: zgu
2020-05-20 15:24:16 +02:00
Erik Österlund
3f7cd1f204 8244416: Remove incorrect assert during inline cache cleaning
Reviewed-by: kvn, pliden
2020-05-20 13:20:08 +00:00
Jim Laskey
afe76a97d5 8245398: Remove addition preview adornment from String::formatted
Reviewed-by: psandoz
2020-05-20 10:00:52 -03:00
Magnus Ihse Bursie
600d82adf8 8245281: Disabling hotspot gtest builds make it impossible to run tests
Reviewed-by: erikj
2020-05-20 14:09:18 +02:00
Jan Lahoda
d191d2f4e2 8245445: Langtools NetBeans ant build broken after JDK-8244093
Correcting paths in the NetBeans-specific langtools ant build.

Reviewed-by: mcimadamore
2020-05-20 13:23:46 +02:00
Coleen Phillimore
47ceb80368 8245428: Remove unused oopFactory functions
Reviewed-by: stuefe, dholmes
2020-05-20 07:00:25 -04:00
Tejpal Rebari
9ae8b32dee 8233553: [TESTBUG] JSpinner test bug4973721.java fails on MacOS
Reviewed-by: psadhukhan
2020-05-20 15:04:37 +05:30
Stefan Karlsson
3d659eff6e 8245000: Windows GDI functions don't support large pages
Reviewed-by: kbarrett, sjohanss
2020-05-20 08:56:40 +02:00
Stefan Karlsson
6f29ba1991 8245002: Windows GDI functions don't support NUMA interleaving
Reviewed-by: kbarrett, sjohanss, tschatzl
2020-05-19 13:40:02 +02:00
Markus Grönlund
0d5f6548a9 8245042: Improve scalability of reading Windows Performance counters via PDH when using the Process object
Reviewed-by: dcubed, egahlin
2020-05-20 12:06:05 +02:00
Per Lidén
8c7fac8a2d 8245450: ZGC: Remove unused ZArguments::initialize_platform()
Reviewed-by: tschatzl
2020-05-20 11:59:09 +02:00
Claes Redestad
6812f6f641 8218173: exception during StringConcatFactory clinit breaks string concat with no fallback
Reviewed-by: psandoz, jlaskey
2020-05-20 11:35:58 +02:00
Erik Österlund
6508c5a38d 8243996: Remove hardcoded field offsets from HotSpot
Reviewed-by: jrose, coleenp, dholmes, fparain
2020-05-20 09:31:38 +00:00
Phil Race
1f233c8b99 6949753: [TEST BUG]: java/awt/print/PageFormat/PDialogTest.java needs update by removing a infinite loop
Reviewed-by: jdv
2020-05-18 17:16:29 -07:00
Sergey Bylokhov
9c415c4d52 8243925: Toolkit#getScreenInsets() returns wrong value on HiDPI screens (Windows)
Reviewed-by: prr, psadhukhan
2020-05-18 15:27:54 +01:00
Jayathirth D V
08ded85a5c 8245165: Update bug id for javax/swing/text/StyledEditorKit/4506788/bug4506788.java in ProblemList
Reviewed-by: psadhukhan
2020-05-18 15:50:22 +05:30
Prasanta Sadhukhan
f76b6e7450 8238824: [macos] javax/swing/JSpinner/4840869/bug4840869.java fails on macos
Reviewed-by: serb, prr
2020-05-18 11:18:51 +05:30
Tejpal Rebari
4cf3e6bfd8 8238085: PIT: javax/swing/JSpinner/8223788/JSpinnerButtonFocusTest.java fails on Mac
Reviewed-by: serb
2020-05-13 19:53:02 +05:30
Tejpal Rebari
79905b14b1 8229856: [macos] Opening a menu on a JTextField can clear the text selection
Reviewed-by: psadhukhan, jdv
2020-05-13 19:43:46 +05:30
Prasanta Sadhukhan
d8510ea0c1 Merge 2020-05-09 09:49:08 +05:30
Aleksey Shipilev
15d7ef7102 8244667: Shenandoah: SBC2Support::test_gc_state takes loop for wrong control
Reviewed-by: rkennke
2020-05-08 23:17:17 +02:00
Evgeny Nikitin
bdb8ef1d18 8242150: [GRAAL] Add jtreg "serviceability/sa/ClhsdbJstackXcompStress.java" to graal problem list
Reviewed-by: kvn
2020-05-08 18:59:03 +02:00
Vladimir A Ivanov
93fcbec20a 8243099: SO_INCOMING_NAPI_ID support
Add support for the SO_INCOMING_NAPI_ID socket option to jdk.net.ExtendedSocketOptions

Co-authored-by: Dinesh Kumar <dinesh.kumar@intel.com>
Reviewed-by: alanb, chegar, dfuchs, vtewari, pconcannon
2020-05-20 15:12:28 -07:00
Erik Joelsson
822ec45b02 8245401: AbsPathsInImage.java fails on Windows on jdwp.dll
Reviewed-by: mikael, ihse
2020-05-20 14:30:28 -07:00
Zhengyu Gu
3802524153 8245288: Shenandoah: move up ShenandoahEvacOOM scope for code root processing during concurrent class unloading
Reviewed-by: shade
2020-05-20 17:45:07 -04:00
Kim Barrett
5b3c33ac67 8245022: ParallelGC abuses StarTask to also include partial objarray scan tasks
Change ParallelGC young collections to use ScannerTasks.

Reviewed-by: tschatzl, sjohanss
2020-05-20 17:21:16 -04:00
Zhengyu Gu
275079ce7f 8245240: Shenandoah: support nesting evacuation OOM scope
Reviewed-by: shade, rkennke
2020-05-20 17:16:42 -04:00
Xin Liu
612c38cdc9 8245051: c1 is broken if it is compiled by gcc without -fno-lifetime-dse
Initialize BlockBegin block id in constructor rather than operator new

Reviewed-by: kbarrett, thartmann
2020-05-20 11:29:11 -07:00
Daniel Fuchs
58adc04d69 8244031: HttpClient should have more tests for HEAD requests
Http2TestExchangeImpl.java updated to support HEAD responses; ForbiddenHeadTest.java added.

Reviewed-by: chegar, michaelm
2020-05-20 18:57:06 +01:00
Mandy Chung
692f753580 8240910: jmod rejects duplicate entries in --class-path jars
Reviewed-by: alanb, lancea
2020-05-08 08:23:35 -07:00
Erik Gahlin
f3519016c7 8244508: JFR: FlightRecorderOptions reset date format
Reviewed-by: mgronlun
2020-05-08 15:34:14 +02:00
Sean Mullan
e544a6afc5 Merge 2020-05-08 08:13:15 -04:00
Sean Mullan
59eb03151a 8237888: security/infra/java/security/cert/CertPathValidator/certification/LuxTrustCA.java fails when checking validity interval
Reviewed-by: xuelei
2020-05-08 08:12:21 -04:00
Magnus Ihse Bursie
d5b5059af5 8244653: Suppress gcc 9.1 ABI change notes on aarch64
Reviewed-by: kbarrett
2020-05-08 14:10:36 +02:00
Aleksei Efimov
3f505750ed 8237834: com/sun/jndi/ldap/LdapDnsProviderTest.java failing with LDAP response read timeout
Reviewed-by: dfuchs
2020-05-08 11:23:37 +01:00
Jan Lahoda
3beee2cd93 8242919: Paste locks up jshell
Not waiting until the full block is available while reading from input.

Reviewed-by: rfield
2020-05-08 09:16:12 +02:00
Prasanta Sadhukhan
b75ea9b069 Merge 2020-05-08 09:52:42 +05:30
Prasanta Sadhukhan
1f2f808794 8233643: [TESTBUG] JMenu test bug4515762.java fails on macos
Reviewed-by: serb
2020-05-08 09:45:57 +05:30
Prasanta Sadhukhan
5f0d11e1e9 8233642: [TESTBUG] JMenuBar test bug 4750590.java fails on macos
Reviewed-by: serb
2020-05-08 09:43:13 +05:30
Jie Fu
13d6b49ed8 8244625: Zero VM is broken after JDK-8244550 (java_lang_Class::as_Klass(oopDesc*) undefined)
Reviewed-by: dholmes
2020-05-08 09:23:50 +08:00
Jesper Wilhelmsson
601891ac2b 8244618: WinUpgradeUUIDTest.java fails after JDK-8236518
Reviewed-by: dholmes
2020-05-08 02:43:36 +02:00
Zhengyu Gu
88722a82ed 8244243: Shenandoah: Cleanup Shenandoah phase timing tracking and JFR event supporting
Reviewed-by: shade
2020-05-07 17:44:53 -04:00
Aleksei Efimov
61864c28d1 8062947: Fix exception message to correctly represent LDAP connection failure
Reviewed-by: dfuchs, xyin, vtewari
2020-05-07 19:18:22 +01:00
Xin Liu
e05227a2ce 8244248: boot-jdk.m4 captures the version line using regex
Use awk instead of head

Reviewed-by: ihse, erikj
2020-05-07 11:13:21 -07:00
Prasanta Sadhukhan
f64bdedeac 8244557: test/jdk/javax/swing/JTabbedPane/TestBackgroundScrollPolicy.java failed
Reviewed-by: prr
2020-05-07 22:29:25 +05:30
Naoto Sato
ed4bc1bf23 8244245: localizedBy() should override localized values with default values
Reviewed-by: joehw, rriggs, scolebourne
2020-05-07 09:27:48 -07:00
Andy Herrick
29f015cf61 8236518: There is no Native Packages WinUpgradeUUIDTest-2.0.exe after creating Native packages on win
Reviewed-by: asemenyuk, almatvee
2020-05-07 10:54:18 -04:00
Magnus Ihse Bursie
1a16a4b628 8244592: Start supporting SOURCE_DATE_EPOCH
Reviewed-by: erikj
2020-05-07 17:47:11 +02:00
Magnus Ihse Bursie
74132fe7e1 8244615: build-performance.m4 is not always parsing /proc/cpuinfo correctly
Reviewed-by: erikj
2020-05-07 17:44:21 +02:00
Aleksey Shipilev
54b49db321 8244606: Non-PCH build is broken after JDK-8244550
Reviewed-by: redestad, dcubed
2020-05-07 16:44:48 +02:00
Alan Bateman
f6dda95113 8243596: ModuleLayer::parents should return an unmodifiable list
Reviewed-by: mchung
2020-05-07 14:44:09 +01:00
Pavel Rappo
93b0516d5d 8224613: javadoc should better handle bad options
Reviewed-by: jjg
2020-05-07 13:59:18 +01:00
Claes Redestad
c2780c9556 8244550: Unsafe::allocateInstance does redundant transitions
Reviewed-by: coleenp, mchung, dholmes
2020-05-07 14:09:20 +02:00
Roman Kennke
62bf2d07e7 8244551: Shenandoah: Fix racy update of update_watermark
Reviewed-by: shade
2020-05-07 08:00:30 -04:00
Aleksey Shipilev
b231ad70c8 8244510: Shenandoah: invert SHC2Support::is_in_cset condition
Reviewed-by: rkennke, roland
2020-05-07 12:48:21 +02:00
Matthias Baesken
c3e3459027 8244183: linker error jpackageapplauncher on Windows 32bit
Reviewed-by: asemenyuk
2020-05-06 17:24:47 +02:00
Per Lidén
58a34f7c32 8244291: Test: gc/z/TestGarbageCollectorMXBean.java failed: "unexpected cycles"
Reviewed-by: eosterlund, tschatzl
2020-05-20 10:54:11 +02:00
Kim Barrett
e9b8463d3d 8245236: Remove MO_VOLATILE Access decorator
Use MO_RELAXED instead of MO_VOLATILE and removed MO_VOLATILE.

Reviewed-by: stefank, tschatzl
2020-05-20 02:02:48 -04:00
Nick Gasson
18db3dec42 8244164: AArch64: jaotc generates incorrect code for compressed OOPs with non-zero heap base
Reviewed-by: aph
2020-05-11 12:05:55 +08:00
Joe Darcy
6cbf57aa37 8245147: Refactor and improve utility of test/langtools/tools/javac/versions/Versions.java
Reviewed-by: vromero
2020-05-19 15:17:00 -07:00
Alex Menkov
dc3843919e 8229829: java/lang/management/ThreadMXBean/Locks.java fails with java.lang.RuntimeException: Thread WaitingThread is at WAITING state but is expected to be in Thread.State = WAITING
Reviewed-by: sspitsyn, dholmes
2020-05-19 14:46:20 -07:00
Thomas Stuefe
939c0a46a7 8245035: Clean up os::split_reserved_memory()
Reviewed-by: coleenp, stefank
2020-05-19 21:04:44 +02:00
Dan Lemmond
d3e0c4ce9c 8244966: Add .vscode to .hgignore and .gitignore
Add .vscode to .hgignore and .gitignore

Reviewed-by: erikj, ihse
2020-05-19 11:20:13 -07:00
Xin Liu
104ea2d56d 8244170: [aarch64] correct instruction typo for dcps1/2/3
Replace dpcs with dcps

Reviewed-by: adinn, phh
2020-05-19 10:38:26 -07:00
Jonathan Gibbons
554e988bea 8243396: Add a brief description of argfiles to the javadoc help output
Reviewed-by: prappo
2020-05-19 10:11:13 -07:00
Daniil Titov
9d4872f612 8241080: Consolidate signature parsing code in serviceability tools
Reviewed-by: sspitsyn, cjplummer
2020-05-19 09:40:21 -07:00
Weijun Wang
fa36d28aff 8245280: Add runtime/cds/appcds/SignedJar.java to problem list
Reviewed-by: dcubed
2020-05-19 22:06:10 +08:00
Magnus Ihse Bursie
1cb7df63e7 8245287: Start using ModuleWrapper for gensrc as well
Reviewed-by: erikj
2020-05-19 15:59:51 +02:00
Magnus Ihse Bursie
74f1e6da4e 8244093: Move all IDE support into coherent structure in make directory
Reviewed-by: mcimadamore, jlahoda, chegar, erikj
2020-05-19 15:49:46 +02:00
Martin Doerr
b6fde85f33 8245047: [PPC64] C2: ReverseBytes + Load always match to unordered Load (acquire semantics missing)
Introduce separate nodes with acquire semantics which match ReverseBytes + Load.acquire.

Reviewed-by: shade, lucy
2020-05-19 15:11:58 +02:00
Yasumasa Suenaga
ebf928a0e7 8244819: hsdis does not compile with binutils 2.34+
Reviewed-by: kvn, thartmann
2020-05-19 20:58:51 +09:00
Sibabrata Sahoo
13cf783154 8209632: Develop new tests for EdDSA API
New Tests for EdDSA

Reviewed-by: ascarpino
2020-05-19 02:36:17 -07:00
Magnus Ihse Bursie
77826c0a39 8245168: jlink should not be treated as a "small" tool
Reviewed-by: erikj
2020-05-19 09:12:10 +02:00
Per Lidén
8ec7512fec 8245106: ZGC: Fix incorrect setup when using -XX:+UseTransparentHugePages
Reviewed-by: stefank, eosterlund
2020-05-19 08:34:14 +02:00
Per Lidén
bcf99aa98e 8245098: Make SafeFetch32/N available earlier
Reviewed-by: kbarrett, dholmes
2020-05-19 08:34:14 +02:00
Per Lidén
ce6aadbd2f 8245196: ZGC: No need to disable UseBiasedLocking by default
Reviewed-by: tschatzl, kbarrett
2020-05-19 08:34:14 +02:00
Per Lidén
cc3a8595a4 8245233: ZGC: Load volatile oops using Atomic::load()
Reviewed-by: stefank, kbarrett, smonteith
2020-05-19 08:34:13 +02:00
Valerie Peng
080b3b83eb 8242151: Improve OID mapping and reuse among JDK security providers for aliases registration
Use sun.security.util.KnownOIDs enum instead of hardcoding oid strings everywhere

Reviewed-by: weijun
2020-05-19 04:05:03 +00:00
Hai-May Chao
a97932d8fc 8245151: jarsigner should not raise duplicate warnings on verification
Reviewed-by: weijun
2020-05-19 11:55:44 +08:00
Yasumasa Suenaga
4159f6852e 8233706: JFR emergency dump should be performed after error reporting
Reviewed-by: mgronlun, egahlin
2020-05-19 09:02:30 +09:00
Joe Wang
b08140dade 8245231: Javadoc for the readObject methods needs to be updated
Reviewed-by: lancea, msheppar
2020-05-18 22:13:35 +00:00
Jonathan Gibbons
039cb65753 8239816: Make handling of module / package / types consistent
Reviewed-by: hannesw
2020-05-18 13:24:35 -07:00
Zhengyu Gu
b26516309a 8245124: Shenandoah: optimize code root evacuation/update during concurrent class unloading
Reviewed-by: shade
2020-05-18 14:47:09 -04:00
Joe Wang
3eaf944203 8244342: Compilation warnings about unexpected serialization related method signatures
Reviewed-by: lancea, naoto, rriggs
2020-05-18 17:15:32 +00:00
Anthony Scarpino
fd28aad72d 8166597: Crypto support for the EdDSA Signature Algorithm
Reviewed-by: weijun, mullan, wetmore
2020-05-18 09:42:52 -07:00
Yumin Qi
02293daa64 8245070: 32-bit builds are broken after JDK-8242524
Reviewed-by: erikj, ihse
2020-05-18 09:28:06 -07:00
Coleen Phillimore
60728a487c 8242424: Deprecate InitialBootClassLoaderMetaspaceSize
8243147: Deprecate UseLargePagesInMetaspace

Mark these options for deprecation

Reviewed-by: stuefe, dcubed
2020-05-18 11:31:16 -04:00
Kim Barrett
b957788c32 8245137: aarch64 ICache flush depends on enabling gnu extensions
Use __builtin___clear_cache.

Reviewed-by: aph, dholmes
2020-05-18 10:47:52 -04:00
Andy Herrick
840c3050e9 8237971: Package type for runtime image on macosx
Reviewed-by: asemenyuk, almatvee
2020-05-18 10:11:10 -04:00
Christian Hagedorn
6bd9391f03 8244433: Remove saving of RSP in Assembler::pusha_uncached()
Remove move instruction to save the actual value of RSP in Assembler::pusha_uncached() on x86.

Reviewed-by: eosterlund, thartmann, kvn
2020-05-18 12:32:11 +02:00
Aleksey Shipilev
1ac381171e 8244509: Shenandoah: refactor ShenandoahBarrierC2Support::test_* methods
Reviewed-by: rkennke, roland
2020-05-06 11:40:27 +02:00
Roman Kennke
1c136aae13 8244595: [REDO] 8244523: Shenandoah: Remove null-handling in LRB expansion
Reviewed-by: shade
2020-05-07 12:36:59 +02:00
Roman Kennke
441e4cd91b 8244594: [BACKOUT] 8244523: Shenandoah: Remove null-handling in LRB expansion
Reviewed-by: shade
2020-05-07 12:03:08 +02:00
Roman Kennke
2f9cfb1178 8244523: Shenandoah: Remove null-handling in LRB expansion
Reviewed-by: shade, roland
2020-05-06 16:09:24 +02:00
Hai-May Chao
76507eef63 8242060: Add revocation checking to jarsigner
Reviewed-by: mullan, weijun
2020-05-07 10:48:06 +08:00
Yumin Qi
0ef6d1dff5 8244495: Some jlink tests crash on Windows after JDK-8237750
Fix of 8237750 changed the loading zip library to on-demand loading, on Windows, jlink/jimage still assume that zip has been loaded already. Fix to load zip on not loaded.

Reviewed-by: kbarrett, mchung, dholmes, dcubed
2020-05-06 19:43:57 -07:00
Erik Gahlin
6dd8443493 8243452: JFR: Could not create chunk in repository with over 200 recordings
Reviewed-by: mgronlun
2020-05-07 03:18:49 +02:00
Jesper Wilhelmsson
28f6cd5917 Added tag jdk-15+22 for changeset 7223c6d61034 2020-05-07 02:45:49 +02:00
Ioi Lam
b0f7ebc26b 8244542: ProblemList cds/DeterministicDump.java for Windows
Reviewed-by: ccheung
2020-05-06 14:20:35 -07:00
Volker Simonis
6a9d0579ca 8244094: Fix Amazon copyright in various test files
Reviewed-by: phh
2020-05-06 22:06:16 +02:00
Zhengyu Gu
0cf828153c 8241086: Test runtime/NMT/HugeArenaTracking.java is failing on 32bit Windows
Reviewed-by: stuefe
2020-05-06 16:02:10 -04:00
Jayashree Sk1
d2e6339992 6415694: Clarification in Javadoc for java.rmi.AlreadyBoundException
Reviewed-by: rriggs
2020-05-06 12:48:32 -07:00
Leonid Mesnik
b24c0d21ee 8244267: Improve serviceability task definitions in CI
Reviewed-by: cjplummer, sspitsyn
2020-05-06 11:58:41 -07:00
Daniel Fuchs
a2c35a6acb 8244205: HTTP/2 tunnel connections through proxy may be reused regardless of which proxy is selected
The key used in the HTTP/2 connection pool is updated to take into account the proxy address in case of tunnel connections

Reviewed-by: chegar
2020-05-06 19:19:38 +01:00
Gerard Ziemski
91ed3fc599 8236177: assert(status == 0) failed: error ETIMEDOUT(60), cond_wait
Extend the assert to cover the new case.

Reviewed-by: dholmes, kbarrett
2020-05-06 12:42:28 -05:00
Gerard Ziemski
1f31afd855 8237777: "Dumping core ..." is shown despite claiming that "# No core dump will be written."
Remove the unneeded and possibly misleading message.

Reviewed-by: dholmes, ysuenaga
2020-05-06 12:40:50 -05:00
Naoto Sato
09287ab1ac 8244459: Optimize the hash map size in LocaleProviderAdapters
Reviewed-by: joehw, plevart, smarks
2020-05-06 10:26:22 -07:00
Rahul Yadav
ed24927500 8240666: Websocket client’s OpeningHandshake discards the HTTP response body
The fix updates jdk.internal.net.http.websocket. OpeningHandshake.send() method to process the response body from server

Reviewed-by: chegar, dfuchs, prappo
2020-05-06 17:33:32 +01:00
Prasanta Sadhukhan
eb91535be5 8172269: When checking the default behaviour for a scroll tab layout and checking the 'opaque' checkbox, the area behind tabs is not red
Reviewed-by: serb
2020-05-06 14:02:11 +05:30
Prasanta Sadhukhan
ddb1d7a163 8232243: Wrong caret position in JTextPane on Windows with a screen resolution > 100%
Reviewed-by: prr, jdv
2020-05-06 13:58:09 +05:30
Igor Ignatyev
9f86d94580 8244491: make runtime/cds/appcds/TestZGCWithCDS.java test more robust
Reviewed-by: dholmes
2020-05-05 18:02:11 -07:00
Jim Laskey
5e83cb6ca5 8241602: jlink does not produce reproducible jimage files
Reviewed-by: alanb, ihse
2020-05-06 12:49:58 -03:00
Claes Redestad
72704aaba1 8244413: Avoid rebinds in MethodHandle.viewAsType
Reviewed-by: mchung, jrose
2020-05-06 15:51:49 +02:00
Phil Race
a040c56dd9 8221305: java/awt/FontMetrics/MaxAdvanceIsMax.java fails on MacOS + Solaris
Reviewed-by: serb
2020-05-04 11:32:21 -07:00
Prasanta Sadhukhan
823d1d222f 8233638: [TESTBUG] Swing test ScreenMenuBarInputTwice.java fails on macos
Reviewed-by: serb
2020-05-04 09:08:17 +05:30
Prasanta Sadhukhan
4071546506 8221902: PIT: javax/swing/JRadioButton/FocusTraversal/FocusTraversal.java fails on ubuntu
Reviewed-by: serb
2020-05-04 09:00:03 +05:30
Prasanta Sadhukhan
2731d62234 Merge 2020-05-02 09:00:04 +05:30
Igor Ignatyev
eb6ef3c24d 8243436: use reproducible random in :vmTestbase_nsk_monitoring
Reviewed-by: sspitsyn, cjplummer
2020-05-01 16:23:06 -07:00
Igor Ignatyev
d29e5b72f0 8243435: use reproducible random in :vmTestbase_nsk_jvmti
Reviewed-by: sspitsyn, cjplummer
2020-05-01 16:22:20 -07:00
Igor Ignatyev
56fcd54843 8243437: use reproducible random in :vmTestbase_nsk_jdi
Reviewed-by: sspitsyn, cjplummer
2020-05-01 16:21:20 -07:00
Phil Race
b938a4c5ed 8244113: [TESTBUG] java/awt/font/Rotate/RotatedSyntheticBoldTest.java test comments interpreted as args
Reviewed-by: serb
2020-05-01 14:36:32 -07:00
Rajan Halade
a777dcff82 8225069: Remove Comodo root certificate that is expiring in May 2020
Reviewed-by: mullan
2020-05-01 11:09:57 -07:00
Yumin Qi
832272da71 8178349: Cache builtin class loader constraints to avoid re-initializing itable/vtable for shared classes
Record loader constraints for built-in class which is loaded by app loader or platform loader in shared archive in dump time.  When the class loaded from shared archive at runtime, directly check loader constraints using the saved info so avoid lengthy relayout i/v-table at class link stage.

Reviewed-by: iklam, ccheung
2020-05-01 10:58:45 -07:00
Igor Ignatyev
eaf3306e44 8243433: use reproducible random in :vmTestbase_nsk_sysdict
Reviewed-by: dholmes
2020-05-01 09:20:48 -07:00
Igor Ignatyev
0264b050f6 8243429: use reproducible random in :vmTestbase_nsk_stress
Reviewed-by: epavlova, dholmes
2020-05-01 09:19:55 -07:00
Aleksey Shipilev
da064f8060 8244226: Shenandoah: per-cycle statistics contain worker data from previous cycles
Reviewed-by: rkennke
2020-05-01 16:03:26 +02:00
Ichiroh Takiguchi
318fab950a 8242541: Small charset issues (ISO8859-16, x-eucJP-Open, x-IBM834 and x-IBM949C)
Modify ISO8859-16, x-eucJP-Open, x-IBM834 and x-IBM949C charset related files

Reviewed-by: naoto
2020-05-01 21:43:28 +09:00
Kim Barrett
60b41575ea 8243628: Deprecate -XX:ForceNUMA option
Added ForceNUMA to the deprecation table for jdk15.

Reviewed-by: pliden, tschatzl
2020-05-01 00:25:23 -04:00
Weijun Wang
07cb35a9f3 8244087: 2020-04-24 public suffix list update
Reviewed-by: mullan
2020-05-01 12:26:34 +08:00
Sergey Bylokhov
26e37d13a7 8232744: j.awt.Window::setShape(Shape) paints visible artifacts outside of the given shape
Reviewed-by: prr
2020-04-30 22:47:27 +01:00
Phil Race
b3e1ea0407 Merge 2020-04-30 10:32:23 -07:00
Andy Herrick
908e57638c 8219536: Add Option for user defined jlink options
Reviewed-by: asemenyuk, almatvee
2020-04-30 13:03:20 -04:00
David Holmes
a0d04ad0ae 8244173: Uncomment subtest in runtime/InvocationTests/invocationC1Tests.java
Reviewed-by: hseigel, iignatyev
2020-04-30 19:18:28 -04:00
Rajan Halade
eddab115d8 8225068: Remove DocuSign root certificate that is expiring in May 2020
Reviewed-by: mullan
2020-04-30 15:21:15 -07:00
Naoto Sato
2ebf5a261c 8244152: Remove unnecessary hash map resize in LocaleProviderAdapters
Reviewed-by: joehw, vtewari
2020-04-30 13:48:21 -07:00
Erik Joelsson
a15b1ea09b 8244210: The javac server is never used
Reviewed-by: tbell, redestad, fweimer
2020-04-30 13:34:15 -07:00
Zhengyu Gu
227868034a 8241793: Shenandoah: Enable concurrent class unloading for aarch64
Reviewed-by: smonteith, rkennke
2020-04-30 14:00:50 -04:00
Aleksey Shipilev
7f877f6384 8243495: Shenandoah: print root statistics for concurrent weak/strong root phases
Reviewed-by: rkennke
2020-04-30 18:05:55 +02:00
Aleksey Shipilev
38e6f3665c 8244180: Shenandoah: carry Phase to ShWorkerTimingsTracker explicitly
Reviewed-by: zgu
2020-04-30 18:05:53 +02:00
Matthias Baesken
463e377053 8244196: adjust output in os_linux
Reviewed-by: dholmes, mdoerr
2020-04-30 17:37:59 +02:00
Erik Gahlin
ca371c9536 8244463: JFR: Clean up jdk.jfr.internal.RepositoryChunk
Reviewed-by: jbachorik, mgronlun
2020-05-06 13:31:00 +02:00
Igor Ignatyev
1e1c724c0d 8243428: use reproducible random in :vmTestbase_vm_compiler
Reviewed-by: thartmann
2020-04-30 08:07:36 -07:00
Igor Ignatyev
a0ed53b986 8243427: use reproducible random in :vmTestbase_vm_mlvm
Reviewed-by: thartmann
2020-04-30 08:06:51 -07:00
Jayathirth D V
188106be4d 8242557: Add length limit for strings in PNGImageWriter
Reviewed-by: prr, psadhukhan
2020-04-30 20:03:36 +05:30
Coleen Phillimore
c37bd06081 8244107: Incorrect parameters in ReservedSpace constructor change
Revert cardTable.cpp change from JDK-8243393.

Reviewed-by: dholmes
2020-04-30 09:48:30 -04:00
Harold Seigel
d74e4f2237 8243572: Multiple tests fail with assert(cld->klasses() != 0LL) failed: unexpected NULL for cld->klasses()
Merge unsafe anonymous class stats with hidden classes, avoiding having to call cld->klasses()

Reviewed-by: lfoltan, mchung, mgronlun
2020-04-30 13:10:09 +00:00
Coleen Phillimore
5b86c4aa68 Merge 2020-04-30 06:15:34 -04:00
Coleen Phillimore
3153373e49 8242898: Clean up InstanceKlass::_array_klasses
Make type ObjArrayKlass

Reviewed-by: dholmes, iklam
2020-04-30 06:05:53 -04:00
Per Lidén
68e53065e0 8240679: ZGC GarbageCollectorMXBean reports inaccurate post GC heap size for ZHeap pool
Reviewed-by: eosterlund
2020-04-30 10:59:23 +02:00
Aleksey Shipilev
05b3bc57ac 8243573: Shenandoah: rename GCParPhases and related code
Reviewed-by: rkennke
2020-04-30 10:02:10 +02:00
Prasanta Sadhukhan
7dad5d261a 8226464: TitledBorder label appears cut off on hidpi devices
Reviewed-by: serb, jdv
2020-04-30 12:42:03 +05:30
Prasanta Sadhukhan
e9cc3da89c 8208566: [TEST_BUG] javax\swing\text\GlyphPainter2\6427244\bug6427244.java: Test failed
Reviewed-by: jdv
2020-04-30 12:38:19 +05:30
Chris Plummer
e513acab16 8214797: TestJmapCoreMetaspace.java timed out
Reviewed-by: dcubed
2020-04-29 21:03:15 -07:00
Igor Ignatyev
46fe7e303b 8243945: use driver mode in runtime tests
Reviewed-by: dholmes, dcubed, gziemski
2020-04-29 19:51:45 -07:00
Jan Lahoda
ed9cbe252d 8241616: Timestamps on ct.sym entries lead to non-reproducible builds
Generate ct.sym in a reproducible way

Reviewed-by: ihse
2020-04-29 18:35:14 +02:00
Ivan Walulya
31479a0d48 8244752: Enable Linux support for multiple huge page sizes -XX:LargePageSizeInBytes
Reviewed-by: kbarrett, sjohanss, stuefe, tschatzl
2020-05-14 15:27:17 +02:00
Nick Gasson
dde3b90050 8244981: jpackage error due to missing final newline in Debian control file
Reviewed-by: herrick, asemenyuk
2020-05-18 10:33:12 +08:00
Martin Doerr
76b76654d2 8235673: [C1, C2] Split inlining control flags
Reviewed-by: neliasso, kvn, thartmann
2020-05-18 10:57:16 +02:00
Ioi Lam
d5bd523869 8244536: cds/DeterministicDump.java failed: File content different
Reviewed-by: ccheung, stuefe
2020-05-17 15:10:06 -07:00
Michael McMahon
0f7aeed416 8241305: Add protocol specific factory creation methods to SocketChannel and ServerSocketChannel
Reviewed-by: alanb, chegar, dfuchs
2020-05-17 21:15:33 +01:00
Joe Darcy
42bad03de8 8245146: Update description of SourceVersion.RELEASE_15 with text blocks
Reviewed-by: jlaskey
2020-05-17 11:34:32 -07:00
Vicente Romero
9efdaacc31 8242478: compiler implementation for records (Second Preview)
Reviewed-by: mcimadamore, jlahoda, darcy
2020-05-17 11:09:52 -04:00
Magnus Ihse Bursie
a2057ad440 8240228: "make hotspot-ide-project" on Windows creates a Visual Studio project with empty preprocessor defines
Reviewed-by: erikj
2020-05-16 09:43:44 +02:00
Claes Redestad
a09720f2ee 8232213: runtime/MemberName/MemberNameLeak.java fails intermittently
Reviewed-by: dcubed, coleenp
2020-05-16 01:35:38 +02:00
John Jiang
46cf294250 8245005: javax/net/ssl/compatibility/BasicConnectTest.java failed with No enum constant
Reviewed-by: xuelei
2020-05-16 05:49:47 +08:00
Roland Westrelin
1e251e9471 8241070: Shenandoah: remove unused local variables in C2 support
Reviewed-by: shade
2020-05-13 17:00:59 +02:00
Roland Westrelin
6d98502550 8244663: Shenandoah: C2 assertion fails in Matcher::collect_null_checks
Reviewed-by: shade
2020-05-15 21:54:28 +02:00
Pavel Rappo
36fb21dc2f 8245111: Update doc comments for improved processing by the Standard Doclet
Reviewed-by: dfuchs, joehw, lancea, rriggs
2020-05-15 20:38:28 +01:00
Roland Westrelin
35a7eff951 8244721: CTW: C2 (Shenandoah) compilation fails with "unexpected infinite loop graph shape"
Reviewed-by: shade
2020-05-15 10:24:38 +02:00
Roland Westrelin
b61c88c693 8245083: [REDO] Shenandoah: Remove null-handling in LRB expansion
Reviewed-by: shade
2020-05-15 19:57:37 +02:00
Magnus Ihse Bursie
fb6e7b06fb 8245119: Fix include path for hotspot-ide-project
Reviewed-by: erikj
2020-05-15 18:58:17 +02:00
Claes Redestad
150d6cfea8 8245094: Reduce overhead of initializing the default StringConcatFactory strategy
Reviewed-by: psandoz, jlaskey
2020-05-15 18:37:08 +02:00
Magnus Ihse Bursie
e83968799e 8245096: Better windows environment output in configure
Reviewed-by: erikj
2020-05-15 18:14:58 +02:00
Magnus Ihse Bursie
adf1d4757b 8245093: WSL support broke cygwin toolchain detection
Reviewed-by: erikj
2020-05-15 18:13:20 +02:00
Patrick Concannon
fad2cf51ba 8241072: Reimplement the Legacy DatagramSocket API
Replace the underlying implementations of the java.net.DatagramSocket and java.net.MulticastSocket APIs with simpler and more modern implementations that are easy to maintain and debug.

Co-authored-by: Alan Bateman <alan.bateman@oracle.com>
Co-authored-by: Chris Hegarty <chris.hegarty@oracle.com>
Co-authored-by: Daniel Fuchs <daniel.fuchs@oracle.com>
Reviewed-by: alanb, chegar, dfuchs
2020-05-12 21:51:53 +01:00
Zhengyu Gu
3930460af5 8244953: Shenandoah: gc/shenandoah/TestStringInternCleanup fails with broken string table root
Reviewed-by: shade
2020-05-15 10:43:20 -04:00
Rahul Yadav
178e69a3b9 8244652: Add test for non utf-8 response handling by websocket
The test java.net.httpclient.websocket.WSHandshakeExceptionTest.java checks that the websocket client handles invalid utf-8 sent by the websocket server

Reviewed-by: dfuchs
2020-05-15 14:46:17 +01:00
Claes Redestad
82f2a0e2e4 8245024: Simplify and eagerly initialize StringConcatFactory
Reviewed-by: psandoz
2020-05-15 12:25:37 +02:00
Magnus Ihse Bursie
b76a215ff6 8245046: SetupTarget incorrect for hotspot-ide-project
Reviewed-by: erikj
2020-05-15 12:09:59 +02:00
Fernando Guallini
4c54fa2274 8209774: Refactor shell test javax/xml/jaxp/common/8035437/run.sh to java
Reviewed-by: dfuchs, joehw, alanb
2020-05-15 09:49:54 +08:00
Mandy Chung
b883badc47 8244961: MethodHandles::privateLookupIn throws NPE when called during initPhase2
Reviewed-by: chegar
2020-05-14 17:05:41 -07:00
Alex Menkov
cab61f1515 8243012: Fix issues in j.l.i package info
Reviewed-by: alanb, sspitsyn
2020-05-14 15:17:45 -07:00
Yumin Qi
8da07d1ae9 8242524: Use different default CDS archives depending on UseCompressOops
Reviewed-by: erikj, iklam, ccheung
2020-05-14 14:24:55 -07:00
Calvin Cheung
71cc95e4b1 8243947: [TESTBUG] hotspot/jtreg:hotspot_appcds_dynamic fails when the JDK doesn't have default CDS archive
Generate a default CDS archive when necessary before running AppCDS dynamic tests.

Reviewed-by: iklam
2020-05-14 20:34:18 +00:00
Robbin Ehn
95b8e9eaa3 8244340: Handshake processing thread lacks yielding
Reviewed-by: pchilanomate, dholmes, dcubed
2020-05-14 19:36:51 +02:00
Alex Menkov
9a0463165d 8244973: serviceability/attach/RemovingUnixDomainSocketTest.java fails "stderr was not empty"
Reviewed-by: dholmes, sspitsyn
2020-05-14 10:29:52 -07:00
Magnus Ihse Bursie
43da9ff24e 8245032: Remove exceptions from compare.sh
Reviewed-by: erikj
2020-05-14 19:17:11 +02:00
Magnus Ihse Bursie
014095c4ab 8245041: Fix incorrect output order in configure
Reviewed-by: erikj
2020-05-14 19:15:39 +02:00
Magnus Ihse Bursie
8c5430972f 8245033: Fixes for building in WSL
Reviewed-by: erikj
2020-05-14 18:56:30 +02:00
Weijun Wang
e13c481c7f 8218482: sun/security/krb5/auto/ReplayCachePrecise.java failed - no KrbException thrown
Reviewed-by: mullan
2020-05-14 23:09:52 +08:00
Erik Joelsson
c992521995 8244951: Missing entitlements for hardened runtime
Reviewed-by: ihse
2020-05-14 06:58:59 -07:00
Andy Herrick
0cc7f3585f 8244576: [macos] Volume icon deleted by osascript for background image
Reviewed-by: asemenyuk, almatvee
2020-05-13 16:05:02 -04:00
Erik Joelsson
9768618bab 8244945: Mark VS2019 as supported and default
Reviewed-by: ihse
2020-05-14 05:35:06 -07:00
Kim Barrett
1856ff8913 8244684: G1 abuses StarTask to also include partial objarray scan tasks
New ScannerTask and PartialArrayScanTask, initially used by G1

Reviewed-by: tschatzl, sjohanss
2020-05-14 08:24:36 -04:00
Thomas Stuefe
5b6f81de07 8244777: ClassLoaderStats VM Op uses constant hash value
Reviewed-by: coleenp, jbachorik
2020-05-14 08:48:36 +02:00
Jie Fu
587505f14a 8244971: Zero VM is broken after JDK-8241825 (COMPRESSED_CLASS_POINTERS_DEPENDS_ON_COMPRESSED_OOPS not defined)
Reviewed-by: dholmes
2020-05-14 09:25:49 +08:00
David Holmes
17dd7dc38c 8240588: _threadObj cannot be used on an exiting JavaThread
Reviewed-by: rehn, dcubed, kbarrett
2020-05-13 22:29:54 -04:00
Jesper Wilhelmsson
be7771b2b9 Added tag jdk-15+23 for changeset f143729ca00e 2020-05-14 04:25:42 +02:00
Naoto Sato
80c75c9fa9 8239383: Support for Unicode 13.0
Reviewed-by: rriggs, joehw
2020-05-13 15:46:08 -07:00
Alex Menkov
073e095e60 8235211: serviceability/attach/RemovingUnixDomainSocketTest.java fails with AttachNotSupportedException: Unable to open socket file
Reviewed-by: sspitsyn, ysuenaga
2020-05-13 15:25:59 -07:00
Kim Barrett
659aa08fbc 8242901: Duplicate PSYoung/OldGen max size functions
Use (nonvirtual) min/max_gen_size consistently, and remove duplicates.

Reviewed-by: stefank, sjohanss
2020-05-13 17:01:10 -04:00
Claes Redestad
168cdcf65d 8244936: Reduce JNI overhead of accessing FileDescriptor
Reviewed-by: rriggs, alanb
2020-05-13 22:25:14 +02:00
Kelvin Nilsen
ad2afe0bf4 8241062: Shenandoah: rich asserts trigger "empty statement" inspection
Reviewed-by: shade
2020-05-13 20:19:09 +02:00
Ioi Lam
92d1c4a61a 8244775: Remove unnecessary dependency to jfrEvents.hpp
Reviewed-by: kbarrett, kvn
2020-05-13 10:56:51 -07:00
Jonathan Gibbons
49bfbd3bc7 8243417: Clean up com.sun.tools.javac.main.CommandLine
Reviewed-by: prappo
2020-05-13 10:39:35 -07:00
Bob Vandette
3d50f242c2 8244853: The static build of libextnet is missing the JNI_OnLoad_extnet function
Reviewed-by: alanb
2020-05-13 11:35:48 -04:00
Bob Vandette
658fb7ac3e 8244852: GraalVM native-image fails after JDK-8238048 change
Reviewed-by: dholmes
2020-05-13 11:33:52 -04:00
Patricio Chilano Mateo
398a2b3c37 8231264: Implementation of JEP 374: Disable biased-locking and deprecate all flags related to biased-locking
Changed default value of UseBiasedLocking to false and deprecated related flags.

Reviewed-by: dholmes, dcubed
2020-05-13 15:47:10 +00:00
Erik Gahlin
ca53ee2593 8242934: test/jdk/jdk/jfr/tool/TestPrintJSON.java uses nashorn script engine
Reviewed-by: mgronlun
2020-05-13 16:18:16 +02:00
Magnus Ihse Bursie
707462edc2 8244930: Building without test failure handler broken after JDK-8244844
Reviewed-by: erikj
2020-05-13 15:03:24 +02:00
Andy Herrick
fe46f44bd1 8244758: DMG bundler ignores --install-dir option
Reviewed-by: asemenyuk, almatvee
2020-05-12 19:20:28 -04:00
Erik Österlund
382e5dc334 8241825: Make compressed oops and compressed class pointers independent (x86_64, PPC, S390)
Reviewed-by: coleenp, fparain, stuefe, mdoerr
2020-05-13 09:36:12 +00:00
Thomas Schatzl
9651edd247 8244815: Always log MMU information in G1
Reviewed-by: sjohanss, kbarrett
2020-05-13 12:47:49 +02:00
Thomas Schatzl
0dab181993 8244714: G1 young gen sizer allows zero young gen with huge -XX:NewRatio
Reviewed-by: sjohanss
2020-05-13 12:47:07 +02:00
Magnus Ihse Bursie
7345502884 8244928: Build log output too verbose after JDK-8244844
Reviewed-by: alanb
2020-05-13 10:35:08 +02:00
Prasanta Sadhukhan
0d2cc3b449 8169953: JComboBox/8057893: ComboBoxEdited event is not fired! on Windows
Reviewed-by: jdv
2020-04-29 14:01:30 +05:30
Nick Gasson
820f7227b7 8242188: [TESTBUG] error in jtreg test jdk/jfr/api/consumer/TestRecordedFrame.java on linux-aarch64
Reviewed-by: egahlin
2020-04-29 16:15:14 +08:00
Alexey Semenyuk
e48410a466 8244634: LoadLibraryW failed from tools/jpackage tests after JDK-8242302
Reviewed-by: herrick, almatvee
2020-05-12 19:34:59 -04:00
Yong Zhou
dc54da232d 8244407: JVM crashes after transformation in C2 IdealLoopTree::split_fall_in
Reviewed-by: thartmann, kvn
2020-05-13 07:25:47 +08:00
Brent Christian
cdf8cc5706 8244855: Remove unused "getParent" function from Windows jni_util_md.c
Reviewed-by: lancea, naoto
2020-05-12 14:19:21 -07:00
Johannes Kuhn
06d6234213 8244767: Potential non-terminated string in getEncodingInternal() on Windows
Reviewed-by: bpb, naoto
2020-05-12 11:20:34 -07:00
Magnus Ihse Bursie
be6f74718e 8244844: javac command line is not re-executable
Reviewed-by: erikj
2020-05-12 19:48:50 +02:00
Daniil Titov
a726aca6de 8242009: Review setting test.java/vm.opts in jcmd/jhsdb and debugger in serviceability tests
Reviewed-by: cjplummer
2020-05-12 09:45:24 -07:00
Magnus Ihse Bursie
e686fb6bf6 8244757: Introduce SetupTarget in Main.gmk
Reviewed-by: erikj
2020-05-12 16:35:58 +02:00
Aleksey Shipilev
e722efa65c 8244807: Shenandoah: ditch filter in ShenandoahUnload::unload
Reviewed-by: rkennke, zgu
2020-05-12 16:19:53 +02:00
Roman Kennke
ba59fe9503 8244813: [BACKOUT] 8244523: Shenandoah: Remove null-handling in LRB expansion
Reviewed-by: shade
2020-05-12 16:12:37 +02:00
Zhengyu Gu
25dcb1f717 8244821: Shenandoah: disarmed_value is initialized at wrong place
Reviewed-by: shade
2020-05-12 10:01:36 -04:00
Erik Gahlin
a6cdce1404 8244661: JFR: Remove use of thread-locals for java.base events
Reviewed-by: jbachorik, mgronlun
2020-05-12 15:20:15 +02:00
Magnus Ihse Bursie
b29d982a9c 8244756: Build broken with some awk version after JDK-8244248
Reviewed-by: mbaesken, xliu
2020-05-12 11:11:02 +02:00
Xin Liu
52e1bec7bc 8022574: remove HaltNode code after uncommon trap calls
Reviewed-by: thartmann, mdoerr, simonis
2020-05-12 10:59:12 +02:00
Weijun Wang
cc47d0aa61 8244674: Third-party code version check
Reviewed-by: mullan
2020-05-12 15:15:40 +08:00
Aleksey Shipilev
45e0c6a181 8244759: Shenandoah: print verbose class unloading counters
Reviewed-by: zgu
2020-05-12 08:25:17 +02:00
David Holmes
46d287916c 8244779: ProblemList serviceability/jvmti/HiddenClass/P/Q/HiddenClassSigTest.java pending JDK-8244571
Reviewed-by: iignatyev
2020-05-12 00:47:27 -04:00
Eric Liu
babaab2edb 8242429: Better implementation for sign extract
Reviewed-by: vlivanov, thartmann
2020-05-12 10:19:01 +08:00
Yang Zhang
e93cd7ed3c 8243155: AArch64: Add support for SqrtVF
Reviewed-by: aph
2020-04-29 09:58:09 +08:00
Jesper Wilhelmsson
d813a883c3 Added tag jdk-15+21 for changeset 12b55fad80f3 2020-04-30 04:05:36 +02:00
Alex Menkov
8a7ff65d98 8242522: Minor LingeredApp improvements
Reviewed-by: lmesnik, cjplummer
2020-04-29 16:02:56 -07:00
Mandy Chung
560da25f46 8243598: Typos in java.lang.invoke package-info
Reviewed-by: psandoz, lancea
2020-04-29 13:14:27 -07:00
Mikael Vidstedt
5c70479bec 8244061: Disable jvmci/graal/aot when building linux-aarch64 at Oracle
Reviewed-by: kvn, ihse, erikj
2020-04-29 12:56:53 -07:00
Erik Joelsson
25e0f4737b 8244051: AbsPathsInImage.java still fails on Windows
Reviewed-by: ihse
2020-04-29 09:26:49 -07:00
Andy Herrick
bef54e0a7e 8243673: Mac signing process should not use --deep arg
Reviewed-by: asemenyuk, almatvee
2020-04-29 11:47:05 -04:00
Phil Race
943f8df793 8230672: Specification for java.awt.FontMetrics.getMaxAdvance() is too prescriptive
Reviewed-by: serb
2020-04-28 12:29:03 -07:00
Phil Race
70165f56a4 8197797: Test java/awt/Graphics2D/DrawString/RotTransText.java fails
Reviewed-by: psadhukhan, jdv
2020-04-27 14:20:10 -07:00
Michael Zucchi
a3443d0fd1 8243656: Shell built-in test in configure depends on help
Help might not be available to check for built-ins: Use 'command -v' instead

Reviewed-by: erikj
2020-04-27 11:00:29 +02:00
Kim Barrett
5b066096a4 8243325: Cleanup TaskQueueSuper<>::peek
Replaced uses of peek with new assert_empty.

Reviewed-by: tschatzl, sjohanss
2020-05-06 00:23:51 -04:00
Jie Fu
611fda672f 8244497: [TESTBUG] Incompatible types conversion error in vmTestbase/vm/runtime/defmeth/StressTest.java after JDK-8243432
Reviewed-by: dholmes
2020-05-06 13:41:11 +08:00
Kim Barrett
98d41015ca 8244307: Improve assertions against taskqueue underflow
Added assert_not_underflow.

Reviewed-by: tschatzl, sjohanss
2020-05-06 00:28:12 -04:00
Kim Barrett
7ae3bea212 8243961: ForceNUMA and only one available NUMA node fails assertion on Windows
Improve ergnomics for UseNUMA and UseNUMAInterleaving

Reviewed-by: tschatzl, sjohanss
2020-05-05 22:34:54 -04:00
Jie Fu
317bd88e33 8244489: Zero and minimal VM build failure after JDK-8241071 (MetaspaceShared::symbol_space_alloc is undefined)
Reviewed-by: dholmes
2020-05-06 09:00:30 +08:00
Yumin Qi
0c0d485c37 8237750: Load libzip.so only if necessary
Libzip.so is unconditionally loaded even without usage. Fix by on demand loading.

Reviewed-by: dlong, iklam, ccheung
2020-05-05 15:40:18 -07:00
Igor Ignatyev
bc8065facd 8244485: runtime/cds/appcds/TestZGCWithCDS.java fails after 8244385
Reviewed-by: dcubed
2020-05-05 14:55:23 -07:00
Ioi Lam
eadcb08c3c 8241071: Generation of classes.jsa with -Xshare:dump is not deterministic
Reviewed-by: dholmes, stuefe
2020-05-05 11:10:02 -07:00
Hannes Wallnöfer
957eb270f0 8243388: Moving search result selection clears search input
Reviewed-by: prappo
2020-05-05 22:56:01 +02:00
Jonathan Gibbons
98cbf4660c 8242532: convert tests to use Text Blocks
Reviewed-by: hannesw
2020-05-05 13:02:30 -07:00
Alexander Matveev
5868c76ec6 8233166: jpackage tool skips empty directories
Reviewed-by: herrick, asemenyuk
2020-05-05 15:25:27 -04:00
Erik Joelsson
2254cf5a24 8244247: Build failures after sjavac cleanup
Reviewed-by: ihse, tbell
2020-05-05 11:02:43 -07:00
Sergey Bylokhov
14b7dd4090 7185258: [macosx] Deadlock in SunToolKit.realSync()
Reviewed-by: prr
2020-04-26 19:42:04 -07:00
Sergey Bylokhov
b36738a55a 8238575: DragSourceEvent.getLocation() returns wrong value on HiDPI screens (Windows)
Reviewed-by: prr
2020-04-26 19:36:04 -07:00
Sergey Bylokhov
a0a9595d8b 8236980: Cleanup of toString methods in JavaSound
Reviewed-by: prr
2020-04-26 18:49:18 -07:00
Prasanta Sadhukhan
c18080fef7 8213123: javax/swing/JButton/4368790/bug4368790.java fails on mac
Reviewed-by: serb, jdv
2020-04-27 10:37:30 +05:30
Prasanta Sadhukhan
059329b346 Merge 2020-04-24 16:12:53 +05:30
Yang Zhang
b54a34786a 8243240: AArch64: Add support for MulVB
Reviewed-by: aph
2020-04-24 09:47:19 +00:00
Aleksey Shipilev
53e4de6cf7 8239786: Shenandoah: print per-cycle statistics
Reviewed-by: rkennke
2020-04-24 11:45:24 +02:00
Magnus Ihse Bursie
76e5da4d59 8243477: FreeType library check should prefer 64-bit directory
Reviewed-by: erikj
2020-04-24 11:19:16 +02:00
John Jiang
2a4596cfe4 8243029: Rewrite javax/net/ssl/compatibility/Compatibility.java with a flexible interop test framework
Reviewed-by: xuelei
2020-04-24 15:28:57 +08:00
Sibabrata Sahoo
e5c84ff282 8242929: The values of jdk.tls.namedGroups should not be case-sensitive
The values of jdk.tls.namedGroups should not be case-sensitive

Reviewed-by: xuelei
2020-04-23 22:49:55 -07:00
Yang Zhang
905eb57ede 8242905: AArch64: Client build failed
Reviewed-by: aph
2020-04-24 02:16:06 +00:00
Jonathan Gibbons
009dd60ea3 8241780: Allow \n@ inside inline tags
Reviewed-by: prappo
2020-04-23 16:10:45 -07:00
Alexey Semenyuk
0c56c3511a 8242302: Refactor jpackage native code
Reviewed-by: herrick, almatvee, erikj
2020-04-23 16:40:09 -04:00
Coleen Phillimore
90ada6a314 8238048: Close alignment gaps in InstanceKlass
Moved fields around and some constant fields into ConstantPool

Reviewed-by: cjplummer, dlong, iklam
2020-04-23 16:29:22 -04:00
Aleksey Shipilev
37e5aec119 8243494: Shenandoah: set counters once per cycle
Reviewed-by: zgu
2020-04-23 21:24:01 +02:00
Per Lidén
2bf4c06182 8243486: ZGC: Adjust "Allocated" statistics to take undone page allocations into account
Reviewed-by: eosterlund, stefank
2020-04-23 19:23:15 +02:00
Phil Race
4765b3bdd8 Merge 2020-04-23 10:06:36 -07:00
Kim Barrett
e1f07cd05b 8239357: Revert gcc implementation of offset_of
Revert definition of offset_of and reenable -Winvalid-offsetof.

Reviewed-by: erikj, ihse, dholmes
2020-04-23 12:57:18 -04:00
Aleksey Shipilev
079b60c6b9 8243487: Shenandoah: make _num_phases illegal phase type
Reviewed-by: rkennke
2020-04-23 18:37:09 +02:00
Evgeny Nikitin
91220287fc 8147018: CompilerControl: Improve handling of timeouts and failures for tests
Dump expected method states, improve compile commands dumping in CompilerControl tests

Reviewed-by: iignatyev, rbackman
2020-04-23 16:20:17 +02:00
Claes Redestad
fc842d2b4b 8193066: Avoid use of capturing lambdas in JarFile
Reviewed-by: lancea, alanb
2020-05-11 21:43:57 +02:00
Erik Gahlin
3b9367636e 8244676: test/jdk/jdk/jfr/startupargs/TestOptionsWithLocale.java fails
Reviewed-by: mgronlun
2020-05-11 21:42:23 +02:00
Andy Herrick
9253c29fd2 8244620: Fix test WinUpgradeUUIDTest failures in Mach5
Reviewed-by: asemenyuk, prr
2020-05-11 15:29:52 -04:00
Valerie Peng
78825925a5 8244151: Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26
Updated from 1.8.24 to 1.8.26

Reviewed-by: xuelei
2020-05-11 18:49:01 +00:00
Daniil Titov
aebc856c44 8194874: SA: Remove scripts with sa-jdi.jar dependencies
Reviewed-by: cjplummer, amenkov
2020-05-11 10:29:13 -07:00
Aleksey Shipilev
d5414d7929 8244740: Shenandoah: rename ShenandoahNormalMode to ShenandoahSATBMode
Reviewed-by: rkennke
2020-05-11 18:33:50 +02:00
Aleksey Shipilev
4016667300 8244739: Shenandoah: break superclass dependency on ShenandoahNormalMode
Reviewed-by: rkennke
2020-05-11 18:33:42 +02:00
Aleksey Shipilev
e3138f8cba 8244737: Shenandoah: move mode code to gc/shenandoah/mode
Reviewed-by: rkennke
2020-05-11 18:33:33 +02:00
Aleksey Shipilev
f37b72c0ee 8244732: Shenandoah: move heuristics code to gc/shenandoah/heuristics
Reviewed-by: rkennke
2020-05-11 18:33:24 +02:00
Aleksey Shipilev
68e55bdf72 8244730: Shenandoah: gc/shenandoah/options/TestHeuristicsUnlock.java should only verify the heuristics
Reviewed-by: rkennke
2020-05-11 18:33:18 +02:00
Harold Seigel
39670b0e57 8241934: Simplify parse_stream() and remove has_class_mirror_holder_cld()
Added paramter to register_loader() which allowed removing of has_class_mirror_holder_cld()

Reviewed-by: coleenp, lfoltan
2020-05-11 15:00:16 +00:00
Christian Hagedorn
3887904c16 8244207: Simplify usage of Compile::print_method() when debugging with gdb and enable its use with rr
Improve debugging with usage of Compile::print_method() for IGV at breakpoints from gdb and rr.

Reviewed-by: kvn, thartmann
2020-05-11 12:57:39 +02:00
Claes Redestad
ceda3089db 8244624: Improve handling of JarFile META-INF resources
Reviewed-by: lancea, weijun, martin
2020-05-11 10:37:54 +02:00
Joe Darcy
a06585af49 8244673: Add periods to SourceVersion.isName javadoc
Reviewed-by: jjg
2020-05-09 13:42:16 -07:00
Zhengyu Gu
8db994854f 8243478: Shenandoah: avoid implicit worker_id = 0
Reviewed-by: shade
2020-04-23 10:14:42 -04:00
Roland Westrelin
f0b37f161b 8239569: PublicMethodsTest.java failed due to NPE in java.base/java.nio.file.FileSystems.getFileSystem(FileSystems.java:230)
Reviewed-by: thartmann, kvn
2020-04-23 15:54:08 +02:00
Igor Ignatyev
e7aafcd61d 8243933: use driver mode in gc tests
Reviewed-by: kbarrett
2020-04-29 07:08:31 -07:00
Igor Ignatyev
311c9ab5ba 8244052: remove copying of s.h.WB$WhiteBoxPermission in test/jdk
Reviewed-by: dholmes, sspitsyn
2020-04-29 07:08:31 -07:00
Igor Ignatyev
d7b3692983 8243929: use @requires in serviceability/attach/AttachWithStalePidFile.java test
Reviewed-by: cjplummer
2020-04-29 07:08:31 -07:00
Magnus Ihse Bursie
354033ecc7 8244097: make bootcycle-images fails after JDK-8244036
Co-authored-by: Jie Fu <jiefu@tencent.com>
Reviewed-by: ihse, erikj
2020-04-29 21:54:57 +08:00
Denghui Dong
5bb821771e 8242792: interval < flushInterval is always false in jdk.jfr.internal.RequestEngine#setFlushInterval
Reviewed-by: egahlin
2020-04-23 15:48:55 +02:00
Per Lidén
3b9b4b2fdc 8241603: ZGC: java/lang/management/MemoryMXBean/MemoryTestZGC.sh crashes on macOS
Reviewed-by: eosterlund, clanger, mbaesken, azeller
2020-04-23 15:37:12 +02:00
Volker Simonis
2594f0b9b8 8242848: Improve performance of InflaterOutputStream.write()
Reviewed-by: stuefe, vtewari, redestad, lancea
2020-04-23 14:23:53 +02:00
Aleksey Shipilev
4f05f3f885 8243465: Shenandoah: ditch unused pause_other, conc_other counters
Reviewed-by: rkennke
2020-04-23 13:48:32 +02:00
Aleksey Shipilev
fde66512df 8243464: Shenandoah: print statistic counters in time order
Reviewed-by: rkennke
2020-04-23 13:48:23 +02:00
Aleksey Shipilev
cbdb4ba7ca 8243463: Shenandoah: ditch total_pause counters
Reviewed-by: rkennke
2020-04-23 13:48:13 +02:00
Aleksey Shipilev
b28137b093 8243460: Shenandoah: purge init_update_refs_prepare counter
Reviewed-by: rkennke
2020-04-23 13:48:07 +02:00
Christoph Langer
a7830958e3 8243117: Cleanups in Java code of module jdk.jlink
Reviewed-by: redestad, alanb
2020-04-23 11:56:45 +02:00
Chris Yin
7553c132d3 8243138: Enhance BaseLdapServer to support starttls extended request
Reviewed-by: aefimov, dfuchs
2020-04-23 16:36:05 +08:00
Serguei Spitsyn
e507405f5c 8241214: Test debugging of hidden classes using jdb
Add test and enable jdb support for hidden classes

Reviewed-by: cjplummer, amenkov, mchung, lmesnik
2020-04-23 07:46:18 +00:00
Yasumasa Suenaga
8d388381ee 8243450: Remove VMOps from jdk.hotspot.agent
Reviewed-by: cjplummer, dholmes
2020-04-23 12:14:58 +09:00
Jesper Wilhelmsson
6efcb818bc Added tag jdk-15+20 for changeset 46bca5e5e6fb 2020-04-23 05:01:23 +02:00
Chris Plummer
7f634155b5 8243210: ClhsdbScanOops fails with NullPointerException in FileMapHeader.inCopiedVtableSpace
Reviewed-by: iklam, sspitsyn
2020-04-22 15:09:32 -07:00
Zhengyu Gu
58e284c017 8243323: Shenandoah: Recycle immediate garbage before concurrent class unloading
Reviewed-by: shade
2020-04-22 17:59:59 -04:00
Zhengyu Gu
82e43b2527 8243200: Shenandoah: Allow concurrent nmethod iteration
Reviewed-by: rkennke, shade
2020-04-22 17:10:17 -04:00
Patrick Concannon
42d2a7411b 8243408: Inconsistent Exceptions are thrown by MulticastSocket when sending a DatagramPacket to port 0
This fix adds a check for port == 0 to MulticastSocket's 2-arg send method to ensure a consistent exception is thrown across platforms

Reviewed-by: dfuchs
2020-04-22 20:41:56 +01:00
Adam Farley
2785fe5621 8239365: ProcessBuilder test modifications for AIX execution
Reviewed-by: rriggs, stuefe
2020-04-22 15:37:37 -04:00
Claes Redestad
268ea904ec 8243254: Examine ZipFile slash optimization for non-ASCII compatible charsets
Reviewed-by: lancea, naoto, martin
2020-04-22 21:13:10 +02:00
Xue-Lei Andrew Fan
72446bb0dc 8242141: New System Properties to configure the TLS signature schemes
Reviewed-by: ascarpino, jnimeh, mullan
2020-04-22 10:51:16 -07:00
Bhawesh Choudhary
c1eb104fa1 8233584: [Win LAF] When navigating the contents of the file list changes in Win LAF
Reviewed-by: serb, aivanov
2020-04-22 13:43:07 +05:30
Prasanta Sadhukhan
08784f18ea 8178028: Typing 'C' cannot change the tab layout to WRAP_TAB_LAYOUT
Reviewed-by: jdv
2020-04-22 12:16:37 +05:30
Phil Race
1a7f6af1bc 8243314: Problem list java/awt/image/multiresolution/MultiresolutionIconTest.java on Windows
Reviewed-by: bpb
2020-04-21 17:03:13 -07:00
Phil Race
def1d5a8c0 8242004: TextLayout throws Exception with a non-invertible transform
Reviewed-by: serb, jdv
2020-04-20 15:19:55 -07:00
Phil Race
9ad39392db 8233006: freetype incorrectly adjusts advances when emboldening rotated glyphs
Reviewed-by: serb, jdv
2020-04-20 13:50:16 -07:00
Anton Litvinov
62a2354299 8242498: Invalid "sun.awt.TimedWindowEvent" object leads to JVM crash
Reviewed-by: prr, serb
2020-04-20 19:25:41 +01:00
Sergey Bylokhov
73e52d0690 8242174: [macos] The NestedModelessDialogTest test make the macOS unstable
Reviewed-by: prr
2020-04-20 09:35:04 -07:00
Prasanta Sadhukhan
8b002d881d 8242526: PIT: javax/swing/JInternalFrame/8020708/bug8020708.java fails in mach5 ubuntu system
8233644: [TESTBUG] JInternalFrame test bug8020708.java is failing on macos

Reviewed-by: serb, pbansal, jdv
2020-04-17 11:29:01 +05:30
Jayathirth D V
12d93f11c0 8195841: PNGImageReader.readNullTerminatedString() doesnt check for non-null terminated strings with length equal to maxLen
Reviewed-by: serb, prr
2020-04-17 11:10:45 +05:30
Sergey Bylokhov
a11993519a 8196181: sun/java2d/GdiRendering/InsetClipping.java fails
Reviewed-by: jdv
2020-04-16 10:12:08 -07:00
Roland Westrelin
3cb0f002b3 8242502: UnexpectedDeoptimizationTest.java failed "assert(phase->type(obj)->isa_oopptr()) failed: only for oop input"
Reviewed-by: kvn, thartmann
2020-04-15 10:56:30 +02:00
Igor Ignatyev
5efa545d48 8242312: use reproducible random in hotspot gc tests
Reviewed-by: kbarrett, tschatzl
2020-04-14 12:50:09 -07:00
Sergey Bylokhov
74b556d666 8240290: Clean the "libawt_xawt" library from code for macOS
Reviewed-by: prr
2020-04-14 08:19:48 -07:00
Sergey Bylokhov
2d350addf7 8152332: [macosx] JFileChooser cannot be serialized on Mac OS X
Reviewed-by: pbansal, jdv
2020-04-13 23:43:37 -07:00
Kim Barrett
478773c102 8243326: Cleanup use of volatile in taskqueue code
Removed volatile on queue elements, cleaned up other uses, made atomics explicit.

Reviewed-by: tschatzl, iwalulya
2020-04-14 02:25:19 -04:00
Nikolay Martynov
313758a57a 8243489: Thread CPU Load event may contain wrong data for CPU time under certain conditions
Reviewed-by: jbachorik
2020-04-29 13:27:01 +02:00
Magnus Ihse Bursie
5bbee05c7a 8243665: exploded-image-optimize touches module-info.class in all modules
Reviewed-by: alanb
2020-04-29 13:01:40 +02:00
Matthias Baesken
46a67f4b31 8243648: Windows 32bit compile error src/jdk.incubator.jpackage/windows/native/libjpackage/VersionInfo.cpp
Reviewed-by: asemenyuk, herrick
2020-04-29 10:05:30 +02:00
Alan Bateman
fe152cdcc5 8243666: ModuleHashes attribute generated for JMOD and JAR files depends on timestamps
Reviewed-by: mchung
2020-04-29 08:38:28 +01:00
Stefan Karlsson
35af52dd4f 8244010: Simplify usages of ProcessTools.createJavaProcessBuilder in our tests
Reviewed-by: lmesnik, iignatyev, coleenp, dholmes
2020-04-29 08:52:18 +02:00
Matthias Baesken
60e2afe2d3 8243389: enhance os::pd_print_cpu_info on linux
Reviewed-by: dholmes, mdoerr
2020-04-29 08:57:40 +02:00
Magnus Ihse Bursie
0de9bbd4f3 8244044: Refactor phase makefiles to be structured per module
Reviewed-by: erikj
2020-04-29 08:55:01 +02:00
Stuart Monteith
739e8e322d 8216557: Aarch64: Add support for Concurrent Class Unloading
Co-authored-by: Andrew Haley <aph@redhat.com>
Reviewed-by: aph, eosterlund, pliden, njian
2020-04-29 14:53:48 +08:00
Magnus Ihse Bursie
408bc486e0 8244036: Refresh SetupJavaCompilation, and remove support for sjavac
Reviewed-by: erikj
2020-04-29 08:49:17 +02:00
Serguei Spitsyn
0783dd69a5 8241807: JDWP needs update for hidden classes
Introduce test coverage for hidden class events

Reviewed-by: lmesnik, amenkov
2020-04-29 06:33:10 +00:00
Igor Ignatyev
7f49c9167a 8244066: ClassFileInstaller should be run in driver mode
Reviewed-by: iklam
2020-04-28 21:59:31 -07:00
Igor Ignatyev
a9d14e1462 8243944: use SkippedException and @requires in runtime/memory/ReadFromNoaccessArea.java test
Reviewed-by: minqi
2020-04-28 21:17:32 -07:00
Igor Ignatyev
6ff66db553 8242314: use reproducible random in vmTestbase shared code
Reviewed-by: kbarrett, lmesnik
2020-04-28 20:49:28 -07:00
Mikael Vidstedt
9320f9c60a 8243634: Add pandoc dependency when building linux-aarch64 at Oracle
Reviewed-by: ihse
2020-04-28 20:36:20 -07:00
Igor Ignatyev
70e632d5ec 8243935: remove copying of s.h.WB$WhiteBoxPermission in hotspot tests
Reviewed-by: dholmes, stefank
2020-04-28 19:57:02 -07:00
Chris Plummer
6911667eb7 8243500: SA: Incorrect BCI and Line Number with jstack if the top frame is in the interpreter (BSD and Windows)
Reviewed-by: amenkov, sspitsyn
2020-04-28 13:38:45 -07:00
Chris Plummer
5d2740b524 8231634: SA stack walking fails with "illegal bci"
Reviewed-by: amenkov, sspitsyn
2020-04-28 13:35:46 -07:00
Kiran Sidhartha Ravikumar
066346ce9c 8243541: (tz) Upgrade time-zone data to tzdata2020a
Reviewed-by: naoto, martin, andrew
2020-04-28 17:31:20 +00:00
Magnus Ihse Bursie
f159234fe5 8243991: Remove obsolete -XX:ThreadStackSize from java command line
Reviewed-by: erikj
2020-04-28 20:54:06 +02:00
Igor Ignatyev
9687723c81 8243932: compiler/codecache/cli/printcodecache/TestPrintCodeCacheOption.java test can use driver mode
Reviewed-by: thartmann
2020-04-28 11:33:37 -07:00
Igor Ignatyev
9921097bd9 8243942: use SkippedException in gc/arguments/TestSmallInitialHeapWithLargePageAndNUMA.java test
Reviewed-by: kbarrett
2020-04-28 11:32:45 -07:00
Magnus Ihse Bursie
3a416b9f67 8243988: Added flexibility in build system for unusal hotspot configurations
Reviewed-by: erikj
2020-04-28 19:41:39 +02:00
Magnus Ihse Bursie
f4cb2bfd92 8244009: Separate -Xdoclint options in CompileJavaModules.gmk
Reviewed-by: erikj
2020-04-28 19:26:47 +02:00
John Paul Adrian Glaubitz
1b16192363 8243997: Linux build failed after JDK-8242244
Reviewed-by: ihse
2020-04-28 18:23:12 +02:00
Zhengyu Gu
04ae3fd603 8243848: Shenandoah: Windows build fails after JDK-8239786
Reviewed-by: rkennke, stuefe
2020-04-28 12:20:15 -04:00
Magnus Ihse Bursie
b723b94614 8244021: Hide warning from jlink about incubating modules
Reviewed-by: erikj
2020-04-28 18:12:02 +02:00
Erik Joelsson
87f0ff6c10 8243510: AbsPathsInImage.java fails on Windows
Reviewed-by: ihse, tbell
2020-04-28 08:22:28 -07:00
Harold Seigel
941643ece9 8242921: test/hotspot/jtreg/runtime/CompactStrings/TestMethodNames.java uses nashorn script engine
Put method names in a .jcod file instead of using nashorn to generate them

Reviewed-by: lfoltan, coleenp
2020-04-28 14:13:44 +00:00
Magnus Ihse Bursie
09e8b7ca4d 8243985: Make source generation by generatecharacter reproducible
Reviewed-by: naoto
2020-04-28 15:36:53 +02:00
Magnus Ihse Bursie
c03a9bc9a2 8243973: Clarify difference between JAVA_OPTIONS and VM_OPTIONS
Reviewed-by: erikj
2020-04-28 15:35:41 +02:00
Magnus Ihse Bursie
0b5f5d54f6 8243982: Fix testing documentation after JDK-8240241
Reviewed-by: erikj
2020-04-28 15:33:41 +02:00
Coleen Phillimore
3ed0849504 8243393: Improve ReservedSpace constructor resolution
Remove possibly ambiguous constructor and use directly in ReservedCodeHeap

Reviewed-by: stuefe
2020-04-28 07:35:28 -04:00
David Holmes
a8ffbb350d 8243989: test/hotspot/jtreg/serviceability/jvmti/CanGenerateAllClassHook/CanGenerateAllClassHook.java needs to use othervm
Reviewed-by: mdoerr
2020-04-28 05:53:19 -04:00
John Paul Adrian Glaubitz
1b0a423f6f 8242244: Remove redundant ELF machine definitions
Reviewed-by: dholmes
2020-04-28 11:43:00 +02:00
Rahul Yadav
184b433630 8242999: HTTP/2 client may not handle CONTINUATION frames correctly
Updated jdk.internal.net.http.Stream.incoming(Http2Frame frame) to handle continuation frame with END_HEADER flag

Reviewed-by: chegar, dfuchs
2020-04-28 10:30:27 +01:00
Anirvan Sarkar
7a937e0dde 8243567: Update download link of jtreg provided by Adoption Group
Reviewed-by: ihse
2020-04-28 11:10:33 +02:00
Jan Lahoda
65344142d3 8243000: javac only build fails after removal of Nashorn
Adjusting langtools ant build and Idea project to Nashorn removal.

Co-authored-by: Maurizio Cimadamore <maurizio.cimadamore@oracle.com>
Reviewed-by: mcimadamore, jlahoda
2020-04-28 10:43:29 +02:00
Igor Ignatyev
9cea1a5179 8243954: serviceability/logging/TestQuotedLogOutputs.java fails after 8243928
Reviewed-by: dholmes
2020-04-28 03:29:38 -04:00
Kim Barrett
538e005813 8242459: ForceNUMA and only one available NUMA node hits a guarantee
Fix some asserts to handle the single-NUMA node + ForceNUMA case.

Reviewed-by: sjohanss, tschatzl
2020-04-28 03:02:21 -04:00
Igor Ignatyev
1041efe027 8243946: serviceability/sa and jvmti tests fail after JDK-8243928
Reviewed-by: dholmes, mikael, sspitsyn
2020-04-27 22:24:54 -07:00
Serguei Spitsyn
ae9d5636f1 8243941: build issue introduced with the push of 8242237
Use right type to declare function argument

Reviewed-by: iignatyev
2020-04-28 04:46:08 +00:00
Igor Ignatyev
3a9f7648d2 8243928: several svc tests can be run in driver mode
Reviewed-by: amenkov
2020-04-27 20:06:22 -07:00
Serguei Spitsyn
223ca800cc 8242237: Improve JVM TI HiddenClasses tests
Improve JVM TI HiddenClasses test: cleanup + more comments

Reviewed-by: lmesnik, amenkov
2020-04-28 02:37:15 +00:00
Igor Ignatyev
a740f83da3 8243930: update copyright years
Reviewed-by: dholmes
2020-04-27 17:58:27 -07:00
Calvin Cheung
18c43241fb 8241815: Unnecessary calls to SystemDictionaryShared::define_shared_package
Avoid calling ClassLoaders.definePackage during loading of shared classes originated from the module image since java.lang.Package for named modules are automatically defined.

Reviewed-by: mchung, lfoltan
2020-04-28 00:09:53 +00:00
Dean Long
03f8e6ccd8 8219607: Add support in Graal and AOT for hidden class
Reviewed-by: kvn
2020-04-27 14:23:15 -07:00
Mikael Vidstedt
68b189ae8b 8243633: Remove cups dependency when building linux at Oracle
Reviewed-by: ihse, erikj, tbell
2020-04-27 14:21:19 -07:00
Naoto Sato
9697772b1f 8243664: JavaDoc of CompactNumberFormat points to wrong enum
Reviewed-by: rriggs, joehw
2020-04-27 14:03:45 -07:00
Daniil Titov
c2d3ff3bf8 8242239: [Graal] javax/management/generified/GenericTest.java fails: FAILED: queryMBeans sets same
Reviewed-by: cjplummer, sspitsyn
2020-04-27 12:48:09 -07:00
Igor Ignatyev
d84e4f1fd6 8243565: some gc tests use 'test.java.opts' and not 'test.vm.opts'
Reviewed-by: stefank
2020-04-27 10:25:29 -07:00
Igor Ignatyev
e0f46d0cb6 8243620: a few compiler/jvmci tests can be run in driver mode
Reviewed-by: thartmann
2020-04-27 09:16:39 -07:00
Igor Ignatyev
a3d14c6de5 8243622: all actions in compiler/aot/fingerprint/SelfChangedCDS.java can be run in driver mode
Reviewed-by: thartmann
2020-04-27 09:16:26 -07:00
Igor Ignatyev
a075c328e4 8243621: use SkippedException in compiler/jsr292/MHInlineTest.java test
Reviewed-by: thartmann
2020-04-27 09:16:11 -07:00
Igor Ignatyev
83a6527e44 8243619: compiler/codecache/CheckSegmentedCodeCache.java test misses -version
Reviewed-by: thartmann
2020-04-27 09:16:00 -07:00
Igor Ignatyev
9097c799f2 8243618: compiler/rtm/cli tests can be run w/o WhiteBox
Reviewed-by: thartmann
2020-04-27 09:15:47 -07:00
Igor Ignatyev
27dc913618 8243617: compiler/onSpinWait/TestOnSpinWaitC1.java test uses wrong class
Reviewed-by: thartmann
2020-04-27 09:15:34 -07:00
Roger Riggs
bdf672659c 8243010: Test support: Customizable Hex Printer
Reviewed-by: lancea, dfuchs, weijun
2020-04-16 15:45:37 -04:00
Claes Redestad
d2e0d0e06a 8243469: Lazily encode name in ZipFile.getEntryPos
Co-authored-by: Eirik Bjørsnøs <eirbjo@gmail.com>
Reviewed-by: lancea, simonis
2020-04-27 17:26:05 +02:00
Erik Gahlin
c55e7d5a4a 8242034: Remove JRE_HOME references
Reviewed-by: mbaesken
2020-04-27 15:01:22 +02:00
Erik Gahlin
0bbdcdac5a 8240783: JFR: TestClose could not finish chunk
Reviewed-by: mgronlun, mseledtsov
2020-04-27 14:29:44 +02:00
Pavel Rappo
32eb99e3e3 8243563: Doc comments cleanup
Reviewed-by: egahlin
2020-04-27 12:34:32 +01:00
Ao Qi
5d783f761f 8242846: Bring back test/jdk/tools/jlink/plugins/OrderResourcesPluginTest.java
Reviewed-by: alanb, sundar
2020-04-27 16:28:52 +05:30
Erik Gahlin
e34508cba2 8242933: jdk/jfr/api/consumer/TestHiddenMethod uses nashorn script engine
Reviewed-by: mgronlun
2020-04-27 11:32:52 +02:00
Athijegannathan Sundararajan
d07d6bd123 8243576: Remove residual reference to nashorn modules in make/CompileJavaModules.gmk
Reviewed-by: ihse
2020-04-27 14:53:07 +05:30
Martin Doerr
0e07f5a7d7 8151030: PPC64: AllocatePrefetchStyle=4 is out of range
Cleanup prefetching code and use AllocatePrefetchLines=1 by default.

Reviewed-by: goetz, mhorie, lucy
2020-04-27 10:01:04 +02:00
Bin Liao
b2db7a0c9a 8243539: Copyright info (Year) should be updated for fix of 8241638
Reviewed-by: weijun
2020-04-27 12:32:12 +08:00
Kim Barrett
7fb48971ee 8243587: Missing comma in copyright header
Added comma.

Reviewed-by: iignatyev
2020-04-26 22:28:19 -04:00
Igor Ignatyev
806566519a 8243568: serviceability/logging/TestLogRotation.java uses 'test.java.opts' and not 'test.vm.opts'
Reviewed-by: lmesnik, dholmes
2020-04-26 18:09:33 -07:00
Mikael Vidstedt
0fd64dea3d 8243591: Change to GCC 9.2 for building Linux/aarch64 at Oracle
Reviewed-by: tbell
2020-04-25 18:11:08 -07:00
Mikael Vidstedt
b0739f4683 8243590: Bump boot jdk to JDK 14 on aarch64 at Oracle
Reviewed-by: tbell
2020-04-25 18:10:45 -07:00
John Jiang
5fc5cb9f25 8243549: sun/security/ssl/CipherSuite/NamedGroupsWithCipherSuite.java failed with Unsupported signature algorithm: DSA
Reviewed-by: xuelei
2020-04-25 05:17:26 +08:00
Coleen Phillimore
f8ab03fa04 8243503: InstanceKlass::_array_name is not needed and leaks
Decrement the refcount for all Klass in class unloading.

Reviewed-by: lfoltan, hseigel
2020-04-24 16:54:28 -04:00
Zhengyu Gu
05bf8dced5 8243578: Shenandoah: Cleanup ShenandoahStringDedup::parallel_oops_do()
Reviewed-by: shade
2020-04-24 16:37:09 -04:00
Xue-Lei Andrew Fan
bfcb340606 8236464: SO_LINGER option is ignored by SSLSocket in JDK 11
Reviewed-by: ascarpino
2020-04-24 13:30:47 -07:00
Alexey Semenyuk
88f3861cb7 8236129: Exe installers have wrong properties
Reviewed-by: herrick, almatvee
2020-04-24 16:13:23 -04:00
Mandy Chung
33d9178ebd 8243574: java.lang.invoke.InvokerBytecodeGenerator.ClassData should be package-private
Reviewed-by: alanb
2020-04-24 12:59:04 -07:00
Raffaello Giulietti
e19d880581 8243575: Trivial javadoc fix of j.l.i.MethodHandles::arrayElementVarHandle
Reviewed-by: mchung
2020-04-24 12:58:44 -07:00
Hannes Wallnöfer
b4615b163c 8243562: Make display of search results consistent with color scheme
Reviewed-by: jjg
2020-04-24 21:55:48 +02:00
Jonathan Gibbons
f9b816b8f9 8242649: improve the CSS class names used for summary and details tables
Reviewed-by: hannesw
2020-04-24 09:14:51 -07:00
Daniel Fuchs
94a99ab9e5 8243246: HTTP Client sometimes gets java.io.IOException -> Invalid chunk header byte 32
The HTTP/1 chunked body parser is updated to discard chunk extensions

Reviewed-by: chegar, alanb
2020-04-24 16:54:30 +01:00
Stefan Johansson
04c6d13322 8241153: Refactor HeapRegionManager::find_unavailable_from_idx to simplify expand_at
Reviewed-by: tschatzl, sangheki
2020-04-24 14:39:20 +02:00
Tejpal Rebari
816d9483f0 8241228: Test jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java is failing
Reviewed-by: serb, pbansal, psadhukhan
2020-04-13 17:42:05 +05:30
Prasanta Sadhukhan
efba976cfb Merge 2020-04-11 10:32:17 +05:30
Prasanta Sadhukhan
6b0b851a7c Merge 2020-04-10 11:47:09 +05:30
Stuart Monteith
ca46bba505 8241587: Aarch64: remove x86 specifics from os_linux.cpp/hpp/inline.hpp
Reviewed-by: dholmes
2020-04-10 09:41:20 +08:00
Joe Darcy
455d2e7cea 8225540: In core reflection note whether returned annotations are declaration or type annotations
Reviewed-by: alanb, prappo
2020-04-09 14:16:17 -07:00
Jim Laskey
b7d5172b89 8242472: Comment for unused PreviewFeature.Feature.TEXT_BLOCKS enum
Reviewed-by: abuckley
2020-04-09 16:32:22 -03:00
Vladimir Ivanov
1d7dee9ae4 8242289: C2: Support platform-specific node cloning in Matcher
Reviewed-by: kvn
2020-04-09 21:29:34 +03:00
Chris Plummer
e0a75ed00d 8242162: convert clhsdb "sysprops" command from javascript to java
Reviewed-by: sspitsyn, ysuenaga
2020-04-09 07:13:49 -07:00
Jim Laskey
ef8537ec1a 8241741: Implement Text Blocks as a standard feature in javac
Reviewed-by: jlahoda
2020-04-09 10:55:01 -03:00
Jim Laskey
d9bf934831 8241742: Remove the preview status for methods introduced for Text Blocks
Reviewed-by: psandoz, chegar, alanb
2020-04-09 10:55:01 -03:00
Claes Redestad
36f22938ed 8241920: G1: Lazily initialize OtherRegionsTable::_coarse_map
Reviewed-by: tschatzl, eosterlund
2020-04-09 14:59:11 +02:00
Zhengyu Gu
136450572e 8242400: Shenandoah: Restore logging to pre-jdk8241984 format
Reviewed-by: shade
2020-04-09 08:43:03 -04:00
Claes Redestad
cdfe841d3d 8242038: G1: Lazily initialize RSHashTables
Reviewed-by: kbarrett, sjohanss, tschatzl
2020-04-09 13:04:10 +02:00
Igor Ignatyev
7c351405c4 8242310: use reproducible random in hotspot compiler tests
Reviewed-by: kvn, thartmann
2020-04-08 22:58:42 -07:00
Igor Ignatyev
0eb72d4e74 8241707: introduce randomness k/w to hotspot test suite
Reviewed-by: kvn, mseledtsov
2020-04-08 22:54:35 -07:00
Chris Plummer
d1091364aa 8240990: convert clhsdb "dumpclass" command from javascript to java
Reviewed-by: sspitsyn, ysuenaga
2020-04-08 21:01:01 -07:00
Joe Wang
cd8be04b8a 8237187: Obsolete references to java.sun.com
Reviewed-by: lancea, naoto
2020-04-09 03:51:32 +00:00
Jesper Wilhelmsson
16f8c294b5 Added tag jdk-15+18 for changeset 44aef192b488 2020-04-09 05:28:47 +02:00
Jie Fu
3487361a39 8242379: [TESTBUG] compiler/loopopts/TestLoopUnswitchingLostCastDependency.java fails with release VMs
Reviewed-by: roland, kvn
2020-04-09 09:20:18 +08:00
Phil Race
3850f28ed8 8242325: Remove VIS version of medialib
Reviewed-by: serb, bpb, erikj
2020-04-08 16:55:27 -07:00
Chris Plummer
82dfec76c6 8242384: sa/TestSysProps.java failed due to "RuntimeException: Could not find property in jinfo output: [0.058s][info][cds] Archive was created with UseCompressedOops"
Reviewed-by: dcubed
2020-04-08 14:11:06 -07:00
Phil Race
64365fb908 8223090: Clean up obsolete logic & reference to Amble fonts
Reviewed-by: serb, psadhukhan
2020-04-08 13:19:12 -07:00
Leonid Mesnik
3a6249d0c7 8242295: Change ThreadMBean in vmTestbase/nsk/monitoring to ThreadMXBean
Reviewed-by: iignatyev
2020-04-08 13:14:19 -07:00
Hannes Wallnöfer
ac8d42087a 8240169: javadoc fails to link to non-modular api docs
Reviewed-by: jjg
2020-04-08 22:04:51 +02:00
Hannes Wallnöfer
cdb379e5b4 8237383: Members inherited from non-public types are not included in index
Reviewed-by: jjg
2020-04-08 21:28:14 +02:00
Chris Plummer
64957a1770 8242265: serviceability/sa/ClhsdbScanOops.java fails due to bad @requires expression
Reviewed-by: sspitsyn, lmesnik
2020-04-08 12:03:02 -07:00
Naoto Sato
62060fc278 8242337: javadoc typo in NumberFormat::setMinimumFractionDigits
Reviewed-by: lancea, martin
2020-04-08 11:40:33 -07:00
Patricio Chilano Mateo
89a33e69a7 8240918: [REDO] Allow direct handshakes without VMThread intervention
REDO of 8230594

Reviewed-by: dholmes, rehn, mdoerr, coleenp, dcubed
2020-04-08 18:32:21 +00:00
Naoto Sato
51a5e9ca3c 8242010: Upgrade IANA Language Subtag Registry to Version 2020-04-01
Reviewed-by: rriggs, joehw
2020-04-08 09:50:03 -07:00
Stefan Johansson
52ea4802f1 8241141: Restructure humongous object allocation in G1
Reviewed-by: tschatzl, kbarrett
2020-04-08 18:38:31 +02:00
Calvin Cheung
dd4e04d6f5 8242134: Consolidate the get_package_entry() in SystemDictionaryShared and ClassLoader
Keep the version in ClassLoader.

Reviewed-by: hseigel, redestad, lfoltan
2020-04-08 08:56:05 -07:00
Roger Riggs
0ffbbc821a 8242382: test/jdk/TEST.groups cleanup of sun/tools/java
Reviewed-by: lancea, dfuchs
2020-04-08 11:43:50 -04:00
Erik Österlund
a5b81d97f9 8240693: Sweeper should not examine dying metadata in is_unloading() nmethod during static call stub cleaning
Reviewed-by: kvn, coleenp, pliden
2020-04-08 15:34:56 +00:00
Erik Österlund
76a8557d0c 8241438: Move IntelJccErratum mitigation code to platform-specific code
Reviewed-by: vlivanov, kvn
2020-04-08 15:34:56 +00:00
Zhengyu Gu
6c1f8e1dc2 8242370: Enable JFR TestGCPhaseConcurrent test for Shenandoah
Reviewed-by: stefank
2020-04-08 11:33:17 -04:00
Zhengyu Gu
29b0912bc3 8242375: Shenandoah: Remove ShenandoahHeuristic::record_gc_start/end methods
Reviewed-by: shade, rkennke
2020-04-08 11:21:40 -04:00
Sergey Bylokhov
10ca487305 8239819: XToolkit: Misread of screen information memory
Reviewed-by: prr
2020-04-08 02:53:43 -07:00
Prasanta Sadhukhan
a6678d2e58 8240877: NPE at javax.swing.text.html.FormView.appendBuffer with null option values
Reviewed-by: serb
2020-04-08 16:29:03 +05:30
Sergey Bylokhov
f67e608861 8238567: SoftMainMixer.processAudioBuffers(): Wrong handling of stoppedMixers
Reviewed-by: prr
2020-04-08 02:36:04 -07:00
Sergey Bylokhov
a62b24f573 8241829: Cleanup the code for PrinterJob on windows
Reviewed-by: prr, aivanov
2020-04-08 02:03:56 -07:00
Sergey Bylokhov
84fc4850a6 7105119: [TEST_BUG] [macosx] In test UIDefaults.toString() must be called with the invokeLater()
Reviewed-by: prr, psadhukhan
2020-04-07 21:56:04 -07:00
Sergey Bylokhov
8eb7c3efb1 8196019: java/awt/Window/Grab/GrabTest.java fails on Windows
Reviewed-by: prr, jdv
2020-04-06 20:27:40 -07:00
Martin Balao
1c651455a7 8241888: Mirror jdk.security.allowNonCaAnchor system property with a security one
Reviewed-by: mullan
2020-04-02 18:18:23 -03:00
Andy Herrick
1cca0e48e0 8237490: [macos] Add support notarizing jpackage app-image and dmg
Reviewed-by: asemenyuk, almatvee
2020-04-08 09:44:53 -04:00
Roger Riggs
50ed53076f 8225319: Remove rmic from the set of supported tools
Reviewed-by: erikj, alanb, lancea, jjg, amlu
2020-04-08 09:22:08 -04:00
Adam Sotona
c2efd224ca 8239544: Javac does not respect should-stop.ifNoError policy to stop after CompileState PARSE, ENTER and PROCESS
JavaCompiler patch fixing its response to should-stop.ifNoError= option for PARSE, ENTER and PROCESS compiler states + new T8239544.java matrix regression test

Reviewed-by: jlaskey, jlahoda
2020-04-08 15:00:39 +02:00
Zhengyu Gu
9292b4002d 8241984: Shenandoah: enhance GCTimer and JFR support
Reviewed-by: rkennke
2020-04-08 08:13:22 -04:00
Aleksey Shipilev
64aee56add 8242365: Shenandoah: use uint16_t instead of jushort for liveness cache
Reviewed-by: rkennke
2020-04-08 13:44:58 +02:00
Aleksey Shipilev
7b870e70d0 8242353: Shenandoah: micro-optimize region liveness handling
Reviewed-by: rkennke
2020-04-08 13:44:57 +02:00
Pavel Rappo
4c4271f283 8242230: Whitespace typos, relaxed javadoc, formatting
Reviewed-by: darcy, igerasim
2020-04-08 11:16:56 +01:00
David M Lloyd
59684e10d1 8242356: (se) epoll Selector should use epoll_create1 instead of epoll_create
Reviewed-by: alanb, stuefe
2020-04-08 10:31:58 +01:00
Roman Kennke
343f7603e7 8242316: Shenandoah: Turn NULL-check into assert in SATB slow-path entry
Reviewed-by: zgu, shade
2020-04-08 11:26:49 +02:00
Erik Gahlin
05c26d8b65 8241828: JFR: Some streaming tests require a larger heap size with ZGC
Reviewed-by: stefank
2020-04-08 10:43:16 +02:00
Roland Westrelin
6405d75070 8241900: Loop unswitching may cause dependence on null check to be lost
Reviewed-by: thartmann, kvn
2020-04-02 15:03:27 +02:00
Jamil Nimeh
6b7a466f74 8242294: JSSE Client does not throw SSLException when an alert occurs during handshaking
Reviewed-by: xuelei
2020-04-08 00:03:56 -07:00
Nick Gasson
67fd181eb8 8242029: AArch64: skip G1 array copy pre-barrier if marking not active
Reviewed-by: aph
2020-04-08 14:03:35 +08:00
Weijun Wang
d8539a51ef 8242184: CRL generation error with RSASSA-PSS
Reviewed-by: xuelei
2020-04-08 10:13:12 +08:00
Chris Plummer
ccd2a16c58 8242165: SA sysprops support fails to dump all system properties
Reviewed-by: sspitsyn, ysuenaga
2020-04-07 18:32:55 -07:00
Chris Plummer
9fb91b4e9c 8242142: convert clhsdb "class" and "classes" commands from javascript to java
Reviewed-by: sspitsyn, amenkov
2020-04-07 16:31:46 -07:00
Liam Miller-Cushon
25642dd303 8035787: SourcePositions are wrong for Strings concatenated with '+' operator
Reviewed-by: jlahoda
2020-04-06 15:40:16 -07:00
Chris Plummer
a40ef7e41d 8242235: Disable SA testing on Solaris. Remove JDK-8193639 entries from ProblemList.txt
Reviewed-by: dcubed, amenkov
2020-04-07 13:56:53 -07:00
Roman Kennke
2b42382e7e 8242301: Shenandoah: Inline LRB runtime call
Reviewed-by: zgu
2020-04-07 22:31:18 +02:00
Jonathan Gibbons
7ac64b81ee 8241895: use new "details-list" CSS class instead of general "block-list" for list of details sections
Reviewed-by: hannesw
2020-04-07 12:41:49 -07:00
Jonathan Gibbons
8523e37f7e 8242056: Merge support for AnnotationType builders/writers into support for other types
Reviewed-by: hannesw
2020-04-07 09:50:36 -07:00
Chris Plummer
cceee2c638 8242168: ClhsdbFindPC.java failed due to "RuntimeException: 'In code in NMethod for LingeredAppWithTrivialMain.main' missing from stdout/stderr"
Reviewed-by: lmesnik, iignatyev
2020-04-07 09:36:13 -07:00
Patrick Concannon
378aef32ab 8240533: Inconsistent Exceptions are thrown by DatagramSocket and DatagramChannel when sending a DatagramPacket to port 0
Fix adds checks for port == 0 to the send and connect methods in DatagramSocket and DatagramChannelImpl

Reviewed-by: alanb, chegar, dfuchs, lancea
2020-04-07 16:21:01 +01:00
Zhengyu Gu
e53ae5ae63 8242216: ObjectSampler::weak_oops_do() should not trigger barrier
Reviewed-by: rkennke, eosterlund
2020-04-07 10:43:15 -04:00
Mikhailo Seledtsov
1a40b7931a 8241695: JFR TestCrossProcessStreaming.java child process exited with SIGQUIT (131)
Waiting for child's main() to start before attaching

Reviewed-by: egahlin
2020-04-07 07:21:41 -07:00
Lance Andersen
6351f95bc1 8242006: (zipfs) Improve Zip FS FileChannel and SeekableByteChannel test coverage
Reviewed-by: clanger
2020-04-07 09:03:05 -04:00
Aleksey Shipilev
9ba424ee57 8242267: Shenandoah: regions space needs to be aligned by os::vm_allocation_granularity()
Reviewed-by: rkennke, stuefe
2020-04-07 14:32:58 +02:00
Denghui Dong
9743ec80f1 8240360: NativeLibraryEvent has wrong library name on Linux
Reviewed-by: ysuenaga, clanger
2020-04-07 21:18:24 +09:00
Aleksey Shipilev
951cda8d1f 8242273: Shenandoah: accept either SATB or IU barriers, but not both
Reviewed-by: rkennke
2020-04-07 13:18:47 +02:00
Aleksey Shipilev
5fff119dde 8242271: Shenandoah: add test to verify GC mode unlock
Reviewed-by: rkennke
2020-04-07 13:18:46 +02:00
Egor Ushakov
76b1119f61 8241958: Slow ClassLoaderReferenceImpl.findType
Optimize ClassLoaderReferenceImpl.findType

Reviewed-by: cjplummer, sspitsyn
2020-04-07 07:24:09 +00:00
Ralf Schmelter
f5a728af03 8238289: Use _byteswap_ functions to implenent Bytes::swap_uX on Windows
Reviewed-by: minqi, dholmes
2020-04-07 09:06:01 +02:00
John Paul Adrian Glaubitz
edc4ffe54b 8199138: Add RISC-V support to Zero
Reviewed-by: erikj, stuefe
2020-04-07 08:45:01 +02:00
Lin Zang
b317d0ee39 8241638: launcher time metrics always report 1 on Linux when _JAVA_LAUNCHER_DEBUG set
Reviewed-by: alanb, dholmes
2020-04-07 03:25:11 +00:00
Alex Menkov
e18d66174a 8237572: Combine the two LingeredApp classes
Reviewed-by: cjplummer, lmesnik
2020-04-06 12:51:40 -07:00
Alexey Semenyuk
3aa216ecdf 8241713: Linux desktop shortcuts with spaces make postinst/prerm fail
Reviewed-by: almatvee, herrick
2020-04-04 07:09:52 -04:00
Aleksey Shipilev
c1016d5de2 8242229: Shenandoah: inline ShenandoahHeapRegion liveness-related methods
Reviewed-by: rkennke
2020-04-06 20:35:50 +02:00
Aleksey Shipilev
e3aae42d33 8242228: Shenandoah: remove unused ShenandoahCollectionSet methods
Reviewed-by: rkennke
2020-04-06 20:35:43 +02:00
Aleksey Shipilev
0d1e636aba 8242227: Shenandoah: transit regions to cset state when adding to collection set
Reviewed-by: rkennke
2020-04-06 20:35:36 +02:00
Aleksey Shipilev
59f28e56a2 8242213: Shenandoah: remove ShenandoahHeuristics::_bytes_in_cset
Reviewed-by: rkennke
2020-04-06 20:35:31 +02:00
Aleksey Shipilev
1d687b3525 8242212: Shenandoah: initialize ShenandoahHeuristics::_region_data eagerly
Reviewed-by: rkennke
2020-04-06 20:35:25 +02:00
Aleksey Shipilev
185f372127 8242211: Shenandoah: remove ShenandoahHeuristics::RegionData::_seqnum_last_alloc
Reviewed-by: rkennke
2020-04-06 20:35:19 +02:00
Roman Kennke
c4d01f8c8b 8242054: Shenandoah: New incremental-update mode
Reviewed-by: shade
2020-04-06 17:08:46 +02:00
Daniil Titov
ba26538cef 8241530: com/sun/jdi tests fail due to network issues on OSX 10.15
Reviewed-by: amenkov, sspitsyn
2020-04-06 07:39:58 -07:00
Roman Kennke
843a86214e 8242217: Shenandoah: Enable GC mode to be diagnostic/experimental and have a name
Reviewed-by: shade
2020-04-06 16:29:04 +02:00
Roman Kennke
ec5ccb8de3 8242130: Shenandoah: Simplify arraycopy-barrier dispatching
Reviewed-by: shade
2020-04-06 13:45:27 +02:00
Christoph Dreis
08b90285b2 8242208: Use Method.getParameterCount where applicable
Reviewed-by: redestad, chegar
2020-04-06 13:46:09 +02:00
Christoph Dreis
e9adf7bbe1 8242186: Reduce allocations in URLStreamHandler.parseURL for some cases
Reviewed-by: redestad, chegar
2020-04-06 13:44:54 +02:00
Tobias Hartmann
722a18d31e 8242090: Remove dead code from c1_LIR
Removed dead code.

Reviewed-by: redestad
2020-04-06 12:09:59 +02:00
Aleksey Shipilev
b73460b366 8242114: Shenandoah: remove ShenandoahHeapRegion::reset_alloc_metadata_to_shared
Reviewed-by: rkennke
2020-04-06 10:31:07 +02:00
Thomas Stuefe
5aed2164ea 8241726: Re-enable gtest for BitMap::count_one_bits()
Reviewed-by: mdoerr, clanger
2020-04-06 10:19:28 +02:00
Tobias Hartmann
3d36ef14b3 8241997: Scalar replacement of cloned array is broken after JDK-8238759
Replacement code still expected ArrayCopyNode::Dest to be an AddPNode.

Reviewed-by: roland, neliasso
2020-04-06 09:52:28 +02:00
Liam Miller-Cushon
4895a19dd1 8241798: Allow enums to have more constants
Reviewed-by: mcimadamore, briangoetz, forax
2020-03-28 16:15:52 -07:00
Chris Plummer
3a0a3d21d0 8184249: SA: clhsdb 'intConstant' throws a NullPointerException when not attached to a VM
Reviewed-by: amenkov
2020-04-10 14:00:49 -07:00
Roger Riggs
3cf922b3d1 8242462: Residual Cleanup of rmic removal
Reviewed-by: jjg, amlu, erikj, iignatyev, mseledtsov
2020-04-10 16:33:56 -04:00
Lance Andersen
93831d4ed2 8241883: (zipfs) SeekableByteChannel:close followed by SeekableByteChannel:close will throw an NPE coverage
Reviewed-by: clanger, alanb
2020-04-10 14:00:01 -04:00
Alex Menkov
f11d4628c1 8242282: Test sun/tools/jps/TestJps.java fails after JDK-8237572
Reviewed-by: dcubed, cjplummer
2020-04-10 10:52:26 -07:00
Joe Wang
8ace920733 8242470: Update Xerces to Version 2.12.1
Reviewed-by: lancea, naoto
2020-04-10 17:00:40 +00:00
Daniil Titov
5ad5aa49ce 8242430: Correct links in javadoc of OperatingSystemMXBean
Reviewed-by: dholmes
2020-04-10 08:46:17 -07:00
Rahul Yadav
86722cb038 8239594: jdk.tls.client.protocols is not respected
8239595: ssl context version is not respected

The java.net.HttpClient is updated to no longer override any default selected protocols in the SSLContext, in the absence of  any SSLParameters explicitly supplied to the HttpClient.builder.

Reviewed-by: chegar, dfuchs
2020-04-10 10:05:33 +01:00
Weijun Wang
502d45955f 8240848: ArrayIndexOutOfBoundsException buf for TextCallbackHandler
Reviewed-by: mullan
2020-04-10 15:05:42 +08:00
Yang Zhang
592b9a9571 8241911: AArch64: Fix a potential register clash issue in reduce_add2I
Reviewed-by: aph
2020-04-10 05:43:40 +00:00
Martin Balao
2883bccf48 8239385: KerberosTicket client name refers wrongly to sAMAccountName in AD
Reviewed-by: weijun
2020-03-28 19:41:10 -03:00
Patrick Concannon
469c13a86d 8243488: Add tests for set/get SendBufferSize and getReceiveBufferSize in DatagramSocket
Tests added for methods: setSendBufferSize(int), getSendBufferSize(), and getReceieveBufferSize() to increase test coverage in the DatagramSocket class

Reviewed-by: alanb, chegar, dfuchs
2020-05-05 18:34:39 +01:00
Fernando Guallini
cd9b2bb97f 8244444: [TESTBUG] Test for XPathEvaluationResult.XPathResultType
Reviewed-by: joehw
2020-05-05 16:59:41 +00:00
Igor Ignatyev
2163dec6c4 8243432: use reproducible random in :vmTestbase_vm_defmeth
Reviewed-by: dholmes
2020-05-05 09:54:51 -07:00
Igor Ignatyev
0b7a47665f 8243431: use reproducible random in :vmTestbase_vm_metaspace
Reviewed-by: dholmes
2020-05-05 09:54:51 -07:00
Fernando Guallini
80d280263a 8183266: [TESTBUG]Add test to cover XPathEvaluationResult.XPathResultType.getQNameType method
Reviewed-by: joehw
2020-05-05 16:35:48 +00:00
Igor Ignatyev
a899004d4e 8244384: @requires-related clean up in gc/metaspace/ tests
Reviewed-by: kbarrett, stefank
2020-05-05 09:27:24 -07:00
Igor Ignatyev
c976be69c3 8244385: various clean-ups in runtime tests
Reviewed-by: minqi
2020-05-05 09:27:22 -07:00
Zhengyu Gu
5ac755681f 8244420: Shenandoah: Ensure _disarmed_value offset < 128
Reviewed-by: rkennke
2020-05-05 12:32:40 -04:00
Anirvan Sarkar
704749a094 8244293: Remove outdated @apiNote in java.util.Objects
Reviewed-by: psandoz
2020-05-05 09:12:40 -07:00
Erik Joelsson
1a0755008d 8244214: Change to VS2019 for building on Windows at Oracle
Reviewed-by: mikael
2020-05-05 08:11:44 -07:00
Aleksey Shipilev
00e15ff4e6 8244326: Shenandoah: global statistics should not accept bogus samples
Reviewed-by: rkennke
2020-05-05 11:44:09 +02:00
Stefan Karlsson
81597d9f8f 8244078: ProcessTools executeTestJvm and createJavaProcessBuilder have inconsistent handling of test.*.opts
Reviewed-by: dholmes, cjplummer
2020-05-04 21:20:39 +02:00
Sibabrata Sahoo
a8edd11d7a 8242335: Additional Tests for RSASSA-PSS
New Tests for RSASSA-PSS

Reviewed-by: valeriep
2020-05-04 23:07:04 -07:00
Erik Gahlin
600319b68a 8244149: jdk/jfr/api/consumer/recordingstream/TestOnEvent.java times out
Reviewed-by: mgronlun
2020-05-04 23:16:44 +02:00
Leonid Mesnik
df182ea6e0 8244133: Refactor nsk/jdi tests to reduce code duplication in settingBreakpoint communication
Reviewed-by: cjplummer, sspitsyn
2020-05-04 11:40:09 -07:00
Andy Herrick
342edb4c6d 8244018: No error message for non-existent icon path
Reviewed-by: asemenyuk, almatvee
2020-05-04 13:39:46 -04:00
Andy Herrick
14ae7cf769 8242865: Usability problems using mac signing in jpackage
Reviewed-by: asemenyuk, almatvee
2020-05-03 13:50:30 -04:00
Alan Bateman
0efacb3eed 8244292: Headful clients failing with --illegal-access=deny
Reviewed-by: prr
2020-05-04 19:07:41 +01:00
Toshio Nakamura
90e8a0a3db 8243453: java --describe-module failed with non-ASCII module name under non-UTF8 environment
Reviewed-by: alanb
2020-05-04 19:01:27 +01:00
Aleksey Shipilev
e70d76d741 8244200: Shenandoah: build breakages after JDK-8241743
Reviewed-by: rkennke
2020-05-04 19:09:07 +02:00
Jorn Vernee
31041d406a 8241100: Make Boolean, Character, Byte, and Short implement Constable
Reviewed-by: jrose, briangoetz, psandoz
2020-05-04 09:41:01 -07:00
Zhengyu Gu
2d8bea8c1d 8244328: Shenandoah: move ShenandoahThreadLocalData::_disarmed_value initialization
Reviewed-by: shade
2020-05-04 10:01:25 -04:00
Stefan Johansson
cbfcae7746 8233439: G1 zero_filled optimization when committing CardCountsTable does not work
Reviewed-by: tschatzl, kbarrett
2020-05-04 15:05:38 +02:00
Alan Bateman
c7b1b1bb74 8244284: Two tests in test/hotspot/jtreg/vmTestbase fail with --illegal-access=deny
Reviewed-by: iignatyev
2020-05-04 12:45:12 +01:00
Alan Bateman
e5099daae2 8244283: test/jdk/sun/net/idn/TestStringPrep.java fails with --illegal-access=deny
Reviewed-by: chegar
2020-05-04 12:40:17 +01:00
Alan Bateman
352e460529 8244281: test/jdk/com/sun/crypto/provider/KeyProtector/IterationCount.java fails with --illegal-access=deny
Reviewed-by: weijun, xuelei
2020-05-04 12:37:58 +01:00
Jan Lahoda
4e55421171 8243548: Javac incorrectly collects enum fields when verifying switch expression exhaustivness
When gathering enum constants for exhaustivness analysis, make sure nested enum classes are not included

Reviewed-by: vromero
2020-05-04 12:28:36 +02:00
Jan Lahoda
1a35219f01 8243557: Inconvenient span for multi-catch error diagnostics
Reviewed-by: vromero
2020-05-04 12:28:35 +02:00
Christian Hagedorn
09912cc509 8244182: Use root node as default for find_node when called from debugger
Improve find_node for simpler debugging.

Reviewed-by: roland, thartmann
2020-05-04 10:27:46 +02:00
Christian Hagedorn
bbcb3b638b 8230402: Allocation of compile task fails with assert: "Leaking compilation tasks?"
Remove assert that is only hit with hand written edge case tests.

Reviewed-by: kvn, thartmann
2020-05-04 10:23:23 +02:00
Daniel D. Daugherty
57fbf93ef9 8230940: Obsolete MonitorBound
Obsolete MonitorBound option and delete associated code.

Reviewed-by: kbarrett, dholmes, redestad
2020-05-03 10:00:36 -04:00
Jie Fu
765a5b858b 8244276: Zero and minimal VM build failure after JDK-8178349 (use of undeclared identifier 'SystemDictionaryShared')
Reviewed-by: minqi, dholmes
2020-05-03 20:11:14 +08:00
Alexey Semenyuk
eee32495a1 8244220: Compiler error in jpackage with VS2019
Reviewed-by: herrick, almatvee, prr
2020-05-02 11:02:48 -04:00
Jatin Bhateja
f0f7070cb5 8244186: assertion failure test/jdk/javax/net/ssl/DTLS/RespondToRetransmit.java
Removing an assertion which prevents logic folding over cones already having a MacroLogic node.

Reviewed-by: kvn
2020-05-02 20:37:56 +05:30
Igor Ignatyev
bcf3ae8245 8244142: some hotspot/runtime tests don't check exit code of forked JVM
Reviewed-by: gziemski, minqi
2020-04-29 19:55:52 -07:00
Igor Ignatyev
47c30dbc16 8244141: use @requires and SkippedException in some hotspot/runtime tests
Reviewed-by: minqi, gziemski
2020-05-02 07:17:20 -07:00
Igor Ignatyev
1ad4834807 8203238: [TESTBUG] rewrite MemOptions shell test in Java
Reviewed-by: mseledtsov, kbarrett
2020-03-24 17:18:35 -07:00
Tobias Hartmann
0c7e01fa32 8242108: Performance regression after fix for JDK-8229496
Backed out the fix for 8229496.

Reviewed-by: kvn, roland
2020-04-22 16:22:53 +02:00
Erik Joelsson
d8d8424db9 8243109: Bootcycle build failures after Nashorn removal
Reviewed-by: ihse
2020-04-22 07:06:23 -07:00
Aleksey Shipilev
6b5fc175a1 8243395: Shenandoah: demote guarantee in ShenandoahPhaseTimings::record_workers_end
Reviewed-by: zgu
2020-04-22 15:19:52 +02:00
Aleksey Shipilev
1ba7cf7dd6 8243291: Shenandoah: no need to retire TLABs at Init Update Refs
Reviewed-by: rkennke
2020-04-22 15:19:52 +02:00
Aleksey Shipilev
91d204780d 8243301: Shenandoah: ditch ShenandoahAllowMixedAllocs
Reviewed-by: rkennke
2020-04-22 15:19:52 +02:00
Patrick Concannon
8e21a2a1e4 8237890: DatagramPacket::getSocketAddress doesn't specify what happens if address or port are not set
This fix changes the default port of a DatagramPacket from -1 to 0, which changes the behaviour of calling getSocketAddress with no port set from throwing an IAE to returning an InetSocketAddress representing any local address with port 0.

Reviewed-by: alanb, chegar, dfuchs
2020-04-22 12:34:09 +01:00
Aleksey Shipilev
ac088b4631 8243307: Shenandoah: remove ShCollectionSet::live_data
Reviewed-by: rkennke
2020-04-22 11:45:27 +02:00
Ivan Walulya
59521b0389 8209162: Page size selection does not always select optimal page size
Reviewed-by: sjohanss, tschatzl
2020-04-21 19:44:17 +02:00
Corey Ashford
d945999862 8241874: [PPC64]: Improve performance of Long.reverseBytes() and Integer.reverseBytes() on Power9
Reviewed-by: mdoerr, mhorie
2020-04-22 02:30:14 -05:00
Rahul Raghavan
0d09d682a4 8241986: The java man page erroneously refers to XEND when it should refer XTEST
Fixed typo in the man page

Reviewed-by: thartmann
2020-04-22 11:53:27 +05:30
Yang Zhang
306eeb0861 8242482: AArch64: Change parameter names of reduction operations to make code clear
Reviewed-by: aph
2020-04-22 05:19:53 +00:00
Chris Yin
61b03fbfa6 8242614: cleanup duplicated test ldap server in some com/sun/jndi/ldap/ tests
Reviewed-by: aefimov, vtewari, dfuchs
2020-04-22 09:44:10 +08:00
Vicente Romero
78a0baa57c 8241627: Updating ASM to 8.0.1 for JDK 15
Co-authored-by: Igor Ignatyev <igor.ignatyev@oracle.com>
Reviewed-by: psandoz, chegar
2020-04-21 21:25:26 -04:00
Pavel Rappo
c7ae195a03 8243318: New test jdk/javadoc/tool/8224612/OptionsTest.java is failing
Reviewed-by: jjg
2020-04-22 01:30:16 +01:00
David Buck
f8f698465d 8234691: Potential double-free in ParallelSPCleanupTask constructor
Prevent extraneous constructor call

Reviewed-by: dholmes, stefank
2020-04-21 19:52:18 -04:00
Chris Plummer
d041941e64 8242789: sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java fails with 'JShellToolProvider' missing from stdout/stderr
Reviewed-by: amenkov, sspitsyn
2020-04-21 16:13:24 -07:00
Chris Plummer
d80f55e7e9 8243206: Cleanup error checking and handling in serviceability/sa/JhsdbThreadInfoTest.ja
Reviewed-by: amenkov, sspitsyn
2020-04-21 16:11:25 -07:00
Pavel Rappo
392b75d158 8224612: javadoc should better handle empty set of doclet options
Reviewed-by: hannesw
2020-04-21 20:09:49 +01:00
Patricio Chilano Mateo
d19f5f6830 8242484: Rework thread deletion during VM termination
Always delete JavaThread that calls Thread::destroy_vm()

Reviewed-by: dholmes, rehn, coleenp
2020-04-21 17:50:48 +00:00
Lois Foltan
efa570126b 8243045: AOTCompiledMethod::print_on triggers assertion after JDK-8210012
Fix outputStream time stamp issue when AOT and -Xlog:all=trace are specified together.

Reviewed-by: coleenp, hseigel, kvn
2020-04-21 17:20:08 +00:00
Mandy Chung
1c6ca09b02 8238195: Lookup::defineClass should link the class to match the specification
Reviewed-by: alanb, chegar
2020-04-21 07:09:18 -07:00
Mandy Chung
1feb24e561 8243274: suppress warnings in LookupDefineClass microbenchmarks due to JDK-8243156
Reviewed-by: lfoltan
2020-04-21 07:08:55 -07:00
Mandy Chung
7cc1371059 8238358: Implementation of JEP 371: Hidden Classes
Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Co-authored-by: David Holmes <david.holmes@oracle.com>
Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Co-authored-by: Serguei Spitsyn <serguei.spitsyn@oracle.com>
Co-authored-by: Alex Buckley <alex.buckley@oracle.com>
Co-authored-by: Jamsheed Mohammed C M <jamsheed.c.m@oracle.com>
Co-authored-by: Jan Lahoda <jan.lahoda@oracle.com>
Co-authored-by: Amy Lu <amy.lu@oracle.com>
Reviewed-by: alanb, cjplummer, coleenp, dholmes, dlong, forax, jlahoda, psandoz, plevart, sspitsyn, vromero
2020-04-21 06:55:38 -07:00
Jim Laskey
642041adbc 8243168: Remove addition preview adornment from String::stripIndent and String::translateEscapes
Reviewed-by: chegar
2020-04-21 10:11:36 -03:00
Magnus Ihse Bursie
93032c637b 8242943: Fix all remaining unchecked warnings in jdk.hotspot.agent
Reviewed-by: darcy, sspitsyn, dholmes
2020-04-21 13:55:23 +02:00
Magnus Ihse Bursie
48569d9da0 8243156: Fix deprecation and unchecked warnings in microbenchmark
Reviewed-by: erikj, redestad
2020-04-21 13:52:32 +02:00
Stefan Karlsson
71b06ed298 8243146: Further cleanups after UseAdaptiveGCBoundary removal
Reviewed-by: kbarrett, sjohanss
2020-04-21 10:10:23 +02:00
Aleksey Shipilev
74b3243f8c 8243238: Shenandoah: explicit GC request should wait for a complete GC cycle
Reviewed-by: rkennke
2020-04-21 11:20:54 +02:00
Yang Zhang
6a905b6546 8242070: AArch64: Fix a typo introduced by JDK-8238690
Change LShiftCntV to RShiftVS in match rule of vector shift right with imm for short type.

Reviewed-by: aph
2020-04-21 04:07:37 +00:00
Yang Zhang
5a665c39c9 8242796: Fix client build failure
Reviewed-by: kvn
2020-04-21 04:02:27 +00:00
Ioi Lam
0bc7cc4d28 8241158: SA TestHeapDumpForInvokeDynamic.java fails when CDS archive is relocated
Reviewed-by: ccheung
2020-04-20 17:33:52 -07:00
Yumin Qi
7b8c373494 8240204: Optimize package handling for archived classes
ClassLoader::add_package just sets classpath_index to PackageEntry, moved the code to InstanceKlass. Also avoid calling check_prohibited_package since CDS does not archive prohibited classe in set_package.

Reviewed-by: hseigel, lfoltan, redestad, iklam
2020-04-20 16:36:15 -07:00
Vladimir Kozlov
8da1ee7833 8242357: [JVMCI] Incorrect use of JVMCI_CHECK_ on return statement
Reviewed-by: dholmes, xliu
2020-04-20 13:13:56 -07:00
Erik Joelsson
bc3ed7bdb4 8242863: Bump minimum boot jdk to JDK 14
Reviewed-by: ihse, jlahoda, dholmes
2020-04-20 10:38:16 -07:00
Severin Gehwolf
85d07da475 8243059: Build fails when --with-vendor-name contains a comma
Use $$(VERSION_CFLAGS) so as to avoid the variable getting evaluated early

Reviewed-by: ihse, erikj
2020-04-17 11:14:17 +02:00
Daniil Titov
db8757ad12 8231585: java/lang/management/ThreadMXBean/MaxDepthForThreadInfoTest.java fails with java.lang.NullPointerException
Reviewed-by: dholmes, cjplummer, sspitsyn
2020-04-20 09:24:47 -07:00
Daniel Fuchs
da1abd18db 8238270: java.net HTTP/2 client does not decrease stream count when receives 204 response
The HTTP/2 Stream is updated to register a trivial data subscriber in case of 204 so that the END_STREAM is correctly processed.

Reviewed-by: chegar
2020-04-20 13:15:45 +01:00
Magnus Ihse Bursie
e8dfd8ce54 8243154: Fix deprecation warnings in failure handler
Reviewed-by: dholmes
2020-04-20 13:37:38 +02:00
Jan Lahoda
ec1c111c6c 8243074: Misplaced and/or duplicate super or this constructor invocation not attributed
Fully attributing misplaced and/or duplicated super/this constructor invocations

Reviewed-by: mcimadamore
2020-04-20 12:36:09 +02:00
Jan Lahoda
4b6e75dc72 8243047: javac may crash when processing exits in class initializers
Flow should handle invalid exits from class initializers gracefully

Reviewed-by: vromero
2020-04-20 12:36:09 +02:00
Jan Lahoda
df82d9a4b5 8242802: javac crashes when checking equals and hashCode in unresolvable anonymous class
Preventing NullPointerException when a class has an erroneous supertype and does not have an implementation of the equals method.

Reviewed-by: darcy, vromero
2020-04-20 12:36:09 +02:00
Jan Lahoda
f08b5a8006 8241950: JShell could support auto-indent
Reviewed-by: rfield
2020-04-20 12:36:09 +02:00
Kuai Wei
f51088e261 8242449: AArch64: r27 can be allocated in CompressedOops mode
Reviewed-by: aph, xliu
2020-04-20 09:40:43 +00:00
Richard Reingruber
25cd1774a7 8242793: Incorrect copyright header in ContinuousCallSiteTargetChange.java
Reviewed-by: kvn
2020-04-15 22:02:36 +02:00
Yasumasa Suenaga
efcb6bd20e 8242425: JVMTI monitor operations should use Thread-Local Handshakes
Reviewed-by: sspitsyn, dholmes
2020-04-20 13:57:11 +09:00
Eirik Bjørsnøs
fc728278c2 8242959: Optimize ZipFile.getEntry by folding lookups for name and name+'/'
Reviewed-by: lancea, redestad
2020-04-18 20:19:45 +02:00
Claes Redestad
d185fe9953 8242452: During module definition, move conversion of packages from native to VM
8242290: Pointless verification in get_package_entry_by_name

Reviewed-by: lfoltan, iklam, hseigel
2020-04-18 19:45:45 +02:00
Kim Barrett
4d487927ad 8228991: Obsolete -XX:UseAdaptiveGCBoundary
Make option obsolete and removed supporting code.

Reviewed-by: tschatzl, stefank
2020-04-17 23:22:34 -04:00
Weijun Wang
05d6a66330 8242811: AlgorithmId::getDefaultAlgorithmParameterSpec returns incompatible PSSParameterSpec for an RSASSA-PSS key
Reviewed-by: valeriep, hchao
2020-04-18 11:13:14 +08:00
Jie Fu
f6f97ea24b 8242480: Negative value may be returned by getFreeSwapSpaceSize() in the docker
Reviewed-by: sgehwolf, dholmes
2020-04-17 14:48:11 +08:00
Chris Plummer
a4d318c92c 8242787: sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java fails with sun.jvm.hotspot.types.WrongTypeException
Reviewed-by: amenkov, sspitsyn, iklam
2020-04-17 10:09:06 -07:00
Mikhailo Seledtsov
1b45bf2d58 8241975: Run jdk/jfr/event/metadata/TestLookForUntestedEvents.java in tier3
Added the test to jdk_tier3 via jdk_jfr_tier3

Reviewed-by: egahlin
2020-04-17 09:53:56 -07:00
Tom Rodriguez
12f8b52fb8 8231756: [JVMCI] need support for deoptimizing virtual byte arrays encoding non-byte primitives
Reviewed-by: kvn
2020-04-17 09:31:37 -07:00
Vladimir Ivanov
430f8020fd 8242492: C2: Remove Matcher::vector_shift_count_ideal_reg()
Reviewed-by: kvn
2020-04-17 17:59:15 +03:00
Vladimir Ivanov
078c027441 8242491: C2: assert(v2->bottom_type() == vt) failed: mismatch when creating MacroLogicV
Reviewed-by: kvn, sviswanathan, jbhateja
2020-04-17 17:58:52 +03:00
Athijegannathan Sundararajan
124caec26c 8242859: test/jdk/tools/jlink/JLinkTest.java uses nashorn module
Reviewed-by: jlaskey
2020-04-17 18:12:19 +05:30
Hai-May Chao
f04a7e5cb4 8172404: Tools should warn if weak algorithms are used before restricting them
Reviewed-by: mullan, weijun
2020-04-17 20:11:39 +08:00
Coleen Phillimore
9735678c26 8242896: typo #ifdef INCLUDE_JVMTI in codeCache.cpp
Reviewed-by: dholmes, sspitsyn
2020-04-17 07:46:17 -04:00
Athijegannathan Sundararajan
25c70b3bc3 8242860: test/jdk/tools/jlink/ModuleNamesOrderTest.java uses nashorn module
Reviewed-by: alanb
2020-04-17 15:39:21 +05:30
Claes Redestad
aeb2f9492e 8242596: Improve JarFile.getEntry performance for multi-release jar files
Co-authored-by: Eirik Bjørsnøs <eirbjo@gmail.com>
Reviewed-by: lancea, redestad
2020-04-17 11:46:59 +02:00
Matthias Baesken
07156dd25b 8242626: enhance posix print_rlimit_info
Reviewed-by: mdoerr, gziemski
2020-04-17 08:39:41 +02:00
Athijegannathan Sundararajan
b09a8ee657 8242931: Few more tests that use nashorn have been missed
Reviewed-by: dfuchs, dholmes
2020-04-17 09:50:02 +05:30
Igor Ignatyev
59563a4ca9 8240904: Screen flashes on test failures when running tests from make
Reviewed-by: erikj, serb
2020-04-16 17:42:13 -07:00
Philipp Kunz
455eaca215 8241055: Regex Grapheme Matcher Performance Depends too much on Total Input Sequence Size
Reviewed-by: naoto
2020-04-16 16:09:47 -07:00
Denghui Dong
d0f5c5c6bb 8242844: JFR: Clean up typos and log format
Fixed the typos and format

Reviewed-by: egahlin, mseledtsov
2020-04-16 15:45:17 -07:00
Zhengyu Gu
50bca089c4 8243008: Shenandoah: TestVolatilesShenandoah test failed on aarch64
Reviewed-by: shade
2020-04-16 15:57:27 -04:00
Jamsheed Mohammed C M
2ec33aa077 8237949: CTW: C1 compilation fails with "too many stack slots used"
Old bailout code is preserved with changes in comments

Reviewed-by: vlivanov
2020-04-16 10:01:14 -07:00
Alexey Semenyuk
f64a255a3a 8232935: jpackage failed with NPE whenever --file-associations provided
Reviewed-by: herrick, almatvee
2020-04-16 10:30:06 -04:00
Chris Plummer
c6c1f9bad9 8230731: SA tests fail with "Windbg Error: ReadVirtual failed
Reviewed-by: amenkov, sspitsyn
2020-04-16 07:23:26 -07:00
Sean Mullan
3efd000036 8242565: Policy initialization issues when the denyAfter constraint is enabled
Reviewed-by: weijun
2020-04-16 09:48:32 -04:00
Magnus Ihse Bursie
3cc1fdf2b6 8242808: Fix all remaining deprecation warnings in jdk.hotspot.agent
Reviewed-by: sspitsyn
2020-04-16 12:54:29 +02:00
Magnus Ihse Bursie
d295762f4c 8242804: Fix trivial deprecation issues in jdk.hotspot.agent
Reviewed-by: dholmes, erikj, darcy
2020-04-16 12:51:52 +02:00
Yudi Zheng
46963fc14f 8241234: Unify monitor enter/exit runtime entries
Reviewed-by: dcubed, coleenp
2020-04-16 10:14:25 +02:00
David Holmes
5f03df7d25 8242913: Bump the SPECIAL_FLAG_VALIDATION_BUILD to 25
Reviewed-by: shade
2020-04-16 03:29:28 -04:00
Athijegannathan Sundararajan
d5cd165965 8241749: Remove the Nashorn JavaScript Engine
Reviewed-by: jlaskey, ihse, mchung
2020-04-16 12:26:20 +05:30
Weijun Wang
dc6d76f518 8242260: Add forRemoval=true to already deprecated ContentSigner
Reviewed-by: alanb, mullan, xuelei
2020-04-16 13:47:09 +08:00
Kim Barrett
474ce89ebc 8242631: Missing but used special functions for some classes
Adjust some special function definitions to avoid deprecation warnings.

Reviewed-by: dholmes
2020-04-15 22:47:58 -04:00
Jesper Wilhelmsson
c7fd570e65 Added tag jdk-15+19 for changeset 7cc27caabe6e 2020-04-16 03:04:48 +02:00
Lois Foltan
d37985cd70 8210012: Implement Unified Logging Option for -XX:+TraceMethodHandles and -XX:+TraceInvokeDynamic
Transition the tracing method handles command line options to unified logging, -Xlog:methodhandles.

Reviewed-by: dholmes, iklam, jrose
2020-04-15 21:01:02 +00:00
Anthony Scarpino
ed18906c08 8242008: SSLSession inconsistencies
Reviewed-by: jnimeh, xuelei
2020-04-15 13:50:41 -07:00
Vipin Sharma
cc05419e1a 8242366: Fix JavaDoc warnings
Reviewed-by: dfuchs, mullan, prappo, weijun
2020-04-15 20:42:43 +01:00
Claes Redestad
941bb3bcb8 8242842: Avoid reallocating name when checking for trailing slash in ZipFile.getEntryPos
Co-authored-by: Eirik Bjørsnøs <eirbjo@gmail.com>
Reviewed-by: alanb, lancea
2020-04-15 19:03:59 +02:00
Magnus Ihse Bursie
d983fa6ca3 8242629: Remove references to deprecated java.util.Observer and Observable
Reviewed-by: erikj, cjplummer, sspitsyn
2020-04-15 09:35:27 +02:00
Kim Barrett
7bd2cd0bf8 8242597: Remove GenericTaskQueue<>::push_slow
Remove push_slow and comment invariants.

Reviewed-by: tschatzl, iwalulya
2020-04-15 03:05:30 -04:00
Magnus Ihse Bursie
b0d709cc23 8241618: Fix trivial unchecked warnings for jdk.hotspot.agent
Reviewed-by: cjplummer, sspitsyn
2020-04-15 08:58:03 +02:00
Denghui Dong
919027a90e 8242485: Null _file checking in fileStream::flush()
Reviewed-by: dholmes, ysuenaga, iklam
2020-04-14 16:37:36 +08:00
Zhengyu Gu
23709c830e 8242643: Shenandoah: split concurrent weak and strong root processing
Reviewed-by: shade
2020-04-14 21:08:15 -04:00
Zhengyu Gu
346d09e7aa 8242602: Shenandoah: allow earlier recycle of trashed regions during concurrent root processing
Reviewed-by: shade
2020-04-14 20:03:29 -04:00
Henry Jen
0278846eaa Merge 2020-04-14 23:11:49 +00:00
Valerie Peng
7bce9a9158 8172680: Support SHA-3 based Hmac algorithms
Enhanced SunJCE provider with Hmac with SHA3 digests

Reviewed-by: weijun
2020-04-14 22:31:54 +00:00
Valerie Peng
4c7d85b636 8242556: Cannot load RSASSA-PSS public key with non-null params from byte array
Update AlgorithmId to use alg name before oid str when parsing DER bytes

Reviewed-by: mullan
2020-04-14 22:12:13 +00:00
Kim Barrett
4694da31f8 8242078: G1: Improve concurrent refinement analytics and logging
Unify data collection and reporting.

Reviewed-by: tschatzl, sjohanss
2020-04-14 17:31:53 -04:00
Aleksey Shipilev
b98e863f57 8242641: Shenandoah: clear live data and update TAMS optimistically
Reviewed-by: rkennke
2020-04-14 22:18:37 +02:00
Christoph Langer
3602186430 8242039: Improve jlink VersionPropsPlugin
Reviewed-by: redestad
2020-04-14 21:43:34 +02:00
Aditya Mandaleeka
e969c158d8 8241142: Shenandoah: should not use parallel reference processing with single GC thread
Reviewed-by: shade
2020-04-14 21:17:48 +02:00
Denghui Dong
a62a0e5282 8238665: Add JFR event for direct memory statistics
Reviewed-by: egahlin, alanb
2020-04-14 20:36:33 +02:00
Hannes Wallnöfer
1cc71b41de 8241982: Make TestSearchScript.java run with GraalJS
Reviewed-by: sundar, jjg
2020-04-14 19:22:51 +02:00
Erik Joelsson
165fa2450c 8242468: VS2019 build missing vcruntime140_1.dll
Reviewed-by: tbell, ihse
2020-04-14 07:58:08 -07:00
Erik Joelsson
416f4ed7ae 8242463: ProcessTools.createNativeTestProcessBuilder() in testlib needs jdk/bin on PATH on Windows
Reviewed-by: iignatyev, mseledtsov, tbell
2020-04-14 07:54:54 -07:00
Prasadrao Koppula
aadc7c7ca8 8237474: Default SSLEngine should create in server role
Reviewed-by: xuelei, coffeys
2020-04-14 14:16:58 +00:00
Aleksey Shipilev
b812e8baff 8242638: Shenandoah: restore heap logging for uncommit
Reviewed-by: zgu
2020-04-14 15:33:01 +02:00
Aleksey Shipilev
e0ccd77617 8242625: Shenandoah: restore heap logging for Degenerated/Full cycles
Reviewed-by: rkennke, zgu
2020-04-14 15:33:00 +02:00
Stefan Johansson
b18e006b55 8242448: Change HeapRegionManager::guarantee_contiguous_range to be assert_contiguous_range
Reviewed-by: tschatzl, kbarrett
2020-04-14 15:18:22 +02:00
Magnus Ihse Bursie
5dca7ec6b7 8231572: Use -lobjc instead of -fobjc-link-runtime in libosxsecurity
Reviewed-by: erikj
2020-04-14 14:58:24 +02:00
Weijun Wang
8cd9241448 8242330: Arrays should be cloned in several JAAS Callback classes
Reviewed-by: mullan
2020-04-14 10:04:05 +08:00
Yasumasa Suenaga
d34f732b99 8242283: Can't start JVM when java home path includes non-ASCII character
Reviewed-by: naoto, hseigel
2020-04-14 09:03:38 +09:00
Chris Plummer
4a09f31eff 8237250: pmap and pstack should do a better of making it clear that they are not supported on Mac OS X
Reviewed-by: amenkov, sspitsyn
2020-04-13 16:30:11 -07:00
Stuart Marks
a46f4bfa95 8242327: List spec should state that unmodifiable lists implement RandomAccess
Reviewed-by: lancea
2020-04-13 14:37:07 -07:00
Evgeny Nikitin
99a6b6b848 8174768: Make ProcessTools print executed process output into a separate file
Reviewed-by: dholmes, iignatyev
2020-03-24 15:21:38 +01:00
Chris Plummer
77041dc4ec 8235220: ClhsdbScanOops.java fails with sun.jvm.hotspot.types.WrongTypeException
Reviewed-by: amenkov, iklam
2020-04-13 13:21:56 -07:00
Igor Ignatyev
c73934d8c8 8242311: use reproducible random in hotspot runtime tests
Reviewed-by: iklam, mseledtsov
2020-04-13 12:32:57 -07:00
Igor Ignatyev
116fe806c3 8242313: use reproducible random in hotspot svc tests
Reviewed-by: cjplummer
2020-04-13 12:31:34 -07:00
Igor Ignatyev
15464b36c3 8242471: remove "temporarily" restrictions of nsk/jdi/Argument/value/value004
Reviewed-by: amenkov, cjplummer
2020-04-13 12:30:07 -07:00
Serguei Spitsyn
68e0e49bc8 8242241: add assert to ClassUnloadEventImpl::className
Add assert

Reviewed-by: cjplummer, dcubed
2020-04-13 18:02:13 +00:00
Jonathan Gibbons
7a608f40fc 8242326: use new "summary-list" CSS class instead of general "block-list" for list of summary sections
Reviewed-by: hannesw
2020-04-13 10:54:12 -07:00
Brian Burkhalter
ea36a53b75 8241952: (fs) FileChannel.write(ByteBuffer src, long position) does not check for the FileChannel being closed first
Reviewed-by: lancea, alanb
2020-04-13 10:17:03 -07:00
Brian Burkhalter
447d6499f1 8242292: (fs) FileSystems.getFileSystem(URI) should throw IAE if the URI scheme is null
Reviewed-by: lancea, alanb
2020-04-13 10:16:38 -07:00
Andy Herrick
83a1d70f0f 8242155: Enhance automated macos signing tests
Reviewed-by: asemenyuk, almatvee
2020-04-10 16:21:12 -04:00
Roland Westrelin
048c5c0ddd 8241041: C2: "assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization" still happens after fix for 8239335
Reviewed-by: thartmann, neliasso
2020-03-23 10:06:33 +01:00
Matthias Baesken
fc9389c164 8241996: on linux set full relro in the linker flags
Reviewed-by: erikj, redestad
2020-04-02 09:07:07 +02:00
Xue-Lei Andrew Fan
ed00873148 8215711: Missing key_share extension for (EC)DHE key exchange should alert missing_extension
Reviewed-by: ascarpino
2020-04-05 20:17:08 -07:00
Chris Plummer
a6b990f74a 8242153: ProblemList serviceability/sa/ClhsdbDumpheap.java on OSX
Reviewed-by: dcubed
2020-04-04 09:24:23 -07:00
Per Lidén
2e4783411e 8240745: Implementation: JEP 377: ZGC: A Scalable Low-Latency Garbage Collector (Production)
Reviewed-by: stefank, eosterlund
2020-04-03 23:40:33 +02:00
Alexey Bakhtin
76d534986b 8241960: The SHA3 message digests impl of SUN provider are not thread safe after cloned
Fix sun.security.provider.SHA3 class to correctly clone its lanes field

Reviewed-by: valeriep
2020-04-03 22:39:00 +00:00
Calvin Cheung
512644de06 8240205: Avoid PackageEntry lookup when loading shared classes
Do the PackageEntry lookup at one place and then pass it along to the subsequently called functions which need it.

Reviewed-by: redestad, lfoltan
2020-04-03 14:26:42 -07:00
Chris Plummer
965404dd98 8240989: convert clhsdb "dumpheap" command from javascript to java
Reviewed-by: amenkov, ysuenaga
2020-04-03 12:58:15 -07:00
Joe Wang
acafdb3f60 8238183: SAX2StAXStreamWriter cannot deal with comments prior to the root element
Reviewed-by: naoto, lancea
2020-04-03 17:34:31 +00:00
Roman Kennke
ff34c4cdf8 8242107: Shenandoah: Fix aarch64 build after JDK-8242082
Reviewed-by: shade
2020-04-03 19:33:06 +02:00
Jaikiran Pai
59af1c2af4 8241138: http.nonProxyHosts=* causes StringIndexOutOfBoundsException in DefaultProxySelector
Reviewed-by: dfuchs, chegar
2020-03-24 15:47:51 +05:30
Claes Redestad
a309046028 8241585: Remove unused _recursion_counter facility from PerfTraceTime
8241705: Tune PerfData collections

Reviewed-by: iklam, dholmes
2020-04-03 17:20:53 +02:00
Aleksey Shipilev
fe2a82031f 8242101: Shenandoah: coalesce and parallelise heap region walks during the pauses
Reviewed-by: rkennke
2020-04-03 16:13:01 +02:00
Christoph Langer
746d28d110 8242030: Wrong package declarations in jline classes after JDK-8241598
Reviewed-by: jlahoda
2020-04-03 15:40:28 +02:00
Daniel Fuchs
f541970b31 8241786: Improve heuristic to determine default network interface on macOS
DefaultInetrface.getDefault is updated to prefer interfaces that have non link-local addresses. NetworkConfiguration is updated to skip interface that have only link-local addresses, whether IPv4 or IPv6, for multicasting.

Reviewed-by: chegar, alanb
2020-04-03 14:27:03 +01:00
Roman Kennke
553ea1e891 8242082: Shenandoah: Purge Traversal mode
Reviewed-by: shade
2020-04-03 15:06:08 +02:00
Aleksey Shipilev
c09b0a7793 8242089: Shenandoah: per-worker stats should be summed up, not averaged
Reviewed-by: rkennke
2020-04-03 13:58:38 +02:00
Aleksey Shipilev
21d5f88f40 8242083: Shenandoah: split "Prepare Evacuation" tracking into cset/freeset counters
Reviewed-by: rkennke
2020-04-03 13:58:32 +02:00
Matthias Baesken
218d0f71cf 8242000: clean up list of environment variables printed in hs_err file
Reviewed-by: redestad, stuefe
2020-04-02 12:44:05 +02:00
Aleksey Shipilev
cd76575df1 8242075: Shenandoah: rename ShenandoahHeapRegionSize flag
Reviewed-by: rkennke
2020-04-03 11:33:31 +02:00
Aleksey Shipilev
62b7404bd9 8242042: Shenandoah: tune down ShenandoahGarbageThreshold
Reviewed-by: rkennke
2020-04-03 11:33:30 +02:00
Aleksey Shipilev
f82e44cc40 8242073: x86_32 build failure after JDK-8241040
Reviewed-by: vlivanov
2020-04-03 11:33:29 +02:00
Pengfei Li
a21c4fb0a6 8241475: AArch64: Add missing support for PopCountVI node
Reviewed-by: aph, njian
2020-04-03 17:06:14 +08:00
Man Cao
934b8a9849 8241556: Memory leak if -XX:CompileCommand is set
Reviewed-by: rasbold, thartmann, neliasso
2020-04-03 02:00:34 -07:00
Chris Hegarty
9a69bb807b 8242044: Add basic HTTP/1.1 support to the HTTP/2 Test Server
Reviewed-by: dfuchs, michaelm
2020-04-03 07:27:53 +01:00
Chris Hegarty
61940fe4ce 8241988: DatagramSocket incorrectly caches the first set of socket options
Reviewed-by: msheppar, dfuchs, alanb
2020-04-03 07:16:35 +01:00
Leonid Mesnik
a76f0f78ad 8241456: ThreadRunner shouldn't use Wicket for threads starting synchronization
Reviewed-by: dholmes, iignatyev
2020-04-02 17:30:21 -07:00
David Holmes
cf22d4440a 8239895: assert(_stack_base != 0LL) failed: Sanity check
Reviewed-by: dcubed, stuefe
2020-04-02 19:13:27 -04:00
Stefan Johansson
80b8644499 8241670: Enhance heap region size ergonomics to improve OOTB performance
Reviewed-by: redestad, tschatzl
2020-04-02 21:33:57 +02:00
Tom Rodriguez
3ae56fdf10 8191930: [Graal] emits unparseable XML into compile log
Reviewed-by: kvn
2020-04-02 11:20:53 -07:00
Aleksey Shipilev
487070cc09 8242041: Shenandoah: adaptive heuristics should account evac reserve in free target
Reviewed-by: rkennke
2020-04-02 20:11:01 +02:00
Aleksey Shipilev
6570425dc4 8242040: Shenandoah: print allocation failure type
Reviewed-by: rkennke
2020-04-02 20:10:59 +02:00
Jatin Bhateja
5532b27d22 8241040: Support for AVX-512 Ternary Logic Instruction
A new pass has been added which folds expression tree involving vector boolean logic operations into a MacroLogic node.

Reviewed-by: vlivanov, neliasso
2020-04-02 22:38:23 +05:30
Claes Redestad
fb56759d08 8242027: Clean up LinkResolver::check_klass_accessability
Reviewed-by: dholmes
2020-04-02 18:22:27 +02:00
Roland Westrelin
ea56776ef5 8239072: subtype check macro node causes node budget to be exhausted
Reviewed-by: vlivanov, kvn
2020-03-31 10:40:17 +02:00
Roland Westrelin
73ddea766a 8241492: Strip mining not working for test/hotspot/jtreg/compiler/c2/Test6850611.java
Reviewed-by: mdoerr, thartmann, neliasso
2020-03-24 17:56:15 +01:00
Chris Hegarty
c6b22388b7 8241921: Remove leftover diagnostic from test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
Reviewed-by: lancea
2020-04-02 12:33:53 +01:00
Christoph Langer
15fcf27414 8241947: Minor comment fixes for system property handling
Reviewed-by: ihse, mchung, alanb
2020-04-02 13:06:29 +02:00
Stefan Karlsson
2718bcd0c7 8242031: TestLookForUntestedEvents.java fails because newly added test tests experimental events
Reviewed-by: eosterlund, pliden
2020-04-02 12:52:24 +02:00
Tagir F. Valeev
0386b7d0c3 8176894: Provide specialized implementation for default methods putIfAbsent, computeIfAbsent, computeIfPresent, compute, merge in TreeMap
Co-authored-by: Sergey Kuksenko <sergey.kuksenko@oracle.com>
Reviewed-by: martin, stuefe, rriggs
2020-04-02 05:44:04 +00:00
Ivan Gerasimov
3790e58090 8241761: Typos: empty lines in javadoc, inconsistent indents, etc. (security-libs only)
Reviewed-by: weijun
2020-04-01 18:38:05 -07:00
Jesper Wilhelmsson
cc25927f2d Added tag jdk-15+17 for changeset dd5198db2e5b 2020-04-02 03:04:26 +02:00
Leonid Mesnik
13af7bb9ad 8240698: LingeredApp does not pass getTestJavaOpts() to the children process if vmArguments is already specified
Reviewed-by: iignatyev, iklam, cjplummer
2020-04-01 16:27:03 -07:00
Claes Redestad
e08f25a942 8242003: Remove CallInfo::_selected_klass
Reviewed-by: lfoltan, dcubed, coleenp
2020-04-01 20:53:46 +02:00
Aleksey Shipilev
25b2118bb4 8241983: Shenandoah: simplify FreeSet logging
Reviewed-by: rkennke
2020-04-01 19:50:12 +02:00
Aleksey Shipilev
961c1d6a66 8241985: Shenandoah: simplify collectable garbage logging
Reviewed-by: rkennke
2020-04-01 19:50:11 +02:00
Aleksey Shipilev
6af855fd97 8241926: Shenandoah: only print heap changes for operations that directly affect it
Reviewed-by: rkennke
2020-04-01 19:50:10 +02:00
Matthias Baesken
fc806b6706 8241948: enhance list of environment variables printed in hs_err file
Reviewed-by: dholmes, hseigel
2020-03-31 17:11:30 +02:00
Lutz Schmidt
15c3d76a49 8241101: [s390] jtreg test failure after JDK-8238696: not conformant features string
Reviewed-by: stuefe, mdoerr, clanger
2020-04-01 14:51:25 +02:00
Robbin Ehn
bf41f548e1 8220051: Remove global safepoint code
Reviewed-by: mdoerr, dcubed, eosterlund, bulasevich, coleenp
2020-04-01 14:54:44 +02:00
Claes Redestad
8d84cf5a3b 8241837: Cleanup stringStream usage in ObjectSynchronizer
Reviewed-by: dcubed, dholmes
2020-04-01 14:35:43 +02:00
Per Lidén
6c9d6507da 8241881: ZGC: Add tests for JFR events
Reviewed-by: stefank, eosterlund, egahlin
2020-04-01 13:44:12 +02:00
Jan Lahoda
f1ef83b02e 8241598: Upgrade JLine to 3.14.0
Upgrading to JLine 3.14.0

Reviewed-by: psandoz, rfield
2020-04-01 13:12:49 +02:00
Stefan Karlsson
c8b1f966cb 8241976: Add test for GCPhaseConcurrentLevel1 JFR event
Reviewed-by: pliden, eosterlund
2020-04-01 12:37:38 +02:00
Tobias Hartmann
990a11e421 8241909: Remove useless code cache lookup in frame::patch_pc
Removed useless code cache lookup.

Reviewed-by: kvn, dlong
2020-04-01 10:06:25 +02:00
Mandy Chung
5700a934bb 8241964: Clean up java.lang.Class javadoc
Reviewed-by: darcy
2020-03-31 19:18:16 -07:00
Chris Yin
aba017fa70 8214694: cleanup rawtypes warnings in open jndi tests
Reviewed-by: darcy, vtewari
2020-04-01 10:11:46 +08:00
Jonathan Gibbons
35f4df51d4 8241625: use new "member-list" CSS class instead of general "block-list" for list of members
Reviewed-by: hannesw
2020-03-31 14:47:07 -07:00
Martin Buchholz
6d44ff7d93 8186780: clang fastdebug assertion failure in os_linux_x86:os::verify_stack_alignment()
Reviewed-by: jiangli
2020-03-31 14:15:44 -07:00
Jonathan Gibbons
8cb3cc01f1 8241693: The paragraphs in the help page should not be in a <ul>
Reviewed-by: hannesw
2020-03-31 13:47:16 -07:00
Leonid Mesnik
931af1260c 8241478: vmTestbase/gc/gctests/Steal/steal001/steal001.java fails with OOME
Reviewed-by: tschatzl, kbarrett
2020-03-31 13:35:21 -07:00
Claes Redestad
b31bea8a99 8241830: Simplify commit error messages in G1PageBasedVirtualSpace
Reviewed-by: sjohanss, lkorinth, kbarrett
2020-03-31 16:09:26 +02:00
Stefan Karlsson
8fdf2925d1 8241827: JFR: TestVMInfoEvent.java requires SerialGC
Reviewed-by: mseledtsov
2020-03-31 14:57:46 +02:00
Magnus Ihse Bursie
75849a5ca0 8241421: Cleanup handling of jtreg
Reviewed-by: erikj
2020-03-31 14:58:18 +02:00
Stefan Karlsson
16df851efd 8241160: Concurrent class unloading reports GCTraceTime events as JFR pause sub-phase events
Reviewed-by: eosterlund, kbarrett
2020-03-18 17:28:41 +01:00
Ravi Reddy
4b4633d976 8240988: Incorrect copyright header in CertificateValidation.java
Reviewed-by: pkoppula, coffeys
2020-03-31 14:07:23 +03:00
Stefan Johansson
6a4e93bbc9 8241666: Enhance log messages in ReferenceProcessor
Reviewed-by: tschatzl, sangheki
2020-03-31 11:45:29 +02:00
Christoph Langer
2bc8691156 8241568: (fs) UserPrincipalLookupService.lookupXXX failure with IOE "Operation not permitted"
Reviewed-by: alanb
2020-03-31 09:10:16 +02:00
Aleksey Shipilev
de7ea8db92 8241845: Shenandoah: align ShenandoahHeapRegions to cache lines
Reviewed-by: rkennke
2020-03-31 08:42:00 +02:00
Claes Redestad
83a9afaff1 8241852: Cleanup error message generation in LinkResolver::resolve_field
Reviewed-by: dcubed
2020-03-30 23:55:25 +02:00
Ivan Gerasimov
53b2368d49 8241760: Typos: empty lines in javadoc, inconsistent indents, etc. (net and nio)
Reviewed-by: alanb, prappo, dfuchs
2020-03-30 13:59:16 -07:00
Joe Darcy
916f00acc1 8241374: add Math.absExact
Reviewed-by: smarks, chegar, bpb
2020-03-30 13:49:02 -07:00
Stefan Karlsson
b7439a8ae3 8241361: ZGC: Implement memory related JFR events
Co-authored-by: Per Liden <per.liden@oracle.com>
Reviewed-by: pliden, eosterlund
2020-03-27 15:28:07 +01:00
Aleksey Shipilev
6df2370120 8241844: Shenandoah: rename ShenandoahHeapRegion::region_number
Reviewed-by: rkennke
2020-03-30 19:38:31 +02:00
Aleksey Shipilev
87396af743 8241842: Shenandoah: inline ShenandoahHeapRegion::region_number
Reviewed-by: rkennke
2020-03-30 19:38:05 +02:00
Aleksey Shipilev
a8a9fb95e1 8241841: Shenandoah: ditch one of allocation type counters in ShenandoahHeapRegion
Reviewed-by: rkennke
2020-03-30 19:37:37 +02:00
Aleksey Shipilev
af15605bab 8241838: Shenandoah: no need to trash cset during final mark
Reviewed-by: rkennke
2020-03-30 19:37:23 +02:00
Andrew Dinn
8cb7635372 8241665: Configuring --with-jvm-features=-compiler2 fails to build on AArch64
Build config --with-jvm-features=-compiler2 fails on AArch64 because JVMCI path includes opto and ad headers

Reviewed-by: kvn, aph
2020-03-26 15:26:51 +00:00
Ivan Gerasimov
b0e1ee4b3b 8241727: Typos: empty lines in javadoc, inconsistent indents, etc. (core-libs only)
Reviewed-by: prappo
2020-03-28 21:07:55 -07:00
Toshio Nakamura
7f8d785086 8232846: ProcessHandle.Info command with non-English shows question marks
Reviewed-by: stuefe, ysuenaga, rriggs
2020-03-28 16:47:21 -04:00
Claes Redestad
253ccad50a 8241771: Remove dead code in SparsePRT
Reviewed-by: sjohanss, tschatzl
2020-03-28 21:08:32 +01:00
Joe Darcy
98e6be7cc2 8241789: Make citations of JLS and JVMS consistent in java.lang.Class
Reviewed-by: jjg
2020-03-28 13:01:26 -07:00
Zhengyu Gu
6b6c5bd622 8241765: Shenandoah: AARCH64 need to save/restore call clobbered registers before calling keepalive barrier
Reviewed-by: rkennke, smonteith, aph
2020-03-28 11:00:09 -04:00
Mikael Vidstedt
fee15cac0c 8241721: Change to GCC 9.2 for building on Linux at Oracle
Reviewed-by: erikj
2020-03-27 12:50:11 -07:00
Jonathan Gibbons
ccc699600f 8241631: PropertyGetterTaglet, PropertySetterTaglet may be removed
Reviewed-by: hannesw
2020-03-27 11:24:40 -07:00
Bob Vandette
c17ed6a5e5 8239563: Reduce public exports in dynamic libraries built from JDK static libraries
Reviewed-by: dholmes, ihse
2020-02-27 11:36:55 -05:00
Aleksey Shipilev
9e9f110d05 8241750: x86_32 build failure after JDK-8227269
Reviewed-by: rkennke, cjplummer
2020-03-27 19:05:07 +01:00
Jamsheed Mohammed C M
211e529373 8193210: [JVMCI/Graal] add JFR compiler phase/inlining events
C++ EventCompilerPhase/EventCompilerInlining definitions are extended for JVMCI use.

Reviewed-by: dnsimon, egahlin, kvn, mgronlun, thartmann
2020-03-27 09:47:13 -07:00
Andy Herrick
bfa3ad9108 8241400: [macos] jpackageapplauncher/main.m built using CXXFLAGS_JDKEXE
Reviewed-by: erikj
2020-03-27 11:43:23 -04:00
Aleksey Shipilev
6e580b3847 8241748: Shenandoah: inline MarkingContext TAMS methods
Reviewed-by: rkennke
2020-03-27 15:33:24 +01:00
Aleksey Shipilev
92d854f5e1 8241740: Shenandoah: remove ShenandoahHeapRegion::_heap
Reviewed-by: rkennke
2020-03-27 15:33:18 +01:00
Aleksey Shipilev
0861f3f796 8241743: Shenandoah: refactor and inline ShenandoahHeap::heap()
Reviewed-by: rkennke
2020-03-27 15:33:11 +01:00
Aleksey Shipilev
7056b96854 8241692: Shenandoah: remove ShenandoahHeapRegion::_reserved
Reviewed-by: zgu, rkennke
2020-03-27 15:33:05 +01:00
Matthias Baesken
a45889dc5e 8241660: Add virtualization information output to hs_err file on macOS
Reviewed-by: clanger, mdoerr
2020-03-26 10:38:17 +01:00
Daniel Fuchs
5ddbcb7a51 8241336: Some java.net tests failed with NoRouteToHostException on MacOS with special network configuration
NetworkConfiguration updated to skip interfaces that have only IPv6 link local addresses.

Reviewed-by: alanb, chegar
2020-03-27 12:42:03 +00:00
Roman Kennke
bb7a8f643f 8241700: Shenandoah: Fold ShenandoahKeepAliveBarrier flag into ShenandoahSATBBarrier
Reviewed-by: shade
2020-03-27 12:47:36 +01:00
Vladimir Ivanov
2df18266b9 8241597: x86: Remove MMX support
Reviewed-by: kvn, redestad
2020-03-27 13:42:57 +03:00
Vladimir Ivanov
d0a672292f 8241434: x86: Fix Assembler::emit_operand asserts for XMM registers
Reviewed-by: kvn, redestad
2020-03-27 13:42:57 +03:00
Vladimir Ivanov
536e062a56 8241436: C2: Factor out C2-specific code from MacroAssembler
Reviewed-by: mdoerr, kvn, adinn
2020-03-27 13:42:57 +03:00
Erik Joelsson
7e20cf75f9 8238960: linux-i586 builds are inconsistent as the newly build jdk is not able to reserve enough space for object heap
Reviewed-by: ihse, tbell, ahgross, jwilhelm
2020-02-20 14:05:38 -08:00
Erik Joelsson
5fff0506f9 8239429: AbsPathsInImage.java fails in JDK 11u and 14u on Windows
Reviewed-by: tbell
2020-02-20 09:09:25 -08:00
Sergey Bylokhov
ead83e6b63 8239124: Minimize the usage of AwtGraphicsConfigDataPtr in native
Reviewed-by: pbansal
2020-02-06 16:15:56 -08:00
Phil Race
5a5e4bbfee 8220150: macos10.14 Mojave returns anti-aliased glyphs instead of aliased B&W glyphs
Reviewed-by: serb, kcr
2020-04-06 12:01:34 -07:00
Phil Race
38716935d2 8240342: Custom composite is ignored when printing an opaque image to a page
Reviewed-by: serb, psadhukhan
2020-04-03 15:00:41 -07:00
Sergey Bylokhov
3c937001b5 8241797: Add some tests to the problem list
Reviewed-by: jdv, prr, pbansal
2020-03-31 19:56:33 -07:00
Sergey Bylokhov
978120f46a 8241808: [TESTBUG] The JDK-8039467 bug appeared on macOS
Reviewed-by: kizune, pbansal
2020-03-31 19:19:25 -07:00
Pankaj Bansal
1ef1131ab1 8241791: [TESTBUG] Test failing with exception "java.lang.UnsupportedOperationException"
Reviewed-by: serb
2020-03-30 12:06:06 +05:30
Sergey Bylokhov
cf22b4e7c8 8238719: [macOS] Delete the property which use deprecated prefix "com.apple.macos."
Reviewed-by: psadhukhan, jdv, prr
2020-03-25 16:55:00 -07:00
Sergey Bylokhov
3399842d7e 8240690: Race condition between EDT and BasicDirectoryModel.FilesLoader.run0()
Reviewed-by: psadhukhan
2020-03-25 16:48:35 -07:00
Prasanta Sadhukhan
40e667c174 8239312: [macos] javax/swing/JFrame/NSTexturedJFrame/NSTexturedJFrame.java
Reviewed-by: serb
2020-03-26 10:18:59 +05:30
Yasumasa Suenaga
545643880c 8241087: Build failure with VS 2019 (16.5.0) due to C2039 and C2873
Reviewed-by: serb
2020-03-23 15:43:55 +09:00
Prasanta Sadhukhan
ef335c75e3 Merge 2020-03-22 09:46:15 +05:30
Phil Race
602d98a72c 8232634: Problem List ICMColorDataTest.java
Reviewed-by: serb, psadhukhan
2020-03-20 22:52:40 -07:00
Prasanta Sadhukhan
672f3a1857 8241291: JCK test javax_swing/text/DefaultStyledDocument/ElementSpec/ESpecCtor.html fails
Reviewed-by: prr
2020-03-21 09:46:44 +05:30
Leonid Mesnik
f778ad2f4b 8241319: WB_GetCodeBlob doesn't have ResourceMark
Reviewed-by: iignatyev, thartmann
2020-03-20 17:37:52 -07:00
Pavel Rappo
17ff85d4ad 8241014: Miscellaneous typos in documentation comments
Reviewed-by: igerasim, prappo, psandoz, rriggs, weijun
2020-03-20 20:54:56 +00:00
Rahul Yadav
c5a7490809 8240921: Minor correction to HttpResponse.BodySubscribers example
The fix updates the incorrect example of the usage of the class java.net.http.HttpResponse.BodySubscribers.

Reviewed-by: chegar, dfuchs, jboes, pconcannon
2020-03-20 20:16:34 +00:00
Yumin Qi
37b7a23317 8241009: CommandLineFlagComboNegative.java fails after JDK-8240563
Jtreg turned off UseCompressedOops and messed up vm flag options of children processes.

Reviewed-by: dholmes, stefank
2020-03-20 09:40:30 -07:00
Xue-Lei Andrew Fan
f67868d917 8219989: Retire the com.sun.net.ssl.internal.ssl.Provider name
Remove the provider name in JDK

Reviewed-by: mullan
2020-03-20 09:27:06 -07:00
Xue-Lei Andrew Fan
d243e40f7b 8241039: Retire the deprecated SSLSession.getPeerCertificateChain() method
Reviewed-by: mullan, alanb, dfuchs
2020-03-20 09:15:00 -07:00
Andrew Haley
2288788e03 Merge 2020-03-20 13:08:20 +00:00
Sergey Bylokhov
b4a3809eaa 8240786: [TESTBUG] The test java/awt/Window/GetScreenLocation/GetScreenLocationTest.java fails on HiDPI screen
Reviewed-by: jdv, pbansal
2020-03-19 22:22:39 -07:00
Andrew Haley
34ae46e2bc 8241296: Segfault in JNIHandleBlock::oops_do()
Reviewed-by: stefank
2020-03-19 14:53:57 +00:00
Jamsheed Mohammed C M
136a1574ec 8237894: CTW: C1 compilation fails with assert(x->type()->tag() == f->type()->tag()) failed: should have same type
Field access instructions hash decalred_type in addition, indexed access instructions hash value type of the instruction in addition.

Reviewed-by: thartmann, shade
2020-03-20 05:19:56 -07:00
Coleen Phillimore
6dffcf7533 8241320: The ClassLoaderData::_is_unsafe_anonymous field is unused in the SA
Remove unused code that is changing in Hotspot for hidden classes.

Reviewed-by: lfoltan, dholmes, sspitsyn
2020-03-20 07:30:52 -04:00
Jia Huang
95d2830361 8240222: [TESTBUG] gtest/jfr/test_networkUtilization.cpp failed when the number of tests is greater than or equal to 2
Reviewed-by: egahlin, mgronlun
2020-03-20 18:52:31 +08:00
Thomas Schatzl
cc83c45595 8240590: Add MemRegion::destroy_array to complement introduced create_array
Reviewed-by: lkorinth, sjohanss
2020-03-20 11:17:45 +01:00
Leonid Mesnik
e7204cbc52 8241123: Refactor vmTestbase stress framework to use j.u.c and make creation of threads more flexible
Reviewed-by: iignatyev, sspitsyn
2020-03-20 00:24:08 -07:00
Kim Barrett
333a832cea 8241001: Improve logging in the ConcurrentGCBreakpoint mechanism
Demoted most breakpoint logging to trace level.

Reviewed-by: pliden, sjohanss
2020-03-20 01:20:37 -04:00
Chris Plummer
104927e514 8241335: ProblemList serviceability/sa/ClhsdbPstack.java due to JDK-8240956
Reviewed-by: mikael
2020-03-19 21:32:57 -07:00
Chris Yin
7ded8b1e30 8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException
Reviewed-by: dfuchs
2020-03-20 10:24:46 +08:00
Patricio Chilano Mateo
3f698242a8 8240902: JDI shared memory connector can use already closed Handles
Add refcount to keep track of connection access

Reviewed-by: dholmes, dcubed, sspitsyn
2020-03-20 00:32:29 +00:00
Kim Barrett
b8a2b201b5 8139652: Mutator refinement processing should take the oldest dirty card buffer
Changed mutator refinement to take from queue rather than in-place and reuse.

Reviewed-by: tschatzl, sjohanss
2020-03-19 18:11:52 -04:00
Dean Long
4f629193a9 8241231: Update Graal
Reviewed-by: kvn
2020-03-19 12:29:59 -07:00
Roger Riggs
caa0884400 8241073: Pre-generated Stubs for javax.management, Activation, Naming
Reviewed-by: erikj, ihse, alanb, dfuchs
2020-03-19 15:34:34 -04:00
Phil Race
0f7f181d60 8241233: Typo in problem listing of UIDefaultKeySizeTest.java
Reviewed-by: jdv
2020-03-18 22:27:31 -07:00
Prasanta Sadhukhan
7143a9c581 8241078: OOM error parsing HTML with large <pre> Tag text
Reviewed-by: serb, aivanov
2020-03-19 09:22:37 +05:30
Prasanta Sadhukhan
3340e6f980 8226230: Test javax/swing/JInternalFrame/8020708/bug8020708.java fails on Ubuntu
Reviewed-by: serb
2020-03-19 09:20:06 +05:30
Phil Race
9874e698b8 8241229: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java
Reviewed-by: aivanov, serb
2020-03-18 15:48:53 -07:00
Tejpal Rebari
1e217e7b8b 8146330: [macosx] UIDefaults.keys() different size than UIDefaults.keySet()
Reviewed-by: pbansal, serb, jdv
2020-03-18 11:38:33 +05:30
Phil Race
c1f7fa2ece 8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10
Reviewed-by: serb, jdv
2020-03-17 17:38:27 -07:00
Evgeny Nikitin
66c8794c81 8168304: Make all of DependencyContext_test available in product mode
Enable the utility inspection function `DependencyContext::is_dependent_method` and therefore the test in the product mode.

Reviewed-by: eosterlund, thartmann
2020-03-17 21:35:26 +01:00
Jonathan Gibbons
32cba67284 8240476: SystemPropertiesWriter does not conform to standard page layout
Reviewed-by: prappo
2020-03-19 11:25:05 -07:00
Chris Plummer
029fea432a 8240543: Update problem list entry for serviceability/sa/TestRevPtrsForInvokeDynamic.java to reference JDK-8241235
Reviewed-by: dholmes
2020-03-19 10:20:45 -07:00
Magnus Ihse Bursie
9dc15f17ea 8241254: Simplify usage of UTIL_DEPRECATED_ARG_ENABLE
Reviewed-by: erikj
2020-03-19 17:17:49 +01:00
Stefan Karlsson
d3bf915030 8241263: JFR: Bump native events limit
Reviewed-by: mgronlun, egahlin
2020-03-19 14:18:27 +01:00
Stefan Karlsson
5695e59a72 8240818: Remove colon from "JFR: Shutdown Hook" thread name
Reviewed-by: mgronlun
2020-03-19 14:17:20 +01:00
Stefan Karlsson
b4e85913bf 8240819: Assign a name to the JfrThreadSampler thread
Reviewed-by: mgronlun
2020-03-19 14:16:28 +01:00
Stefan Karlsson
e2947fe9e8 8240773: JFR: Non-Java threads are not serialized
Reviewed-by: mgronlun
2020-03-19 14:15:29 +01:00
Sergey Bylokhov
72b251d372 8226806: [macOS 10.14] Methods of Java Robot should be called from appropriate thread
Reviewed-by: psadhukhan, prr
2020-03-16 17:33:52 -07:00
Prasanta Sadhukhan
bca2465c94 8236635: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT
Reviewed-by: serb, pbansal
2020-03-16 12:49:08 +05:30
Ambarish Rapte
3a7389f564 8226253: JAWS reports wrong number of radio buttons when buttons are hidden
Reviewed-by: kizune, pbansal
2020-03-15 00:43:54 +05:30
Kiran Sidhartha Ravikumar
fa069be2f2 8161558: ListIterator should not discard cause on exception
Reviewed-by: smarks
2020-03-13 18:38:07 +00:00
Alexander Scherbatiy
cd7d175001 8240604: Rewrite sun/management/jmxremote/bootstrap/CustomLauncherTest.java test to make binaries from source file
Reviewed-by: iignatyev
2020-03-19 14:58:04 +03:00
Roland Westrelin
c9faf88cb7 8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Reviewed-by: kvn, thartmann
2020-03-13 16:32:51 +01:00
Phil Race
23fda7e41b 8240977: ProblemList failing jtreg tests on macos
Reviewed-by: serb
2020-03-12 17:53:08 -07:00
Sergey Bylokhov
b4863f9dd8 8240633: Memory leaks in the implementations of FileChooserUI
Reviewed-by: pbansal, psadhukhan
2020-03-12 10:00:23 +01:00
Sergey Bylokhov
4f1fabd8d0 8238075: [OGL] Delete unused properties
Reviewed-by: kizune
2020-03-11 21:58:16 -07:00
Marc Hoffmann
afe70e6985 8237746: Fixing compiler warnings in src/demo/share/jfc
Reviewed-by: kizune, aivanov
2020-03-12 03:26:04 +01:00
Sergey Bylokhov
f3ef97263f 8040630: Popup menus and tooltips flicker with previous popup contents when first shown
Reviewed-by: kizune, pbansal
2020-03-10 13:58:46 -07:00
Sergey Bylokhov
40f6d697d2 8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException
Reviewed-by: prr, jdv
2020-03-10 11:30:33 -07:00
Jayathirth D V
bd78beae15 6532025: GIF reader throws misleading exception with truncated images
Reviewed-by: prr, bpb
2020-03-10 16:07:58 +05:30
Toshio Nakamura
15a838d312 8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print
Reviewed-by: serb, pbansal, psadhukhan
2020-03-09 15:07:11 +05:30
Alexander Zuev
315635ea09 8176040: Documentation of java.awt.Rectangle.add(java.awt.Point) is wrong
Reviewed-by: serb, prr
2020-03-09 00:18:23 +03:00
Sergey Bylokhov
bce81496ce 8219578: No associated icon for the leaf node of JTree
Reviewed-by: prr, jdv
2020-03-06 14:41:35 -08:00
Claes Redestad
cc9470ece1 8241095: x86: Improve prefix handling in Assembler
Reviewed-by: kvn, thartmann
2020-03-05 16:07:17 +01:00
Christian Hagedorn
a51dd58f38 8240227: Loop predicates should be copied to unswitched loops
Copy loop range check predicates to unswitched loops and update their control edges.

Reviewed-by: kvn, neliasso, thartmann, roland
2020-03-19 10:15:28 +01:00
Jie Fu
dd63eec6e5 8241232: -XX:+BootstrapJVMCI is not compatible with TieredStopAtLevel < CompLevel_full_optimization
Reviewed-by: kvn, thartmann
2020-03-19 16:34:01 +08:00
Matthias Baesken
cadfc3d570 8241064: JFR related tests TestMetaspaceAllocationFailure.java and TestEventInstrumentation.java miss requires tag
Reviewed-by: mseledtsov, mgronlun
2020-03-16 15:11:02 +01:00
Igor Veresov
f1c919f28f 8230290: [JVMCI] Remove unused API entry points
Remove VirtualObject.setIsAutoBox()

Reviewed-by: kvn
2020-03-18 21:49:35 -07:00
Chris Yin
599af2ac26 8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset
Reviewed-by: dfuchs, vtewari
2020-03-19 11:07:36 +08:00
Jesper Wilhelmsson
c7c8623ed6 Added tag jdk-15+15 for changeset 82b7c62cf4cc 2020-03-19 03:03:55 +01:00
Matthias Neugschwandtner
99546049b3 8235908: omit ThreadPriorityPolicy warning when value is set from image
Reviewed-by: dholmes, clanger, kvn
2020-03-18 15:59:07 -07:00
Andrew M Leonard
44eca823aa 8241097: java/math/BigInteger/largeMemory/SymmetricRangeTests.java requires -XX:+CompactStrings
Reviewed-by: bpb, bchristi
2020-03-17 14:14:27 +00:00
Rafael Winterhalter
9d7f8bc9a0 8202469: (ann) Type annotations on type variable bounds that are also type variables are lost
Reviewed-by: jfranck
2020-03-18 17:07:42 -04:00
Jonathan Gibbons
af28093ed8 Merge 2020-03-18 13:29:02 -07:00
Chris Plummer
9fe762d3c5 8241162: ProblemList serviceability/sa/TestHeapDumpForInvokeDynamic.java on OSX
Reviewed-by: dcubed
2020-03-18 13:24:59 -07:00
Jonathan Gibbons
ea367322f2 8241030: rename HtmlTag to TagName
Reviewed-by: prappo
2020-03-18 13:20:13 -07:00
Doug Simon
34b9ac2287 8236285: [JVMCI] improve TranslatedException traces
Reviewed-by: never, kvn
2020-03-18 13:11:09 -07:00
Vicente Romero
bf54c47471 8240970: Some tests fail when run with JCov
Reviewed-by: jjg
2020-03-18 14:33:05 -04:00
Aleksey Shipilev
700f50f287 8241128: x86_32 build failure after JDK-8241042
Reviewed-by: redestad, kvn
2020-03-18 19:24:42 +01:00
Daniil Titov
b70ef0d2e2 8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:"
Reviewed-by: amenkov
2020-03-18 11:05:11 -07:00
Chris Plummer
c6cec8a8ea 8227340: Modify problem list entry for javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java
Reviewed-by: dholmes
2020-03-18 10:42:32 -07:00
Chris Plummer
1170981e93 8240906: Update ZGC ProblemList for serviceability/sa/TestJmapCoreMetaspace.java
Reviewed-by: stefank
2020-03-18 10:14:46 -07:00
Mikhailo Seledtsov
0ee7497937 8241033: Create test library utility for getting JFR streaming repository
New method to get JFR streaming repo path

Reviewed-by: egahlin, mgronlun
2020-03-18 09:45:20 -07:00
Tony Printezis
f2fb5c54ae 8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&)
Reviewed-by: egahlin, tonyp
2020-03-18 12:00:19 +01:00
Jesper Wilhelmsson
efb25e5127 Merge 2020-03-18 10:41:26 +01:00
Jesper Wilhelmsson
abc5619317 Added tag jdk-14-ga for changeset bc54620a3848 2020-03-18 10:34:13 +01:00
Ichiroh Takiguchi
d76b0cf705 8232161: Align some one-way conversion in MS950 charset with Windows
MS950 charset encoder's conversion table is changed

Reviewed-by: naoto
2020-03-18 18:04:51 +09:00
Ivan Gerasimov
1d4a4fed43 8214245: Case insensitive matching doesn't work correctly for some character classes
Reviewed-by: rriggs, darcy
2020-03-18 01:04:22 -07:00
Aleksey Shipilev
e827f4ae1c 8241093: Shenandoah: editorial changes in flag descriptions
Reviewed-by: rkennke
2020-03-18 06:28:50 +01:00
Naoto Sato
e5e24ad080 8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version
Reviewed-by: joehw
2020-03-17 19:11:10 -07:00
Hai-May Chao
0c9f8e472f 8186143: keytool -ext option doesn't accept wildcards for DNS subject alternative names
Reviewed-by: jnimeh, weijun, mullan
2020-03-18 09:23:57 +08:00
Chris Plummer
a147636157 8238268: Many SA tests are not running on OSX because they do not attempt to use sudo when available
Reviewed-by: sspitsyn, iignatyev
2020-03-17 18:04:59 -07:00
David Holmes
94a6149de5 8241124: Aarch64 build broken by JDK-8239593
Reviewed-by: mikael
2020-03-17 20:54:50 -04:00
David Holmes
f959b01203 8239593: Bogus warning "Re-registering of platform native method" for a JVMTI agent
Reviewed-by: dcubed, alanb, hseigel
2020-03-17 19:57:58 -04:00
Charlie Gracie
c003fffd84 8241122: Remove unimplemented InlineTree constructor definition from parse.hpp
Reviewed-by: kvn
2020-03-17 14:05:12 -07:00
Vladimir Kozlov
6083173f9b 8237045: JVM uses excessive memory with -XX:+EnableJVMCI -XX:JVMCICounterSize=2147483648
Limit JVMCICounterSize flag's value range to 1M

Reviewed-by: thartmann, redestad
2020-03-17 12:42:48 -07:00
Claes Redestad
176192499f 8241042: x86_64: Improve Assembler generation
Reviewed-by: vlivanov, kvn
2020-03-05 16:07:17 +01:00
Vladimir Kozlov
ec5bd02186 8240976: [JVMCI] MethodProfileWidth flag is broken
Remove JVMCI code which is not used

Reviewed-by: thartmann, redestad
2020-03-17 10:38:40 -07:00
Andrew Haley
1a0995981c Merge 2020-03-17 14:13:52 +00:00
Roman Kennke
035100cc89 8241081: Shenandoah: Do not modify update-watermark concurrently
Reviewed-by: shade
2020-03-17 11:49:25 +01:00
Claes Redestad
dbd0f0dc3b 8241077: x86_64: Minor Assembler improvements
Reviewed-by: kvn
2020-03-17 09:36:46 +01:00
Matthias Baesken
6f7a103abc 8240824: enhance print_full_memory_info on Linux by THP related information
Reviewed-by: dholmes, stuefe
2020-03-17 08:53:29 +01:00
Andrew Haley
195361216c 8241018: 32-bit integer log2 functions return the wrong value for negative arguments on 64-bit machines
Reviewed-by: kvn
2020-03-16 17:10:26 +00:00
Naoto Sato
2b4b3d9efc 8240626: Some of the java.time.chrono.Eras return empty display name for some styles and locales
Reviewed-by: joehw
2020-03-16 09:26:01 -07:00
Jie Fu
e746891f96 8241034: Fix a configuring error with "-Xmx2048M: command not found"
Reviewed-by: mikael, erikj
2020-03-16 22:43:44 +08:00
Erik Österlund
21cd75cb98 8240363: Refactor Compile::Output() to its own Phase
Reviewed-by: kvn, vlivanov
2020-03-16 12:27:42 +00:00
Jan Lahoda
6ddb0f2b2c 8240964: Compilation error thrown when long literal used with yield
Ensuring yield followed by a long literal is recognized as a yield statement.

Reviewed-by: mcimadamore
2020-03-16 13:06:35 +01:00
David Holmes
95898e86a1 8241043: Expand assertions to identify thread with errant _stack_base
Reviewed-by: mikael
2020-03-16 02:16:49 -04:00
Nick Gasson
4b978533ca 8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1
Reviewed-by: aph
2020-03-16 10:51:01 +08:00
Vicente Romero
f819e417f9 8235339: test TargetAnnoCombo.java is failing after new target RECORD_COMPONENT was added
Reviewed-by: darcy
2020-03-14 17:08:25 -04:00
Joe Darcy
b019469232 8240130: Improve and update discussion of visitor evolution warnings
Reviewed-by: jjg
2020-03-14 09:53:43 -07:00
Kim Barrett
6ead90568f 8239825: G1: Simplify threshold test for mutator refinement
Compute refinement threshold when values change, not on each use.

Reviewed-by: tschatzl, sangheki
2020-03-13 15:36:50 -04:00
Alex Menkov
3aeb2d1a51 8217441: Failure of ::realloc() should be handled correctly in sawindbg.cpp
Reviewed-by: cjplummer, sspitsyn
2020-03-13 12:25:25 -07:00
Joe Wang
c7e4b2afe2 8240982: Incorrect copyright header in BCEL 6.4.1 sources
Reviewed-by: naoto, lancea
2020-03-13 19:15:32 +00:00
Jonathan Gibbons
afa54b7ed5 8240916: Convert to using hyphenated naming for CSS classes
Reviewed-by: hannesw
2020-03-13 10:57:41 -07:00
Claes Redestad
2b465b1ebf 8241010: Unnecessarily resolving some well-known classes
Reviewed-by: coleenp
2020-03-13 18:43:11 +01:00
Claes Redestad
37629673e7 8241006: Cleanup TemplateInterpreter initialization
Reviewed-by: coleenp
2020-03-13 15:59:27 +01:00
Vicente Romero
afbe2286e2 8239447: compiler error for annotations applied to record components with target METHOD
Reviewed-by: mcimadamore
2020-03-13 10:29:03 -04:00
Per Lidén
9e94572078 8240714: ZGC: TestSmallHeap.java failed due to OutOfMemoryError
Reviewed-by: eosterlund
2020-03-13 14:26:38 +01:00
Weijun Wang
9d502f648c 8240983: Incorrect copyright header in Apache Santuario files
Reviewed-by: mullan
2020-03-13 21:32:27 +08:00
Aditya Mandaleeka
5ed80778bc 8231668: Remove ForceDynamicNumberOfGCThreads
Reviewed-by: shade, tschatzl
2020-03-13 13:22:39 +01:00
Ivan Walulya
5a68ba1339 8240591: G1HeapSizingPolicy attempts to compute expansion_amount even when at full capacity
Reviewed-by: sjohanss, tschatzl
2020-03-13 11:54:47 +01:00
Weijun Wang
05c539c9b4 8240980: Backout JDK-8240261
Reviewed-by: dholmes
2020-03-13 17:45:55 +08:00
Roland Westrelin
2a35bc5aee 8240854: [REDO] some jaotc failures of fastdebug build with specific flags
Reviewed-by: vlivanov, kvn, thartmann
2020-03-11 10:32:07 +01:00
Jie Fu
a8b4801859 8240846: Zero VM is broken after JDK-8238681: UseSSE not defined
Reviewed-by: shade, rehn, vlivanov
2020-03-13 17:01:16 +08:00
Calvin Cheung
38940d166a 8238000: Crash in ClassLoader::record_result while dynamic dumping netty
Make a copy of the _shared_path_table for use during dynamic CDS dump.

Reviewed-by: iklam, minqi
2020-03-12 16:05:07 -07:00
Valerie Peng
0610992a8f 8238566: java.security.Provider$Service.supportsParameter() is racy
Use double-checked-locking pattern inside the hasKeyAttributes() method

Reviewed-by: xuelei
2020-03-12 22:11:49 +00:00
Jonathan Gibbons
2eaeb20697 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test
Reviewed-by: shurailine, prappo
2020-03-12 14:14:29 -07:00
Jonathan Gibbons
5bc78c438b 8240971: Fix CSS styles in some doc comments
Reviewed-by: mchung
2020-03-12 13:56:55 -07:00
Junyuan Zheng
e30b89e138 8240972: macOS codesign fail on macOS 10.13.5 or older
Reviewed-by: erikj, ihse
2020-03-12 12:55:19 -07:00
Mandy Chung
e9494f2155 8240242: improve the javadoc for Lookup::dropLookupModes w.r.t. dropping UNCONDITIONAL
Reviewed-by: chegar, rriggs
2020-03-12 11:56:49 -07:00
Mandy Chung
d5d6dc0caa 8228336: Refactor native library loading implementation
Reviewed-by: alanb, dholmes
2020-03-12 11:54:11 -07:00
Magnus Ihse Bursie
36fac8c332 8240950: Missing AC_SUBST after JDK-82408
Reviewed-by: erikj
2020-03-12 19:43:09 +01:00
Magnus Ihse Bursie
ed8c11e0d1 8149110: Introduce DISABLED_WARNINGS for Java compilation
Reviewed-by: erikj
2020-03-12 19:42:06 +01:00
Magnus Ihse Bursie
3aceb74ac9 8240947: Change conflicting JVM features from warning to error
Reviewed-by: erikj
2020-03-12 19:40:44 +01:00
Daniel Fuchs
58337b12f8 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root"
The solaris specific code is changed to use the fallback mechanism if the DLPI interface returns an error indicating that the operation is unsupported. In addition, NetworkInterface::getHardwareAddress is changed to always return null for the loopback interface.

Reviewed-by: alanb
2020-03-12 18:31:49 +00:00
Aleksey Shipilev
3ee99ca1d7 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868
Reviewed-by: rkennke
2020-03-12 18:50:18 +01:00
Patrick Concannon
de5208e3c0 Merge 2020-03-12 17:20:55 +00:00
Zhengyu Gu
71e1277fb3 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner
Reviewed-by: rkennke
2020-03-12 13:08:40 -04:00
Patrick Concannon
0ed44d0aee 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS)
Updates DatagramChannel so that the SO_SNDBUF is set to a minimum value of 65527 for IPv6 sockets and 65507 for IPv4 sockets on macOS.

Reviewed-by: alanb, dfuchs
2020-03-12 17:08:09 +00:00
Roman Kennke
e5ab701157 8240873: Shenandoah: Short-cut arraycopy barriers
Reviewed-by: shade
2020-03-12 17:52:47 +01:00
Roman Kennke
70e730fd5c 8240872: Shenandoah: Avoid updating new regions from start of evacuation
Reviewed-by: shade
2020-03-12 17:52:10 +01:00
Yumin Qi
90a39195c1 8240563: [TESTBUG] WB_IsCDSIncludedInVmBuild should support uncompressed oops/klasses
With 8232069, CDS works with uncompressed oops/kalsses, detecting CDS code no longer bases on the two flags.

Reviewed-by: iklam
2020-03-12 09:07:11 -07:00
Roger Riggs
c68e15c0c3 8240957: Clarify BadAttributeValueExpException readObject method
Reviewed-by: bpb
2020-03-12 11:57:35 -04:00
Roger Riggs
fee69babbd 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent."
Reviewed-by: dfuchs
2020-03-12 11:54:39 -04:00
Naoto Sato
eeaafbe141 8216332: Grapheme regex does not work with emoji sequences
Reviewed-by: rriggs
2020-03-12 08:31:26 -07:00
Pankaj Bansal
e70ee3dcf7 8231042: [macos] JFileChooser creates new folder on ESC
Reviewed-by: serb, psadhukhan
2020-03-03 18:26:57 +05:30
Pankaj Bansal
23def435d4 8239902: Remove direct usage of JSlider, JProgressBar classes in CAccessible class
Reviewed-by: serb
2020-03-03 17:49:58 +05:30
Pankaj Bansal
c2867d6577 8204161: [TESTBUG] auto failed with the "Applet thread threw exception: java.lang.UnsupportedOperationException" exception
Reviewed-by: serb
2020-03-03 17:37:04 +05:30
Prasanta Sadhukhan
6b45504934 Merge 2020-03-03 14:45:47 +05:30
Prasanta Sadhukhan
26a7b0dddd Merge 2020-03-03 13:31:33 +05:30
Sergey Bylokhov
9d0a4875d7 8238936: The crash in XRobotPeer when the custom GraphicsDevice is used
Reviewed-by: kizune
2020-03-03 03:46:11 +00:00
David Holmes
c42de93347 8238676: jni crashes on accessing it from process exit hook
Reviewed-by: fparain, gziemski
2020-03-02 19:49:42 -05:00
Sergey Bylokhov
70e2c013d7 8235153: [TESTBUG] [macos 10.15] java/awt/Graphics/DrawImageBG/SystemBgColorTest.java fails
Reviewed-by: aivanov
2020-03-02 23:35:50 +00:00
Mikhailo Seledtsov
35ee1cb2b3 8236938: [TESTBUG] JFR event MetaspaceAllocationFailure is not tested
New test for MetaspaceAllocationFailure

Reviewed-by: hseigel, stuefe
2020-03-02 12:16:18 -08:00
Christoph Langer
78d35f1435 8239149: Cleanups in SunFontManager.java and TrueTypeFont.java
Reviewed-by: prr
2020-03-02 21:04:48 +01:00
Kim Barrett
96b61b8f4b 8240246: Avoid cast_to_oop from char*
Change type of gtest object from char[] to unsigned char[].

Reviewed-by: dholmes
2020-03-02 14:45:52 -05:00
Lois Foltan
c280d98e80 8237766: Enhance signature API to include ResolvingSignatureStream
New ResolvingSignatureStream class provides the capability to easily walk through the differing parts of a signature while resolving or querying its underlying types.

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: coleenp, fparain, hseigel
2020-03-02 18:42:22 +00:00
Patrick Concannon
e455d382e7 8234812: Add micros for DatagramChannel send/receive
Benchmarks for the DatagramChannel::send and DatagramChannel::receive methods

Reviewed-by: alanb, chegar
2020-03-02 16:47:51 +00:00
Harold Seigel
6bb0536293 8239568: [TESTBUG] LoadLibraryTest.java fails with RuntimeException
Throw jtreg.SkippedException instead of failing if shared library isn't unloaded

Reviewed-by: coleenp, lmesnik
2020-03-02 16:10:01 +00:00
Prasanta Sadhukhan
65bf61852f Merge 2020-03-02 10:50:33 +05:30
Ioi Lam
0532bd23cd 8240267: VM fails to start with CDS enabled but JVMTI disabled
Reviewed-by: dholmes
2020-03-01 17:36:03 -08:00
Sergey Bylokhov
5e912fbec5 8240202: A few client tests leave mouse buttons pressed
Reviewed-by: prr
2020-02-28 16:49:10 -08:00
Sergey Bylokhov
55768aa45d 8239583: [AIX] simplify the native references in X input methods
Reviewed-by: clanger, itakiguchi
2020-02-27 09:49:33 +00:00
Kun Wang
742bdf003e 8239915: Zero VM crashes when handling dynamic constant
Reviewed-by: dholmes
2020-02-26 17:32:04 +08:00
Lin Zang
0a820d6d21 8239916: SA: delete dead code in jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java
Reviewed-by: stefank
2020-02-29 14:43:09 +08:00
Yumin Qi
5bfb8146e9 8240258: SystemDictionary::quick_resolve need guarded by INCLUDE_CDS
Supplemental fix for 8236604 to guard SystemDictionary::quick_resolve with CDS

Reviewed-by: iklam, ccheung
2020-02-28 19:29:11 -08:00
Jie Fu
f176fae840 8240254: Build is broken when cds is disabled after JDK-8236604
Reviewed-by: redestad
2020-02-29 09:38:12 +08:00
Yumin Qi
add146cc8b 8236604: Optimize SystemDictionary::resolve_well_known_classes for CDS
Serialize SystemDictionary::_well_known_classes into CDS and quickly resolve them at runtime in vm startup stage.

Reviewed-by: iklam, coleenp
2020-02-28 15:30:29 -08:00
Leonid Mesnik
b247e6d908 8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test
Reviewed-by: lkorinth, shade
2020-02-28 13:21:01 -08:00
Jonathan Gibbons
1be89d9640 8240136: Cleanup/simplify HTML/CSS for definition lists
Reviewed-by: prappo
2020-02-28 12:46:58 -08:00
Volker Simonis
b38f3cf3bd 8240226: DeflateIn_InflateOut.java test incorrectly assumes size of compressed file
Reviewed-by: martin, alanb
2020-02-28 19:49:39 +01:00
Aleksey Shipilev
8a79f26795 8240217: Shenandoah: remove ShenandoahEvacAssist
Reviewed-by: rkennke
2020-02-28 17:59:52 +01:00
Aleksey Shipilev
6ad1db40d8 8240216: Shenandoah: remove ShenandoahTerminationTrace
Reviewed-by: zgu
2020-02-28 17:59:51 +01:00
Aleksey Shipilev
5afeeed5b2 8240215: Shenandoah: remove ShenandoahAllocationTrace
Reviewed-by: rkennke
2020-02-28 17:59:50 +01:00
Lutz Schmidt
637795e0a7 8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up
Reviewed-by: mdoerr
2020-02-28 16:36:47 +01:00
Peter Tribble
0cd6d13b24 8240231: Build failure on illumos after 8238988
Add missing cast

Reviewed-by: dcubed, shade
2020-02-28 10:16:44 -05:00
Christian Hagedorn
bd25c0e01a 8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed
Remove an assertion which was too strong for some valid IRs when running with -XX:+VerifyGraphEdges

Reviewed-by: neliasso, thartmann
2020-02-28 15:33:44 +01:00
Magnus Ihse Bursie
290c21f067 8239799: Cross-compilation ARM32/AARCH clientvm builds fails after JDK-8239450
Reviewed-by: erikj
2020-02-28 09:53:18 +01:00
Xue-Lei Andrew Fan
0ab5b968fb 8240193: loadLibrary("osxsecurity") should not be removed
Reviewed-by: ascarpino
2020-02-27 21:14:59 -08:00
Chris Plummer
511501048c 8193237: SA: ClhsdbLauncher should show the command being executed
Reviewed-by: sspitsyn, amenkov
2020-02-27 13:57:33 -08:00
Chris Plummer
3a5ee7b422 8239379: ProblemList serviceability/sa/sadebugd/DebugdConnectTest.java on OSX
Reviewed-by: sspitsyn
2020-02-27 13:52:49 -08:00
Chris Plummer
518f1f9a6e 8240142: Fix copyright in ThreadGroupReferenceImpl.h
Reviewed-by: dholmes
2020-02-27 13:51:04 -08:00
Jonathan Gibbons
39d75e894b 8239804: Cleanup/simplify HTML/CSS for general block tags
Reviewed-by: prappo, hannesw
2020-02-27 12:16:03 -08:00
Bradford Wetmore
4a951001b5 8239815: Update ECC legal file
Reviewed-by: mullan
2020-02-27 11:48:18 -08:00
Joe Darcy
ed62024978 8225495: Note whether returned annotations are declaration annotations or type annotations
Reviewed-by: jjg
2020-02-27 10:30:08 -08:00
Zhengyu Gu
efdc0037b8 8239354: Shenandoah: minor enhancements to traversal GC
Reviewed-by: rkennke
2020-02-27 12:17:31 -05:00
Daniel D. Daugherty
882633a738 8239873: [TESTBUG] FieldLayout/OldLayoutCheck.java fails after the fix for JDK-8239503
Don't run the test with -XX:-UseCompressedOops.

Reviewed-by: fparain, hseigel
2020-02-27 11:34:48 -05:00
Zhengyu Gu
5551d3d888 8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR
Reviewed-by: shade, rkennke
2020-02-26 15:32:25 -05:00
Harold Seigel
a1e9328367 8235225: Replace CHECK_0 with CHECK_NULL for non-integer returning methods
Change CHECK_0 to CHECK_NULL and CHECK_false where appropriate

Reviewed-by: mikael, dholmes, coleenp
2020-02-27 13:00:05 +00:00
Nils Eliasson
2ba0575cea 8239878: Bug in PrintEliminateAllocations code causes TestClhsdbJstackLock.java to fail
Reviewed-by: shade
2020-02-27 13:11:06 +01:00
Rahul Raghavan
c8ed0128c2 8235995: Remove src/jdk.internal.vm.compiler/.mx.graal directory
Removed src/jdk.internal.vm.compiler/.mx.graal directory and files

Reviewed-by: dlong
2020-02-27 16:06:43 +05:30
Amy Lu
67ba91ba52 8239979: sun/security/tools/keytool/ExtOptionCamelCase.java is not run
Reviewed-by: rhalade
2020-02-27 12:19:24 +08:00
David Holmes
eef5ef88b3 8240141: Incorrect copyright header in src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp
Reviewed-by: iignatyev
2020-02-26 23:10:57 -05:00
Jesper Wilhelmsson
52fe584c5a Added tag jdk-15+12 for changeset 2ec0ff304263 2020-02-27 03:10:23 +01:00
Daniel D. Daugherty
530d53f84e 8240135: ProblemList vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java#id1
Reviewed-by: iignatyev, dholmes
2020-02-26 19:41:39 -05:00
Daniel D. Daugherty
cea9a9b8ce 8240134: ProblemList javax/script/Test7.java
Reviewed-by: dholmes
2020-02-26 19:39:32 -05:00
Daniel D. Daugherty
be1007cfaf 8240132: ProblemList com/sun/jdi/InvokeHangTest.java
Reviewed-by: mikael
2020-02-26 19:33:14 -05:00
Sergei Tsypanov
f729514ebd 8240094: Optimize empty substring handling
Reviewed-by: redestad, igerasim, jlaskey
2020-02-26 21:24:02 +01:00
Kim Barrett
257de28b2c 8238979: Improve G1DirtyCardQueueSet handling of previously paused buffers
Move enqueuing of previously paused buffers.

Reviewed-by: sangheki, sjohanss
2020-02-26 14:36:01 -05:00
Aleksey Shipilev
6913bbc200 8240076: Shenandoah: pacer should cover reset and preclean phases
Reviewed-by: zgu
2020-02-26 19:36:56 +01:00
Aleksey Shipilev
d26dadef43 8240070: Shenandoah: remove obsolete ShenandoahCommonGCStateLoads
Reviewed-by: rkennke
2020-02-26 19:36:50 +01:00
Aleksey Shipilev
331f492ad5 8240069: Shenandoah: turn more flags diagnostic
Reviewed-by: rkennke
2020-02-26 19:36:43 +01:00
Igor Ignatyev
b09add641b 8239500: jittester shouldn't use non-deterministic System methods
Reviewed-by: lmesnik, thartmann
2020-02-26 10:09:40 -08:00
Pavel Rappo
e8c32ccb2f 8239876: Improve SearchIndexItem
Reviewed-by: jjg
2020-02-26 15:34:04 +00:00
Ravi Reddy
9b12c80e21 8238452: Keytool generates wrong expiration date if validity is set to 2050/01/01
Reviewed-by: pkoppula, weijun, coffeys
2020-02-26 18:06:19 +03:00
Xin Liu
b08595d844 8239066: make LinkedList<T> more generic
Reviewed-by: phh, simonis
2020-02-26 12:35:43 +01:00
Alexey Ivanov
fa7f53ee93 8235147: Release HDC from passiveDCList sooner
Reviewed-by: serb, jdv
2020-02-25 20:00:24 +00:00
Zhengyu Gu
b4ff6abe63 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata
Reviewed-by: rkennke, shade
2020-02-25 12:01:35 -05:00
Erik Österlund
8b73900222 8241074: JDK-8240363 broke the build on AArch64
Reviewed-by: shade
2020-03-16 17:13:56 +00:00
Severin Gehwolf
add18914fb 8239785: Cgroups: Incorrect detection logic on old systems in hotspot
Return NULL subsystem if no cgroup controllers are mounted.

Reviewed-by: bobv, mbaesken
2020-02-25 12:17:26 +01:00
Vladimir Ivanov
48c48b7a85 8238696: x86: Enumerate all detected CPU features in VM_Version feature string
Reviewed-by: dholmes, kvn
2020-03-12 16:42:03 +03:00
Zhengyu Gu
1f189228b6 8240915: Shenandoah: Remove unused fields in init mark tasks
Reviewed-by: rkennke
2020-03-12 09:25:08 -04:00
Yudi Zheng
21d3eaf587 8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers
Reviewed-by: kvn, thartmann
2020-03-12 13:20:53 +01:00
Claes Redestad
d49cf17db0 8240669: Devirtualize Relocation::type
Reviewed-by: rbackman, thartmann
2020-03-05 16:07:17 +01:00
Claes Redestad
7fe46b2464 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper
Reviewed-by: iklam, kvn
2020-03-12 13:07:21 +01:00
Richard Reingruber
c5bd0d7934 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC
Reviewed-by: vlivanov, thartmann
2020-03-12 11:51:00 +01:00
Weijun Wang
0368e41c12 8240261: Use make/templates/gpl-cp-header in FieldGen.java
Reviewed-by: erikj
2020-03-12 18:21:59 +08:00
Kelvin Nilsen
19e02810db 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah
Reviewed-by: shade
2020-03-12 06:47:17 +01:00
Ioi Lam
b0f32c4431 8240548: [TESTBUG] CDS NoClassToArchive.java fails with Graal
Reviewed-by: dholmes, mchung
2020-03-11 21:37:45 -07:00
Jesper Wilhelmsson
92686e1add Added tag jdk-15+14 for changeset 1d6ceb13e142 2020-03-12 03:10:32 +01:00
Yasumasa Suenaga
069d9e792e 8234624: jstack mixed mode should refer DWARF
Reviewed-by: sspitsyn, kevinw
2020-03-12 09:23:05 +09:00
Jonathan Gibbons
5b9a09cb9c 8240138: Cleanup HtmlTree
Reviewed-by: prappo
2020-03-11 15:46:17 -07:00
Magnus Ihse Bursie
6b487c3cfe 8240866: Typo in JDK-8240820 messes up configure --help
Reviewed-by: erikj
2020-03-11 22:25:18 +01:00
Alex Menkov
5531199db4 8240340: java/lang/management/ThreadMXBean/Locks.java is buggy
Reviewed-by: dholmes, sspitsyn
2020-03-11 13:39:27 -07:00
Serguei Spitsyn
db69852ac2 8240881: [BACKOUT] 8222489 jcmd VM.system_properties gives unusable paths on Windows
Undo the 8222489 changeset

Reviewed-by: dcubed, iklam
2020-03-11 20:28:43 +00:00
Pavel Rappo
8c6649dea0 8239487: Better links generation for system properties found in HTML files
8239485: Define behavior of the System Properties page when no system properties are available

Reviewed-by: jjg
2020-03-11 17:09:10 +00:00
Adam Sotona
5b323a8656 8230117: Remove unused JAR tool classes
Reviewed-by: lancea, clanger
2020-03-11 12:30:23 -04:00
Alexey Bakhtin
14e37ba3df 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException
Reviewed-by: xuelei
2020-03-11 19:14:08 +03:00
Andrew Haley
6275aee690 Merge 2020-03-11 15:02:09 +00:00
Aleksey Shipilev
eb974fad6d 8240868: Shenandoah: remove CM-with-UR piggybacking cycles
Reviewed-by: rkennke, zgu
2020-03-11 14:17:52 +01:00
Vipin Sharma
d778097371 8240524: Remove explicit type argument in test jdk/java/lang/Boolean/MakeBooleanComparable.java
Reviewed-by: clanger, vtewari
2020-03-11 13:50:13 +01:00
Andrew Haley
0992e17b97 8240829: Use a fast O(1) algorithm for exact_log2
Reviewed-by: jrose, redestad
2020-03-11 12:38:57 +00:00
Andrew Haley
661c073594 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent
Reviewed-by: jrose, redestad
2020-03-10 10:49:01 -04:00
Stefan Karlsson
534331f0a1 8240532: heap inspection prints trailing @ after name of module without version
Reviewed-by: lfoltan
2020-03-04 18:08:09 +01:00
Stefan Karlsson
43e0fc04b0 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module
Reviewed-by: coleenp, lfoltan, hseigel
2020-03-04 15:50:49 +01:00
Stefan Karlsson
593a05c93a 8240530: CheckUnhandledOops breaks BacktraceBuilder::set_has_hidden_top_frame
Reviewed-by: coleenp, dholmes
2020-03-04 15:50:51 +01:00
Erik Helin
1c1acb4757 8237566: FindTests.gmk should only include existing TEST.ROOT files
Reviewed-by: erikj
2020-03-10 16:58:29 +01:00
Magnus Ihse Bursie
441e16e2db 8240820: Replace AC_ARG_ENABLE with UTIL_ARG_ENABLE
Reviewed-by: erikj
2020-03-11 08:34:14 +01:00
Yasumasa Suenaga
99b28daf56 8240725: Some functions might not work with CJK character
Reviewed-by: naoto
2020-03-11 13:14:40 +09:00
Weijun Wang
80ca356e7e 8239928: ec/ECDSAJavaVerify.java failed due to timeout
Reviewed-by: valeriep
2020-03-11 10:33:33 +08:00
Chihiro Ito
08c3b1fc8f 8222489: jcmd VM.system_properties gives unusable paths on Windows
Reviewed-by: sspitsyn, ysuenaga
2020-03-07 23:08:33 +09:00
Adam Sotona
5eef59d22d 8235216: typo in test filename
Renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java

Reviewed-by: jjg
2020-03-10 17:33:37 +01:00
Jonathan Gibbons
0fd2ac701f 8240697: convert builders to high-level Content blocks
Reviewed-by: prappo
2020-03-10 14:46:28 -07:00
Vladimir Kozlov
39ab073173 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags
Reviewed-by: dcubed
2020-03-10 14:39:39 -07:00
Yumin Qi
53c6887a3d 8240840: Rollback whitebox.cpp in push 8240691
Whitebox.cpp should not change in 8240691, which is accidentally included.

Reviewed-by: iklam, ccheung
2020-03-10 14:37:37 -07:00
Yudi Zheng
75632a6df2 8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler
Reviewed-by: kvn, thartmann
2020-03-10 21:48:43 +01:00
Yumin Qi
0e3529ad10 8240691: ClhsdbCDSJstackPrintAll incorrectly thinks CDS is in use
Fix by checking "UseSharedSpaces = false" for CDS enabled.

Reviewed-by: iklam
2020-03-10 11:52:53 -07:00
Vladimir Ivanov
02916dbb0b 8239009: C2: Don't use PSHUF to load scalars from memory on x86
Reviewed-by: kvn, dlong
2020-03-10 20:51:09 +03:00
Vladimir Ivanov
1dcd3d2c50 8239008: C2: Simplify Replicate support for sub-word types on x86
Reviewed-by: kvn
2020-03-10 20:51:08 +03:00
Vladimir Ivanov
072cfd2e48 8238681: Make -XX:UseSSE flag x86-specific
Reviewed-by: dholmes, kvn
2020-03-10 20:51:07 +03:00
Erik Gahlin
8208b9ce32 8240778: JFR: Create timer task lazily
Reviewed-by: mgronlun, mseledtsov
2020-03-10 18:39:16 +01:00
Roland Westrelin
42ff13ab82 8240195: some jaotc failures of fastdebug build with specific flags
Reviewed-by: kvn, thartmann
2020-03-09 09:42:30 +01:00
Dongbo He
f4b5488181 8240734: ModuleHashes attribute not reproducible between builds
Reviewed-by: alanb
2020-03-09 18:21:58 +08:00
Markus Grönlund
aac5b27b6a 8238180: RunThese30M failed "assert(t->jfr_thread_local()->shelved_buffer() == __null) failed: invariant"
Reviewed-by: egahlin
2020-03-10 15:44:59 +01:00
John Jiang
edaf548beb 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol
Reviewed-by: dfuchs
2020-03-10 21:43:46 +08:00
Ivan Walulya
d49eb0d9a7 8240668: G1 list of all PerRegionTable does not have to be a double linkedlist any more
Reviewed-by: kbarrett, tschatzl
2020-03-10 10:19:34 +01:00
Roland Westrelin
43e0165eea 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Reviewed-by: thartmann
2020-03-10 10:45:01 +01:00
Aditya Mandaleeka
d112950b5b 8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts
Reviewed-by: shade
2020-03-09 22:41:11 +01:00
Aleksey Shipilev
9722dfc9bc 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker
Reviewed-by: rkennke
2020-03-09 22:41:04 +01:00
Aleksey Shipilev
2ba5ed53d6 8240749: Shenandoah: refactor ShenandoahUtils
Reviewed-by: rkennke
2020-03-09 22:40:55 +01:00
Erik Gahlin
f09cda2c70 8239584: EventStream::close should state that stream will be stopped
Reviewed-by: mgronlun, mseledtsov
2020-03-09 21:43:01 +01:00
Erik Gahlin
672992f6ac 8222000: JFR: Process start event
Reviewed-by: mgronlun, rriggs
2020-03-09 21:25:38 +01:00
Naoto Sato
123ac07064 8239836: ZoneRules.of() doesn't check transitionList/standardOffsetTL arguments validity
Reviewed-by: rriggs, joehw, scolebourne
2020-03-09 13:20:45 -07:00
Daniel Fuchs
5c8f935641 8240754: Instrument FlowTest.java to provide more debug traces
Reviewed-by: chegar
2020-03-09 17:48:40 +00:00
Henry Jen
dc17821807 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk
Reviewed-by: alanb, mchung
2020-03-06 13:48:16 -08:00
Dongbo He
aa2be1141d 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges
Reviewed-by: kvn
2020-03-09 22:31:12 +08:00
Mario Torre
e0fec43a9b 8240738: nested comment in JVM.java and other minor formatting errors
Reviewed-by: egahlin
2020-03-09 14:57:41 +01:00
Kevin Walls
a11912ca06 8240295: hs_err elapsed time in seconds is not accurate enough
Reviewed-by: dholmes, sspitsyn
2020-03-09 12:54:53 +00:00
Aditya Mandaleeka
3ff8eff804 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header
Reviewed-by: rkennke
2020-03-09 12:29:13 +01:00
Roland Westrelin
b58c8601bb 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization
Reviewed-by: kvn, thartmann
2020-03-05 15:56:49 +01:00
Kim Barrett
1c1fb44ac1 8240722: [BACKOUT] G1DirtyCardQueue destructor has useless flush
Backout JDK-8240133

Reviewed-by: sjohanss
2020-03-09 04:06:37 -04:00
Rajan Halade
ba2e4178ce 8240686: 70 security tests are failing on Windows due to "Fetch artifact failed"
Reviewed-by: xuelei
2020-03-09 00:45:01 -07:00
Ioi Lam
046dcdc0bc 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated)
Reviewed-by: dcubed
2020-03-08 15:06:27 -07:00
Kim Barrett
7806ca1477 8240133: G1DirtyCardQueue destructor has useless flush
Removed useless call to flush.

Reviewed-by: tschatzl, sjohanss
2020-03-08 17:33:48 -04:00
Ichiroh Takiguchi
3d9dddd658 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly"
Cp943 and x-IBM943 should skip on XMLEncoder/Test4625418.java

Reviewed-by: naoto
2020-03-08 15:15:38 +09:00
Boris Ulasevich
d0e44e5bb4 8239514: Build for arm-linux-gnueabihf fails with undefined reference read_polling_page
Reviewed-by: dsamersoff, dholmes
2020-03-07 16:27:00 +03:00
Vyom Tewari
ff8e7d4087 8238579: HttpsURLConnection drops the timeout and hangs forever in read
HttpsURLConnection drops the timeout and hangs forever in read

Reviewed-by: dfuchs
2020-03-07 18:35:20 +05:30
Jie Fu
f222cb8b8c 8240695: Build is broken when cds is disabled after JDK-8232081
Reviewed-by: iklam
2020-03-07 14:42:55 +08:00
Jonathan Gibbons
c46623d071 8240137: Support chained use of Content.add
Reviewed-by: hannesw
2020-03-06 18:03:09 -08:00
Mikael Vidstedt
c203cebcdf 8240535: Add additional linux-aarch64 jib profiles
Reviewed-by: erikj
2020-03-06 17:33:07 -08:00
Kim Barrett
9f334a1640 8240239: Replace ConcurrentGCPhaseManager
Replace ConcurrentGCPhaseManager with ConcurrentGCBreakpoints

Co-authored-by: Per Liden <per.liden@oracle.com>
Reviewed-by: kbarrett, pliden, sangheki
2020-03-06 18:42:13 -05:00
Calvin Cheung
9e2ab1e363 8232081: Try to link all classes during dynamic CDS dump
During CDS dynamic dump, link all classes loaded by the builtin class loaders in JVM_BeforeHalt() and JavaThread::invoke_shutdown_hooks().

Reviewed-by: iklam, dholmes
2020-03-06 15:33:13 -08:00
Roman Kennke
8c1204de6b 8240315: Shenandoah: Rename ShLBN::get_barrier_strength()
Reviewed-by: shade
2020-03-06 21:51:32 +01:00
Roger Riggs
375d0c1325 8239893: Windows handle Leak when starting processes using ProcessBuilder
Reviewed-by: bpb, naoto
2020-03-06 13:52:35 -05:00
Brian Burkhalter
e2f4319171 4617266: (se spec) SelectionKey.OP_READ/OP_WRITE documentation errors
Reviewed-by: lancea, alanb, darcy
2020-03-06 10:34:31 -08:00
Sean Mullan
f87ebd9e5d 8240684: ProblemList 70 security tests that are failing on Windows due to "Fetch artifact failed"
Reviewed-by: xuelei, stsmirno, dcubed
2020-03-06 13:17:03 -05:00
Aleksey Shipilev
d8bded6fb4 8240671: Shenandoah: refactor ShenandoahPhaseTimings
Reviewed-by: rkennke, zgu
2020-03-06 17:03:42 +01:00
Severin Gehwolf
c92adf4158 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111
Reviewed-by: mbaesken, bobv
2020-02-24 19:03:34 +01:00
Ralf Schmelter
14c098610a 8240440: Implement get_safepoint_workers() for parallel GC
Reviewed-by: tschatzl, kbarrett
2020-03-06 16:19:32 +01:00
Ivan Walulya
f0cd9dd5c4 8240592: HeapRegionManager::rebuild_free_list logs 0s for the estimated free regions before
Reviewed-by: sjohanss, kbarrett
2020-03-06 14:10:41 +01:00
Aditya Mandaleeka
95a497ae9f 8236981: Remove ShenandoahTraversalUpdateRefsClosure
Reviewed-by: shade, rkennke
2020-03-06 13:41:14 +01:00
Ivan Walulya
25d2db06c4 8240589: OtherRegionsTable::_num_occupied not updated correctly
Reviewed-by: tschatzl, sjohanss
2020-03-06 11:40:03 +01:00
Martin Doerr
3adad5a645 8239856: [ntintel] asserts about copying unaligned array element
Reviewed-by: stuefe, sspitsyn
2020-03-06 11:04:31 +01:00
Matthias Baesken
f10fd7a78e 8240603: Windows 32bit compile error after 8238676
Reviewed-by: clanger, dholmes
2020-03-05 13:12:51 +01:00
Ramkumar Sunderbabu
9c6a769618 8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout
Removed timeout=5 from the tests so that default timeout is used

Reviewed-by: cjplummer
2020-03-06 10:27:24 +05:30
Doug Simon
f456f151cc 8240538: [JVMCI] add test for JVMCI ConstantPool class
Reviewed-by: kvn, iignatyev
2020-03-05 16:32:52 -08:00
Joe Darcy
001b8056c8 8240624: Note mapping of RoundingMode constants to equivalent IEEE 754-2019 attribute
Reviewed-by: bpb
2020-03-05 15:07:20 -08:00
Vicente Romero
4a32eda417 8240454: incorrect error message: as of release 13, 'record' is a restricted type name
Reviewed-by: jlahoda
2020-03-05 16:46:24 -05:00
Lance Andersen
3607ddd55a 8211917: Zip FS should add META-INF/MANIFEST.FS at the start of the Zip/JAR
Reviewed-by: clanger, jpai
2020-03-05 13:56:40 -05:00
Alexandre Iline
db91be2ee1 8240241: Add support for JCov DiffCoverage to make files
Reviewed-by: erikj, ihse
2020-03-05 09:51:03 -08:00
Markus Grönlund
d75e62e16b 8239376: JFR: assert(!cld->is_unsafe_anonymous()) failed: invariant
Reviewed-by: coleenp, lfoltan, hseigel
2020-03-05 17:55:53 +01:00
Claes Redestad
78982f7c11 8240528: OopMap cleanup
Reviewed-by: kvn, thartmann
2020-03-05 13:14:31 +01:00
Erik Österlund
3ddd7b86c8 8240370: Provide Intel JCC Erratum opt-out
Reviewed-by: redestad, vlivanov, thartmann
2020-03-05 11:12:51 +00:00
Yasumasa Suenaga
3490262a6b 8240197: Cannot start JVM when $JAVA_HOME includes CJK characters
Reviewed-by: iklam, stuefe, rschmelter
2020-03-05 19:46:07 +09:00
Ravi Reddy
b2f1f73e75 8183369: RFC unconformity of HttpURLConnection with proxy
HttpURLConnection retried with proxy if the connection fails on first attempt as per RFC

Reviewed-by: chegar, dfuchs, vtewari
2020-03-05 03:27:17 -05:00
Qi Feng
d1818942b0 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java
Reviewed-by: kvn, thartmann
2020-03-05 14:51:41 +08:00
Ioi Lam
7ba18fc015 8240244: Avoid calling resolve_super_or_fail in SystemDictionary::load_shared_class
Reviewed-by: redestad, lfoltan, minqi
2020-03-04 22:26:48 -08:00
Yumin Qi
6cb2e02af6 8240546: runtime/cds/appcds/TestZGCWithCDS.java fails with Graal
Test failed since Graal does not work with ZGC, fixed in test to skip Graal if ZGC.

Reviewed-by: ccheung
2020-03-04 21:29:14 -08:00
Jesper Wilhelmsson
10b09c7982 Added tag jdk-15+13 for changeset 1c06a8ee8aca 2020-03-05 02:02:05 +01:00
Calvin Cheung
5229896f4f 8240481: Remove CDS usage of InstanceKlass::is_in_error_state
Track the classes which fail verification during CDS dumping in DumpTimeSharedClassInfo.

Reviewed-by: iklam, minqi
2020-03-04 15:34:53 -08:00
Jonathan Gibbons
edb59b58b9 8239817: Eliminate use of contentContainer and friends
Reviewed-by: hannesw
2020-03-04 12:58:13 -08:00
Aleksey Shipilev
01ef6d791f 8240534: Shenandoah: ditch debug safepoint timeout adjustment
Reviewed-by: rkennke
2020-03-04 19:23:13 +01:00
Volker Simonis
ff843fabec 8240333: jmod incorrectly updates .jar and .jmod files during hashing
Reviewed-by: martin, alanb, lancea
2020-03-04 14:55:43 +01:00
Andy Herrick
128f083359 8238692: MacOS runtime Installer issue
Reviewed-by: kizune, asemenyuk, almatvee
2020-03-03 18:10:15 -05:00
Andy Herrick
ef4053ee41 8237966: Creating runtime pkg requires --mac-package-identifier
Reviewed-by: kizune, asemenyuk, almatvee
2020-03-03 18:07:11 -05:00
Andy Herrick
aa54795965 8237967: No proper error message when --runtime-image points to non-existent path
Reviewed-by: kizune, asemenyuk, almatvee
2020-03-03 17:58:41 -05:00
Jan Lahoda
e44dcf09c0 8234896: Tab completion does not work for method references in jshell
Reviewed-by: rfield
2020-03-04 13:43:28 +01:00
Jan Lahoda
0c9983887d 8228451: NPE in Attr.java when -XDshould-stop.ifError=FLOW
Avoiding parsing of compound assignment as a type.

Reviewed-by: jjg, vromero
2020-03-04 13:43:27 +01:00
Jan Lahoda
9d57eefe6e 8239575: javadoc triggers javac AssertionError for annos on modules
Ensure ModuleSymbols are implicitly loaded only once in the javadoc context.

Reviewed-by: jjg
2020-03-04 13:43:25 +01:00
Aleksey Shipilev
b3666b94a3 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads
Reviewed-by: rkennke
2020-03-04 11:50:28 +01:00
Alexey Bakhtin
8e74ed46df 8239787: AArch64: String.indexOf may incorrectly handle empty strings
Reviewed-by: aph, lmesnik, yan
2020-03-03 13:06:50 +03:00
Matthias Baesken
dd393fadc4 8239462: jdk.hotspot.agent misses some ReleaseStringUTFChars calls in case of early returns
Reviewed-by: clanger, amenkov, sspitsyn
2020-02-24 09:59:31 +01:00
Ao Qi
2298819af8 8239423: jdk/jfr/jvm/TestJFRIntrinsic.java failed with -XX:-TieredCompilation
Reviewed-by: iignatyev, dholmes
2020-02-26 00:07:21 -05:00
Nick Gasson
f6e5c5a7ea 8238705: [TESTBUG] jfr/event/gc/stacktrace/TestMetaspace* are stable with Xcomp on AArch64
Reviewed-by: mseledtsov, egahlin
2020-02-26 09:58:15 +08:00
Joe Darcy
bdc481e96d 8193553: Provide better guidance on using javax.lang.model visitors
Reviewed-by: jjg
2020-02-25 17:50:08 -08:00
Pengfei Li
934db29ac5 8239549: AArch64: Backend support for MulAddVS2VI node
Reviewed-by: aph
2020-02-26 09:33:29 +08:00
Naoto Sato
e6f0c6bb9a 8239976: Put JDK-8239965 on the ProblemList.txt
Reviewed-by: dcubed
2020-02-25 15:49:24 -08:00
Erik Gahlin
dd8dbb66eb 8223066: "jfr metadata" output the @Name annotation twice
Co-authored-by: Chihiro Ito <chiroito107@gmail.com>
Reviewed-by: mgronlun, egahlin
2020-02-25 20:45:29 +01:00
Pankaj Bansal
f916df3b0e 8238985: [TESTBUG] The arrow image is blue instead of green
Reviewed-by: serb, psadhukhan
2020-02-21 17:09:01 +05:30
Pankaj Bansal
b5e162200b 8153090: TAB key cannot change input focus after the radio button in the Color Selection dialog
Reviewed-by: serb, psadhukhan
2020-02-21 17:00:23 +05:30
Pankaj Bansal
b5fdcb0851 8216329: Cannot resize CheckBoxItemMenu in Synth L&F with setHorizontalTextPosition
Reviewed-by: serb, psadhukhan
2020-02-21 16:31:45 +05:30
Severin Gehwolf
53ee0c4963 8239559: Cgroups: Incorrect detection logic on some systems
Adjust heuristic with cgroup mounts according to mountinfo

Reviewed-by: bobv, mbaesken
2020-02-20 20:56:49 +01:00
Ichiroh Takiguchi
1b92518389 8235834: IBM-943 charset encoder needs updating
Apply 34B003AF.RPMAP130 definition into encoder

Reviewed-by: naoto
2020-02-25 22:47:11 +09:00
Aleksey Shipilev
98e0a704d4 8239904: Shenandoah: accumulated penalties should not be over 100% of capacity
Reviewed-by: rkennke
2020-02-25 12:35:29 +01:00
Magnus Ihse Bursie
7d5652f14a 8239794: Move -Os from JVM feature 'minimal' to new feature 'opt-size'
Reviewed-by: erikj, dholmes
2020-02-25 09:46:12 +01:00
Magnus Ihse Bursie
00e009d729 8239789: Follow-up on JVM feature rewrite
Reviewed-by: erikj, pliden, egahlin
2020-02-25 09:41:47 +01:00
Magnus Ihse Bursie
d7a0206262 8239860: Add support for testing the configure script
Reviewed-by: erikj
2020-02-25 09:37:59 +01:00
Jie Fu
ca838e68c9 8239885: [TESTBUG] compiler/allocation/TestAllocation.java fails with release VMs
Reviewed-by: thartmann
2020-02-25 16:22:12 +08:00
Fairoz Matte
956e20ed16 8239557: [TESTBUG] VeryEarlyAssertTest.java validating "END." marker at lastline is not always true
Reviewed-by: dholmes, mseledtsov
2020-02-24 23:44:29 -05:00
Jie Fu
5a7b5863f0 8239886: Minimal VM build fails after JDK-8237499
Reviewed-by: dholmes
2020-02-25 10:34:33 +08:00
Chihiro Ito
9c35471ae0 8219904: ClassCastException when calling FlightRecorderMXBean#getRecordings()
Reviewed-by: egahlin, mseledtsov
2020-02-25 03:28:31 +01:00
Denghui Dong
52d7a61e8d 8237499: JFR: Include stack trace in the ThreadStart event
Reviewed-by: egahlin
2020-02-24 23:24:14 +01:00
Naoto Sato
8493812702 8239520: ValueRange.of(long, long, long) does not throw IAE on invalid inputs
Reviewed-by: rriggs
2020-02-24 14:16:20 -08:00
Naoto Sato
c30f84536e 8239837: Typo in source code of ZoneOffsetTransitionRule leaking to Javadocs
Reviewed-by: lancea
2020-02-24 12:20:30 -08:00
Igor Ignatyev
c4059c667d 8238943: switch to jtreg 5.0
Reviewed-by: erikj, jjg, joehw
2020-02-24 11:50:18 -08:00
Aleksey Shipilev
649a4d0613 8239492: [x86] Turn MacroAssembler::verify_oop into macro recording file and line
Reviewed-by: rrich, vlivanov, pliden
2020-02-24 18:30:02 +01:00
Aleksey Shipilev
8167fe956f 8239868: Shenandoah: ditch C2 node limit adjustments
Reviewed-by: rkennke
2020-02-24 18:30:00 +01:00
Daniel Fuchs
f7c819a72d 8239052: java/net/httpclient/whitebox/SSLEchoTubeTestDriver.java failed with BufferUnderflowException against TLSv1.3
The test assumed that ByteBuffer would be split at long boundaries. This is obviously not always the case. A carry has been added to support reading a long split over several buffers.

Reviewed-by: chegar
2020-02-24 17:19:32 +00:00
Erik Gahlin
965e330cb4 8239793: 'jfr' tool should hide hidden frames
Reviewed-by: mgronlun, mseledtsov
2020-02-24 17:23:18 +01:00
Erik Gahlin
266446f316 8239585: JFR: Native events should support empty payloads
Reviewed-by: mgronlun
2020-02-24 17:10:01 +01:00
Hannes Wallnöfer
bb7344d919 8232438: Remove ?is-external=true from external links
Reviewed-by: prappo
2020-02-24 16:42:22 +01:00
Erik Österlund
ccdde49728 8234160: Enable optimized mitigation for Intel jcc erratum in C2
Reviewed-by: thartmann, vlivanov, pliden
2020-02-24 14:37:30 +00:00
Erik Gahlin
0f21211e15 8239581: Improve javadoc example for @jdk.jfr.Category
Reviewed-by: mgronlun, mseledtsov
2020-02-24 15:03:28 +01:00
Richard Reingruber
bc87e7829e 8239449: [TESTBUG] test/hotspot/jtreg/runtime/TLS/TestTLS.java: skip test if glibc too old for AdjustStackSizeForTLS
Reviewed-by: dholmes, jiangli
2020-02-24 14:25:35 +01:00
Per Lidén
a9207420c5 8239129: ZGC: Allow -XX:AllocateHeapAt to use any filesystem
Co-authored-by: Yasumasa Suenaga <yasuenag@gmail.com>
Reviewed-by: stefank, pliden, ysuenaga
2020-02-24 13:52:07 +01:00
Jan Lahoda
acd2d32913 8239536: Can't use java.util.List object after importing java.awt.List
Using full qualified names for synthetic types; ensuring the user is warned when a variable becomes undefined due to a dependency change.

Reviewed-by: rfield
2020-02-24 11:43:04 +01:00
Richard Reingruber
4f20fa5246 8239854: Non-PCH gtest build fails after JDK-8239235 due to a missing include
Reviewed-by: shade, mdoerr
2020-02-24 12:04:37 +01:00
Nils Eliasson
38a57e8bed 8238723: yank_alloc_node must remove membar
Reviewed-by: vlivanov, thartmann, roland
2020-02-24 11:31:07 +01:00
Per Lidén
aab0ce5f1c 8239533: ZGC: Make the ZProactive flag non-diagnostic
Reviewed-by: eosterlund, stefank
2020-02-24 11:01:51 +01:00
Claes Redestad
289513cc2b 8239235: Examine SignatureStream performance after consolidation
Reviewed-by: lfoltan, coleenp
2020-02-24 10:20:35 +01:00
Roland Westrelin
86ad195099 8238384: CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Reviewed-by: vlivanov, thartmann
2020-02-20 16:41:05 +01:00
Roland Westrelin
1e796eae8f 8239367: RunThese30M.java failed due to "assert(false) failed: graph should be schedulable"
Reviewed-by: thartmann, vlivanov, neliasso
2020-02-21 15:01:22 +01:00
Xue-Lei Andrew Fan
89448a83d9 8233619: SSLEngine handshake status immediately after the handshake can be NOT_HANDSHAKING rather than FINISHED with TLSv1.3
Reviewed-by: jnimeh
2020-03-03 15:57:01 -08:00
Mikhailo Seledtsov
467ee78a52 8235206: JFR TestCrossProcessStreaming - validate that data can be consumed while it is being produced
Updated test to validate concurrent produce/consume

Reviewed-by: egahlin
2020-03-03 12:43:55 -08:00
Fairoz Matte
ea55699f34 8239055: Wrong implementation of VMState.hasListener
Correct the VMState.hasListener implementation to return WeakReference<VMListener> type

Reviewed-by: sspitsyn, poonam
2020-02-27 19:33:07 -08:00
Coleen Phillimore
3ca275fb91 8225760: oop::raw_set_obj isn't needed
Reviewed-by: hseigel, rkennke
2020-03-03 11:19:35 -05:00
Harold Seigel
cf89ff7a4b 8240324: Improve is_boot_class_loader_data() by adding simple check
Check if cld is the null_cld before looking at the class loader oop

Reviewed-by: coleenp
2020-03-03 15:50:20 +00:00
Claes Redestad
52cfd292cc 8240263: Assertion-only call in Method::link_method affecting product builds
Reviewed-by: shade, dcubed, iklam
2020-03-03 12:41:12 +01:00
Claes Redestad
3fdf26d8dc 8240302: x64: Assembler::reachable redundantly call Relocation::type() more than once
Reviewed-by: kvn, iklam, thartmann
2020-03-03 11:40:53 +01:00
Volker Simonis
2a79146791 8240235: jdk.test.lib.util.JarUtils updates jar files incorrectly
Reviewed-by: martin, clanger, lancea
2020-03-03 11:24:20 +01:00
Nils Eliasson
908a933131 8238759: Clones should always keep the base pointer
Reviewed-by: rkennke, thartmann
2020-03-03 10:29:05 +01:00
Prasanta Sadhukhan
3c72042627 8239334: Tab Size does not work correctly in JTextArea with setLineWrap on
Reviewed-by: serb, pbansal
2020-02-20 14:49:20 +05:30
Matthias Baesken
3f140fafab 8239457: call ReleaseStringUTFChars before early returns in Java_sun_security_pkcs11_wrapper_PKCS11_connect
Reviewed-by: alanb, clanger
2020-02-19 13:37:07 +01:00
David Holmes
bd028945bd 8238988: Rename thread "in stack" methods and add in_stack_range
Reviewed-by: coleenp, dcubed
2020-02-23 22:35:59 -05:00
Weijun Wang
533649b8ca 8237218: Support NIST Curves verification in java implementation
Reviewed-by: ascarpino
2020-02-22 08:10:21 +08:00
Mikhailo Seledtsov
2596e83a34 8223217: [TESTBUG] Create JFR tests with JMX across container boundary
Created a new test for JFR over JMX across container boundary

Reviewed-by: egahlin, lmesnik
2020-02-21 13:01:20 -08:00
Magnus Ihse Bursie
63f939636a 8239708: Split basics.m4 into basic.m4 and util.m4
Reviewed-by: erikj
2020-02-21 18:37:10 +01:00
Christoph Langer
92b26333a4 8239556: (zipfs) remove ExistingChannelCloser facility in zipfs implementation
Reviewed-by: lancea
2020-02-21 16:39:07 +00:00
Lutz Schmidt
6c0e3aeacd 8239456: vtable stub generation: assert failure (code size estimate)
Reviewed-by: thartmann
2020-02-21 15:14:09 +01:00
Ao Qi
305fe226dc 8239424: [TESTBUG] compiler/whitebox/OSRFailureLevel4Test.java failed when TieredCompilation is disabled
Skip test if TieredCompilation is not available.

Reviewed-by: thartmann
2020-02-19 12:10:45 +08:00
Ao Qi
eef02376bd 8239422: [TESTBUG] compiler/c1/TestPrintIRDuringConstruction.java failed when C1 is disabled
Skip test if C1 is not available.

Reviewed-by: thartmann, xliu
2020-02-19 12:09:25 +08:00
Ivan Walulya
976473690b 8216975: Using ForceNUMA does not disable adaptive sizing with parallel gc
Reviewed-by: kbarrett, tschatzl, lkorinth
2020-02-21 10:56:30 +01:00
Matthias Baesken
5275d6e2d9 8238947: tools/jpackage tests fail with old rpmbuild versions
Reviewed-by: clanger, asemenyuk
2020-02-20 14:01:10 +01:00
Matthias Baesken
ed94c0af10 8239537: cgroup MetricsTester testMemorySubsystem fails sometimes when testing memory.kmem.tcp.usage_in_bytes
Reviewed-by: mseledtsov
2020-02-20 11:09:09 +01:00
Magnus Ihse Bursie
da39778d42 8239566: gtest/GTestWrapper.java fails due to "libstlport.so.1: open failed: No such file or directory"
Reviewed-by: redestad
2020-02-21 10:23:51 +01:00
Per Lidén
35db376986 8239503: FieldLayout/OldLayoutCheck.java fails due to "RuntimeException: Misplaced int field: expected 24 to equal 12"
Don't run the test with ZGC.

Reviewed-by: dcubed, coleenp, dholmes
2020-02-20 23:07:02 -05:00
Sean Mullan
fb37c54630 8238560: Cleanup and consolidate algorithms in the jdk.tls.legacyAlgorithms security property
Reviewed-by: xuelei
2020-02-20 16:36:38 -05:00
Daniel Fuchs
f40220f578 8238990: java/net/httpclient/HandshakeFailureTest.java failed against TLSv1.3 on Windows
The SSLTube and SSLFlowDelegate are improved to wrap any non-SSL exception that occur during the handshake in an SSLHandshakeException.

Reviewed-by: chegar
2020-02-20 20:04:15 +00:00
Igor Veresov
23458bf4c5 8238355: Update Graal
Reviewed-by: kvn
2020-02-20 10:11:07 -08:00
Roger Riggs
2d93a28447 8232622: Technical debt in BadAttributeValueExpException
Reviewed-by: dfuchs, sspitsyn
2020-02-20 10:03:05 -05:00
Coleen Phillimore
b4ffe4d8f7 8239461: Use jcod rather than jar files in runtime tests
Reviewed-by: hseigel, lmesnik, dholmes
2020-02-20 07:25:14 -05:00
Claes Redestad
58a5910393 8239347: Refactor Symbol to make _length a standalone field again
Reviewed-by: iklam, coleenp
2020-02-20 13:18:30 +01:00
Alexander Zuev
c6e9d209c5 8237221: [macos] java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java fails
Reviewed-by: serb
2020-02-17 20:04:31 +03:00
Phil Race
80f5a47b4a 8239091: Reversed arguments in call to strstr in freetype "debug" code
Reviewed-by: bpb
2020-02-14 10:44:30 -08:00
Phil Race
e6915ff175 8238942: Rendering artifacts with LCD text and fractional metrics
Reviewed-by: serb, jdv
2020-02-14 09:10:43 -08:00
Sergey Bylokhov
5705a55161 8233827: Enable screenshots in the enhanced failure handler on Linux/macOS
Reviewed-by: iignatyev
2020-02-13 13:23:31 -08:00
Sergey Bylokhov
784e575134 8238741: java.awt.Robot(GraphicsDevice) constructor does not follow the spec
Reviewed-by: aivanov
2020-02-13 13:21:21 -08:00
Sergey Bylokhov
8d2aa62bd9 8221823: Requested JDialog width is ignored
Reviewed-by: aivanov
2020-02-13 13:19:55 -08:00
Sergey Bylokhov
7af366a7e1 8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device
Reviewed-by: prr
2020-02-13 13:17:16 -08:00
Phil Race
ff55c4903b 8238842: AIOOBE in GIFImageReader.initializeStringTable
Reviewed-by: serb, bpb
2020-02-12 14:45:10 -08:00
Prasanta Sadhukhan
dfaaec9aff Merge 2020-02-11 14:24:31 +05:30
Igor Ignatyev
4d00104f55 8238278: vmTestbase/vm/compiler/CodeCacheInfo/Test.java failure after JDK-8237787
Reviewed-by: kvn
2020-02-11 00:42:25 -08:00
Prasanta Sadhukhan
5f44b6ca1b Merge 2020-02-11 13:41:48 +05:30
Sergey Bylokhov
0b3cf5ea13 8237222: [macos] java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java fails
Reviewed-by: trebari, prr, psadhukhan
2020-02-08 18:48:42 -08:00
Sergey Bylokhov
1b3b413ee6 8238276: ComponentPeer.xxxImage are not implemented in some peers
Reviewed-by: aivanov
2020-02-08 14:25:06 -08:00
Phil Race
cf83f8e364 8238721: Add failing client jtreg tests to the Problem List
Reviewed-by: serb
2020-02-08 12:00:06 -08:00
Phil Race
728592dd22 Merge 2020-02-07 11:09:59 -08:00
Erik Gahlin
ac9c2601b8 8215452: Logged repo location is wrong when using delayed recording start
Reviewed-by: mgronlun, mseledtsov
2020-02-07 18:24:45 +01:00
Christoph Langer
90ee2c3d6e 8237192: Generate stripped/public pdbs on Windows for jdk images
Co-authored-by: Matthias Baesken <matthias.baesken@sap.com>
Reviewed-by: erikj, ihse
2020-02-07 08:38:40 +01:00
Magnus Ihse Bursie
c1f4ea5d68 8239450: Overhaul JVM feature handling in configure
Reviewed-by: erikj
2020-02-20 10:33:44 +01:00
Matthias Baesken
1643bc3def 8239351: Give more meaningful InternalError messages in Deflater.c
Reviewed-by: stuefe, vtewari, lancea, martin
2020-02-19 10:27:34 +01:00
Jesper Wilhelmsson
952f32e375 Added tag jdk-15+11 for changeset b2dd4028a6de 2020-02-20 03:11:39 +01:00
Jamil Nimeh
39db83a9cc 8239094: PKCS#9 ChallengePassword attribute does not allow for the UTF8String type
Reviewed-by: xuelei
2020-02-19 13:36:53 -08:00
Joe Darcy
e028bb4f2b 8239478: Make specification of SourceVersion.isName explicit for dotted names
Reviewed-by: jjg
2020-02-19 11:52:34 -08:00
Martin Balao
84f3e86749 8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB
Reviewed-by: mullan, valeriep
2020-02-05 12:20:36 -03:00
Stefan Karlsson
1491340708 8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate
Reviewed-by: thartmann, neliasso, chagedorn
2020-03-02 12:30:59 +01:00
Stefan Karlsson
ac60e4b98e 8240220: IdealLoopTree::dump_head predicate printing is broken
Reviewed-by: thartmann, neliasso, chagedorn
2020-03-02 12:30:57 +01:00
Christian Hagedorn
d7b122ed69 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load
Fix selection of first and last memory state in SuperWord::co_locate_pack

Reviewed-by: thartmann, kvn
2020-03-02 10:23:08 +01:00
Claes Redestad
ebadfaeb2e 8196334: Optimize UUID#fromString
Co-authored-by: Andriy Plokhotnyuk <plokhotnyuk@gmail.com>
Co-authored-by: Jon Chambers <jon.chambers@gmail.com>
Reviewed-by: igerasim, alanb
2020-03-02 08:22:48 +01:00
Rajan Halade
751de03704 8225130: Add exception for expiring Comodo roots to VerifyCACerts test
Reviewed-by: weijun
2020-03-01 23:04:02 -08:00
Sergey Bylokhov
080c16d36d 8225126: Test SetBoundsPaintTest.html faild on Windows when desktop is scaled
Reviewed-by: jdv
2020-02-04 12:56:19 -08:00
Patrick Zhang
a59e8a7f6f 8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10
Reviewed-by: stuefe, clanger, rriggs
2020-02-04 21:27:10 +08:00
Weijun Wang
aa3638a32d 8231508: Spec Clarification : KeyTab:exist() method does not specify about the fallback details
Reviewed-by: mullan
2020-02-11 11:17:37 +08:00
David Holmes
983fc23fd1 8236844: Deprecate PrintVMQWaitTime to prepare for its removal
Reviewed-by: rehn, coleenp, hseigel
2020-02-10 19:58:04 -05:00
Alex Menkov
84c24a49ad 8234935: JdwpListenTest.java and JdwpAttachTest.java getting bind failures on Windows 2016 hosts
Reviewed-by: cjplummer, sspitsyn
2020-02-10 16:56:38 -08:00
John Jiang
fbca3fa710 8238677: java/net/httpclient/ssltest/CertificateTest.java should not specify TLS version
Reviewed-by: dfuchs
2020-02-11 08:36:02 +08:00
Ivan Gerasimov
987be2bb6d 8235812: Unicode linebreak with quantifier does not match valid input
Reviewed-by: rriggs
2020-02-10 16:10:45 -08:00
Jonathan Gibbons
b83285facc 8238646: Cleanup signature and use of CommentHelper
Reviewed-by: prappo
2020-02-10 13:29:03 -08:00
John Rose
f0cdbbe120 8238239: java.lang.Record spec clarifications
Reviewed-by: psandoz
2020-02-10 15:08:51 -05:00
Gerard Ziemski
080c67f096 8235962: os::current_thread_id() is not signal safe on macOS
Use mach_thread_self instead of pthread_mach_thread_np

Reviewed-by: dholmes, cjplummer
2020-02-10 11:41:55 -06:00
Frederic Parain
9886cb401c 8237767: Field layout computation overhaul
Reviewed-by: dholmes, coleenp, lfoltan, shade
2020-02-10 09:49:12 -05:00
Erik Gahlin
304d764a72 8238634: Reduce log verbosity of the JFR thread sampler
Reviewed-by: mgronlun
2020-02-10 14:21:51 +01:00
Claes Redestad
326a939e1b 8237878: Improve ModuleLoaderMap datastructures
Reviewed-by: alanb, forax
2020-02-10 13:58:12 +01:00
Alan Bateman
c23d1de2f8 8238376: test/jdk/java/nio/channels/DatagramChannel/Loopback.java failing on multi-homed systems
Reviewed-by: dfuchs
2020-02-10 12:57:31 +00:00
Sureshkumar Mahaliswamy
060e4ec305 8235900: [TESTBUG] [macos] PopupMenu Opaque property is not reflecting the Parents property on MAC OS
Reviewed-by: serb
2020-02-03 14:58:54 +05:30
Christoph Langer
9fb0aeecb6 8221741: ClassCastException can happen when fontconfig.properties is used
Reviewed-by: mbaesken, itakiguchi
2020-02-02 17:41:33 +01:00
Ivan Gerasimov
f77016b935 8236201: Better Scanner conversions
Reviewed-by: ahgross, rhalade, rriggs, skoivu, smarks
2020-01-29 20:01:34 -08:00
Roland Westrelin
8c0fab8fbe 8237837: Shenandoah: assert(mem == __null) failed: only one safepoint
Reviewed-by: rkennke
2020-01-28 11:28:52 +01:00
Roland Westrelin
a59ed930f5 8238385: CTW: C2 (Shenandoah) compilation fails with "Range check dependent CastII node was not removed"
Reviewed-by: rkennke, shade
2020-02-07 13:59:17 +01:00
Claes Redestad
0b5d48b9e6 8230301: Re-examine hardcoded defaults in GenerateJLIClassesPlugin
Reviewed-by: mchung
2020-02-10 12:39:19 +01:00
David Buck
6aeb78d3df 8238596: AVX enabled by default for Skylake even when unsupported
Only default to UseAVX=2 when support is detected

Reviewed-by: shade, vlivanov
2020-02-10 03:35:50 -05:00
Sean Coffey
04c1e2e931 8223260: NamingManager should cache InitialContextFactory
Reviewed-by: alanb, plevart, dfuchs
2020-02-09 21:55:56 +00:00
Aleksey Shipilev
71d7af4b23 8238591: CTW: Split applications/ctw/modules/jdk_localedata.java
Reviewed-by: iignatyev
2020-02-10 06:18:46 +01:00
Aleksey Shipilev
970283b601 8238247: CTW runner should sweep nmethods more aggressively
Reviewed-by: adinn, simonis, iignatyev
2020-02-10 06:18:28 +01:00
Aleksey Shipilev
f1a2c6019e 8238366: CTW runner closes standard output on exit
Reviewed-by: adinn, iignatyev
2020-02-10 06:18:10 +01:00
Claes Redestad
ac69c7894d 8238684: Override getOrDefault in immutable Map implementation
Reviewed-by: forax, psandoz, smarks
2020-02-08 15:21:25 +01:00
Jia Huang
7552915d3f 8238586: [TESTBUG] vmTestbase/jit/tiered/Test.java failed when TieredCompilation is disabled
Reviewed-by: iignatyev
2020-02-08 15:46:39 +08:00
Jonathan Gibbons
3461ce9800 8238437: Support separate locales for console messages and HTML content
Reviewed-by: prappo
2020-02-07 17:00:23 -08:00
Jonathan Gibbons
faa88c1da6 8238506: fix obsolete comments and inconsistent exceptions in BaseTaglet
Reviewed-by: prappo
2020-02-07 16:43:09 -08:00
Jonathan Gibbons
c33107053b 8238648: Rename and simplify Utils.WeakSoftHashMap
Reviewed-by: hannesw
2020-02-07 16:16:01 -08:00
Mikhailo Seledtsov
214edaf9c2 8219999: TestJFREvents container test should not use jdk.CPUInformation event for container CPU values
Updated the testcase not to test jdk.CPUInformation

Reviewed-by: egahlin
2020-02-07 13:04:00 -08:00
Jesper Wilhelmsson
c028965f35 Merge 2020-02-07 17:24:25 +01:00
Sergey Bylokhov
bbc3d16705 8176359: Frame#setMaximizedbounds not working properly in multi screen environments
8231564: setMaximizedBounds is broken with large display scale and multiple monitors

Reviewed-by: aivanov
2020-01-25 22:46:20 -08:00
Dmitry Batrak
1af34250aa 8236996: Incorrect Roboto font rendering on Windows with subpixel antialiasing
Reviewed-by: prr, serb
2020-01-27 13:02:54 -08:00
Sergey Bylokhov
785e7ec761 5085520: Inconsistency in spec for RenderingHints.entrySet()
Reviewed-by: prr, jdv
2020-01-24 18:39:51 -08:00
Sergey Bylokhov
05b98dd4f9 8237049: Rollback the workaround for JDK-4533057
Reviewed-by: dmarkov
2020-01-23 21:42:27 -08:00
Tejpal Rebari
7fa7536d7e 7020860: BasicTreeUI contains getters/setters with unclear spec
Reviewed-by: jdv, prr, serb
2020-01-23 17:32:38 +05:30
Roman Kennke
1dd60a35d1 8227269: Slow class loading when running with JDWP
Reviewed-by: sspitsyn, cjplummer
2020-01-22 15:55:02 +01:00
Matthias Baesken
c9f5004bae 8241586: compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64
Reviewed-by: clanger
2020-03-25 13:05:42 +01:00
Roland Westrelin
85d5048ce2 8241675: Shenandoah: assert(n->outcnt() > 0) at shenandoahSupport.cpp:2858 with java/util/Collections/FindSubList.java
Reviewed-by: rkennke
2020-03-24 10:31:37 +01:00
Roland Westrelin
5ff2d7baaa 8240676: Meet not symmetric failure when running lucene on jdk8
Reviewed-by: kvn, thartmann
2020-03-24 11:06:26 +01:00
Thomas Schatzl
7048684ca7 8238855: Move G1ConcurrentMark flag sanity checks to g1Arguments
Reviewed-by: sjohanss, kbarrett
2020-03-27 09:44:53 +01:00
Yasumasa Suenaga
67cf35ee22 8240956: SEGV in DwarfParser::process_dwarf after JDK-8234624
Reviewed-by: sspitsyn, kevinw
2020-03-27 17:07:23 +09:00
Thomas Stuefe
83f7ee14da 8241723: Build error after 8241581
Reviewed-by: kbarrett, clanger
2020-03-27 08:45:59 +01:00
Thomas Stuefe
cc8715d844 8241581: Add BitMap::count_one_bits variant for arbitrary lengths
Reviewed-by: redestad, kbarrett
2020-03-27 07:16:22 +01:00
Vipin M V
2bc4308d86 8129841: Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr
Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr

Reviewed-by: vtewari, alanb
2020-03-27 11:34:45 +05:30
Jonathan Gibbons
87805d9207 8241470: HtmlStyle: group and document members: description, flex, signature
Reviewed-by: hannesw
2020-03-26 20:36:56 -07:00
Chris Plummer
5f1636b2d5 8241696: ProblemList gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java due to JDK-8241293
Reviewed-by: dcubed, ctornqvi
2020-03-26 15:13:21 -07:00
Ekaterina Pavlova
ebdb70fe9e 8236975: compiler/graalunit tests fails with --illegal-access=deny
Reviewed-by: iignatyev, kvn, alanb
2020-03-26 14:24:53 -07:00
Aleksey Shipilev
6be46f8ebb 8241673: Shenandoah: refactor anti-false-sharing padding
Reviewed-by: rkennke
2020-03-26 19:09:20 +01:00
Aleksey Shipilev
8c5531b629 8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace
Reviewed-by: rkennke
2020-03-26 19:08:30 +01:00
Calvin Cheung
e509368fa1 8233093: Move CDS heap oopmaps into new MetaspaceShared::bm region
Moved the _closed_archive_heap_oopmaps and _open_archive_heap_oopmaps from the ro to the bm region.

Reviewed-by: iklam, minqi
2020-03-26 10:14:52 -07:00
Mikhailo Seledtsov
098b48b7db 8240634: event/runtime/TestMetaspaceAllocationFailure.java times out
Limit number of iterations

Reviewed-by: egahlin, stuefe
2020-03-26 10:03:35 -07:00
Daniil Titov
54e2c6fe3e 8196751: Add jhsdb option to specify debug server RMI connector port
Reviewed-by: sspitsyn, ysuenaga
2020-03-26 09:03:52 -07:00
Per Lidén
e11ab6a46c 8241596: ZGC: Shorten runtime of gc/z/TestUncommit.java
Reviewed-by: tschatzl, sjohanss
2020-03-26 16:56:42 +01:00
Julia Boes
eb7c80a308 8241674: Fix incorrect jtreg option in FilePublisherPermsTest
Replace jtreg option 'policy' with 'java.security.policy' to extend rather than replace policy

Reviewed-by: chegar, dfuchs
2020-03-26 14:58:53 +00:00
Coleen Phillimore
d77c52b255 8172485: [TESTBUG] RedefineLeak.java runs out of metaspace memory
Check for zero exit value.

Reviewed-by: lfoltan
2020-03-26 10:29:31 -04:00
Christian Hagedorn
307b376a9b 8241595: Fix missing debug_orig information in Ideal Graph Visualizer
Show missing debug_orig information for nodes in Ideal Graph Visualizer.

Reviewed-by: kvn, neliasso
2020-03-26 13:43:51 +01:00
Julia Boes
d882d528bb 8235459: HttpRequest.BodyPublishers::ofFile assumes the default file system
Add support for non-default file systems to HttpRequest.BodyPublishers::ofFile

Reviewed-by: chegar, dfuchs, amlu
2020-03-26 11:52:15 +00:00
Jesper Wilhelmsson
f930d4661a Added tag jdk-15+16 for changeset 5c7ec21f5d13 2020-03-26 03:15:02 +01:00
Sergei Tsypanov
b35032dc01 8241649: Optimize Character.toString
Reviewed-by: redestad, rriggs
2020-03-26 10:02:57 +01:00
Roland Westrelin
b8f8dea9c2 8241365: Define Unique_Node_List::contains() to prevent usage by mistake
Reviewed-by: kvn, thartmann
2020-03-20 13:58:05 +01:00
Roland Westrelin
eb003a7382 8240335: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint
Reviewed-by: kvn, thartmann
2020-03-20 13:56:12 +01:00
Matthias Baesken
c4f25e5126 8241491: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java on aix
Reviewed-by: clanger
2020-03-24 15:26:10 +01:00
Jie He
913a0ff0a8 8241419: Remove unused InterfaceSupport::_number_of_calls
Reviewed-by: dholmes
2020-03-26 14:46:50 +08:00
Pengfei Li
c659b637ce 8241482: AArch64: Fix a potential issue after JDK-8239549
Reviewed-by: aph
2020-03-26 10:10:37 +08:00
Claes Redestad
0d22ad6400 8241427: Coarsen locking in Modules::add_module_exports
Reviewed-by: lfoltan, hseigel
2020-03-26 00:02:08 +01:00
John Jiang
60fae77974 8237977: Further update javax/net/ssl/compatibility/Compatibility.java
Reviewed-by: rhalade
2020-03-26 07:09:36 +08:00
Jonathan Gibbons
ffe5e84644 8241544: update stylesheet for *-page CSS class rename and hyphenated naming
Reviewed-by: prappo, hannesw
2020-03-25 15:03:39 -07:00
Anthony Scarpino
b0245c2b54 8237219: Disable native SunEC implementation by default
Reviewed-by: weijun, mullan
2020-03-25 12:41:14 -07:00
Naoto Sato
b8f2b3264c 8241311: Move some charset mapping tests from closed to open
Reviewed-by: iris, joehw, itakiguchi, amlu
2020-03-25 09:21:46 -07:00
Aleksey Shipilev
7fc31eadf3 8241583: Shenandoah: turn heap lock asserts into macros
Reviewed-by: rkennke
2020-03-25 17:20:58 +01:00
Ivan Gerasimov
d1b506597f 8237599: Greedy matching against supplementary chars fails to respect the region
Reviewed-by: rriggs
2020-03-25 08:46:31 -07:00
Christian Hagedorn
c01e986cc9 8237859: C2: Crash when loads float above range check
Fix control edges of predicates to data nodes when creating pre/main/post loops.

Reviewed-by: neliasso, thartmann, roland
2020-03-25 14:41:52 +01:00
Claes Redestad
9a6038fbf3 8241584: Remove unused classLoader perf counters
Reviewed-by: hseigel
2020-03-25 13:38:31 +01:00
Aleksey Shipilev
27ef185bae 8241500: FieldLayout/OldLayoutCheck.java fails in 32-bit VMs
Reviewed-by: fparain, dholmes
2020-03-25 07:58:17 +01:00
Vladimir Ivanov
7753422909 8241433: x86: Add VBMI CPU feature detection
Reviewed-by: kvn
2020-03-25 00:10:22 +03:00
Tom Rodriguez
d743518243 8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete
Reviewed-by: kvn
2020-03-24 13:12:19 -07:00
Aleksey Shipilev
3059f593ab 8241545: Shenandoah: purge root work overwrites counters after JDK-8228818
Reviewed-by: zgu
2020-03-24 20:18:45 +01:00
Aleksey Shipilev
7afa57a37e 8241445: Fix copyright in test/jdk/tools/launcher/ArgFileSyntax.java
Reviewed-by: psandoz
2020-03-24 18:46:48 +01:00
Aleksey Shipilev
6694402d3d 8241462: StripNativeDebugSymbols jlink plugin allocates huge arrays
Reviewed-by: alanb, sgehwolf
2020-03-24 18:46:48 +01:00
Aleksey Shipilev
643f5b5350 8241534: Shenandoah: region status should include update watermark
Reviewed-by: rkennke
2020-03-24 18:46:48 +01:00
Aleksey Shipilev
cb1632e8e3 8241520: Shenandoah: simplify region sequence numbers handling
Reviewed-by: rkennke
2020-03-24 18:46:48 +01:00
Thomas Stuefe
40173c5042 8241395: Factor out platform independent code for os::xxx_memory_special()
Reviewed-by: mbaesken, mdoerr, lucy
2020-03-24 18:41:07 +01:00
Daniel D. Daugherty
b5897fe4ed 8241532: ProblemList tests from 8241530 on OSX
Reviewed-by: ctornqvi
2020-03-24 13:08:54 -04:00
Tobias Hartmann
ca85500615 8240905: assert(mem == (Node*)1 || mem == mem2) failed: multiple Memories being matched at once?
Stop recursion if there are multiple loads with different memory inputs in the tree.

Reviewed-by: kvn, vlivanov
2020-03-24 17:39:52 +01:00
Vladimir Kozlov
d01f67193f 8237497: vmStructs_jvmci.cpp does not check that the correct field type is specified
Add missed checks for declarations in vmStructs_jvmci.cpp

Reviewed-by: iklam, thartmann
2020-03-24 09:34:39 -07:00
Andrew Dinn
5110de6c1f 8241144: Javadoc is not generated for new module jdk.nio.mapmode
Jdk.nio.mapmode is not present in DOCS_MODULES defined by Modules.gmk

Reviewed-by: erikj, ihse
2020-03-19 17:26:11 +00:00
Aditya Mandaleeka
32d496507b 8241067: Shenandoah: improve ShenandoahNMethod::has_cset_oops arguments
Reviewed-by: shade
2020-03-24 06:13:39 +01:00
Claes Redestad
23d6a788b4 8241371: Refactor and consolidate package_from_name
Reviewed-by: iklam, lfoltan
2020-03-23 23:18:42 +01:00
Jonathan Gibbons
7dc952ec20 8241292: Interactive Search results are not highlighted as they used to be
Reviewed-by: prappo
2020-03-23 14:11:52 -07:00
Ioi Lam
81353a56f9 8241244: CDS dynamic dump asserts in ArchivePtrBitmapCleaner::do_bit
Reviewed-by: minqi, coleenp
2020-03-23 13:27:22 -07:00
Jonathan Gibbons
f0ba0dc6dc 8241190: Fix name clash for constants-summary CSS class
Reviewed-by: hannesw
2020-03-23 12:48:35 -07:00
Aleksey Shipilev
b6783320ca 8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation
Reviewed-by: rkennke
2020-03-23 19:14:01 +01:00
Aleksey Shipilev
fe533725ae 8241435: Shenandoah: avoid disabling pacing with "aggressive"
Reviewed-by: rkennke
2020-03-23 19:14:01 +01:00
Aleksey Shipilev
f37149b1c5 8241351: Shenandoah: fragmentation metrics overhaul
Reviewed-by: rkennke
2020-03-23 19:14:01 +01:00
Poonam Bajaj
edb6783a21 8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate
Reviewed-by: dlong, tschatzl, pliden
2020-03-23 17:57:13 +00:00
Sandhya Viswanathan
398ce2948c 8240248: Extend superword reduction optimizations for x86
Add support for and, or, xor reduction

Co-authored-by: Shravya Rukmannagari <shravya.rukmannagari@intel.com>
Reviewed-by: vlivanov, thartmann
2020-03-23 10:26:40 -07:00
Mandy Chung
75a8b7fa83 8240975: Extend NativeLibraries to support explicit unloading
Reviewed-by: alanb, mcimadamore
2020-03-23 09:05:39 -07:00
Daniel Fuchs
b66c680885 8241443: Problem list some java.net tests failing with NoRouteToHostException on macOS with special network configuration
Reviewed-by: alanb
2020-03-23 14:22:18 +00:00
Kelvin Nilsen
ed28a27490 8241068: Shenandoah: improve ShenandoahTraversalGC constructor arguments
Reviewed-by: shade
2020-03-23 10:37:44 +01:00
Magnus Ihse Bursie
901029355f 8241271: Make hotspot build reproducible
Reviewed-by: erikj, stefank, jwilhelm
2020-03-23 10:29:04 +01:00
Magnus Ihse Bursie
e04080bd0f 8241310: Fix warnings in jdk buildtools
Reviewed-by: erikj, forax
2020-03-23 10:26:13 +01:00
Pengfei Li
618bacec2e 8241091: AArch64: "bad AD file" with VM option "-XX:-UsePopCountInstruction"
Reviewed-by: aph
2020-03-23 08:37:45 +08:00
Xue-Lei Andrew Fan
36af90acc0 8215712: Parsing extension failure may alert decode_error
Reviewed-by: jnimeh
2020-03-22 09:30:16 -07:00
Prasanta Sadhukhan
a768bfdf4d Merge 2020-01-22 14:16:14 +05:30
Prasanta Sadhukhan
0aeed751e6 Merge 2020-01-22 13:29:03 +05:30
Aleksey Shipilev
d9df6feabe 8237586: Shenandoah: provide option to disable periodic GC
Reviewed-by: zgu
2020-01-21 20:58:48 +01:00
Joe Darcy
d5e2e1ae13 8237248: Update --release 14 symbol information for JDK 14 b32
Reviewed-by: jlahoda
2020-01-21 18:23:21 -08:00
Ivan Gerasimov
6f7f81f794 8236034: Use optimized Ques node for curly {0,1} quantifier
Reviewed-by: rriggs
2020-01-21 17:52:55 -08:00
Mikael Vidstedt
eef726a99a 8237601: test/langtools/tools/javac/warnings/MaxDiagsRecompile.java fails after JDK-8237589
Reviewed-by: dholmes
2020-01-21 17:37:18 -08:00
Joe Wang
e8f8eef908 8235368: Update BCEL to Version 6.4.1
Reviewed-by: lancea, dfuchs, forax
2020-01-21 23:33:18 +00:00
Mikael Vidstedt
3318314c7c 8237589: Fix copyright header formatting
Reviewed-by: jjg, serb, iris, jwilhelm
2020-01-21 14:23:01 -08:00
Claes Redestad
a19ff9d98a 8236641: Improve Set.of(...).iterator() warmup characteristics
Reviewed-by: smarks, jrose, fweimer
2020-01-21 22:21:15 +01:00
Patrick Concannon
d2cd7a5096 8237571: java/net/DatagramSocket/SendCheck.java is failing on Solaris
Commented out failing testcase as this is being tracked by JDK-8236852

Reviewed-by: dfuchs
2020-01-21 18:38:46 +00:00
Naoto Sato
0ae7207e95 8187987: Add a mechanism to configure custom variants in HijrahChronology
Reviewed-by: joehw, rriggs
2020-01-21 08:02:10 -08:00
Matthias Baesken
883a4f65b9 8237374: configuring with --with-jvm-variants=minimal,server makes cds disappear in server
Reviewed-by: erikj
2020-01-21 15:23:29 +01:00
Prasanta Sadhukhan
64a1b0599e Merge 2020-01-21 07:29:48 +05:30
Kim Barrett
f779e49590 8237261: Concurrent refinement activation threshold not updated for card counts
Fix special-case threshold calculation for primary refinement thread

Reviewed-by: tschatzl, sjohanss
2020-01-20 14:31:20 -05:00
Jesper Wilhelmsson
b936939454 Merge 2020-01-20 18:05:07 +01:00
Roman Kennke
330100ddce 8237543: Shenandoah: More asserts around code roots
Reviewed-by: zgu
2020-01-20 18:03:31 +01:00
Patrick Concannon
2f76772fa9 8236105: Behaviors of DatagramSocket/DatagramChannel::socket send methods are not always consistent
DatagramSocket and MulticastSocket changed to throw IllegalArgumentException if not connected and passed a packet containing a port out of range

Reviewed-by: chegar, dfuchs
2020-01-20 16:24:05 +00:00
Claes Redestad
fdbea219a1 8237508: Simplify JarFile.isInitializing
Reviewed-by: dfuchs, coffeys, lancea
2020-01-20 14:24:21 +01:00
Thomas Schatzl
4aab3078a2 8235860: Obsolete the UseParallelOldGC option
Obsolete the UseParallelOldGC option by removing code and other mentions.

Reviewed-by: kbarrett, lkorinth
2020-01-20 11:15:45 +01:00
Severin Gehwolf
4ca0699585 8237479: 8230305 causes slowdebug build failure
Declare methods as pure virtual.

Reviewed-by: dcubed, dholmes
2020-01-18 20:54:37 +01:00
Alan Bateman
d4c3278889 8236925: (dc) Upgrade DatagramChannel socket adaptor to extend MulticastSocket
Reviewed-by: dfuchs
2020-01-19 08:02:46 +00:00
Alan Bateman
6ef474a4f4 8053479: (dc) DatagramChannel.read() throws exception instead of discarding data when buffer too small
Reviewed-by: redestad, dfuchs
2020-01-18 19:11:28 +00:00
Phil Race
2867609482 8224109: Text spaced incorrectly by drawString under rotation with fractional metric
Reviewed-by: serb, kizune
2020-01-17 12:20:00 -08:00
Daniel Fuchs
c6da6681d4 8236859: WebSocket over authenticating proxy fails with NPE
This change fixes several issues with WebSocket and proxy authentication. The AuthenticationFilter is changed to support an authenticating server accessed through an authenticating proxy. MultiExchange is fixed to close the previous connection if a new connection is necessary to establish the websocket (websocket connections are not cached and must be closed in that case). WebSocket OpeningHandshake is fixed to close the connection (without creating the RawChannel) if the opening handshake doesn't result in 101 upgrade protocol.

Reviewed-by: prappo, chegar
2020-01-17 17:55:06 +00:00
Robbin Ehn
39992dea38 8236766: Remove un-used oops do and drain list in VM thread
Reviewed-by: dholmes, coleenp
2020-01-17 16:17:22 +01:00
Patrick Concannon
a589a15e3f 8237075: @since tag missing from DatagramSocket and MulticastSocket methods
Methods from DatagramSocket and MulticastSocket added in JDK1.2 do not have their @since tags. This fix adds them in

Reviewed-by: alanb, chegar, dfuchs
2020-01-17 12:53:31 +00:00
Dongbo He
f129cc4328 8234484: Add ability to configure third port for remote JMX
Reviewed-by: dfuchs
2020-01-15 16:00:01 +08:00
Alexander Matveev
529587547c 8235955: [dmg] DMG creation fails without error message if previous DMG was not ejected
Reviewed-by: herrick, asemenyuk
2020-01-21 08:46:06 -05:00
Claes Redestad
0414acb5d6 8237576: Missing import in macosx/../ClassLoaderHelper
Reviewed-by: dfuchs
2020-01-21 14:08:43 +01:00
Aleksey Shipilev
72a4aa8c11 8237570: Shenandoah: cleanup uses of allocation/free threshold in static heuristics
Reviewed-by: rkennke
2020-01-21 13:40:10 +01:00
Claes Redestad
c639682887 8236075: Minor bootstrap improvements
Reviewed-by: mchung, alanb
2020-01-21 13:28:15 +01:00
Matthias Baesken
3cf8b34d54 8237382: Cleanup the OPT_SPEED_SRC file list in JvmFeatures.gmk
Reviewed-by: erikj, mdoerr
2020-01-16 18:04:23 +01:00
Phil Race
4aab785db1 Merge 2020-01-14 15:23:01 -08:00
Clemens Eisserer
7ecca1ea3c 8235904: Infinite loop when rendering huge lines
Reviewed-by: prr, kizune
2020-01-14 15:19:49 -08:00
Claes Redestad
de96aeddf5 8236850: Operations on constant List/Set.of(element) instances does not consistently constant fold
Reviewed-by: smarks, jrose, rriggs, psandoz
2020-01-14 23:40:42 +01:00
Hannes Wallnöfer
631b4d2694 8220002: Improve anchor definitions in generated files
Reviewed-by: jjg
2020-01-14 21:17:30 +01:00
Xin Liu
8d307c1168 8236228: clean up BarrierSet headers in c1_LIRAssembler
Remove unneeded barrierSet.hpp and cardTableBarrierSet.hpp includes

Reviewed-by: kvn, mdoerr, phh, njian
2020-01-14 09:15:27 -08:00
Erik Gahlin
d32cfe3e40 8237014: Missing javadoc for jdk.jfr.Recording(Map)
Reviewed-by: mgronlun, mseledtsov
2020-01-14 14:17:41 +01:00
Daniel Fuchs
bf16838a8b 8208281: java/nio/channels/AsynchronousSocketChannel/Basic.java timed out
Modify the test to accept the peer socket before closing the client socket

Reviewed-by: alanb
2020-01-14 11:45:29 +00:00
Per Lidén
832baeaf4d 8236153: ZGC: gc/z/TestUncommit.java fails with java.lang.Exception: Uncommitted too fast
Reviewed-by: eosterlund
2020-01-14 10:43:55 +01:00
Jatin Bhateja
2b9fef7d7b 8236443: Issues with specializing vector register type for phi operand with generic operands
Fix special handling for operand resolution of vectorshift and shiftcount nodes. Fix for crash in the resolution algorithm due to non-machine type nodes.

Reviewed-by: vlivanov
2020-01-14 09:51:10 +05:30
Alexandre Iline
b79d75d033 8237042: Switch to JCov build which supports byte code version 59
Reviewed-by: erikj
2020-01-13 14:09:30 -08:00
Sean Coffey
2c5167803a 8234466: Class loading deadlock involving X509Factory#commitEvent()
Reviewed-by: alanb, chegar, dfuchs
2020-01-13 21:16:27 +00:00
Anton Litvinov
5049cad2b0 8230926: [macosx] Two apostrophes are entered instead of one with "U.S. International - PC" layout
Reviewed-by: serb, dmarkov
2020-01-13 18:11:28 +00:00
Zhengyu Gu
ab90653aa9 8237017: Shenandoah: Remove racy assertion
Reviewed-by: rkennke
2020-01-13 11:51:45 -05:00
Jesper Wilhelmsson
913b8702d1 Merge 2020-01-13 15:40:09 +01:00
Naoto Sato
1b24cf800f 8174270: Consolidate ICU sources in one location
Reviewed-by: srl, joehw
2020-01-13 08:05:59 -08:00
Christoph Langer
91bb1d3700 8237008: Exclude serviceability/sa/TestInstanceKlassSizeForInterface.java on linuxppc64 and linuxppc64le
Reviewed-by: mdoerr
2020-01-13 16:56:21 +01:00
Tejpal Rebari
861e1addda 8223788: [macos] JSpinner buttons in JColorChooser dialog may capture focus using TAB Key
Reviewed-by: serb, pbansal, psadhukhan
2020-01-13 18:27:31 +05:30
Christoph Langer
0ba8940ac0 8236488: Support for configure option --with-native-debug-symbols=internal is impossible on Windows
Reviewed-by: erikj
2020-01-10 15:38:25 +01:00
Vladislav Volodin
3899de42ae 8234913: Improve parsing of Length Units in javax/swing/text/html/CSS
Reviewed-by: serb, clanger
2020-01-10 13:08:18 +00:00
Jesper Wilhelmsson
6234206fc1 Merge 2020-01-10 13:20:11 +01:00
Roman Kennke
c2b462cf02 8236851: Shenandoah: More details in Traversal GC event messages
Reviewed-by: shade
2020-01-10 12:42:30 +01:00
Phil Race
76b1472989 Merge 2020-01-09 10:14:59 -08:00
Andrew Haley
682af8be65 8236856: AArch64: Spurious GCC warnings
Reviewed-by: adinn
2020-01-09 10:01:01 -05:00
Andrew Haley
984da450f2 Merge 2020-01-09 09:30:49 -05:00
Andrew Haley
21c02a5b18 8235385: AArch64: Crash on aarch64 JDK due to long offset
Reviewed-by: adinn
2020-01-09 09:30:02 -05:00
Zhengyu Gu
11738f10a7 8228818: Shenandoah: Processing weak roots in concurrent phase when possible
Reviewed-by: rkennke
2020-01-09 08:35:44 -05:00
Pankaj Bansal
cf468f1791 8224475: JTextPane does not show images in HTML rendering
Reviewed-by: serb, psadhukhan
2020-01-09 15:11:10 +05:30
Jesper Wilhelmsson
9ab387d14e Added tag jdk-15+5 for changeset b97c1773ccaf 2020-01-09 02:27:20 +01:00
Roman Kennke
4a84146e43 8236815: Shenandoah: Fix weak roots in final Traversal GC phase
Reviewed-by: zgu
2020-01-08 22:46:33 +01:00
Brian Burkhalter
d6a5897f41 8236804: java/nio/channels/FileChannel/MapWithSecurityManager.java should be run in othervm mode
Reviewed-by: chegar, lancea
2020-01-08 11:38:08 -08:00
Daniil Titov
639e97df46 8236190: Unproblem list vmTestbase/nsk/jvmti/scenarios/hotswap/HS102/hs102t002/TestDescription.java
Reviewed-by: amenkov, cjplummer, iignatyev
2020-01-08 10:03:52 -08:00
Brian Burkhalter
31b9bbd87b 8236582: (fc) FileChannel.map fails with InternalError when security manager enabled
Reviewed-by: alanb
2020-01-08 08:35:33 -08:00
Jesper Wilhelmsson
257a1bb854 Merge 2020-01-08 16:03:32 +01:00
Ralf Schmelter
11c073b97e 8234510: Remove file seeking requirement for writing a heap dump
Reviewed-by: clanger, rrich
2020-01-08 13:44:54 +01:00
Thomas Schatzl
ea83ced243 8231670: Remove TaskExecutor abstraction used in preserved marks processing
Reviewed-by: sjohanss, kbarrett
2020-01-08 13:33:34 +01:00
Prasanta Sadhukhan
4b00d5753d 8235818: Inline information from broken external links in java.desktop
Reviewed-by: prr
2020-01-08 14:07:21 +05:30
Matthias Baesken
4f35b4a65c 8236709: struct SwitchRange in HS violates C++ One Definition Rule
Reviewed-by: dholmes, kbarrett
2020-01-08 08:55:26 +01:00
Sureshkumar Mahaliswamy
984abfeb3f 8234309: LFGarbageCollectedTest.java fails with parse Exception
LFGarbageCollectedTest.java fails with parse Exception

Reviewed-by: mchung
2020-01-09 22:42:53 -08:00
Coleen Phillimore
5de40a0867 8236905: ProblemList test/hotspot/jtreg/runtime/Metaspace/DefineClass.java
Reviewed-by: dholmes
2020-01-09 21:58:38 -05:00
Ivan Gerasimov
78c4ab4449 8234423: Modifying ArrayList.subList().subList() resets modCount of subList
Reviewed-by: rriggs
2020-01-09 15:38:41 -08:00
Coleen Phillimore
016b0f0caa 8232759: Remove GC.class_stats
Make the GC.class_stats option obsolete

Reviewed-by: dholmes, iklam
2020-01-09 17:38:41 -05:00
Jesper Wilhelmsson
943b87ddde Merge 2020-01-09 20:21:53 +01:00
Harold Seigel
ff914903b9 8235766: SafepointSynchronize::_end_of_last_safepoint is unused
Remove unused field

Reviewed-by: lfoltan
2020-01-09 21:06:41 +00:00
Thomas Schatzl
fab3122111 8214277: Use merged G1ArchiveRegionMap for open and closed archive heap regions
Reviewed-by: kbarrett, jiangli
2020-01-09 21:57:18 +01:00
Ioi Lam
584db9818a 8236625: Remove writeable macro from JVM flags declaration
Reviewed-by: coleenp, hseigel, gziemski
2020-01-07 18:56:18 -08:00
Yasumasa Suenaga
7d8519fffe 8236489: Java heap file on daxfs should be more secure
Reviewed-by: iklam, dholmes
2020-01-08 08:53:28 +09:00
Christoph Dreis
1cf603e8fc 8236705: Use single character variant of String.replace when applicable
Reviewed-by: igerasim, alanb
2020-01-07 15:33:09 -08:00
Roman Kennke
769f853592 8236732: Shenandoah: Stricter placement for oom-evac scopes
Reviewed-by: zgu
2020-01-07 21:53:52 +01:00
Serguei Spitsyn
ed044e9142 8236124: Minimal VM slowdebug build failed after JDK-8212160
Use macro JVMTI_ONLY to avoid slowdebug build fail

Reviewed-by: coleenp, cjplummer, dholmes
2020-01-07 19:57:11 +00:00
Coleen Phillimore
c4b8e38de4 8236224: Obsolete the FieldsAllocationStyle and CompactFields options
Remove the options and code for options deprecated in JDK 14

Reviewed-by: dholmes, hseigel, fparain
2020-01-07 13:11:35 -05:00
Zhengyu Gu
ee5729ac21 8236681: Shenandoah: Disable concurrent class unloading flag if no class unloading for the GC cycle
Reviewed-by: rkennke
2020-01-07 08:53:37 -05:00
Roman Kennke
ffe68bcb24 8236161: C2: Remove useless step_over_gc_barrier() in int->bool conversion
Reviewed-by: thartmann, roland
2020-01-07 13:45:10 +01:00
Joe Darcy
5915ab980b 8235532: Update --release 14 symbol information for JDK 14 b27
Reviewed-by: jlahoda
2020-01-06 11:04:12 -08:00
Naoto Sato
2e237e35fd 8227313: Support monetary grouping separator in DecimalFormat/DecimalFormatSymbols
Reviewed-by: joehw
2020-01-06 10:31:20 -08:00
Jamil Nimeh
8a1b5ad914 8236039: JSSE Client does not accept status_request extension in CertificateRequest messages for TLS 1.3
Reviewed-by: xuelei
2020-01-05 21:04:39 -08:00
Chris Yin
6da7ea6ea3 8236595: Add more comments about how to setup simulated NVRAM before run java/nio/MappedByteBuffer/PmemTest.java
Reviewed-by: alanb, adinn
2020-01-06 11:29:38 +08:00
Yasumasa Suenaga
0a9a7e2f6c 8236552: Description of jmxremote.ssl.config.file in ManagementAgent.start is incorrect
Reviewed-by: cjplummer
2020-01-04 16:25:58 +09:00
Vicente Romero
396c363517 8236544: confusing error message: return type of accessor method is not compatible with type of record component
Reviewed-by: mcimadamore
2020-01-03 12:37:30 -05:00
Jesper Wilhelmsson
14b9fe08fe Added tag jdk-15+4 for changeset bb0a7975b31d 2020-01-01 03:08:45 +01:00
Matthias Baesken
2ff87c63e3 8236274: remove obsolete -d2Zi+ debug flag in MSVC builds
Reviewed-by: erikj, redestad
2020-01-02 14:38:37 +01:00
Jesper Wilhelmsson
e73ce9b406 Added tag jdk-15+3 for changeset d05fcdf25717 2019-12-27 18:21:13 +01:00
Sergey Bylokhov
206d72aee2 8235520: [macosx] Delete NSView based direct rendering mechanism
Reviewed-by: prr, jdv
2019-12-27 13:47:31 +03:00
Sergey Bylokhov
e8fdc9408e 8234706: MenuPeer cleanup
Reviewed-by: prr
2019-12-26 22:38:38 +03:00
Sergey Bylokhov
8f8f43999c 8210231: Robot.delay() catches InterruptedException and prints stacktrace to stderr
Reviewed-by: alanb, smarks
2019-12-25 14:17:57 +03:00
Sergey Bylokhov
e13f184eb3 8236506: [macosx] Some datatransfer classes were loaded on startup
Reviewed-by: prr
2019-12-25 10:15:32 +03:00
Pavel Rappo
911846b49b 8236435: Fix typos in javac area
Reviewed-by: jjg, mcimadamore
2019-12-24 09:38:41 +00:00
Pengfei Li
e2644b70cf 8233743: AArch64: Make r27 conditionally allocatable
Reviewed-by: aph, dlong
2019-12-24 16:51:55 +08:00
Smita Kamath
995da6eb2a 8167065: Add intrinsic support for double precision shifting on x86_64
Reviewed-by: kvn
2019-12-23 14:42:21 -08:00
Pankaj Bansal
4cb20ae300 8222759: com.sun.java.swing.plaf.gtk.GTKLookAndFeel has unnecessary casts to GTKStyleFactory
Reviewed-by: prr, jdv
2019-12-23 13:04:07 +05:30
Weijun Wang
f4af0eadb6 8236405: Formatting issues in Kerberos debug output
Reviewed-by: mullan
2019-12-21 15:27:37 +08:00
Mikael Vidstedt
c33466012e Merge 2019-12-20 22:41:53 -08:00
Aditya Mandaleeka
f19738aba3 8236179: C1 register allocation error with T_ADDRESS
Reviewed-by: rkennke, vlivanov, roland, mdoerr
2019-12-20 19:51:00 +01:00
Roland Westrelin
1af059d4cb 8231291: C2: loop opts before EA should maximally unroll loops
Reviewed-by: kvn, vlivanov
2019-12-20 17:17:37 +01:00
Roland Westrelin
1745ae28b9 8237086: assert(is_MachReturn()) running CTW with fix for JDK-8231291
Reviewed-by: kvn, vlivanov
2020-01-14 14:58:17 +01:00
Patrick Concannon
00c40ae1e3 7021373: DatagramPacket exception conditions are not clear
Specification is clarified by adding or clarifying @throws clauses where required

Reviewed-by: alanb, chegar, darcy, dfuchs
2020-02-07 11:10:41 +00:00
Claes Redestad
38f0c08ee0 8237484: Improve module system bootstrap
Reviewed-by: alanb
2020-02-07 10:23:35 +01:00
Claes Redestad
9c8f05279c 8236272: Improve fidelity between contents of default CDS archive and classes loaded at runtime
Reviewed-by: erikj, jiangli, iklam
2020-02-07 10:15:59 +01:00
Claes Redestad
9abc1a4441 8238599: Refactor and simplify implAddOpensToAllUnnamed
Reviewed-by: alanb
2020-02-07 09:47:25 +01:00
David Holmes
9f21d809ab 8238460: Provide warnings about the use of JNI RegisterNatives to rebind native methods for boot/platform classes in other classloaders
Reviewed-by: jwilhelm, lfoltan
2020-02-06 21:03:40 -05:00
Kim Barrett
ccbd819a01 8237143: Eliminate DirtyCardQ_cbl_mon
Replace locked data structures with lock-free data structures.

Reviewed-by: tschatzl, sangheki
2020-02-06 19:09:07 -05:00
Jonathan Gibbons
e37a6aed88 8238503: Remove unused field and accessor for docLocale from ToolOptions
Reviewed-by: hannesw
2020-02-06 12:44:21 -08:00
Daniil Titov
26b642f92f 8196729: Add jstatd option to specify RMI connector port
Reviewed-by: cjplummer, sspitsyn
2020-02-06 11:23:51 -08:00
Zhengyu Gu
87031d4728 8238574: Shenandoah: Assertion failure due to missing null check
Reviewed-by: shade
2020-02-06 13:08:14 -05:00
Jesper Wilhelmsson
b3f01bb39f Merge 2020-02-06 17:14:04 +01:00
Lois Foltan
df72b2e2d6 8238600: Remove runtime/fieldType.hpp and fieldType.cpp
Remove obsolesced source files fieldType.hpp and fieldType.cpp.

Reviewed-by: hseigel
2020-02-06 15:28:37 +00:00
Lois Foltan
d19a396e96 8230199: consolidate signature parsing code in HotSpot sources
Add a new Signature class to support basic signature queries and enhance SignatureStream class to parse field signatures in addition to methods.

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: coleenp, dholmes, fparain, hseigel
2020-02-06 14:29:57 +00:00
Magnus Ihse Bursie
2ede36b3a3 8201349: build broken when configured with --with-zlib=bundled on gcc 7.3
Reviewed-by: erikj
2020-02-06 13:41:51 +01:00
Magnus Ihse Bursie
df12f8b5d2 8212986: Make Visual Studio compiler check less strict
Reviewed-by: erikj
2020-02-06 13:40:59 +01:00
Magnus Ihse Bursie
dfa757aed0 8238542: When warning about C/C++ compiler mismatch, be clear if this is about build compilers
Reviewed-by: erikj
2020-02-06 13:40:07 +01:00
Magnus Ihse Bursie
9b9830ced7 8218480: Automatically add -Werror in FLAGS_COMPILER_CHECK_ARGUMENTS
Reviewed-by: erikj
2020-02-06 13:38:57 +01:00
Nils Eliasson
b59f630249 8237581: Improve allocation expansion
Reviewed-by: vlivanov, redestad
2020-02-06 11:21:39 +01:00
Matthias Baesken
2d6ed667d2 8238530: OPT_SPEED_SRC list misses some files with cpu-dependend file names
Reviewed-by: ihse, redestad
2020-02-05 10:14:40 +01:00
Jesper Wilhelmsson
79ed5ba492 Added tag jdk-15+9 for changeset 62b5bfef8d61 2020-02-06 02:54:00 +01:00
Jonathan Gibbons
98f5d98a88 8222793: Javadoc tool ignores "-locale" param and uses default locale for all messages and texts
Reviewed-by: prappo
2020-02-05 11:01:05 -08:00
Mandy Chung
c0f23a8604 8230047: Remove legacy java.lang.reflect.ProxyGenerator_v49
Reviewed-by: rriggs, sundar
2020-02-05 09:53:56 -08:00
Erik Joelsson
f1332640d4 8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary
Reviewed-by: clanger, alanb, ihse
2020-02-05 09:33:25 -08:00
Daniel D. Daugherty
a7a82b0c79 8235795: replace monitor list mux{Acquire,Release}(&gListLock) with spin locks
Reviewed-by: dholmes, coleenp, rehn
2020-02-05 11:40:20 -05:00
Daniel D. Daugherty
8ff24c55ef 8236035: refactor ObjectMonitor::set_owner() and _owner field setting
Reviewed-by: dholmes, kbarrett, rehn
2020-02-05 11:39:52 -05:00
Daniel D. Daugherty
b9e3a4efef 8235931: add OM_CACHE_LINE_SIZE and use smaller size on SPARCv9 and X64
Reviewed-by: dholmes, redestad, mdoerr
2020-02-05 11:38:18 -05:00
Clive Verghese
e7e182a318 8235699: ArrayIndexOutOfBoundsException in CalendarBuilder.toString
Reviewed-by: phh, alanb, weijun, simonis, rriggs
2020-02-05 16:39:45 +01:00
Mikhailo Seledtsov
ccb4ab5499 8179317: [TESTBUG] rewrite runtime shell tests in java
Converted shell tests to Java

Reviewed-by: dholmes, iignatyev, lmesnik
2020-02-05 07:31:13 -08:00
Patrick Zhang
03721247d8 8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10
Fixed libj2gss link errors caused by GCC10 default -fno-common

Reviewed-by: weijun
2020-02-05 20:31:09 +08:00
Magnus Ihse Bursie
ce28a96c28 8238281: Raise minimum gcc version needed to 5.0
Reviewed-by: erikj, dholmes, jwilhelm, mbaesken
2020-02-05 10:45:39 +01:00
Christoph Langer
d6aeda7b24 8238375: JFR Test TestJcmdStartFlushInterval is not run
Reviewed-by: egahlin, mseledtsov
2020-02-05 06:33:57 +00:00
Jesper Wilhelmsson
c09e02193b 8238515: Backout JDK-8236092 from jdk/jdk
Reviewed-by: dholmes
2020-02-05 03:26:50 +01:00
Jesper Wilhelmsson
89e9ae9b3c Merge 2020-02-05 03:24:41 +01:00
Weijun Wang
06579fcefa 8237804: sun/security/mscapi tests fail with "Key pair not generated, alias <nnnnnn> already exists"
Reviewed-by: mullan
2020-02-05 11:09:02 +08:00
Pavel Rappo
029f547700 8238467: Clean up annotations on overridden/implemented methods
Reviewed-by: jjg
2020-02-04 22:05:31 +00:00
Jonathan Gibbons
9d7777e585 8219475: javap man page needs to be updated
Reviewed-by: mchung
2020-02-04 14:02:16 -08:00
Weijun Wang
b75d37538d 8238502: sunmscapi.dll causing EXCEPTION_ACCESS_VIOLATION
Reviewed-by: wetmore, coffeys, mullan
2020-02-04 13:15:15 -08:00
Zhengyu Gu
a88734eadc 8238162: Shenandoah: Remove ShenandoahTaskTerminator wrapper
Reviewed-by: shade
2020-02-04 14:48:28 -05:00
Daniel Fuchs
b069da31e0 8238231: Custom DatagramSocketImpl's create method not called when with protected constructor
Allow the socket to be lazily created if not created by the constructor.

Reviewed-by: alanb
2020-02-04 18:35:37 +00:00
Alexander Matveev
e104b4cee1 8235954: [dmg] Default DMG background tiff of jpackage not retina ready
Reviewed-by: herrick, asemenyuk
2020-02-04 11:44:54 -05:00
David Leopoldseder
135f209852 8238190: [JVMCI] Fix single implementor speculation for diamond shapes
Reviewed-by: kvn
2020-02-04 09:33:09 +01:00
Roland Westrelin
f2b7509d5a 8237951: CTW: C2 compilation fails with "malformed control flow"
Reviewed-by: vlivanov, kvn
2020-01-28 13:36:30 +01:00
Matthias Baesken
ef41763d32 8237962: give better error output for invalid OCSP response intervals in CertPathValidator checks
Reviewed-by: clanger, mullan
2020-02-03 09:39:39 +01:00
Ivan Walulya
edd28610d5 8233220: Space::_par_seq_tasks is unused after CMS removal
Reviewed-by: pliden, tschatzl, lkorinth
2020-02-03 18:20:07 +01:00
Thomas Schatzl
358c56bb8b 8238229: Remove TRACESPINNING debug code
Reviewed-by: kbarrett, sjohanss
2020-02-03 10:45:46 +01:00
Thomas Schatzl
77ad678fce 8238220: Rename OWSTTaskTerminator to TaskTerminator
Reviewed-by: sjohanss, sangheki
2020-02-03 10:45:44 +01:00
Thomas Schatzl
76675e93cf 8215297: Remove ParallelTaskTerminator
Remove ParallelTaskTerminator as the alternate OWSTTaskTerminator algorithm has worked well for more than a year now.

Reviewed-by: zgu, sjohanss
2020-02-03 10:45:43 +01:00
Magnus Ihse Bursie
4b8a5f991f 8196875: Update run-test instructions for TEST_MODE
Reviewed-by: erikj
2020-02-03 08:30:44 +01:00
Jie Fu
0330504ba7 8238284: [macos] Zero VM build fails due to an obvious typo
Reviewed-by: dholmes
2020-01-31 20:49:41 +08:00
Yasumasa Suenaga
1cd5eac5c3 8238203: Return value of GetUserDefaultUILanguage() should be handled as LANGID
Reviewed-by: naoto
2020-02-02 18:35:28 +01:00
Erik Gahlin
319d6976a5 8238241: Clean up problem list for JFR tests
Reviewed-by: mgronlun, mseledtsov
2020-02-01 09:55:03 +01:00
Ioi Lam
f6eaac48b8 8238198: Avoid using @ tags in TestOptionsWithRanges_generate.sh
Reviewed-by: iignatyev
2020-01-31 14:18:30 -08:00
Christian Hagedorn
b940e17c9e 8235332: TestInstanceCloneAsLoadsStores.java fails with -XX:+StressGCM
Account for GC barriers when skipping a cloned ArrayCopyNode in ConnectionGraph::find_inst_mem()

Reviewed-by: roland, neliasso
2020-01-31 09:32:00 +01:00
Jonathan Gibbons
4122968ab6 8238259: new tests do not account for Windows file separators
Reviewed-by: vromero
2020-01-30 15:50:07 -08:00
Igor Ignatyev
18d6d92a06 8237953: vmTestbase/jit/tiered/Test.java failure after JDK-8237798
Reviewed-by: iveresov
2020-01-30 08:55:20 -08:00
Erik Joelsson
ac6073f0a5 8237914: The test-make target does not fail on test failure
Reviewed-by: tbell, ihse
2020-01-30 12:00:38 -08:00
Jonathan Gibbons
ee9483bd87 8200363: Add javadoc command line setting to fail on warnings
Reviewed-by: hannesw
2020-01-30 11:29:51 -08:00
Jonathan Gibbons
85f5e328ed 8236949: javadoc -Xdoclint does not accumulate options correctly
Reviewed-by: prappo
2020-01-30 11:20:09 -08:00
Mikhailo Seledtsov
b5bf0d6d2f 8235599: [TESTBUG] JFR streaming/TestJVMCrash.java fails to cleanup files after test
Removed the TestJVMCrash.java test from problem list

Reviewed-by: egahlin
2020-01-30 10:27:08 -08:00
Erik Gahlin
bd7fd5610e 8232636: JFR TestDumpOnCrash.java crashed and failed to create emergency dump file
Reviewed-by: mgronlun, mseledtsov
2020-01-30 17:49:16 +01:00
Erik Gahlin
cb636b2c0b 8219686: jdk/jfr/event/runtime/TestShutdownEvent.java recording file length is 0
Reviewed-by: mgronlun, mseledtsov
2020-01-30 17:36:01 +01:00
Erik Gahlin
9cfd632ef6 8213918: DumpReason JFR event is not covered by test
Reviewed-by: mgronlun, mseledtsov
2020-01-30 17:23:22 +01:00
Nick Gasson
987ba9f3a4 8237521: Memory Access API fixes for 32-bit
Reviewed-by: mcimadamore, dholmes
2020-01-24 17:41:44 +08:00
Eric Caspole
44444bb249 8238189: Cleanups to AES crypto micros
Move all tested algorithms into the small set

Reviewed-by: xuelei
2020-01-30 10:31:43 -05:00
Coleen Phillimore
9dcbd81920 8237080: fatal error: VM thread could block on lock that may be held by a JavaThread during safepoint: SharedDecoder_lock
Set allow_vm_block to true for this lock.  It's _safepoint_check_never so it's sort of implied (you can't safepoint holding the lock and block out the vm thread).

Reviewed-by: rehn, zgu, pchilanomate, dholmes
2020-01-30 08:50:11 -05:00
Per Lidén
4aa5cf5bca 8237882: ZGC: Remove ZUtils::round_{up,down}_power_of_2() declarations
Reviewed-by: kbarrett, smonteith
2020-01-30 12:42:01 +01:00
Per Lidén
83911960d4 8237884: ZGC: Use clamp() instead of MIN2(MAX2())
Reviewed-by: kbarrett, smonteith
2020-01-30 12:41:59 +01:00
Per Lidén
0f06a9a5cd 8237825: ZGC: Replace -XX:ZPath with -XX:AllocateHeapAt
Reviewed-by: eosterlund
2020-01-30 12:41:56 +01:00
Per Lidén
24691f248c 8237758: ZGC: Move get_mempolicy() syscall wrapper to ZSyscall
Reviewed-by: eosterlund
2020-01-30 12:41:47 +01:00
Per Lidén
91d58b8f96 8237649: ZGC: Improved NUMA support when using small pages
Reviewed-by: eosterlund, smonteith
2020-01-30 12:41:26 +01:00
Erik Gahlin
06456a9773 8238224: test\jdk\jdk\jfr\event\io\EvilInstrument.java should be removed
Reviewed-by: mgronlun
2020-01-30 11:14:12 +01:00
Magnus Ihse Bursie
af5c725b81 8237879: make 4.3 breaks build
Reviewed-by: erikj, tbell
2020-01-30 11:08:30 +01:00
Erik Gahlin
dfb31205a1 8221331: test/jdk/jdk/jfr/event/io/EvilInstrument.java needs to re-worked to avoid recursive initialization issues
Reviewed-by: mgronlun, mseledtsov
2020-01-30 10:10:48 +01:00
Matthias Baesken
cd01fa372e 8223699: cleanup perfMemory_aix.cpp O_NOFOLLOW coding on aix
Reviewed-by: lucy, mdoerr
2020-01-28 08:53:30 +01:00
Erik Gahlin
0b9ff0c3a4 8202142: jfr/event/io/TestInstrumentation is unstable
Reviewed-by: mgronlun, mseledtsov
2020-01-30 09:01:58 +01:00
Boris Ulasevich
d65f9665df 8229971: Arm32: implementation for Thread-local handshakes
Reviewed-by: rehn, dsamersoff
2020-01-30 10:26:56 +03:00
David Holmes
c4b708b255 8237857: LogDecorations::uptimenanos is implemented incorrectly
Reviewed-by: dcubed, kbarrett
2020-01-29 23:53:16 -05:00
Jesper Wilhelmsson
0b45b7a291 Merge 2020-01-30 05:05:04 +01:00
Jesper Wilhelmsson
5d8d4cecf7 Added tag jdk-15+8 for changeset c7d4f2849dbf 2020-01-30 03:29:55 +01:00
Igor Ignatyev
c484e1cee0 8237787: rewrite vmTestbase/vm/compiler/CodeCacheInfo* from shell to java
Reviewed-by: epavlova, kvn
2020-01-29 19:27:01 -08:00
Erik Gahlin
28801066d0 8237574: Make TestNative work without -nativepath
Reviewed-by: mgronlun, mseledtsov
2020-01-30 00:23:58 +01:00
Erik Gahlin
8aff9fca35 8215890: Simplify jdk/jfr/api/recording/event/TestPeriod.java
Reviewed-by: mgronlun, mseledtsov
2020-01-29 23:49:04 +01:00
Erik Gahlin
70fdf1e5ee 8237364: Add early validation to the jdk.jfr.Recording constructor
Reviewed-by: mgronlun, mseledtsov
2020-01-29 23:36:38 +01:00
Vladimir Ivanov
5b5a5353e7 7175279: Don't use x87 FPU on x86-64
Reviewed-by: kvn, roland
2020-01-30 00:46:43 +03:00
Erik Gahlin
a2bbf933d9 8222001: JFR event for heap dumps written
Reviewed-by: mgronlun
2020-01-29 22:37:17 +01:00
Kim Barrett
f262092fd9 8233822: VM_G1CollectForAllocation should always check for upgrade to full
Move upgrade check into do_collection_pause_at_safepoint.

Reviewed-by: tschatzl, sangheki
2020-01-29 15:48:22 -05:00
Ioi Lam
73cdeafe98 8237046: [TESTBUG] runtime/CommandLine/OptionsValidation/TestOptionsWithRanges_generate.sh should be excluded from testing
Reviewed-by: dcubed, mseledtsov
2020-01-29 12:01:31 -08:00
Daniel Fuchs
e0901fb627 8237896: MulticastSocket should link to DatagramChannel as an alternative for multicasting
MulticastSocket API documentation now includes some links to DatagramChannel.

Reviewed-by: alanb
2020-01-29 19:13:09 +00:00
Ekaterina Pavlova
9d5d2a241a 8236211: [Graal] compiler/graalunit/GraphTest.java is skipped in all testing
Reviewed-by: iignatyev
2020-01-29 10:12:59 -08:00
Pavel Rappo
91a031aa87 8238167: Remove stray files from jdk.javadoc
Reviewed-by: jjg
2020-01-29 18:04:53 +00:00
Andrew Haley
0dd3aaf0ed 8230392: Define AArch64 as MULTI_COPY_ATOMIC
Reviewed-by: adinn, dholmes
2020-01-23 11:44:04 -05:00
Aleksey Shipilev
3eb71de759 8238153: CTW: C2 (Shenandoah) compilation fails with "Unknown node in get_load_addr: CreateEx"
Reviewed-by: roland, rkennke
2020-01-29 14:34:40 +01:00
Pengfei Li
6fd7ad87ce 8237524: AArch64: String.compareTo() may return incorrect result
Reviewed-by: aph
2020-01-21 08:15:33 +00:00
Erik Gahlin
c718a082a4 8238083: Crash: assert(is_object_aligned(v)) failed: address not aligned: 0xfffffffffffffff1
Reviewed-by: mgronlun
2020-01-29 11:04:00 +01:00
Jan Lahoda
2f45d46640 8237528: Inefficient compilation of Pattern Matching for instanceof
Avoiding unnecessary cast and comparison in type test pattern desugaring.

Reviewed-by: forax, mcimadamore
2020-01-29 10:37:22 +01:00
Ivan Walulya
41f962d784 8232689: Remove ParCompactionManager::Action enum
Reviewed-by: lkorinth, kbarrett, tschatzl
2020-01-29 09:29:22 +01:00
Jesper Wilhelmsson
0b22124ee4 Merge 2020-01-28 22:42:32 +01:00
Erik Gahlin
5c3d9a7d04 8237887: CDSandJFR: assert(instance_klass->is_initialized()
Reviewed-by: mgronlun
2020-01-28 22:37:38 +01:00
Zhengyu Gu
69f1538631 8237963: Shenandoah: Heap iteration should use concurrent version of string dedup roots
Reviewed-by: shade
2020-01-28 15:47:39 -05:00
Adam Sotona
f2013ac247 8236997: tools/javac tests fail with --illegal-access=deny
Correctly exporting packages to tests.

Reviewed-by: jlahoda
2020-01-28 09:13:27 +01:00
Matthias Baesken
a89b838d91 8237869: exclude jtreg test security/infra/java/security/cert/CertPathValidator/certification/LuxTrustCA.java because of instabilities
Reviewed-by: clanger, mullan
2020-01-27 17:03:08 +01:00
Jesper Wilhelmsson
efa4d2f9e1 Merge 2020-01-28 07:25:31 +01:00
Vicente Romero
64288e1e76 8235149: javac parser is too aggressive on ambiguous expressions using identifier: record
Reviewed-by: mcimadamore
2020-01-27 18:50:19 -05:00
Igor Ignatyev
e5a99b29f1 8237800: rewrite vmTestbase/jit/escape/LockCoarsening from shell to java
Reviewed-by: roland, neliasso
2020-01-27 15:35:10 -08:00
Igor Ignatyev
fc8d71b119 8237798: rewrite vmTestbase/jit/tiered from shell to java
Reviewed-by: roland, neliasso
2020-01-27 15:34:12 -08:00
Jonathan Gibbons
08e63539f2 8237845: Encapsulate doclet options
Reviewed-by: hannesw, prappo
2020-01-27 14:03:58 -08:00
Jonathan Gibbons
6b4223eec2 8237803: Reorganize impl of tool options
Reviewed-by: prappo
2020-01-27 13:42:57 -08:00
Zhengyu Gu
99b9939318 8237874: Shenandoah: Backout JDK-8234399
Reviewed-by: shade
2020-01-27 09:58:27 -05:00
Daniil Titov
5ac7dfa2bf 8235681: Remove unnecessary workarounds in UnixOperatingSystem.c
Reviewed-by: cjplummer, amenkov
2020-01-27 09:39:44 -08:00
Erik Gahlin
3884792cda 8227610: Remove allocation when getting EventHandle
Reviewed-by: mgronlun
2020-01-27 14:30:57 +01:00
Matthias Baesken
e438fb4c62 8236714: enable link-time section-gc for linux to remove unused code
Reviewed-by: erikj, ihse
2020-01-24 10:16:35 +01:00
Matthias Baesken
1ca54e1455 8237819: s390x - remove unused pd_zero_to_words_large
Reviewed-by: clanger, mdoerr
2020-01-24 13:48:35 +01:00
Aleksey Shipilev
7cae6c3564 8237847: Zero builds fail after JDK-8237637 (Remove dubious type conversions from oop)
Reviewed-by: dcubed
2020-01-26 17:08:40 +01:00
Pavel Rappo
49dc57cd10 8237817: Clean up net-properties.html
Reviewed-by: dfuchs
2020-01-24 21:57:19 +00:00
Jesper Wilhelmsson
a94b4fc695 Merge 2020-01-24 22:39:58 +01:00
Aleksey Shipilev
7cd21cfdec 8237821: Shenandoah: build broken after JDK-8237637 (Remove dubious type conversions from oop)
Reviewed-by: rkennke
2020-01-24 21:11:31 +01:00
Alex Menkov
90d656d2f6 8235846: Improve WindbgDebuggerLocal implementation
Reviewed-by: sspitsyn, cjplummer
2020-01-24 11:55:15 -08:00
Daniel Fuchs
9085b7bdc7 8236596: HttpClient leaves HTTP/2 sockets in CLOSE_WAIT, when using proxy tunnel
Changes Http2ClientImpl::stop to close the TCP connection after sending out the GOAWAY frame.

Reviewed-by: chegar
2020-01-24 17:57:41 +00:00
Anuraag Agrawal
4fdcb47304 7006496: Use modern Windows API to retrieve OS DNS servers
Reviewed-by: dfuchs, chegar, aefimov
2020-01-24 16:16:39 +00:00
Coleen Phillimore
5b1f960752 8237501: TestInstanceKlassSizeForInstance runs TestInstanceKlassSize instead
Reviewed-by: dcubed
2020-01-24 10:22:57 -05:00
Pavel Rappo
abadeda8a5 8233795: Consider adding a notion of a Value-based class to API Documentation index
Reviewed-by: hannesw
2020-01-24 12:51:34 +00:00
Adam Sotona
d97fe7b050 8042742: possible error in Tokens.Token.checkKind() for javac
Correcting expected token kind in an assert.

Reviewed-by: jlahoda
2020-01-24 12:31:51 +01:00
Stefan Karlsson
c8e7590899 8237111: LingeredApp should be started with getTestJavaOpts
Reviewed-by: cjplummer, dholmes
2020-01-24 10:31:45 +01:00
Stefan Karlsson
46423b0f70 8237637: Remove dubious type conversions from oop
Reviewed-by: kbarrett, dholmes, mdoerr
2020-01-24 09:27:07 +01:00
Stefan Karlsson
b223907794 8237645: Remove OopsInGenClosure::par_do_barrier
Reviewed-by: sjohanss
2020-01-24 09:24:46 +01:00
Stefan Karlsson
17106c9e9d 8236778: Add Atomic::fetch_and_add
Reviewed-by: kbarrett, dholmes
2020-01-24 09:15:08 +01:00
David Holmes
5013cf6e0c 8235966: Process obsolete flags less aggressively
Reviewed-by: dcubed, iignatyev
2020-01-23 21:14:16 -05:00
Vicente Romero
0f98701e87 8236210: javac generates wrong annotation for fields generated from record components
Reviewed-by: mcimadamore
2020-01-23 19:20:11 -05:00
Jonathan Gibbons
9e4830fc30 8237492: Reorganize impl of doclet options
8237726: Fix signature of StandardDoclet.getSupportedOptions

Reviewed-by: prappo, hannesw, ksrini
2020-01-23 15:52:54 -08:00
Jesper Wilhelmsson
c6c828fa6e Merge 2020-01-23 22:59:49 +01:00
Ekaterina Pavlova
6c9a6eac81 8206113: Troubles configuring graal tests
Reviewed-by: kvn
2020-01-23 10:02:52 -08:00
Patricio Chilano Mateo
5e9d3fdc9c 8237756: Backout: JDK-8230594: Allow direct handshakes without VMThread intervention
Backout JDK-8230594

Reviewed-by: coleenp, dcubed
2020-01-23 17:26:52 +00:00
Patrick Concannon
94bb505c94 8235783: DatagramSocket::disconnect should allow an implementation to throw UncheckedIOException
Undocumented throwing of Errors changed to throw a more user friendly UncheckedIOException

Reviewed-by: alanb, chegar, dfuchs
2020-01-23 14:43:37 +00:00
Per Lidén
4eacb6361b 8234440: ZGC: Print relocation information on info level
Reviewed-by: stefank, eosterlund
2020-01-23 15:13:32 +01:00
Thomas Schatzl
ffcc582601 8237079: gc/g1/mixedgc/TestLogging.java fails with "Pause Young (Mixed) (G1 Evacuation Pause) not found"
Factor out multiple attempts at forcing a mixed gc into a single one and update the tests to use the new code. Change command line arguments for the tests to further decrease the possibility of failures.

Reviewed-by: lkorinth, kbarrett
2020-01-23 14:42:49 +01:00
Martin Doerr
da7cebabb2 8237375: SimpleThresholdPolicy misses CounterDecay timestamp initialization
Reviewed-by: simonis, dholmes
2020-01-23 13:55:10 +01:00
Jie Fu
a0882bf4cc 8237752: Minimal VM build fails after JDK-8236236
Reviewed-by: dholmes
2020-01-23 13:51:23 +08:00
Jesper Wilhelmsson
3c5a7e9ffc Added tag jdk-15+7 for changeset e2bc57500c1b 2020-01-23 06:24:09 +01:00
Patricio Chilano Mateo
6c4e2e70be 8237753: 32-bit builds are broken after JDK-823059
Changed _pending_threads to be 32 bits instead of 64

Reviewed-by: dholmes
2020-01-23 04:54:15 +00:00
Chris Plummer
78ff45ee33 8236913: debug agent's jdwp command logging should include the command set name and command name
Reviewed-by: amenkov, sspitsyn
2020-01-23 04:14:11 +00:00
Zhengyu Gu
b1d5bee8ca 8234399: Shenandoah: Cleanup native load barrier
Reviewed-by: rkennke
2020-01-22 20:07:49 -05:00
Igor Veresov
c6126d638c 8237724: Add org.graalvm.compiler.asm.amd64 to the list of packages to be processed by the options annotation processor
Reviewed-by: kvn
2020-01-22 15:32:51 -08:00
David Holmes
245b61c506 8237747: Build broken on macOS by JDK-8235741 - wrong format specifier
Reviewed-by: mikael
2020-01-22 18:24:10 -05:00
David Holmes
7c27f9f5dd 8235741: Inappropriate uses of os::javaTimeMillis()
Reviewed-by: rehn, kbarrett, egahlin, shade
2020-01-17 00:52:10 -05:00
Naoto Sato
d517220df6 8236903: ZoneRules#getOffset throws DateTimeException for rules with last rules
Reviewed-by: scolebourne, rriggs
2020-01-22 12:35:24 -08:00
Jesper Wilhelmsson
b7cdc097e3 Merge 2020-01-22 21:02:16 +01:00
Ioi Lam
d5bdb76e84 8236236: Eliminate CDS md region and consolidate c++ vtable patching code
Reviewed-by: ccheung
2020-01-22 11:52:27 -08:00
Zhengyu Gu
ac7f36ce25 8236880: Shenandoah: Move string dedup cleanup into concurrent phase
Reviewed-by: rkennke, shade
2020-01-22 14:27:13 -05:00
Patricio Chilano Mateo
b25bb17b41 8230594: Allow direct handshakes without VMThread intervention
Introduce direct handshakes and enable it for biased locking revocations.

Reviewed-by: dholmes, dcubed, coleenp, rehn
2020-01-22 16:46:46 +00:00
Nick Gasson
b21e04af5d 8237512: AArch64: aarch64TestHook leaks a BufferBlob
Reviewed-by: adinn, aph
2020-01-22 09:08:36 +00:00
Alan Bateman
c6a4cea7a0 8236246: SelectorProvider support for creating a DatagramChannel that is not interruptible
Reviewed-by: chegar
2019-12-20 09:28:57 +00:00
Ioi Lam
d1ad0eaf8f 8233826: Change CDS dumping tty->print_cr() to unified logging
Reviewed-by: coleenp, dholmes, jiangli
2019-12-19 23:04:49 -08:00
Jesper Wilhelmsson
4f22b49c85 Merge 2019-12-20 04:47:34 +01:00
Phil Race
d86eb1de69 8231556: Wrong font ligatures used when 2 versions of same font used
Reviewed-by: serb, kcr
2019-12-19 15:36:40 -08:00
Phil Race
9628324ae7 Merge 2019-12-19 12:28:56 -08:00
Lance Andersen
fb1c57789e 8235961: SyncResolverImpl does not throw SQLException as expected
Reviewed-by: joehw, bpb
2019-12-19 15:23:57 -05:00
Alexey Semenyuk
91008df5a8 8236138: Add tests for jmod applications
Reviewed-by: herrick, prr
2019-12-19 13:39:10 -05:00
Vicente Romero
68122fd64e 8236266: change error message for the case when a class extends j.l.Record
Reviewed-by: mcimadamore
2019-12-19 13:32:58 -05:00
Vicente Romero
9695ddfffc 8234445: spurious error message for record constructors with receiver parameters
Reviewed-by: mcimadamore
2019-12-19 11:46:35 -05:00
Robbin Ehn
a170a4af4a 8235913: ThreadStop should be a handshake
Reviewed-by: dholmes, mdoerr
2019-12-19 17:02:11 +01:00
Robbin Ehn
e4c96dea46 8235912: JvmtiBreakpoint remove oops_do and metadata_do
Reviewed-by: coleenp, sspitsyn
2019-12-19 16:47:59 +01:00
Yasumasa Suenaga
18bc0214db 8235833: PosixPlatform.cpp should not include sysctl.h
Reviewed-by: aph, asemenyuk
2019-12-19 20:13:15 +09:00
Nick Gasson
75f2e6433c 8236242: Arm32: build broken after 8234794
Reviewed-by: aph
2019-12-19 17:18:16 +08:00
Pankaj Bansal
ef14de54e7 8234733: We can't distinguish if the spinner button is pressed or unpressed
Reviewed-by: psadhukhan, prr
2019-12-19 11:57:58 +05:30
Sergey Bylokhov
61cfabff57 8223108: Test java/awt/EventQueue/NonComponentSourcePost.java is unstable
Reviewed-by: prr
2019-12-18 10:10:32 +03:00
Severin Gehwolf
4def210a22 8231111: Cgroups v2: Rework Metrics in java.base so as to recognize unified hierarchy
Reviewed-by: bobv, mchung
2019-12-16 15:07:17 +01:00
Frederic Parain
8827df9b2d 8239014: -XX:-UseEmptySlotsInSupers sometime fails to reproduce the layout of the old code
Reviewed-by: dholmes, coleenp
2020-02-19 08:57:43 -05:00
Lin Zang
732a575738 8239139: test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/libInheritedChannel.c does not compile with gcc 8.3.1
Reviewed-by: michaelm
2020-02-19 11:31:48 +00:00
Pavel Rappo
9fdcdf4a3e 8239243: Create index structures only if required
Reviewed-by: hannesw, jjg
2020-02-19 10:34:42 +00:00
Rahul Raghavan
7b24bd68c2 8238356: CodeHeap::blob_count() overestimates the number of blobs
Decremented _blob_count on addition to the free list

Reviewed-by: lucy, shade, thartmann
2020-02-19 15:01:57 +05:30
John Paul Adrian Glaubitz
16c75e67cf 8239001: Hotspot build broken on linux-sparc after 8238281
Reviewed-by: dholmes, kbarrett
2020-02-19 10:10:55 +01:00
Thomas Schatzl
fff8438af8 8239070: Memory leak when unsuccessfully mapping in archive regions
Reviewed-by: kbarrett, iklam, coleenp, jiangli
2020-02-19 10:04:54 +01:00
Martin Doerr
6015cab798 8239363: PPC64: Wrong code generation after JDK-8183574
Reviewed-by: stuefe, stefank, lucy
2020-02-19 09:40:38 +01:00
Matthias Baesken
09f5194d38 8238953: tools/jpackage tests do not work on Ubuntu Linux
Reviewed-by: asemenyuk, clanger
2020-02-18 16:46:08 +01:00
Matthias Baesken
7f3bbc3f20 8239333: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails intermittent
Reviewed-by: clanger
2020-02-18 10:28:16 +01:00
Joe Darcy
d4a069b33b 8237450: JDK13 annotation processors not run when a supported annotation type specifies a module
Initial fix suggested by jjg based on through analysis by Jeremy Kuhn.

Reviewed-by: jjg
2020-02-18 17:03:54 -08:00
Rajan Halade
11386e7cb2 8225128: Add exception for expiring DocuSign root to VerifyCACerts test
Reviewed-by: clanger
2020-02-18 16:00:40 -08:00
Pavel Rappo
56282f7119 8238969: Miscellaneous cleanup
Reviewed-by: jjg
2020-02-18 23:05:20 +00:00
Jonathan Gibbons
36cd7bdb7f 8239378: Add Classpath Exception to license in source file
Reviewed-by: vromero
2020-02-18 14:08:21 -08:00
Erik Gahlin
f3cd52e3c7 8210977: jdk/jfr/event/oldobject/TestThreadLocalLeak.java fails to find ThreadLocalObject
Reviewed-by: mgronlun, mseledtsov
2020-02-18 22:25:08 +01:00
Erik Joelsson
58a0360039 8239019: testmake fails with FATAL: VCS_TYPE is empty
Reviewed-by: rriggs
2020-02-18 11:21:41 -08:00
Leonid Mesnik
a6dbc71114 8239026: Support non-maven artifacts by JibArtifactManager
Reviewed-by: erikj
2020-02-18 10:48:48 -08:00
Harold Seigel
bf6c14f034 8187305: Add logging for shared library loads/unloads
Add logging to JVM_LoadLibrary(), JVM_UnloadLibrary(), and JVM_FindLibraryEntry().

Reviewed-by: dholmes, coleenp
2020-02-18 16:30:54 +00:00
Mikhailo Seledtsov
cea8931aed 8167493: Test that JFR event can be retransformed by an agent
Added new test, extended agent builder test library

Reviewed-by: egahlin
2020-02-18 08:14:48 -08:00
Roman Kennke
ccb5defde4 8237780: Shenandoah: More reliable nmethod verification
Reviewed-by: shade, zgu
2020-02-18 17:20:04 +01:00
Matthias Baesken
0e49c4987d 8239224: libproc_impl.c previous_thr may be used uninitialized warning
Reviewed-by: clanger, dholmes
2020-02-18 16:33:56 +01:00
Erik Gahlin
b6c1b49c97 8239350: Add tests for JFR class redefinition events
Reviewed-by: mgronlun
2020-02-18 16:34:19 +01:00
Erik Gahlin
f75f78ae3a 8239265: JFR: Test cleanup of jdk.jfr.api.consumer package
Reviewed-by: mgronlun
2020-02-18 14:34:54 +01:00
Ivan Walulya
6f6b4c0ef9 8232686: Turn parallel gc develop tracing flags into unified logging
Reviewed-by: sjohanss, tschatzl, lkorinth
2020-02-18 11:00:24 +01:00
Thomas Schatzl
28c630046e 8238999: Remove MemRegion custom new/delete operator overloads
Reviewed-by: kbarrett, jiangli, iklam
2020-02-18 10:59:38 +01:00
Patrick Concannon
301a2e19c3 8237480: Add micros for DatagramSocket send/receive
Benchmarks for the DatagramSocket::send and DatagramSocket::receive methods

Reviewed-by: chegar, dfuchs, redestad
2020-02-18 09:42:30 +00:00
Tobias Hartmann
cb2eeb7d9a 8239142: C2's UseUniqueSubclasses optimization is broken for array accesses
Avoid resetting the elemtype for array accesses.

Reviewed-by: vlivanov, eosterlund
2020-02-18 08:28:02 +01:00
Xue-Lei Andrew Fan
4e430ffbb6 8239264: Clearup the legacy ObjectIdentifier constructor from int array
Reviewed-by: jnimeh
2020-02-17 18:52:50 -08:00
Ivan Gerasimov
8aff5bda80 8163251: Hard coded loop limit prevents reading of smart card data greater than 8k
Reviewed-by: valeriep, rriggs
2020-02-17 16:32:05 -08:00
Erik Gahlin
5d9c59f2f8 8238236: Add JFR class redefinition events
Reviewed-by: mgronlun
2020-02-17 22:36:13 +01:00
Christian Hagedorn
74bee68872 8239069: C2: SIGSEGV in IdealGraphPrinter::walk_nodes due to C->root() being NULL
Fix NULL pointer dereference when trying to print the ideal graph when Compile::record_failure() is called twice.

Reviewed-by: neliasso, thartmann
2020-02-17 12:29:24 +01:00
Christian Hagedorn
b369aefc79 8238765: PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly
Fix PhaseCFG::schedule_pinned_nodes to correctly handle precedence edges from unmatched CFG nodes.

Reviewed-by: roland, neliasso, kvn
2020-02-17 12:29:03 +01:00
Matthias Baesken
cf4291db37 8239000: handle ContendedPaddingWidth in vm_version_ppc
Reviewed-by: clanger, lucy
2020-02-13 11:11:49 +01:00
Roman Kennke
41d457a089 8239081: Shenandoah: Consolidate C1 LRB and native barriers
Reviewed-by: shade
2020-02-14 19:43:17 +01:00
Richard Reingruber
eaff9918d2 8239005: [TESTBUG] test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java: exeinvoke.c: must initialize static state before calling do_overflow()
Reviewed-by: dholmes, clanger
2020-02-13 16:20:14 +01:00
Roland Westrelin
52d46c314b 8238691: C2: turn subtype check into macro node
Reviewed-by: vlivanov, thartmann
2020-02-14 10:31:34 +01:00
Stefan Karlsson
e4b27a48a0 8183574: Unify the is_power_of_2 functions
Reviewed-by: kbarrett, redestad
2020-02-17 10:03:17 +01:00
Magnus Ihse Bursie
248b61710e 8213185: Properly handle run-test-prebuilt -> test-prebuilt migration
Reviewed-by: erikj
2020-02-17 08:59:26 +01:00
Aya Ebata
2f17073230 8237818: Typo in Unsafe: resposibility
Reviewed-by: ysuenaga
2020-02-17 11:12:24 +09:00
René Schünemann
0249cadd62 8238534: Deep sign macOS bundles before bundle archive is being created
Reviewed-by: erikj, clanger
2020-02-13 10:07:38 +01:00
Jie Fu
3c7858c285 8239110: Zero VM build fails after JDK-8203883
Reviewed-by: aph
2020-02-15 17:35:57 +08:00
Weijun Wang
c4681a95dc 8160818: GssKrb5Client violates RFC 4752
Reviewed-by: xuelei
2020-02-15 09:26:32 +08:00
Erik Gahlin
71ed4f276b 8238959: Add missing classpath exception to FileAcess and ConstantLookup
Reviewed-by: mgronlun
2020-02-14 23:33:48 +01:00
Joe Darcy
612342baaa 8239092: Provide explicit specification for getKind methods of javax.lang.model
Reviewed-by: jjg, prappo
2020-02-14 12:47:18 -08:00
Chris Plummer
110ef6f2c3 8238196: tests that use SA Attach should not be allowed to run against signed binaries on Mac OS X 10.14.5 and later
Reviewed-by: sspitsyn, iignatyev
2020-02-14 10:28:32 -08:00
Doug Simon
8119f836bf 8238758: [JVMCI] fix JVMCI jtreg events tests to work with GraalVM
Reviewed-by: kvn, dlong, never
2020-02-14 09:25:43 -08:00
Roland Westrelin
3bb62dc0d8 8236759: ShouldNotReachHere in PhaseIdealLoop::verify_strip_mined_scheduling
Reviewed-by: thartmann, neliasso
2020-01-13 10:00:30 +01:00
Nils Eliasson
18c01206d0 8203883: Remove State from InvocationCounters
Reviewed-by: redestad, thartmann
2020-02-12 20:53:48 +01:00
Claes Redestad
b4b8ead78b 8238863: Refactor out static initialization from Dict constructors
Reviewed-by: neliasso, dlong
2020-02-14 10:16:07 +01:00
John Jiang
945e42212d 8239025: ProblemList java/net/httpclient/HandshakeFailureTest.java due to JDK-8238990
Reviewed-by: chegar
2020-02-14 16:53:40 +08:00
Boris Ulasevich
485115d1b3 8231118: ARM32: Math tests failures
Reviewed-by: roland
2020-02-14 10:05:10 +03:00
Boris Ulasevich
416ac1d01e 8238643: ARM32 build fails after JDK-8230199
Reviewed-by: shade, lfoltan
2020-02-14 10:03:39 +03:00
Naoto Sato
27391005a5 8239017: cmp-baseline fails because of differences in TimeZoneNames_kea
Reviewed-by: erikj
2020-02-13 17:14:45 -08:00
Alex Menkov
bcb804f07f 8238710: LingeredApp doesn't log stdout/stderr if exits with non-zero code
Reviewed-by: cjplummer, sspitsyn
2020-02-13 13:43:09 -08:00
Jose Ziviani
b72e31b39f 8235791: [TESTBUG] Fix comment in TestElfDirectRead.java
Reviewed-by: dholmes, iklam
2020-02-13 16:01:46 -05:00
Kim Barrett
087074334d 8238867: Improve G1DirtyCardQueueSet::Queue::pop
Allow one of competing pops for last element to succeed.

Reviewed-by: iwalulya, sjohanss
2020-02-13 15:16:50 -05:00
Mikael Vidstedt
3c18ed58a1 8238932: Invalid tier1_gc_1 test group definition
Reviewed-by: kbarrett
2020-02-13 12:08:04 -08:00
Vicente Romero
4c707c1df3 8238838: spurious error message for compact constructors with throws clause
Reviewed-by: mcimadamore
2020-02-13 14:13:08 -05:00
Man Cao
f844943273 8234608: [TESTBUG] Fix G1 redefineClasses tests and a memory leak
Co-authored-by: Ian Rogers <irogers@google.com>
Co-authored-by: Thomas Schatzl <thomas.schatzl@oracle.com>
Reviewed-by: tschatzl, sjohanss
2020-02-13 10:54:07 -08:00
Joe Darcy
683a5b1197 8237805: Use inline @jls @jvms in core libs where appropriate
Reviewed-by: xiaofeya, dfuchs, prappo
2020-02-13 10:37:37 -08:00
Aleksey Shipilev
1ef862d03d 8239007: java/math/BigInteger/largeMemory/ tests should be disabled on 32-bit platforms
Reviewed-by: bpb
2020-02-13 19:22:32 +01:00
Stuart Marks
5b4d80d106 8046362: IdentityHashMap.hash comments should be clarified
Reviewed-by: aph, martin, rriggs
2020-02-13 10:00:33 -08:00
Frederic Parain
30707f8007 8238961: Assertion failure in new field layout code when ContendedPaddingWidth == 0
Reviewed-by: hseigel, coleenp
2020-02-13 11:23:17 -05:00
Aleksey Shipilev
a4616a7b49 8238896: Massive x86_32 crashes after JDK-7175279 (Don't use x87 FPU on x86-64)
Reviewed-by: thartmann, stuefe, vlivanov
2020-02-13 17:05:54 +01:00
Aleksey Shipilev
18b31b1f02 8238909: x86_32 fails gtest:power_of_2
Reviewed-by: stefank, redestad
2020-02-13 17:05:30 +01:00
Harold Seigel
d298a05d02 8238175: CTW: Class.getDeclaredMethods fails with assert(k->is_subclass_of(SystemDictionary::Throwable_klass())) failed: invalid exception class
Replace the assert with a logging message saying that the class is not a subclass of java.lang.Throwable

Reviewed-by: dholmes, coleenp
2020-02-13 15:43:59 +00:00
Christian Hagedorn
2ac2d590c2 8238811: C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges
Fix -XX:+VerifyGraphEdges by additionally handling ArrayCopyNodes and UnlockNodes and add some basic flag testing.

Reviewed-by: roland, neliasso
2020-02-13 15:08:08 +01:00
Christian Hagedorn
3ea92e735b 8238756: C2: assert(((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node
Fix -XX:+VerifyIterativeGVN due to a dead node and add some basic flag testing.

Reviewed-by: roland, neliasso
2020-02-13 15:07:45 +01:00
Christian Hagedorn
e2829b7b87 8237945: CTW: C2 compilation fails with assert(just_allocated_object(alloc_ctl) == ptr) failed: most recent allo
Removing too strong assertion about array allocation in LibraryCallKit::tightly_coupled_allocation().

Reviewed-by: thartmann, neliasso
2020-02-13 15:07:21 +01:00
Christian Hagedorn
8bdb972192 8238178: CTW: C1 compilation fails with assert(sux->loop_depth() != block->loop_depth() || sux->loop_index() == block->loop_index() || loop_through_xhandler) failed: Loop index has to be same
Fix verification of C1 IR involving xhandlers in one-time executed loops on the non-exceptional path.

Reviewed-by: thartmann, neliasso
2020-02-13 15:06:57 +01:00
Richard Reingruber
b0b8190ea2 8238782: Cleanup Deoptimization::deoptimize(): remove unused RegisterMap argument and don't update RegisterMap in callers if UseBiasedLocking is enabled
Reviewed-by: dholmes, kvn
2020-02-12 09:18:37 +01:00
John Jiang
446f59a26c 8234718: java/net/httpclient tests should cover TLSv1.3
Reviewed-by: dfuchs
2020-02-13 21:42:31 +08:00
Matthias Baesken
cafdbcc6ef 8237830: support O_CLOEXEC in os::open on other OS than Linux
Reviewed-by: dholmes, lucy
2020-02-13 09:18:46 +01:00
Thomas Schatzl
78f58c3e39 8238854: Remove superfluous C heap allocation failure checks
Reviewed-by: kbarrett, sjohanss
2020-02-13 11:00:40 +01:00
Jesper Wilhelmsson
00484e9446 Added tag jdk-15+10 for changeset 1bee69801aee 2020-02-13 03:02:02 +01:00
David Holmes
4e4d1f2b4d 8234372: Investigate use of Thread::stack_base() and queries for "in stack"
Reviewed-by: dcubed, stuefe
2020-02-12 20:19:50 -05:00
Kim Barrett
25c5a23695 8238272: Eliminate cast_from_oop to narrowOop*
Improved low address computation in ObjArrayKlass::oop_oop_iterate_range.

Reviewed-by: tschatzl, sjohanss
2020-02-12 15:38:48 -05:00
Roger Riggs
eccdd8e603 8238919: (doc) Broken code snippet in the java.util.stream package documentation
Reviewed-by: mchung, naoto
2020-02-12 15:06:39 -05:00
Igor Ignatyev
93241e5db7 8238930: problem list compiler/c2/Test8004741.java
Reviewed-by: kvn
2020-02-12 11:31:36 -08:00
Mikael Vidstedt
aa4ef80f6a 8238912: Update devkit for linux-aarch64
Reviewed-by: erikj
2020-02-12 09:44:53 -08:00
Naoto Sato
5c3a01591c 8234347: "Turkey" meta time zone does not generate composed localized names
8236548: Localized time zone name inconsistency between English and other locales

Reviewed-by: joehw, rriggs
2020-02-12 08:25:35 -08:00
Sean Mullan
2fbbce2b23 8191395: policy.allowSystemProperty and policy.expandProperties also apply to JAAS configurations
Reviewed-by: weijun
2020-02-12 10:28:59 -05:00
Roger Riggs
a239c475cf 8238918: idea.sh should work with both mercurial and git repos
Reviewed-by: erikj, mcimadamore, ehelin, lancea
2020-02-12 09:38:59 -05:00
Roman Kennke
411766b6bb 8238851: Shenandoah: C1: Resolve into registers of correct type
Reviewed-by: shade
2020-02-11 16:01:38 +01:00
Matthias Baesken
1e0167ef92 8238602: remove obsolete functions from libinstrument/FileSystemSupport_md.c
Reviewed-by: clanger, sspitsyn
2020-02-06 16:53:33 +01:00
Valerie Peng
c103a1bb69 8238448: RSASSA-PSS signature verification fail when using certain odd key sizes
Calculate and set offset for correct verification for such key sizes

Reviewed-by: xuelei
2020-02-12 02:44:45 +00:00
Valerie Peng
8969aeb16b Merge 2020-02-12 01:13:55 +00:00
Valerie Peng
fc3b42fc8e 8238898: Missing hash characters for header on license file
Fixed the typos and corrected the formatting

Reviewed-by: weijun
2020-02-12 01:11:59 +00:00
Valerie Peng
1f17842583 8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding
Removed killSession() calls in certain impl classes when cancelling operations

Reviewed-by: xuelei
2020-02-12 00:56:27 +00:00
Yumin Qi
c37ebcd730 8232069: Enable CDS even when UseCompressedClassPointers and/or UseCompressedOops are false
Fix to save UseCompressedOops and UseCompressedClassPointers in shared archive and at runtime run with CDS only if they are matched the stored versions.

Reviewed-by: iklam, ccheung
2020-02-11 12:16:23 -08:00
Pavel Rappo
56a7631555 8237909: Remove zipped index files feature
Reviewed-by: hannesw, jjg
2020-02-11 15:23:28 +00:00
Pavel Rappo
fff1a59cfa 8238291: Fix inconsistencies in the format of the index files
Reviewed-by: jjg
2020-02-11 13:19:12 +00:00
Vladimir Ivanov
898a903530 8238762: Optimized build is broken
Reviewed-by: coleenp
2020-02-11 14:55:45 +03:00
Vladimir Ivanov
5e9dc46d21 8238683: C2: Remove Use24BitFP and Use24BitFPMode flags
Reviewed-by: thartmann, neliasso
2020-02-11 14:55:44 +03:00
Vladimir Ivanov
74e68b4092 8238690: C2: Handle vector shifts by constant and non-constant scalar uniformly
Reviewed-by: thartmann, sviswanathan
2020-02-11 14:55:43 +03:00
Vladimir Ivanov
0d84fe9872 8238680: C2: Remove redundant AD instructions for Replicate nodes
Reviewed-by: thartmann, sviswanathan
2020-02-11 14:55:41 +03:00
Vladimir Ivanov
590f5996c6 8136414: Large performance penalty declaring a method strictfp on strict-only platforms
Reviewed-by: thartmann
2020-02-11 14:55:39 +03:00
Thomas Schatzl
c16040393c 8238160: Uniformize Parallel GC task queue variable names
Reviewed-by: kbarrett, sangheki
2020-02-11 12:48:25 +01:00
Patrick Zhang
1d42f083c1 8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10
Fixed libsctp link errors caused by GCC10 default -fno-common

Reviewed-by: chegar
2020-02-05 17:14:15 +08:00
Sergey Bylokhov
ddc851536c 8235739: Rare NPE at WComponentPeer.getGraphics()
Reviewed-by: dmarkov, aivanov
2019-12-13 18:39:30 -08:00
Sergey Bylokhov
76da2b777a 8235638: NPE in LWWindowPeer.getOnscreenGraphics()
Reviewed-by: dmarkov, aivanov
2019-12-13 18:37:48 -08:00
Gustavo Romero
1691abc747 8234599: PPC64: Add support on recent CPUs and Linux for JEP-352
Reviewed-by: mbaesken, mdoerr, adinn
2019-11-21 17:10:26 -03:00
Patrick Zhang
3ad9078968 8234228: AArch64: Some temp vars in string_compare intrinsics for processing the last 4 chars (LU/UL) are no use
Clean up redundant temp vars in generate_compare_long_string_different_encoding

Reviewed-by: adinn
2019-11-15 17:02:17 +08:00
Severin Gehwolf
d462a6b5c9 8230305: Cgroups v2: Container awareness
Implement Cgroups v2 container awareness in hotspot

Reviewed-by: bobv, dholmes
2019-11-07 17:11:59 +01:00
Pavel Rappo
71340f51fa 8236700: Upgrading JSZip from v3.1.5 to v3.2.2
Reviewed-by: hannesw, jjg
2020-01-17 12:25:37 +00:00
Coleen Phillimore
65354d838a 8236901: 8232759 missed a test case
Use jcmd GC.class-histogram because it also works for verifying that the classes are loaded.

Reviewed-by: dholmes, mseledtsov, iklam
2020-01-17 06:56:29 -05:00
Per Lidén
72609092fe 8237201: ZGC: Remove unused ZRelocationSetSelector::fragmentation()
Reviewed-by: tschatzl
2020-01-17 10:20:38 +01:00
Per Lidén
d98a39a0e7 8237200: ZGC: Rename ZBackingPath to ZMountPoint
Reviewed-by: stefank, eosterlund, smonteith
2020-01-17 10:20:38 +01:00
Per Lidén
74f0ef5050 8237199: ZGC: Rename ZBackingFile to ZPhysicalMemoryBacking
Reviewed-by: stefank, eosterlund, smonteith
2020-01-17 10:20:38 +01:00
Per Lidén
c6dc3308a1 8237198: ZGC: Share multi-mapping code in ZBackingFile
Reviewed-by: stefank, eosterlund, smonteith
2020-01-17 10:20:37 +01:00
Fairoz Matte
a4b3e781fe 8236701: [TESTBUG] compiler/loopopts/superword/Vec_MulAddS2I.java uses wrong flag -XX:-SuperWord
Reviewed-by: iklam, thartmann
2020-01-16 17:37:09 -08:00
Nick Gasson
18d73cb8e5 8236992: AArch64: remove redundant load_klass in itable stub
Reviewed-by: aph, adinn
2020-01-17 09:30:52 +08:00
Masanori Yano
567465c62c 8216012: Infinite loop in RSA KeyPairGenerator
Check and error out on even RSA public exponents

Reviewed-by: valeriep
2020-01-17 01:05:27 +00:00
Zhengyu Gu
0b2da9e239 8236878: Use atomic instruction to update StringDedupTable's entries and entries_removed counters
Reviewed-by: rkennke, shade
2020-01-16 18:36:24 -05:00
Alexey Semenyuk
163875d24b 8236132: Add missing properties to msi installers
Reviewed-by: herrick, almatvee
2020-01-16 08:28:21 -05:00
Alexey Semenyuk
a544090944 8232077: Investigate if default behavior should allow downgrade scenario
Reviewed-by: herrick, almatvee
2020-01-16 08:25:46 -05:00
Alexey Semenyuk
bd1eff9e32 8233578: Document configurable parameters of msi packages
Reviewed-by: herrick, almatvee
2020-01-16 12:12:02 -05:00
Daniil Titov
75912b7aaa 8236873: Worker has a deadlock bug
Reviewed-by: dfuchs, dholmes, sspitsyn
2020-01-16 09:53:03 -08:00
Harold Seigel
7fc58a1020 8235678: Remove unnecessary calls to Thread::current() in MutexLocker calls
Add THREAD argument when available and make Thread* the first argument to relevant MutexLocker and MonitorLocker constructors

Reviewed-by: lfoltan, coleenp, dholmes
2020-01-16 13:48:23 +00:00
Igor Ignatyev
e2240b714e 8236111: narrow allowSmartActionArgs disabling
Reviewed-by: dholmes, mullan, darcy, rriggs
2020-01-15 21:20:40 -08:00
Jesper Wilhelmsson
51d5164ca2 Merge 2020-01-16 04:09:50 +01:00
Jesper Wilhelmsson
76e420d790 Added tag jdk-15+6 for changeset ef7d53b4fccd 2020-01-16 03:19:32 +01:00
Fei Yang
a86e196559 8235762: JVM crash in SWPointer during C2 compilation
Reviewed-by: thartmann, chagedorn, neliasso
2020-01-09 19:12:16 +08:00
Joe Darcy
e80a188257 8235959: Update --release 14 symbol information up to JDK 14 b31
Reviewed-by: jjg
2020-01-15 15:11:09 -08:00
Aleksey Shipilev
abfab9e0a7 8237223: Shenandoah: important flags should not be ergonomic for concurrent class unloading
Reviewed-by: zgu
2020-01-15 21:38:12 +01:00
Jaikiran Pai
ec5869eb2e 7143743: Potential memory leak with zip provider
Reviewed-by: lancea, clanger, alanb
2020-01-15 15:24:54 -05:00
Jesper Wilhelmsson
d34f561de0 Merge 2020-01-15 20:41:46 +01:00
Vicente Romero
eb6fa14ee6 8237214: fix for JDK-8236597 reintroduced wrong subexpression
Reviewed-by: mcimadamore
2020-01-15 14:32:08 -05:00
Jonathan Gibbons
642037eee8 8223536: jdk/javadoc/doclet/MetaTag/MetaTag.java still fails when run across midnight
Reviewed-by: prappo
2020-01-15 11:21:48 -08:00
Aleksey Shipilev
45bc3871f5 8237217: Incorrect G1StringDedupEntry type used in StringDedupTable destructor
Reviewed-by: kbarrett, zgu
2020-01-15 20:04:51 +01:00
Daniil Titov
c0b4e0cb25 8213222: remove RMIConnectorServer.CREDENTIAL_TYPES
Reviewed-by: dfuchs, alanb
2020-01-15 10:54:34 -08:00
Severin Gehwolf
7b5de56fc3 8236921: Add build target to produce a JDK image suitable for a Graal/SVM build
Make graal-builder-image will produce a suitable build JDK

Reviewed-by: erikj
2019-12-16 11:06:01 +01:00
Vicente Romero
ff77d06f17 8236597: issues inferring type annotations on records
Reviewed-by: mcimadamore
2020-01-15 10:45:03 -05:00
Coleen Phillimore
c0dce25756 8236917: TestInstanceKlassSize.java fails with "The size computed by SA for java.lang.Object does not match"
Use getTestJavaOpts() instead of getVmOptions() because of mach5 configuration settings.

Reviewed-by: lmesnik, cjplummer, dholmes
2020-01-15 08:11:03 -05:00
Coleen Phillimore
7707e32b00 8236968: jmap -clstats fails to work after JDK-8232759
Make jmap -clstats call jcmd VM.classloader_stats instead which better matches the documentation

Reviewed-by: dholmes, cjplummer
2020-01-15 08:08:54 -05:00
Roland Westrelin
8d2e11397a 8237007: Shenandoah: assert(_base == Tuple) failure during C2 compilation
Reviewed-by: thartmann, rkennke
2020-01-09 17:26:26 +01:00
Tobias Hartmann
f243173a18 8236721: C2 should better optimize not-equal integer comparisons
Narrow the type if an integer value is found to be unequal to it's lower/upper boundary.

Reviewed-by: roland, neliasso
2020-01-15 08:44:53 +01:00
Pengfei Li
e4aa87b816 8230591: AArch64: Missing intrinsics for Math.ceil, floor, rint
Reviewed-by: aph
2020-01-15 13:24:51 +08:00
Mikael Vidstedt
b63b9a2edb 8237182: Update copyright header for shenandoah and epsilon files
Reviewed-by: iignatyev, zgu
2020-01-14 19:27:03 -08:00
Vicente Romero
ddcac6f066 8236682: Javac generates a redundant FieldRef constant for record fields
Reviewed-by: mcimadamore
2020-01-14 21:49:43 -05:00
Brian Burkhalter
833a3897dc 8225603: Enhancement for big integers
Reviewed-by: darcy, ahgross, rhalade
2019-10-29 14:07:27 -07:00
Stuart Marks
14c0c19539 8224549: Less Blocking Array Queues
Reviewed-by: bchristi, rhalade, rriggs, mschoene, robm
2020-01-21 16:53:01 -08:00
Brent Christian
d7136cd430 8224541: Better mapping of serial ENUMs
Reviewed-by: mschoene, rhalade, robm, rriggs, smarks
2020-01-21 10:56:30 -08:00
Anton Litvinov
e4f4e8eda1 8233250: Better X11 rendering
Reviewed-by: prr, rhalade, mschoene, serb
2020-01-16 15:08:19 +00:00
Brian Burkhalter
f711ce40ba 8234841: Enhance buffering of byte buffers
Reviewed-by: alanb, ahgross, rhalade, psandoz
2019-12-18 07:21:23 -08:00
Xue-Lei Andrew Fan
f476138133 8235691: Enhance TLS connectivity
Reviewed-by: jnimeh, rhalade, ahgross
2019-12-17 12:55:36 -08:00
Michael McMahon
8e5af26326 8234825: Better Headings for HTTP Servers
Reviewed-by: chegar, dfuchs, igerasim
2019-12-16 15:13:19 +00:00
Roger Riggs
2309ac529c 8235274: Enhance typing of methods
Reviewed-by: jrose, psandoz, skoivu
2019-12-13 11:23:50 -05:00
Erik Joelsson
4df99aa7ae 8226346: Build better binary builders
Reviewed-by: tbell
2019-12-13 08:27:51 -08:00
Erik Joelsson
0a73d5b7b1 8233410: Better Build Scripting
Reviewed-by: tbell, jwilhelm
2019-12-12 15:38:36 -08:00
Weijun Wang
c182379f32 8234027: Better JCEKS key support
Reviewed-by: ahgross, mullan, rriggs, rhalade
2019-12-11 16:35:43 +08:00
Daniel Fuchs
ad09813035 8233245: More adaptive sockets
Reviewed-by: chegar, igerasim, alanb, skoivu, rhalade
2019-12-09 20:33:15 +00:00
Vladimir Ivanov
2ea157fee1 8227467: Better class method invocations
Reviewed-by: thartmann, dholmes, ahgross
2019-12-03 19:31:20 +03:00
Xue-Lei Andrew Fan
72c7b49b0a 8234408: Improve TLS session handling
Reviewed-by: ascarpino, jjiang, ahgross, ssahoo, mullan
2019-11-25 09:50:30 -08:00
Hannes Wallnöfer
3dd1fd2964 8223904: Improve Nashorn matching
Reviewed-by: jlaskey, sundar, mschoene, rhalade
2019-11-15 19:10:43 +01:00
Alex Menkov
3bbc499f06 8227542: Manifest improved jar headers
Reviewed-by: sspitsyn, mschoene
2019-11-14 15:06:11 -08:00
Hannes Wallnöfer
0e4b718a25 8223898: Forward references to Nashorn
Reviewed-by: sundar, mschoene, rhalade
2019-11-06 17:13:21 +01:00
Jamil Nimeh
740e70ba17 8232581: Improve TLS verification
Reviewed-by: xuelei, rhalade, mschoene
2019-10-30 13:15:21 -07:00
Xue-Lei Andrew Fan
e6304dcaad 8232424: More constrained algorithms
Reviewed-by: jnimeh, rhalade, ahgross
2019-10-28 10:43:58 -07:00
Ivan Gerasimov
6c16f55fde 8231785: Improved socket permissions
Reviewed-by: ahgross, chegar, mullan, rhalade
2019-10-23 17:03:07 -07:00
Xue-Lei Andrew Fan
123febeb98 8229733: TLS message handling improvements
Reviewed-by: jnimeh, rhalade, ahgross
2019-10-20 13:42:44 -07:00
Sean Mullan
9efd3d7f20 8231415: Better signatures in XML
Reviewed-by: weijun, mschoene, rhalade
2019-10-15 08:18:48 -04:00
Patrick Zhang
8c1efbe38b 8229351: AArch64: the const STUB_THRESHOLD in macroAssembler_aarch64.cpp needs to be tuned
Optimize the stub thresholds of string_compare intrinsics

Reviewed-by: adinn, aph, avoitylov
2019-08-12 16:22:24 +08:00
Alan Bateman
27e0cdf12d 8236184: (dc) IP_MULTICAST_* and IP_TOS socket options not effective
Reviewed-by: dfuchs
2019-12-19 08:36:40 +00:00
Matthias Baesken
75cd193aac 8236183: cleanup Java_jdk_internal_reflect_Reflection_getCallerClass naming
Reviewed-by: alanb, dholmes, redestad
2019-12-18 15:10:10 +01:00
Jesper Wilhelmsson
14591108c7 Added tag jdk-15+2 for changeset f33197adda9a 2019-12-19 03:48:14 +01:00
Nick Gasson
aea0a57512 8234794: AArch64: runtime/memory/ReadFromNoaccessArea.java crashes
Try to map CDS shared space at 4G aligned address on AArch64

Reviewed-by: adinn, aph, jiangli, iklam
2019-12-19 09:47:33 +08:00
Daniel D. Daugherty
03c3f174ae 8236226: fix merge error in src/hotspot/share/gc/z/zRootsIterator.cpp
Reviewed-by: dholmes, kbarrett
2019-12-18 18:22:52 -05:00
Jesper Wilhelmsson
e788e6dd46 Merge 2019-12-18 23:46:55 +01:00
Jonathan Gibbons
c670ebb56b 8236030: Cleanup use of String.toCharArray
Reviewed-by: ksrini, hannesw, igerasim
2019-12-18 12:14:01 -08:00
Jonathan Gibbons
dc5728ed95 8235947: Cleanup/simplify Utils.getBlockTags
Reviewed-by: prappo, hannesw
2019-12-18 11:57:07 -08:00
Jatin Bhateja
a3c0f4c804 8235825: C2: Merge AD instructions for Replicate nodes
Reviewed-by: vlivanov, sviswanathan, jrose, kvn
2019-12-18 21:25:40 +03:00
Jatin Bhateja
7840d02140 8235824: C2: Merge AD instructions for AddReductionV and MulReductionV nodes
Reviewed-by: vlivanov, sviswanathan, jrose, kvn
2019-12-18 21:25:38 +03:00
Lance Andersen
ab7cfde85c 8229888: (zipfs) Updating an existing zip file does not preserve original permissions
Reviewed-by: clanger, alanb, bpb
2019-12-18 12:03:56 -05:00
Kiran Sidhartha Ravikumar
a1b2e1042c 5064980: URI compareTo inconsistent with equals for mixed-case escape sequences
Reviewed-by: chegar, dfuchs
2019-12-17 16:06:27 +00:00
Calvin Cheung
fae788a200 8235563: [TESTBUG] appcds/CommandLineFlagComboNegative.java does not handle archive mapping failure
Use the assertAbnormalExit method of the CDSTestUtils.Result class to handle archive mapping failure.

Reviewed-by: iklam
2019-12-17 16:46:37 -08:00
Pavel Rappo
bdaa9c6a1c 8236077: Clean up the use of modifiers and semicolons
Reviewed-by: jjg
2019-12-17 21:50:17 +00:00
Jonathan Gibbons
a1d396c6cb 8235926: Update @jls @jvms taglets to allow inline usage
Reviewed-by: hannesw
2019-12-17 13:07:44 -08:00
Alexey Semenyuk
df75426b4f 8236134: files missing in putback to JDK-8233270
Reviewed-by: herrick, prr, almatvee
2019-12-17 15:52:20 -05:00
Daniel D. Daugherty
b4459723ad 8236130: ProblemList jdk/jfr/jmx/security/TestEnoughPermission.java
Reviewed-by: mikael
2019-12-17 15:38:22 -05:00
Vicente Romero
ba9d4ad45a 8234971: Incorrect example in j.l.reflect.RecordComponent::toString
Reviewed-by: jjg
2019-12-17 14:11:26 -05:00
Alexey Semenyuk
14459b2ad2 8233270: Add support to jtreg helpers to unpack packages
8230933: Default icon is not set for additional launchers

Reviewed-by: herrick, prr, almatvee
2019-12-17 13:56:47 -05:00
Roman Kennke
0743555685 8236106: [TESTBUG] Shenandoah: Make TestThreadFailure more resilient
Reviewed-by: zgu
2019-12-17 18:23:33 +01:00
Mikhailo Seledtsov
d5a8e018d5 8235454: [TESTBUG] Basic test for JFR event streaming for jdk_jfr_sanity
Created basic test for JFR event streaming

Reviewed-by: egahlin, iignatyev
2019-12-17 08:42:23 -08:00
John Paul Adrian Glaubitz
4e68ac9b15 8235960: Zero should not trigger the deprecation warning for ports
Reviewed-by: mikael
2019-12-17 16:53:44 +01:00
Jesper Wilhelmsson
fa070554cb Merge 2019-12-17 16:29:30 +01:00
Daniel Fuchs
e16d4a45b0 8235925: java/net/Socket/HttpProxy.java fails on IPv4 only hosts and other small cleanups
HttpProxy test is fixed to take into account the possibility that the host may be configured with IPv4 only

Reviewed-by: chegar
2019-12-17 16:11:16 +01:00
Andy Herrick
ee5777c700 8235915: jpackage associations fail when there are spaces in file name or path
Reviewed-by: prr, asemenyuk, almatvee
2019-12-17 09:02:13 -05:00
Claes Redestad
3f865f4bf2 8235997: JMH test runner should quote VM_OPTIONS and JAVA_OPTIONS sent to -jvmArgs
Reviewed-by: erikj
2019-12-17 15:09:30 +01:00
Andy Herrick
9b2bbd3df4 8235667: IOUtils.copyFile() problems
Reviewed-by: rriggs, asemenyuk, almatvee
2019-12-17 08:56:52 -05:00
Weijun Wang
010ac54044 8236070: Backout fix for JDK-8234465
Reviewed-by: mullan
2019-12-17 20:56:53 +08:00
Per Lidén
bd6ab22a59 8235905: ZGC: Rework how ZRootsIterator visits threads
Reviewed-by: stefank
2019-12-17 11:37:55 +01:00
Thomas Schatzl
dcb17bad55 8235996: Move obsolete flag G1RSetScanBlockSize in flags list
Reviewed-by: sjohanss, lkorinth
2019-12-17 10:12:41 +01:00
Matthias Baesken
9a31ab8862 8235671: enhance print_rlimit_info in os_posix
Reviewed-by: clanger, mdoerr
2019-12-10 16:55:14 +01:00
Ioi Lam
83cb7044e9 8236028: [TESTBUG] Remove dependency of sun.tools.jar from appcds/JarBuilder
Reviewed-by: ccheung
2019-12-16 21:24:00 -08:00
Weijun Wang
31b07b21ae 8234465: Encoded elliptic curve private keys should include the public point
Reviewed-by: xuelei
2019-12-17 09:38:30 +08:00
Ioi Lam
924720f6fc 8236045: [TESTBUG] MismatchedWhiteBox test fails with missing WhiteBox$WhiteBoxPermission.class
Reviewed-by: ccheung
2019-12-16 15:20:02 -08:00
Thomas Schatzl
bc97279caf 8235907: Fix tests referencing UseParallelOldGC
Remove tests using the obsolete UseParallelOldGC flag.

Reviewed-by: lkorinth, dlong
2019-12-16 23:07:37 +01:00
Vicente Romero
89e0d29101 8235778: No compilation error reported when a record is declared in a local class
Reviewed-by: mcimadamore
2019-12-16 15:33:03 -05:00
Ioi Lam
1b4b652408 8235970: [TESTBUG] Remove dependency of sun.tools.jar from RedefineClassHelper
Reviewed-by: alanb
2019-12-16 10:04:36 -08:00
Ioi Lam
8b2453f93b 8199290: [TESTBUG] sun.hotspot.WhiteBox$WhiteBoxPermission is not copied
Reviewed-by: iignatyev, dholmes
2019-12-16 10:03:42 -08:00
Jesper Wilhelmsson
83163dbfe6 Merge 2019-12-16 17:43:20 +01:00
Claes Redestad
820e1a7e14 8235956: Remove javaClasses offset tests
Reviewed-by: dholmes, coleenp
2019-12-16 13:40:22 +01:00
Matthias Baesken
5e85366785 8234968: check calloc rv in libinstrument InvocationAdapter
Reviewed-by: clanger, stuefe, sspitsyn
2019-11-29 08:00:36 +01:00
David Holmes
9555be71a5 8235965: Tests using ThreadLocalHandshakes need to stop using it as it no longer exists
Reviewed-by: iignatyev, jiefu
2019-12-15 21:56:17 -05:00
David Holmes
bf9bc1f320 8231559: Remove expired flags in JDK 15
Reviewed-by: kbarrett, kvn
2019-12-15 19:56:12 -05:00
Ivan Gerasimov
f82e4b1b76 8235930: java.util.regex.PrintPattern does not print a link to the next node
Reviewed-by: martin
2019-12-15 09:33:50 -08:00
Weijun Wang
1ae2478404 8234697: Generate sun.security.util.math.intpoly classes during build
Reviewed-by: erikj, mullan
2019-12-14 13:50:34 +08:00
Harold Seigel
6ccfc65ec3 8235922: [TESTBUG]TestRecordAttrGenericSig.java and TestRecordAttr.java are failing
Replace hard-wired JDK version 14 with mechanisms that get the latest JDK version.

Reviewed-by: dcubed
2019-12-13 19:50:43 +00:00
Jonathan Gibbons
3c0e2b4e16 8235306: Support doc-comment tags that can be inline or block tags
Reviewed-by: hannesw
2019-12-13 10:42:57 -08:00
Aleksei Voitylov
4d1176fd60 8231612: 100% cpu on arm32 in Service Thread
Reviewed-by: kbarrett, dsamersoff
2019-12-13 20:35:10 +03:00
Naoto Sato
20b1410d0c 8235238: Parsing a time string ignores any custom TimeZoneNameProvider
Reviewed-by: joehw, rriggs
2019-12-13 08:17:28 -08:00
Patricio Chilano Mateo
57ece4c21a 8232733: Remove need to grab Threads_lock while processing handshakes
Threads_lock is not acquired anymore while processing handshakes

Reviewed-by: coleenp, rehn, dcubed, dholmes
2019-12-13 14:28:22 +00:00
Sibabrata Sahoo
94e8d6eca4 8234728: Some security tests should support TLSv1.3
Tests were updated to support TLSv1.3 and cipher suite order

Reviewed-by: xuelei
2019-12-12 22:47:24 -08:00
Martin Balao
4fa827ec92 8005819: Support cross-realm MSSFU
Reviewed-by: weijun
2019-12-11 15:43:42 -03:00
Jesper Wilhelmsson
06ecbfd3da Added tag jdk-15+1 for changeset 63e17cf29bed 2019-12-13 02:49:52 +01:00
Pavel Rappo
71da14104a 8235447: Remove (obsolete) @author info from javadoc tests
Reviewed-by: ksrini, jjg
2019-12-12 21:11:49 +00:00
Zhengyu Gu
9b4539886c 8235842: Shenandoah: Implement native LRB for narrow oop
Reviewed-by: rkennke
2019-12-12 15:20:53 -05:00
Joe Darcy
2d2383bf32 8230771: Remove terminally deprecated constructors in java.base
Additional review input from Victor Williams Stafusa da Silva

Reviewed-by: lancea, chegar, mchung, smarks, dfuchs
2019-12-12 11:39:49 -08:00
Joe Darcy
74882b0d0d 8235514: Update record serialization tests to not use hard coded source versions
Reviewed-by: lancea
2019-12-12 11:31:05 -08:00
Joe Darcy
890826bf5b 8225361: Start of release updates for JDK 15
8235497: Add SourceVersion.RELEASE_15
8235528: Add source 15 and target 15 to javac

Reviewed-by: erikj, jjg, jlahoda, dholmes, alanb, hseigel, mikael, chegar
2019-12-10 16:38:53 -08:00
Roman Kennke
8a54d97a4d 8234974: Shenandoah: Do concurrent roots even when no evacuation is necessary
Reviewed-by: zgu
2019-12-12 18:34:30 +01:00
Jesper Wilhelmsson
e4c332cd92 Added tag jdk-15+0 for changeset 2c724dba4c3c 2019-12-12 17:06:21 +01:00
14034 changed files with 1052637 additions and 1296004 deletions

1
.gitignore vendored
View File

@@ -1,6 +1,7 @@
/build/
/dist/
/.idea/
/.vscode/
nbproject/private/
/webrev
/.src-rev

View File

@@ -1,6 +1,7 @@
^build/
^dist/
^.idea/
^.vscode/
nbproject/private/
^webrev
^.src-rev$

31
.hgtags
View File

@@ -599,15 +599,42 @@ c16ac7a2eba4e73cb4f7ee9294dd647860eebff0 jdk-14+21
438337c846fb071900ddb6922bddf8b3e895a514 jdk-14+24
17d242844fc9e7d18b3eac97426490a9c246119e jdk-14+25
288777cf0702914e5266bc1e5d380eed9032ca41 jdk-14+26
2c724dba4c3cf9516b2152e151c9aea66b21b30b jdk-15+0
91a3f092682fc715d991a87eb6ec6f28886d2035 jdk-14+27
63e17cf29bed191ea21020b4648c9cdf893f80f5 jdk-15+1
2069b4bfd23b56b6fc659fba8b75aaaa23debbe0 jdk-14+28
f33197adda9ad82fdef46ac0f7dc0126204f35b2 jdk-15+2
563fa900fa17c290ae516c7a3a69e8c069dde304 jdk-14+29
d05fcdf25717d85e80a3a39a6b719458b22be5fe jdk-15+3
d54ce919da90dab361995bb4d87be9851f00537a jdk-14+30
d54ce919da90dab361995bb4d87be9851f00537a jdk-14+31
d54ce919da90dab361995bb4d87be9851f00537a jdk-14+31
bb0a7975b31ded63d594ee8dbfc4d4ead587f79b jdk-15+4
decd3d2953b640f1043ee76953ff89238bff92e8 jdk-14+31
b97c1773ccafae4a8c16cc6aedb10b2a4f9a07ed jdk-15+5
2776da28515e087cc8849acf1e131a65ea7e77b6 jdk-14+32
ef7d53b4fccd4a0501b17d974e84f37aa99fa813 jdk-15+6
f728b6c7f4910d6bd6070cb4dde8393f4ba95113 jdk-14+33
e2bc57500c1b785837982f7ce8af6751387ed73b jdk-15+7
a96bc204e3b31ddbf909b20088964112f052927e jdk-14+34
c7d4f2849dbfb755fc5860b362a4044ea0c9e082 jdk-15+8
4a87bb7ebfd7f6a25ec59a5982fe3607242777f8 jdk-14+35
62b5bfef8d618e08e6f3a56cf1fb0e67e89e9cc2 jdk-15+9
bc54620a3848c26cff9766e5e2a6e5ddab98ed18 jdk-14+36
1bee69801aeea1a34261c93f35bc9de072a98704 jdk-15+10
b2dd4028a6de4e40dda8b76109e4b5c6b294f980 jdk-15+11
2ec0ff3042630ddbd3587e340fe0dd40391cb6c4 jdk-15+12
1c06a8ee8acad4d93c782626a233693a73de0add jdk-15+13
1d6ceb13e142665ea833fca01c8c8598e0ddd211 jdk-15+14
bc54620a3848c26cff9766e5e2a6e5ddab98ed18 jdk-14-ga
82b7c62cf4cc56828a8fb724f57087967232a2a7 jdk-15+15
5c7ec21f5d13f6eb5cd32288c69b8be2f9cac256 jdk-15+16
dd5198db2e5b1ebcafe065d987c03ba9fcb50fc3 jdk-15+17
44aef192b488a48cce12422394691a6b1d16b98e jdk-15+18
7cc27caabe6e342151e8baf549beb07a9c755ec2 jdk-15+19
46bca5e5e6fb26efd07245d26fe96a9c3260f51e jdk-15+20
12b55fad80f30d24b1f8fdb3b947ea6465ef9518 jdk-15+21
7223c6d610343fd8323af9d07d501e01fa1a7696 jdk-15+22
f143729ca00ec14a98ea5c7f73acba88da97746e jdk-15+23
497fd9f9129c4928fd5a876dd55e0daf6298b511 jdk-15+24
58833044988772ca06c97ab2f142474a8627af80 jdk-15+25
58833044988772ca06c97ab2f142474a8627af80 jdk-15+25
90b266a84c06f1b3dc0ed8767856793e8c1c357e jdk-15+25

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2009, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -74,7 +74,7 @@ if [ "x$TOPLEVEL_DIR" = "x" ] ; then
fi
MAKE_DIR="$SCRIPT_DIR/../make"
IDEA_MAKE="$MAKE_DIR/idea"
IDEA_MAKE="$MAKE_DIR/ide/idea/jdk"
IDEA_TEMPLATE="$IDEA_MAKE/template"
cp -r "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
@@ -113,6 +113,14 @@ if [ "x$SPEC" = "x" ] ; then
echo "FATAL: SPEC is empty" >&2; exit 1
fi
if [ -d "$TOPLEVEL_DIR/.hg" ] ; then
VCS_TYPE="hg4idea"
fi
if [ -d "$TOPLEVEL_DIR/.git" ] ; then
VCS_TYPE="Git"
fi
### Replace template variables
NUM_REPLACEMENTS=0
@@ -137,6 +145,7 @@ add_replacement() {
}
add_replacement "###MODULE_NAMES###" "$MODULE_NAMES"
add_replacement "###VCS_TYPE###" "$VCS_TYPE"
SPEC_DIR=`dirname $SPEC`
if [ "x$CYGPATH" = "x" ]; then
add_replacement "###BUILD_DIR###" "$SPEC_DIR"
@@ -188,13 +197,15 @@ CP=$ANT_HOME/lib/ant.jar
rm -rf $CLASSES; mkdir $CLASSES
if [ "x$CYGPATH" = "x" ] ; then ## CYGPATH may be set in env.cfg
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/JdkIdeaAntLogger.java
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java
JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src
JAVAC_CLASSES=$CLASSES
JAVAC_CP=$CP
else
JAVAC_SOURCE_FILE=`cygpath -am $IDEA_OUTPUT/src/idea/JdkIdeaAntLogger.java`
JAVAC_SOURCE_FILE=`cygpath -am $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
JAVAC_SOURCE_PATH=`cygpath -am $IDEA_OUTPUT/src`
JAVAC_CLASSES=`cygpath -am $CLASSES`
JAVAC_CP=`cygpath -am $CP`
fi
$BOOT_JDK/bin/javac -d $JAVAC_CLASSES -cp $JAVAC_CP $JAVAC_SOURCE_FILE
$BOOT_JDK/bin/javac -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -58,7 +58,6 @@ src/jdk.compiler : jdk/src/jdk.compiler langtools/src/jdk.compiler
src/jdk.crypto.cryptoki : jdk/src/jdk.crypto.cryptoki
src/jdk.crypto.ec : jdk/src/jdk.crypto.ec
src/jdk.crypto.mscapi : jdk/src/jdk.crypto.mscapi
src/jdk.crypto.ucrypto : jdk/src/jdk.crypto.ucrypto
src/jdk.dynalink : nashorn/src/jdk.dynalink
src/jdk.editpad : jdk/src/jdk.editpad
src/jdk.hotspot.agent : hotspot/src/jdk.hotspot.agent
@@ -88,7 +87,6 @@ src/jdk.naming.dns : jdk/src/jdk.naming.dns
src/jdk.naming.rmi : jdk/src/jdk.naming.rmi
src/jdk.net : jdk/src/jdk.net
src/jdk.pack : jdk/src/jdk.pack
src/jdk.rmic : corba/src/jdk.rmic jdk/src/jdk.rmic
src/jdk.scripting.nashorn : nashorn/src/jdk.scripting.nashorn
src/jdk.scripting.nashorn.shell : nashorn/src/jdk.scripting.nashorn.shell
src/jdk.sctp : jdk/src/jdk.sctp
@@ -102,13 +100,11 @@ src/jdk.zipfs : jdk/src/jdk.zipfs
src/langtools/sample : langtools/src/sample
src/linux : jdk/src/linux
src/sample : jdk/src/sample
src/solaris : jdk/src/solaris
src/hotspot/share : hotspot/src/share/vm
src/hotspot/cpu/aarch64 : hotspot/src/cpu/aarch64/vm
src/hotspot/cpu/arm : hotspot/src/cpu/arm/vm
src/hotspot/cpu/ppc : hotspot/src/cpu/ppc/vm
src/hotspot/cpu/s390 : hotspot/src/cpu/s390/vm
src/hotspot/cpu/sparc : hotspot/src/cpu/sparc/vm
src/hotspot/cpu/x86 : hotspot/src/cpu/x86/vm
src/hotspot/cpu/zero : hotspot/src/cpu/zero/vm
src/hotspot/os/aix : hotspot/src/os/aix/vm
@@ -116,7 +112,6 @@ src/hotspot/os/bsd : hotspot/src/os/bsd/vm
src/hotspot/os/linux : hotspot/src/os/linux/vm
src/hotspot/os/posix/dtrace : hotspot/src/os/posix/dtrace
src/hotspot/os/posix : hotspot/src/os/posix/vm
src/hotspot/os/solaris : hotspot/src/os/solaris/vm
src/hotspot/os/windows : hotspot/src/os/windows/vm
src/hotspot/os_cpu/aix_ppc : hotspot/src/os_cpu/aix_ppc/vm
src/hotspot/os_cpu/bsd_x86 : hotspot/src/os_cpu/bsd_x86/vm
@@ -125,11 +120,8 @@ src/hotspot/os_cpu/linux_aarch64 : hotspot/src/os_cpu/linux_aarch64/vm
src/hotspot/os_cpu/linux_arm : hotspot/src/os_cpu/linux_arm/vm
src/hotspot/os_cpu/linux_ppc : hotspot/src/os_cpu/linux_ppc/vm
src/hotspot/os_cpu/linux_s390 : hotspot/src/os_cpu/linux_s390/vm
src/hotspot/os_cpu/linux_sparc : hotspot/src/os_cpu/linux_sparc/vm
src/hotspot/os_cpu/linux_x86 : hotspot/src/os_cpu/linux_x86/vm
src/hotspot/os_cpu/linux_zero : hotspot/src/os_cpu/linux_zero/vm
src/hotspot/os_cpu/solaris_sparc : hotspot/src/os_cpu/solaris_sparc/vm
src/hotspot/os_cpu/solaris_x86 : hotspot/src/os_cpu/solaris_x86/vm
src/hotspot/os_cpu/windows_x86 : hotspot/src/os_cpu/windows_x86/vm
src/hotspot : hotspot/src
src/utils/IdealGraphVisualizer : hotspot/src/share/tools/IdealGraphVisualizer
@@ -140,7 +132,6 @@ src/utils/src/build : jdk/make/non-build-utils/src/build
make/BuildNashorn.gmk : nashorn/make/BuildNashorn.gmk
make/CompileDemos.gmk : jdk/make/CompileDemos.gmk
make/CompileInterimLangtools.gmk : langtools/make/CompileInterim.gmk
make/CompileInterimRmic.gmk : jdk/make/CompileInterimRmic.gmk
make/CompileModuleTools.gmk : jdk/make/CompileModuleTools.gmk
make/CompileToolsHotspot.gmk : hotspot/make/CompileTools.gmk
make/CompileToolsJdk.gmk : jdk/make/CompileTools.gmk
@@ -180,7 +171,6 @@ make/mapfiles/libjvm_dtrace : hotspot/make/mapfiles/libjvm_dtrace
make/mapfiles/libsaproc : hotspot/make/mapfiles/libsaproc
make/nashorn : nashorn/make
make/nb_native : common/nb_native
make/rmic : jdk/make/rmic
make/scripts/addNotices.sh : jdk/make/scripts/addNotices.sh
make/scripts/compare.sh : common/bin/compare.sh
make/scripts/compare_exceptions.sh.incl : common/bin/compare_exceptions.sh.incl

View File

@@ -30,13 +30,11 @@
</ul></li>
<li><a href="#build-hardware-requirements">Build Hardware Requirements</a><ul>
<li><a href="#building-on-x86">Building on x86</a></li>
<li><a href="#building-on-sparc">Building on sparc</a></li>
<li><a href="#building-on-aarch64">Building on aarch64</a></li>
<li><a href="#building-on-32-bit-arm">Building on 32-bit arm</a></li>
</ul></li>
<li><a href="#operating-system-requirements">Operating System Requirements</a><ul>
<li><a href="#windows">Windows</a></li>
<li><a href="#solaris">Solaris</a></li>
<li><a href="#macos">macOS</a></li>
<li><a href="#linux">Linux</a></li>
<li><a href="#aix">AIX</a></li>
@@ -45,7 +43,6 @@
<li><a href="#gcc">gcc</a></li>
<li><a href="#clang">clang</a></li>
<li><a href="#apple-xcode">Apple Xcode</a></li>
<li><a href="#oracle-solaris-studio">Oracle Solaris Studio</a></li>
<li><a href="#microsoft-visual-studio">Microsoft Visual Studio</a></li>
<li><a href="#ibm-xl-cc">IBM XL C/C++</a></li>
</ul></li>
@@ -157,18 +154,15 @@
<p>The JDK is a massive project, and require machines ranging from decent to powerful to be able to build in a reasonable amount of time, or to be able to complete a build at all.</p>
<p>We <em>strongly</em> recommend usage of an SSD disk for the build, since disk speed is one of the limiting factors for build performance.</p>
<h3 id="building-on-x86">Building on x86</h3>
<p>At a minimum, a machine with 2-4 cores is advisable, as well as 2-4 GB of RAM. (The more cores to use, the more memory you need.) At least 6 GB of free disk space is required (8 GB minimum for building on Solaris).</p>
<p>At a minimum, a machine with 2-4 cores is advisable, as well as 2-4 GB of RAM. (The more cores to use, the more memory you need.) At least 6 GB of free disk space is required.</p>
<p>Even for 32-bit builds, it is recommended to use a 64-bit build machine, and instead create a 32-bit target using <code>--with-target-bits=32</code>.</p>
<h3 id="building-on-sparc">Building on sparc</h3>
<p>At a minimum, a machine with 4 cores is advisable, as well as 4 GB of RAM. (The more cores to use, the more memory you need.) At least 8 GB of free disk space is required.</p>
<p>Note: The sparc port is deprecated.</p>
<h3 id="building-on-aarch64">Building on aarch64</h3>
<p>At a minimum, a machine with 8 cores is advisable, as well as 8 GB of RAM. (The more cores to use, the more memory you need.) At least 6 GB of free disk space is required.</p>
<p>If you do not have access to sufficiently powerful hardware, it is also possible to use <a href="#cross-compiling">cross-compiling</a>.</p>
<h3 id="building-on-32-bit-arm">Building on 32-bit arm</h3>
<p>This is not recommended. Instead, see the section on <a href="#cross-compiling">Cross-compiling</a>.</p>
<h2 id="operating-system-requirements">Operating System Requirements</h2>
<p>The mainline JDK project supports Linux, Solaris, macOS, AIX and Windows. Support for other operating system, e.g. BSD, exists in separate &quot;port&quot; projects.</p>
<p>The mainline JDK project supports Linux, macOS, AIX and Windows. Support for other operating system, e.g. BSD, exists in separate &quot;port&quot; projects.</p>
<p>In general, the JDK can be built on a wide range of versions of these operating systems, but the further you deviate from what is tested on a daily basis, the more likely you are to run into problems.</p>
<p>This table lists the OS versions used by Oracle when building the JDK. Such information is always subject to change, but this table is up to date at the time of writing.</p>
<table>
@@ -184,20 +178,16 @@
<td style="text-align: left;">Oracle Enterprise Linux 6.4 / 7.6</td>
</tr>
<tr class="even">
<td style="text-align: left;">Solaris</td>
<td style="text-align: left;">Solaris 11.3 SRU 20</td>
</tr>
<tr class="odd">
<td style="text-align: left;">macOS</td>
<td style="text-align: left;">Mac OS X 10.13 (High Sierra)</td>
</tr>
<tr class="even">
<tr class="odd">
<td style="text-align: left;">Windows</td>
<td style="text-align: left;">Windows Server 2012 R2</td>
</tr>
</tbody>
</table>
<p>The double version numbers for Linux and Solaris are due to the hybrid model used at Oracle, where header files and external libraries from an older version are used when building on a more modern version of the OS.</p>
<p>The double version numbers for Linux are due to the hybrid model used at Oracle, where header files and external libraries from an older version are used when building on a more modern version of the OS.</p>
<p>The Build Group has a wiki page with <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a>. From time to time, this is updated by contributors to list successes or failures of building on different platforms.</p>
<h3 id="windows">Windows</h3>
<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
@@ -223,10 +213,6 @@
<p>It's possible to build both Windows and Linux binaries from WSL. To build Windows binaries, you must use a Windows boot JDK (located in a Windows-accessible directory). To build Linux binaries, you must use a Linux boot JDK. The default behavior is to build for Windows. To build for Linux, pass <code>--build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu</code> to <code>configure</code>.</p>
<p>If building Windows binaries, the source code must be located in a Windows- accessible directory. This is because Windows executables (such as Visual Studio and the boot JDK) must be able to access the source code. Also, the drive where the source is stored must be mounted as case-insensitive by changing either /etc/fstab or /etc/wsl.conf in WSL. Individual directories may be corrected using the fsutil tool in case the source was cloned before changing the mount options.</p>
<p>Note that while it's possible to build on WSL, testing is still not fully supported.</p>
<h3 id="solaris">Solaris</h3>
<p>See <code>make/devkit/solaris11.1-package-list.txt</code> for a list of recommended packages to install when building on Solaris. The versions specified in this list is the versions used by the daily builds at Oracle, and is likely to work properly.</p>
<p>Older versions of Solaris shipped a broken version of <code>objcopy</code>. At least version 2.21.1 is needed, which is provided by Solaris 11 Update 1. Objcopy is needed if you want to have external debug symbols. Please make sure you are using at least version 2.21.1 of objcopy, or that you disable external debug symbols.</p>
<p>Note: The Solaris port is deprecated.</p>
<h3 id="macos">macOS</h3>
<p>Apple is using a quite aggressive scheme of pushing OS updates, and coupling these updates with required updates of Xcode. Unfortunately, this makes it difficult for a project such as the JDK to keep pace with a continuously updated machine running macOS. See the section on <a href="#apple-xcode">Apple Xcode</a> on some strategies to deal with this.</p>
<p>It is recommended that you use at least Mac OS X 10.13 (High Sierra). At the time of writing, the JDK has been successfully compiled on macOS 10.12 (Sierra).</p>
@@ -259,14 +245,10 @@
<td style="text-align: left;">Apple Xcode (using clang)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Solaris</td>
<td style="text-align: left;">Oracle Solaris Studio</td>
</tr>
<tr class="even">
<td style="text-align: left;">AIX</td>
<td style="text-align: left;">IBM XL C/C++</td>
</tr>
<tr class="odd">
<tr class="even">
<td style="text-align: left;">Windows</td>
<td style="text-align: left;">Microsoft Visual Studio</td>
</tr>
@@ -283,26 +265,22 @@
<tbody>
<tr class="odd">
<td style="text-align: left;">Linux</td>
<td style="text-align: left;">gcc 8.3.0</td>
<td style="text-align: left;">gcc 9.2.0</td>
</tr>
<tr class="even">
<td style="text-align: left;">macOS</td>
<td style="text-align: left;">Apple Xcode 10.1 (using clang 10.0.0)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Solaris</td>
<td style="text-align: left;">Oracle Solaris Studio 12.6 (with compiler version 5.15)</td>
</tr>
<tr class="even">
<td style="text-align: left;">Windows</td>
<td style="text-align: left;">Microsoft Visual Studio 2017 update 15.9.16</td>
<td style="text-align: left;">Microsoft Visual Studio 2019 update 16.5.3</td>
</tr>
</tbody>
</table>
<p>All compilers are expected to be able to compile to the C99 language standard, as some C99 features are used in the source code. Microsoft Visual Studio doesn't fully support C99 so in practice shared code is limited to using C99 features that it does support.</p>
<h3 id="gcc">gcc</h3>
<p>The minimum accepted version of gcc is 4.8. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p>
<p>The JDK is currently known to be able to compile with at least version 8.3 of gcc.</p>
<p>The minimum accepted version of gcc is 5.0. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p>
<p>The JDK is currently known to be able to compile with at least version 9.2 of gcc.</p>
<p>In general, any version between these two should be usable.</p>
<h3 id="clang">clang</h3>
<p>The minimum accepted version of clang is 3.2. Older versions will not be accepted by <code>configure</code>.</p>
@@ -313,64 +291,6 @@
<pre><code>xcode-select --install</code></pre>
<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin</code></p>
<p>If you have recently (inadvertently) updated your OS and/or Xcode version, and the JDK can no longer be built, please see the section on <a href="#problems-with-the-build-environment">Problems with the Build Environment</a>, and <a href="#getting-help">Getting Help</a> to find out if there are any recent, non-merged patches available for this update.</p>
<h3 id="oracle-solaris-studio">Oracle Solaris Studio</h3>
<p>The minimum accepted version of the Solaris Studio compilers is 5.13 (corresponding to Solaris Studio 12.4). Older versions will not be accepted by configure.</p>
<p>The Solaris Studio installation should contain at least these packages:</p>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Package</th>
<th style="text-align: left;">Version</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">developer/solarisstudio-124/backend</td>
<td style="text-align: left;">12.4-1.0.6.0</td>
</tr>
<tr class="even">
<td style="text-align: left;">developer/solarisstudio-124/c++</td>
<td style="text-align: left;">12.4-1.0.10.0</td>
</tr>
<tr class="odd">
<td style="text-align: left;">developer/solarisstudio-124/cc</td>
<td style="text-align: left;">12.4-1.0.4.0</td>
</tr>
<tr class="even">
<td style="text-align: left;">developer/solarisstudio-124/library/c++-libs</td>
<td style="text-align: left;">12.4-1.0.10.0</td>
</tr>
<tr class="odd">
<td style="text-align: left;">developer/solarisstudio-124/library/math-libs</td>
<td style="text-align: left;">12.4-1.0.0.1</td>
</tr>
<tr class="even">
<td style="text-align: left;">developer/solarisstudio-124/library/studio-gccrt</td>
<td style="text-align: left;">12.4-1.0.0.1</td>
</tr>
<tr class="odd">
<td style="text-align: left;">developer/solarisstudio-124/studio-common</td>
<td style="text-align: left;">12.4-1.0.0.1</td>
</tr>
<tr class="even">
<td style="text-align: left;">developer/solarisstudio-124/studio-ja</td>
<td style="text-align: left;">12.4-1.0.0.1</td>
</tr>
<tr class="odd">
<td style="text-align: left;">developer/solarisstudio-124/studio-legal</td>
<td style="text-align: left;">12.4-1.0.0.1</td>
</tr>
<tr class="even">
<td style="text-align: left;">developer/solarisstudio-124/studio-zhCN</td>
<td style="text-align: left;">12.4-1.0.0.1</td>
</tr>
</tbody>
</table>
<p>Compiling with Solaris Studio can sometimes be finicky. This is the exact version used by Oracle, which worked correctly at the time of writing:</p>
<pre><code>$ cc -V
cc: Sun C 5.13 SunOS_i386 2014/10/20
$ CC -V
CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2019. Versions older than 2017 are unlikely to continue working for long.</p>
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p>
@@ -394,7 +314,6 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<ul>
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libfreetype6-dev</code>.</li>
<li>To install on an rpm-based Linux, try running <code>sudo yum install freetype-devel</code>.</li>
<li>To install on Solaris, try running <code>pkg install system/library/freetype-2</code>.</li>
</ul>
<p>Use <code>--with-freetype-include=&lt;path&gt;</code> and <code>--with-freetype-lib=&lt;path&gt;</code> if <code>configure</code> does not automatically locate the platform FreeType files.</p>
<h3 id="cups">CUPS</h3>
@@ -402,15 +321,13 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<ul>
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libcups2-dev</code>.</li>
<li>To install on an rpm-based Linux, try running <code>sudo yum install cups-devel</code>.</li>
<li>To install on Solaris, try running <code>pkg install print/cups</code>.</li>
</ul>
<p>Use <code>--with-cups=&lt;path&gt;</code> if <code>configure</code> does not properly locate your CUPS files.</p>
<h3 id="x11">X11</h3>
<p>Certain <a href="http://www.x.org/">X11</a> libraries and include files are required on Linux and Solaris.</p>
<p>Certain <a href="http://www.x.org/">X11</a> libraries and include files are required on Linux.</p>
<ul>
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev</code>.</li>
<li>To install on an rpm-based Linux, try running <code>sudo yum install libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel</code>.</li>
<li>To install on Solaris, try running <code>pkg install x11/header/x11-protocols x11/library/libice x11/library/libpthread-stubs x11/library/libsm x11/library/libx11 x11/library/libxau x11/library/libxcb x11/library/libxdmcp x11/library/libxevie x11/library/libxext x11/library/libxrender x11/library/libxrandr x11/library/libxscrnsaver x11/library/libxtst x11/library/toolkit/libxt</code>.</li>
</ul>
<p>Use <code>--with-x=&lt;path&gt;</code> if <code>configure</code> does not properly locate your X11 files.</p>
<h3 id="alsa">ALSA</h3>
@@ -443,7 +360,6 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<p>At least version 3.81 of GNU Make must be used. For distributions supporting GNU Make 4.0 or above, we strongly recommend it. GNU Make 4.0 contains useful functionality to handle parallel building (supported by <code>--with-output-sync</code>) and speed and stability improvements.</p>
<p>Note that <code>configure</code> locates and verifies a properly functioning version of <code>make</code> and stores the path to this <code>make</code> binary in the configuration. If you start a build using <code>make</code> on the command line, you will be using the version of make found first in your <code>PATH</code>, and not necessarily the one stored in the configuration. This initial make will be used as &quot;bootstrap make&quot;, and in a second stage, the make located by <code>configure</code> will be called. Normally, this will present no issues, but if you have a very old <code>make</code>, or a non-GNU Make <code>make</code> in your path, this might cause issues.</p>
<p>If you want to override the default make found by <code>configure</code>, use the <code>MAKE</code> configure variable, e.g. <code>configure MAKE=/opt/gnu/make</code>.</p>
<p>On Solaris, it is common to call the GNU version of make by using <code>gmake</code>.</p>
<h3 id="gnu-bash">GNU Bash</h3>
<p>The JDK requires <a href="http://www.gnu.org/software/bash">GNU Bash</a>. No other shells are supported.</p>
<p>At least version 3.2 of GNU Bash must be used.</p>
@@ -473,7 +389,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<li><code>--with-version-string=&lt;string&gt;</code> - Specify the version string this build will be identified with.</li>
<li><code>--with-version-&lt;part&gt;=&lt;value&gt;</code> - A group of options, where <code>&lt;part&gt;</code> can be any of <code>pre</code>, <code>opt</code>, <code>build</code>, <code>major</code>, <code>minor</code>, <code>security</code> or <code>patch</code>. Use these options to modify just the corresponding part of the version string from the default, or the value provided by <code>--with-version-string</code>.</li>
<li><code>--with-jvm-variants=&lt;variant&gt;[,&lt;variant&gt;...]</code> - Build the specified variant (or variants) of Hotspot. Valid variants are: <code>server</code>, <code>client</code>, <code>minimal</code>, <code>core</code>, <code>zero</code>, <code>custom</code>. Note that not all variants are possible to combine in a single build.</li>
<li><code>--with-jvm-features=&lt;feature&gt;[,&lt;feature&gt;...]</code> - Use the specified JVM features when building Hotspot. The list of features will be enabled on top of the default list. For the <code>custom</code> JVM variant, this default list is empty. A complete list of available JVM features can be found using <code>bash configure --help</code>.</li>
<li><code>--enable-jvm-feature-&lt;feature&gt;</code> or <code>--disable-jvm-feature-&lt;feature&gt;</code> - Include (or exclude) <code>&lt;feature&gt;</code> as a JVM feature in Hotspot. You can also specify a list of features to be enabled, separated by space or comma, as <code>--with-jvm-features=&lt;feature&gt;[,&lt;feature&gt;...]</code>. If you prefix <code>&lt;feature&gt;</code> with a <code>-</code>, it will be disabled. These options will modify the default list of features for the JVM variant(s) you are building. For the <code>custom</code> JVM variant, the default list is empty. A complete list of valid JVM features can be found using <code>bash configure --help</code>.</li>
<li><code>--with-target-bits=&lt;bits&gt;</code> - Create a target binary suitable for running on a <code>&lt;bits&gt;</code> platform. Use this to create 32-bit output on a 64-bit build platform, instead of doing a full cross-compile. (This is known as a <em>reduced</em> build.)</li>
</ul>
<p>On Linux, BSD and AIX, it is possible to override where Java by default searches for runtime/JNI libraries. This can be useful in situations where there is a special shared directory for system JNI libraries. This setting can in turn be overriden at runtime by setting the <code>java.library.path</code> property.</p>
@@ -536,7 +452,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<li><code>dist-clean</code> - Remove all files, including configuration</li>
</ul>
<p>Run <code>make help</code> to get an up-to-date list of important make targets and make control variables.</p>
<p>It is possible to build just a single module, a single phase, or a single phase of a single module, by creating make targets according to these followin patterns. A phase can be either of <code>gensrc</code>, <code>gendata</code>, <code>copy</code>, <code>java</code>, <code>launchers</code>, <code>libs</code> or <code>rmic</code>. See <a href="#using-fine-grained-make-targets">Using Fine-Grained Make Targets</a> for more details about this functionality.</p>
<p>It is possible to build just a single module, a single phase, or a single phase of a single module, by creating make targets according to these followin patterns. A phase can be either of <code>gensrc</code>, <code>gendata</code>, <code>copy</code>, <code>java</code>, <code>launchers</code>, or <code>libs</code>. See <a href="#using-fine-grained-make-targets">Using Fine-Grained Make Targets</a> for more details about this functionality.</p>
<ul>
<li><code>&lt;phase&gt;</code> - Build the specified phase and everything it depends on</li>
<li><code>&lt;module&gt;</code> - Build the specified module and everything it depends on</li>
@@ -578,7 +494,12 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
</ul>
<h2 id="running-tests">Running Tests</h2>
<p>Most of the JDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://adopt-openjdk.ci.cloudbees.com/job/jtreg/lastSuccessfulBuild/artifact">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptopenjdk.net/view/Dependencies/job/jtreg/lastSuccessfulBuild/artifact">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
<p>Building of Hotspot Gtest suite requires the source code of Google Test framework. The top directory, which contains both <code>googletest</code> and <code>googlemock</code> directories, should be specified via <code>--with-gtest</code>. The supported version of Google Test is 1.8.1, whose source code can be obtained:</p>
<ul>
<li>by downloading and unpacking the source bundle from <a href="https://github.com/google/googletest/releases/tag/release-1.8.1">here</a></li>
<li>or by checking out <code>release-1.8.1</code> tag of <code>googletest</code> project: <code>git clone -b release-1.8.1 https://github.com/google/googletest</code></li>
</ul>
<p>To execute the most basic tests (tier 1), use:</p>
<pre><code>make run-test-tier1</code></pre>
<p>For more details on how to run tests, please see the <a href="testing.html">Testing the JDK</a> document.</p>
@@ -639,11 +560,6 @@ x86_64-linux-gnu-to-ppc64le-linux-gnu</code></pre>
<p>You will need two copies of your toolchain, one which generates output that can run on the target system (the normal, or <em>target</em>, toolchain), and one that generates output that can run on the build system (the <em>build</em> toolchain). Note that cross-compiling is only supported for gcc at the time being. The gcc standard is to prefix cross-compiling toolchains with the target denominator. If you follow this standard, <code>configure</code> is likely to pick up the toolchain correctly.</p>
<p>The <em>build</em> toolchain will be autodetected just the same way the normal <em>build</em>/<em>target</em> toolchain will be autodetected when not cross-compiling. If this is not what you want, or if the autodetection fails, you can specify a devkit containing the <em>build</em> toolchain using <code>--with-build-devkit</code> to <code>configure</code>, or by giving <code>BUILD_CC</code> and <code>BUILD_CXX</code> arguments.</p>
<p>It is often helpful to locate the cross-compilation tools, headers and libraries in a separate directory, outside the normal path, and point out that directory to <code>configure</code>. Do this by setting the sysroot (<code>--with-sysroot</code>) and appending the directory when searching for cross-compilations tools (<code>--with-toolchain-path</code>). As a compact form, you can also use <code>--with-devkit</code> to point to a single directory, if it is correctly setup. (See <code>basics.m4</code> for details.)</p>
<p>If you are unsure what toolchain and versions to use, these have been proved working at the time of writing:</p>
<ul>
<li><a href="https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-linux-gnu-4.8-2013.11_linux.tar.xz">aarch64</a></li>
<li><a href="https://launchpad.net/linaro-toolchain-unsupported/trunk/2012.09/+download/gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux.tar.bz2">arm 32-bit hardware floating point</a></li>
</ul>
<h3 id="native-libraries">Native Libraries</h3>
<p>You will need copies of external native libraries for the <em>target</em> system, present on the <em>build</em> machine while building.</p>
<p>Take care not to replace the <em>build</em> system's version of these libraries by mistake, since that can render the <em>build</em> machine unusable.</p>
@@ -870,9 +786,6 @@ Clock skew detected. Your build may be incomplete.</code></pre>
<p>then the clock on your build machine is out of sync with the timestamps on the source files. Other errors, apparently unrelated but in fact caused by the clock skew, can occur along with the clock skew warnings. These secondary errors may tend to obscure the fact that the true root cause of the problem is an out-of-sync clock.</p>
<p>If you see these warnings, reset the clock on the build machine, run <code>make clean</code> and restart the build.</p>
<h4 id="out-of-memory-errors">Out of Memory Errors</h4>
<p>On Solaris, you might get an error message like this:</p>
<pre><code>Trouble writing out table to disk</code></pre>
<p>To solve this, increase the amount of swap space on your build machine.</p>
<p>On Windows, you might get error messages like this:</p>
<pre><code>fatal error - couldn&#39;t allocate heap
cannot create ... Permission denied
@@ -924,7 +837,7 @@ sudo mv /tmp/configure /usr/local/bin</code></pre>
<p>If you are prepared to take some risk of an incorrect build, and know enough of the system to understand how things build and interact, you can speed up the build process considerably by instructing make to only build a portion of the product.</p>
<h4 id="building-individual-modules">Building Individual Modules</h4>
<p>The safe way to use fine-grained make targets is to use the module specific make targets. All source code in the JDK is organized so it belongs to a module, e.g. <code>java.base</code> or <code>jdk.jdwp.agent</code>. You can build only a specific module, by giving it as make target: <code>make jdk.jdwp.agent</code>. If the specified module depends on other modules (e.g. <code>java.base</code>), those modules will be built first.</p>
<p>You can also specify a set of modules, just as you can always specify a set of make targets: <code>make jdk.crypto.cryptoki jdk.crypto.ec jdk.crypto.mscapi jdk.crypto.ucrypto</code></p>
<p>You can also specify a set of modules, just as you can always specify a set of make targets: <code>make jdk.crypto.cryptoki jdk.crypto.ec jdk.crypto.mscapi</code></p>
<h4 id="building-individual-module-phases">Building Individual Module Phases</h4>
<p>The build process for each module is divided into separate phases. Not all modules need all phases. Which are needed depends on what kind of source code and other artifact the module consists of. The phases are:</p>
<ul>
@@ -934,7 +847,6 @@ sudo mv /tmp/configure /usr/local/bin</code></pre>
<li><code>java</code> (Compile Java code)</li>
<li><code>launchers</code> (Compile native executables)</li>
<li><code>libs</code> (Compile native libraries)</li>
<li><code>rmic</code> (Run the <code>rmic</code> tool)</li>
</ul>
<p>You can build only a single phase for a module by using the notation <code>$MODULE-$PHASE</code>. For instance, to build the <code>gensrc</code> phase for <code>java.base</code>, use <code>make java.base-gensrc</code>.</p>
<p>Note that some phases may depend on others, e.g. <code>java</code> depends on <code>gensrc</code> (if present). Make will build all needed prerequisites before building the requested phase.</p>

View File

@@ -109,19 +109,11 @@ one of the limiting factors for build performance.
At a minimum, a machine with 2-4 cores is advisable, as well as 2-4 GB of RAM.
(The more cores to use, the more memory you need.) At least 6 GB of free disk
space is required (8 GB minimum for building on Solaris).
space is required.
Even for 32-bit builds, it is recommended to use a 64-bit build machine, and
instead create a 32-bit target using `--with-target-bits=32`.
### Building on sparc
At a minimum, a machine with 4 cores is advisable, as well as 4 GB of RAM. (The
more cores to use, the more memory you need.) At least 8 GB of free disk space
is required.
Note: The sparc port is deprecated.
### Building on aarch64
At a minimum, a machine with 8 cores is advisable, as well as 8 GB of RAM.
@@ -138,7 +130,7 @@ This is not recommended. Instead, see the section on [Cross-compiling](
## Operating System Requirements
The mainline JDK project supports Linux, Solaris, macOS, AIX and Windows.
The mainline JDK project supports Linux, macOS, AIX and Windows.
Support for other operating system, e.g. BSD, exists in separate "port"
projects.
@@ -153,11 +145,10 @@ time of writing.
Operating system Vendor/version used
----------------- -------------------------------------------------------
Linux Oracle Enterprise Linux 6.4 / 7.6
Solaris Solaris 11.3 SRU 20
macOS Mac OS X 10.13 (High Sierra)
Windows Windows Server 2012 R2
The double version numbers for Linux and Solaris are due to the hybrid model
The double version numbers for Linux are due to the hybrid model
used at Oracle, where header files and external libraries from an older version
are used when building on a more modern version of the OS.
@@ -247,21 +238,6 @@ options.
Note that while it's possible to build on WSL, testing is still not fully
supported.
### Solaris
See `make/devkit/solaris11.1-package-list.txt` for a list of recommended
packages to install when building on Solaris. The versions specified in this
list is the versions used by the daily builds at Oracle, and is likely to work
properly.
Older versions of Solaris shipped a broken version of `objcopy`. At least
version 2.21.1 is needed, which is provided by Solaris 11 Update 1. Objcopy is
needed if you want to have external debug symbols. Please make sure you are
using at least version 2.21.1 of objcopy, or that you disable external debug
symbols.
Note: The Solaris port is deprecated.
### macOS
Apple is using a quite aggressive scheme of pushing OS updates, and coupling
@@ -314,7 +290,6 @@ one-to-one correlation between target operating system and toolchain.
------------------ -------------------------
Linux gcc, clang
macOS Apple Xcode (using clang)
Solaris Oracle Solaris Studio
AIX IBM XL C/C++
Windows Microsoft Visual Studio
@@ -327,10 +302,9 @@ issues.
Operating system Toolchain version
------------------ -------------------------------------------------------
Linux gcc 8.3.0
Linux gcc 9.2.0
macOS Apple Xcode 10.1 (using clang 10.0.0)
Solaris Oracle Solaris Studio 12.6 (with compiler version 5.15)
Windows Microsoft Visual Studio 2017 update 15.9.16
Windows Microsoft Visual Studio 2019 update 16.5.3
All compilers are expected to be able to compile to the C99 language standard,
as some C99 features are used in the source code. Microsoft Visual Studio
@@ -339,10 +313,10 @@ features that it does support.
### gcc
The minimum accepted version of gcc is 4.8. Older versions will generate a warning
The minimum accepted version of gcc is 5.0. Older versions will generate a warning
by `configure` and are unlikely to work.
The JDK is currently known to be able to compile with at least version 8.3 of
The JDK is currently known to be able to compile with at least version 9.2 of
gcc.
In general, any version between these two should be usable.
@@ -379,36 +353,6 @@ Build Environment](#problems-with-the-build-environment), and [Getting
Help](#getting-help) to find out if there are any recent, non-merged patches
available for this update.
### Oracle Solaris Studio
The minimum accepted version of the Solaris Studio compilers is 5.13
(corresponding to Solaris Studio 12.4). Older versions will not be accepted by
configure.
The Solaris Studio installation should contain at least these packages:
Package Version
-------------------------------------------------- -------------
developer/solarisstudio-124/backend 12.4-1.0.6.0
developer/solarisstudio-124/c++ 12.4-1.0.10.0
developer/solarisstudio-124/cc 12.4-1.0.4.0
developer/solarisstudio-124/library/c++-libs 12.4-1.0.10.0
developer/solarisstudio-124/library/math-libs 12.4-1.0.0.1
developer/solarisstudio-124/library/studio-gccrt 12.4-1.0.0.1
developer/solarisstudio-124/studio-common 12.4-1.0.0.1
developer/solarisstudio-124/studio-ja 12.4-1.0.0.1
developer/solarisstudio-124/studio-legal 12.4-1.0.0.1
developer/solarisstudio-124/studio-zhCN 12.4-1.0.0.1
Compiling with Solaris Studio can sometimes be finicky. This is the exact
version used by Oracle, which worked correctly at the time of writing:
```
$ cc -V
cc: Sun C 5.13 SunOS_i386 2014/10/20
$ CC -V
CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30
```
### Microsoft Visual Studio
The minimum accepted version of Visual Studio is 2010. Older versions will not
@@ -494,7 +438,6 @@ rather than bundling the JDK's own copy.
libfreetype6-dev`.
* To install on an rpm-based Linux, try running `sudo yum install
freetype-devel`.
* To install on Solaris, try running `pkg install system/library/freetype-2`.
Use `--with-freetype-include=<path>` and `--with-freetype-lib=<path>`
if `configure` does not automatically locate the platform FreeType files.
@@ -509,7 +452,6 @@ your operating system.
libcups2-dev`.
* To install on an rpm-based Linux, try running `sudo yum install
cups-devel`.
* To install on Solaris, try running `pkg install print/cups`.
Use `--with-cups=<path>` if `configure` does not properly locate your CUPS
files.
@@ -517,18 +459,12 @@ files.
### X11
Certain [X11](http://www.x.org/) libraries and include files are required on
Linux and Solaris.
Linux.
* To install on an apt-based Linux, try running `sudo apt-get install
libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev`.
* To install on an rpm-based Linux, try running `sudo yum install
libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel`.
* To install on Solaris, try running `pkg install x11/header/x11-protocols
x11/library/libice x11/library/libpthread-stubs x11/library/libsm
x11/library/libx11 x11/library/libxau x11/library/libxcb
x11/library/libxdmcp x11/library/libxevie x11/library/libxext
x11/library/libxrender x11/library/libxrandr x11/library/libxscrnsaver
x11/library/libxtst x11/library/toolkit/libxt`.
Use `--with-x=<path>` if `configure` does not properly locate your X11 files.
@@ -603,8 +539,6 @@ will present no issues, but if you have a very old `make`, or a non-GNU Make
If you want to override the default make found by `configure`, use the `MAKE`
configure variable, e.g. `configure MAKE=/opt/gnu/make`.
On Solaris, it is common to call the GNU version of make by using `gmake`.
### GNU Bash
The JDK requires [GNU Bash](http://www.gnu.org/software/bash). No other shells
@@ -684,11 +618,14 @@ features, use `bash configure --help=short` instead.)
(or variants) of Hotspot. Valid variants are: `server`, `client`,
`minimal`, `core`, `zero`, `custom`. Note that not all
variants are possible to combine in a single build.
* `--with-jvm-features=<feature>[,<feature>...]` - Use the specified JVM
features when building Hotspot. The list of features will be enabled on top
of the default list. For the `custom` JVM variant, this default list is
empty. A complete list of available JVM features can be found using `bash
configure --help`.
* `--enable-jvm-feature-<feature>` or `--disable-jvm-feature-<feature>` -
Include (or exclude) `<feature>` as a JVM feature in Hotspot. You can also
specify a list of features to be enabled, separated by space or comma, as
`--with-jvm-features=<feature>[,<feature>...]`. If you prefix `<feature>`
with a `-`, it will be disabled. These options will modify the default list
of features for the JVM variant(s) you are building. For the `custom` JVM
variant, the default list is empty. A complete list of valid JVM features
can be found using `bash configure --help`.
* `--with-target-bits=<bits>` - Create a target binary suitable for running
on a `<bits>` platform. Use this to create 32-bit output on a 64-bit build
platform, instead of doing a full cross-compile. (This is known as a
@@ -815,7 +752,7 @@ control variables.
It is possible to build just a single module, a single phase, or a single phase
of a single module, by creating make targets according to these followin
patterns. A phase can be either of `gensrc`, `gendata`, `copy`, `java`,
`launchers`, `libs` or `rmic`. See [Using Fine-Grained Make Targets](
`launchers`, or `libs`. See [Using Fine-Grained Make Targets](
#using-fine-grained-make-targets) for more details about this functionality.
* `<phase>` - Build the specified phase and everything it depends on
@@ -888,10 +825,18 @@ containing `lib/jtreg.jar` etc.
The [Adoption Group](https://wiki.openjdk.java.net/display/Adoption) provides
recent builds of jtreg [here](
https://adopt-openjdk.ci.cloudbees.com/job/jtreg/lastSuccessfulBuild/artifact).
https://ci.adoptopenjdk.net/view/Dependencies/job/jtreg/lastSuccessfulBuild/artifact).
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
`jtreg` directory that you just unpacked.
Building of Hotspot Gtest suite requires the source code of Google Test framework.
The top directory, which contains both `googletest` and `googlemock`
directories, should be specified via `--with-gtest`.
The supported version of Google Test is 1.8.1, whose source code can be obtained:
* by downloading and unpacking the source bundle from [here](https://github.com/google/googletest/releases/tag/release-1.8.1)
* or by checking out `release-1.8.1` tag of `googletest` project: `git clone -b release-1.8.1 https://github.com/google/googletest`
To execute the most basic tests (tier 1), use:
```
make run-test-tier1
@@ -1038,14 +983,6 @@ appending the directory when searching for cross-compilations tools
to point to a single directory, if it is correctly setup. (See `basics.m4` for
details.)
If you are unsure what toolchain and versions to use, these have been proved
working at the time of writing:
* [aarch64](
https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-linux-gnu-4.8-2013.11_linux.tar.xz)
* [arm 32-bit hardware floating point](
https://launchpad.net/linaro-toolchain-unsupported/trunk/2012.09/+download/gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux.tar.bz2)
### Native Libraries
You will need copies of external native libraries for the *target* system,
@@ -1465,12 +1402,6 @@ clean` and restart the build.
#### Out of Memory Errors
On Solaris, you might get an error message like this:
```
Trouble writing out table to disk
```
To solve this, increase the amount of swap space on your build machine.
On Windows, you might get error messages like this:
```
fatal error - couldn't allocate heap
@@ -1609,8 +1540,7 @@ module depends on other modules (e.g. `java.base`), those modules will be built
first.
You can also specify a set of modules, just as you can always specify a set of
make targets: `make jdk.crypto.cryptoki jdk.crypto.ec jdk.crypto.mscapi
jdk.crypto.ucrypto`
make targets: `make jdk.crypto.cryptoki jdk.crypto.ec jdk.crypto.mscapi`
#### Building Individual Module Phases
@@ -1624,7 +1554,6 @@ and other artifact the module consists of. The phases are:
* `java` (Compile Java code)
* `launchers` (Compile native executables)
* `libs` (Compile native libraries)
* `rmic` (Run the `rmic` tool)
You can build only a single phase for a module by using the notation
`$MODULE-$PHASE`. For instance, to build the `gensrc` phase for `java.base`,

View File

@@ -5,7 +5,7 @@
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Testing the JDK</title>
<style>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
@@ -21,9 +21,9 @@
<header id="title-block-header">
<h1 class="title">Testing the JDK</h1>
</header>
<nav id="TOC" role="doc-toc">
<nav id="TOC">
<ul>
<li><a href="#using-make-test-the-run-test-framework">Using "make test" (the run-test framework)</a><ul>
<li><a href="#using-make-test-the-run-test-framework">Using &quot;make test&quot; (the run-test framework)</a><ul>
<li><a href="#configuration">Configuration</a></li>
</ul></li>
<li><a href="#test-selection">Test selection</a><ul>
@@ -47,7 +47,7 @@
</ul></li>
</ul>
</nav>
<h2 id="using-make-test-the-run-test-framework">Using "make test" (the run-test framework)</h2>
<h2 id="using-make-test-the-run-test-framework">Using &quot;make test&quot; (the run-test framework)</h2>
<p>This new way of running tests is developer-centric. It assumes that you have built a JDK locally and want to test it. Running common test targets is simple, and more complex ad-hoc combination of tests is possible. The user interface is forgiving, and clearly report errors it cannot resolve.</p>
<p>The main target <code>test</code> uses the jdk-image as the tested product. There is also an alternate target <code>exploded-test</code> that uses the exploded image instead. Not all tests will run successfully on the exploded image, but using this target can greatly improve rebuild times for certain workflows.</p>
<p>Previously, <code>make test</code> was used to invoke an old system for running tests, and <code>make run-test</code> was used for the new test framework. For backward compatibility with scripts and muscle memory, <code>run-test</code> (and variants like <code>exploded-run-test</code> or <code>run-test-tier1</code>) are kept as aliases.</p>
@@ -56,7 +56,7 @@
$ make test-jdk_lang JTREG=&quot;JOBS=8&quot;
$ make test TEST=jdk_lang
$ make test-only TEST=&quot;gtest:LogTagSet gtest:LogTagSetDescriptions&quot; GTEST=&quot;REPEAT=-1&quot;
$ make test TEST=&quot;hotspot:hotspot_gc&quot; JTREG=&quot;JOBS=1;TIMEOUT_FACTOR=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;
$ make test TEST=&quot;hotspot:hotspot_gc&quot; JTREG=&quot;JOBS=1;TIMEOUT_FACTOR=8;JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;
$ make test TEST=&quot;jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java&quot;
$ make test TEST=&quot;micro:java.lang.reflect&quot; MICRO=&quot;FORK=1;WARMUP_ITER=2&quot;
$ make exploded-test TEST=tier2</code></pre>
@@ -65,7 +65,7 @@ $ make exploded-test TEST=tier2</code></pre>
<p>To be able to run microbenchmarks, <code>configure</code> needs to know where to find the JMH dependency. Use <code>--with-jmh=&lt;path to JMH jars&gt;</code> to point to a directory containing the core JMH and transitive dependencies. The recommended dependencies can be retrieved by running <code>sh make/devkit/createJMHBundle.sh</code>, after which <code>--with-jmh=build/jmh/jars</code> should work.</p>
<h2 id="test-selection">Test selection</h2>
<p>All functionality is available using the <code>test</code> make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, <code>test-only</code> can be used instead, which do not depend on the source and test image build.</p>
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make test-tier1</code> is equivalent to <code>make test TEST="tier1"</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>test TEST="x"</code> solution needs to be used.</p>
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make test-tier1</code> is equivalent to <code>make test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>test TEST=&quot;x&quot;</code> solution needs to be used.</p>
<p>The test specifications given in <code>TEST</code> is parsed into fully qualified test descriptors, which clearly and unambigously show which tests will be run. As an example, <code>:tier1</code> will expand to <code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>. You can always submit a list of fully qualified test descriptors in the <code>TEST</code> variable if you want to shortcut the parser.</p>
<h3 id="jtreg">JTReg</h3>
<p>JTReg tests can be selected either by picking a JTReg test group, or a selection of files or directories containing JTReg tests.</p>
@@ -105,9 +105,9 @@ TEST FAILURE</code></pre>
<p>Additional work data is stored in <code>build/$BUILD/test-support/$TEST_ID</code>. For some frameworks, this directory might contain information that is useful in determining the cause of a failed test.</p>
<h2 id="test-suite-control">Test suite control</h2>
<p>It is possible to control various aspects of the test suites using make control variables.</p>
<p>These variables use a keyword=value approach to allow multiple values to be set. So, for instance, <code>JTREG="JOBS=1;TIMEOUT_FACTOR=8"</code> will set the JTReg concurrency level to 1 and the timeout factor to 8. This is equivalent to setting <code>JTREG_JOBS=1 JTREG_TIMEOUT_FACTOR=8</code>, but using the keyword format means that the <code>JTREG</code> variable is parsed and verified for correctness, so <code>JTREG="TMIEOUT_FACTOR=8"</code> would give an error, while <code>JTREG_TMIEOUT_FACTOR=8</code> would just pass unnoticed.</p>
<p>To separate multiple keyword=value pairs, use <code>;</code> (semicolon). Since the shell normally eats <code>;</code>, the recommended usage is to write the assignment inside qoutes, e.g. <code>JTREG="...;..."</code>. This will also make sure spaces are preserved, as in <code>JTREG="VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"</code>.</p>
<p>(Other ways are possible, e.g. using backslash: <code>JTREG=JOBS=1\;TIMEOUT_FACTOR=8</code>. Also, as a special technique, the string <code>%20</code> will be replaced with space for certain options, e.g. <code>JTREG=VM_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug</code>. This can be useful if you have layers of scripts and have trouble getting proper quoting of command line arguments through.)</p>
<p>These variables use a keyword=value approach to allow multiple values to be set. So, for instance, <code>JTREG=&quot;JOBS=1;TIMEOUT_FACTOR=8&quot;</code> will set the JTReg concurrency level to 1 and the timeout factor to 8. This is equivalent to setting <code>JTREG_JOBS=1 JTREG_TIMEOUT_FACTOR=8</code>, but using the keyword format means that the <code>JTREG</code> variable is parsed and verified for correctness, so <code>JTREG=&quot;TMIEOUT_FACTOR=8&quot;</code> would give an error, while <code>JTREG_TMIEOUT_FACTOR=8</code> would just pass unnoticed.</p>
<p>To separate multiple keyword=value pairs, use <code>;</code> (semicolon). Since the shell normally eats <code>;</code>, the recommended usage is to write the assignment inside qoutes, e.g. <code>JTREG=&quot;...;...&quot;</code>. This will also make sure spaces are preserved, as in <code>JTREG=&quot;JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;</code>.</p>
<p>(Other ways are possible, e.g. using backslash: <code>JTREG=JOBS=1\;TIMEOUT_FACTOR=8</code>. Also, as a special technique, the string <code>%20</code> will be replaced with space for certain options, e.g. <code>JTREG=JAVA_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug</code>. This can be useful if you have layers of scripts and have trouble getting proper quoting of command line arguments through.)</p>
<p>As far as possible, the names of the keywords have been standardized between test suites.</p>
<h3 id="general-keywords-test_opts">General keywords (TEST_OPTS)</h3>
<p>Some keywords are valid across different test suites. If you want to run tests from multiple test suites, or just don't want to care which test suite specific control variable to use, then you can use the general TEST_OPTS control variable.</p>
@@ -116,27 +116,30 @@ TEST FAILURE</code></pre>
<p>Currently only applies to JTReg.</p>
<h4 id="timeout_factor">TIMEOUT_FACTOR</h4>
<p>Currently only applies to JTReg.</p>
<h4 id="vm_options">VM_OPTIONS</h4>
<p>Applies to JTReg, GTest and Micro.</p>
<h4 id="java_options">JAVA_OPTIONS</h4>
<p>Applies to JTReg, GTest and Micro.</p>
<h4 id="vm_options">VM_OPTIONS</h4>
<p>Applies to JTReg, GTest and Micro.</p>
<h4 id="aot_modules">AOT_MODULES</h4>
<p>Applies to JTReg and GTest.</p>
<h4 id="jcov">JCOV</h4>
<p>This keywords applies globally to the test runner system. If set to <code>true</code>, it enables JCov coverage reporting for all tests run. To be useful, the JDK under test must be run with a JDK built with JCov instrumentation (<code>configure --with-jcov=&lt;path to directory containing lib/jcov.jar&gt;</code>, <code>make jcov-image</code>).</p>
<p>The simplest way to run tests with JCov coverage report is to use the special target <code>jcov-test</code> instead of <code>test</code>, e.g. <code>make jcov-test TEST=jdk_lang</code>. This will make sure the JCov image is built, and that JCov reporting is enabled.</p>
<p>The JCov report is stored in <code>build/$BUILD/test-results/jcov-output</code>.</p>
<p>The JCov report is stored in <code>build/$BUILD/test-results/jcov-output/report</code>.</p>
<p>Please note that running with JCov reporting can be very memory intensive.</p>
<h4 id="jcov_diff_changeset">JCOV_DIFF_CHANGESET</h4>
<p>While collecting code coverage with JCov, it is also possible to find coverage for only recently changed code. JCOV_DIFF_CHANGESET specifies a source revision. A textual report will be generated showing coverage of the diff between the specified revision and the repository tip.</p>
<p>The report is stored in <code>build/$BUILD/test-results/jcov-output/diff_coverage_report</code> file.</p>
<h3 id="jtreg-keywords">JTReg keywords</h3>
<h4 id="jobs-1">JOBS</h4>
<p>The test concurrency (<code>-concurrency</code>).</p>
<p>Defaults to TEST_JOBS (if set by <code>--with-test-jobs=</code>), otherwise it defaults to JOBS, except for Hotspot, where the default is <em>number of CPU cores/2</em> (for sparc, if more than 16 cpus, then <em>number of CPU cores/5</em>, otherwise <em>number of CPU cores/4</em>), but never more than <em>memory size in GB/2</em>.</p>
<p>Defaults to TEST_JOBS (if set by <code>--with-test-jobs=</code>), otherwise it defaults to JOBS, except for Hotspot, where the default is <em>number of CPU cores/2</em>, but never more than <em>memory size in GB/2</em>.</p>
<h4 id="timeout_factor-1">TIMEOUT_FACTOR</h4>
<p>The timeout factor (<code>-timeoutFactor</code>).</p>
<p>Defaults to 4.</p>
<h4 id="test_mode">TEST_MODE</h4>
<p>The test mode (<code>-agentvm</code>, <code>-samevm</code> or <code>-othervm</code>).</p>
<p>Defaults to <code>-agentvm</code>.</p>
<p>The test mode (<code>agentvm</code> or <code>othervm</code>).</p>
<p>Defaults to <code>agentvm</code>.</p>
<h4 id="assert">ASSERT</h4>
<p>Enable asserts (<code>-ea -esa</code>, or none).</p>
<p>Set to <code>true</code> or <code>false</code>. If true, adds <code>-ea -esa</code>. Defaults to true, except for hotspot.</p>
@@ -161,11 +164,12 @@ TEST FAILURE</code></pre>
<p>Set to <code>true</code> or <code>false</code>. If <code>true</code>, JTReg will use <code>-match:</code> option, otherwise <code>-exclude:</code> will be used. Default is <code>false</code>.</p>
<h4 id="options">OPTIONS</h4>
<p>Additional options to the JTReg test framework.</p>
<p>Use <code>JTREG="OPTIONS=--help all"</code> to see all available JTReg options.</p>
<p>Use <code>JTREG=&quot;OPTIONS=--help all&quot;</code> to see all available JTReg options.</p>
<h4 id="java_options-1">JAVA_OPTIONS</h4>
<p>Additional Java options to JTReg (<code>-javaoption</code>).</p>
<p>Additional Java options for running test classes (sent to JTReg as <code>-javaoption</code>).</p>
<h4 id="vm_options-1">VM_OPTIONS</h4>
<p>Additional VM options to JTReg (<code>-vmoption</code>).</p>
<p>Additional Java options to be used when compiling and running classes (sent to JTReg as <code>-vmoption</code>).</p>
<p>This option is only needed in special circumstances. To pass Java options to your test classes, use <code>JAVA_OPTIONS</code>.</p>
<h4 id="aot_modules-1">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<h4 id="retry_count">RETRY_COUNT</h4>
@@ -176,7 +180,7 @@ TEST FAILURE</code></pre>
<p>Default is 1. Set to -1 to repeat indefinitely. This can be especially useful combined with <code>OPTIONS=--gtest_break_on_failure</code> to reproduce an intermittent problem.</p>
<h4 id="options-1">OPTIONS</h4>
<p>Additional options to the Gtest test framework.</p>
<p>Use <code>GTEST="OPTIONS=--help"</code> to see all available Gtest options.</p>
<p>Use <code>GTEST=&quot;OPTIONS=--help&quot;</code> to see all available Gtest options.</p>
<h4 id="aot_modules-2">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<h3 id="microbenchmark-keywords">Microbenchmark keywords</h3>
@@ -203,7 +207,7 @@ TEST FAILURE</code></pre>
<p>To run these tests correctly, additional parameters for the correct docker image are required on Ubuntu 18.04 by using <code>JAVA_OPTIONS</code>.</p>
<pre><code>$ make test TEST=&quot;jtreg:test/hotspot/jtreg/containers/docker&quot; JTREG=&quot;JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu -Djdk.test.docker.image.version=latest&quot;</code></pre>
<h3 id="non-us-locale">Non-US locale</h3>
<p>If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting <code>LANG="en_US"</code> in the environment before running tests should work. On Windows, setting <code>JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"</code> helps for most, but not all test cases. For example:</p>
<p>If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting <code>LANG=&quot;en_US&quot;</code> in the environment before running tests should work. On Windows, setting <code>JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot;</code> helps for most, but not all test cases. For example:</p>
<pre><code>$ export LANG=&quot;en_US&quot; &amp;&amp; make test TEST=...
$ make test JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot; TEST=...</code></pre>
<h3 id="pkcs11-tests">PKCS11 Tests</h3>
@@ -214,11 +218,11 @@ $ make test JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot; TE
<p>Some Client UI tests use key sequences which may be reserved by the operating system. Usually that causes the test failure. So it is highly recommended to disable system key shortcuts prior testing. The steps to access and disable system key shortcuts for various platforms are provided below.</p>
<h4 id="macos">MacOS</h4>
<p>Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts; select or deselect desired shortcut.</p>
<p>For example, test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java fails on MacOS because it uses <code>CTRL + F1</code> key sequence to show or hide tooltip message but the key combination is reserved by the operating system. To run the test correctly the default global key shortcut should be disabled using the steps described above, and then deselect "Turn keyboard access on or off" option which is responsible for <code>CTRL + F1</code> combination.</p>
<p>For example, test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java fails on MacOS because it uses <code>CTRL + F1</code> key sequence to show or hide tooltip message but the key combination is reserved by the operating system. To run the test correctly the default global key shortcut should be disabled using the steps described above, and then deselect &quot;Turn keyboard access on or off&quot; option which is responsible for <code>CTRL + F1</code> combination.</p>
<h4 id="linux">Linux</h4>
<p>Open the Activities overview and start typing Settings; Choose Settings, click Devices, then click Keyboard; set or override desired shortcut.</p>
<h4 id="windows">Windows</h4>
<p>Type <code>gpedit</code> in the Search and then click Edit group policy; navigate to User Configuration -&gt; Administrative Templates -&gt; Windows Components -&gt; File Explorer; in the right-side pane look for "Turn off Windows key hotkeys" and double click on it; enable or disable hotkeys.</p>
<p>Type <code>gpedit</code> in the Search and then click Edit group policy; navigate to User Configuration -&gt; Administrative Templates -&gt; Windows Components -&gt; File Explorer; in the right-side pane look for &quot;Turn off Windows key hotkeys&quot; and double click on it; enable or disable hotkeys.</p>
<p>Note: restart is required to make the settings take effect.</p>
</body>
</html>

View File

@@ -23,7 +23,7 @@ Some example command-lines:
$ make test-jdk_lang JTREG="JOBS=8"
$ make test TEST=jdk_lang
$ make test-only TEST="gtest:LogTagSet gtest:LogTagSetDescriptions" GTEST="REPEAT=-1"
$ make test TEST="hotspot:hotspot_gc" JTREG="JOBS=1;TIMEOUT_FACTOR=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"
$ make test TEST="hotspot:hotspot_gc" JTREG="JOBS=1;TIMEOUT_FACTOR=8;JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"
$ make test TEST="jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java"
$ make test TEST="micro:java.lang.reflect" MICRO="FORK=1;WARMUP_ITER=2"
$ make exploded-test TEST=tier2
@@ -190,11 +190,11 @@ pass unnoticed.
To separate multiple keyword=value pairs, use `;` (semicolon). Since the shell
normally eats `;`, the recommended usage is to write the assignment inside
qoutes, e.g. `JTREG="...;..."`. This will also make sure spaces are preserved,
as in `JTREG="VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"`.
as in `JTREG="JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"`.
(Other ways are possible, e.g. using backslash: `JTREG=JOBS=1\;TIMEOUT_FACTOR=8`.
Also, as a special technique, the string `%20` will be replaced with space for
certain options, e.g. `JTREG=VM_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug`.
certain options, e.g. `JTREG=JAVA_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug`.
This can be useful if you have layers of scripts and have trouble getting
proper quoting of command line arguments through.)
@@ -218,11 +218,11 @@ Currently only applies to JTReg.
Currently only applies to JTReg.
#### VM_OPTIONS
#### JAVA_OPTIONS
Applies to JTReg, GTest and Micro.
#### JAVA_OPTIONS
#### VM_OPTIONS
Applies to JTReg, GTest and Micro.
@@ -241,19 +241,28 @@ The simplest way to run tests with JCov coverage report is to use the special
target `jcov-test` instead of `test`, e.g. `make jcov-test TEST=jdk_lang`. This
will make sure the JCov image is built, and that JCov reporting is enabled.
The JCov report is stored in `build/$BUILD/test-results/jcov-output`.
The JCov report is stored in `build/$BUILD/test-results/jcov-output/report`.
Please note that running with JCov reporting can be very memory intensive.
#### JCOV_DIFF_CHANGESET
While collecting code coverage with JCov, it is also possible to find coverage
for only recently changed code. JCOV_DIFF_CHANGESET specifies a source
revision. A textual report will be generated showing coverage of the diff
between the specified revision and the repository tip.
The report is stored in `build/$BUILD/test-results/jcov-output/diff_coverage_report`
file.
### JTReg keywords
#### JOBS
The test concurrency (`-concurrency`).
Defaults to TEST_JOBS (if set by `--with-test-jobs=`), otherwise it defaults to
JOBS, except for Hotspot, where the default is *number of CPU cores/2* (for
sparc, if more than 16 cpus, then *number of CPU cores/5*, otherwise *number of
CPU cores/4*), but never more than *memory size in GB/2*.
JOBS, except for Hotspot, where the default is *number of CPU cores/2*,
but never more than *memory size in GB/2*.
#### TIMEOUT_FACTOR
The timeout factor (`-timeoutFactor`).
@@ -261,9 +270,9 @@ The timeout factor (`-timeoutFactor`).
Defaults to 4.
#### TEST_MODE
The test mode (`-agentvm`, `-samevm` or `-othervm`).
The test mode (`agentvm` or `othervm`).
Defaults to `-agentvm`.
Defaults to `agentvm`.
#### ASSERT
Enable asserts (`-ea -esa`, or none).
@@ -321,10 +330,15 @@ Additional options to the JTReg test framework.
Use `JTREG="OPTIONS=--help all"` to see all available JTReg options.
#### JAVA_OPTIONS
Additional Java options to JTReg (`-javaoption`).
Additional Java options for running test classes (sent to JTReg as
`-javaoption`).
#### VM_OPTIONS
Additional VM options to JTReg (`-vmoption`).
Additional Java options to be used when compiling and running classes (sent to
JTReg as `-vmoption`).
This option is only needed in special circumstances. To pass Java options to
your test classes, use `JAVA_OPTIONS`.
#### AOT_MODULES

View File

@@ -0,0 +1,10 @@
# jetbrains/runtime:jbr15env
FROM centos:7
RUN yum -y install centos-release-scl
RUN yum -y install devtoolset-8
RUN yum -y install zip bzip2 unzip tar wget make autoconf automake libtool alsa-devel cups-devel xorg-x11-devel libjpeg62-devel giflib-devel freetype-devel file which libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel libXrandr-devel libXi-devel git
# Install Java 11
RUN wget https://download.java.net/java/GA/jdk14.0.1/664493ef4a6946b186ff29eb326336a2/7/GPL/openjdk-14.0.1_linux-x64_bin.tar.gz \
-O - | tar xz -C /
ENV JAVA_HOME /jbrsdk
ENV PATH $JAVA_HOME/bin:/opt/rh/devtoolset-8/root/usr/bin:$PATH

View File

@@ -0,0 +1,9 @@
#!/bin/bash -x
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
script_dir=jb/project/tools/linux/scripts
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?

View File

@@ -0,0 +1,77 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-boot-jdk=amazon-corretto-11.0.5.10.1-linux-aarch64 \
--with-import-modules=./modular-sdk \
--enable-cds=yes || exit $?
make clean CONF=linux-aarch64-normal-server-release || exit $?
make images CONF=linux-aarch64-normal-server-release test-image || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-aarch64-b${build_number}
BASE_DIR=build/linux-aarch64-normal-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
tar -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-aarch64-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.aarch64
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.aarch64 | sed s/" "//g | sed s/,$//g) \
--output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR ${JBR_BUNDLE} || exit $?
gzip $JBR.tar || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-aarch64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?

View File

@@ -0,0 +1,139 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
function create_jbr {
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
;;
"jfx" | "jcef")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
"jfx_jcef")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
*)
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
esac
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JBR=$JBR_BASE_NAME-linux-x64-b$build_number
echo Running jlink....
$JSDK/bin/jlink \
--module-path $JSDK/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output $BASE_DIR/$JBR_BUNDLE
if [[ "$bundle_type" == *jcef* ]]; then
cp -R $BASE_DIR/$JBR_BUNDLE $BASE_DIR/jbr
cp -R jcef_linux_x64/* $BASE_DIR/$JBR_BUNDLE/lib || exit $?
fi
grep -v "^JAVA_VERSION" $JSDK/release | grep -v "^MODULES" >> $BASE_DIR/$JBR_BUNDLE/release
echo Creating $JBR.tar.gz ...
if [ ! -z "$bundle_type" ]; then
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
fi
tar -pcf $JBR.tar -C $BASE_DIR jbr || exit $?
gzip $JBR.tar || exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
#git checkout -- modules.list src
case "$bundle_type" in
"jfx")
git apply -p0 < jb/project/tools/exclude_jcef_module.patch
;;
"jcef")
git apply -p0 < jb/project/tools/exclude_jfx_module.patch
;;
esac
if [ -z "$bundle_type" ]; then
JBR_BUNDLE=jbr
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-boot-jdk=$BOOT_JDK \
--enable-cds=yes || exit $?
else
JBR_BUNDLE=jbr_${bundle_type}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=$BOOT_JDK \
--enable-cds=yes || exit $?
fi
make images CONF=linux-x86_64-server-release || exit $?
JSDK=build/linux-x86_64-server-release/images/jdk
JBSDK=$JBRSDK_BASE_NAME-linux-x64-b$build_number
echo Fixing permissions
chmod -R a+r $JSDK
BASE_DIR=build/linux-x86_64-server-release/images
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [[ "$bundle_type" == *jcef* ]]; then
cp -R jcef_linux_x64/* $BASE_DIR/$JBRSDK_BUNDLE/lib || exit $?
fi
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
echo Creating $JBSDK.tar.gz ...
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR $JBRSDK_BUNDLE || exit $?
gzip $JBSDK.tar || exit $?
fi
create_jbr ${bundle_type}
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
make test-image || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x64-b$build_number
echo Creating $JBSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?
fi

View File

@@ -0,0 +1,72 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=fastdebug \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-import-modules=./modular-sdk \
--enable-cds=yes || exit $?
make clean CONF=linux-x86_64-normal-server-fastdebug || exit $?
make images CONF=linux-x86_64-normal-server-fastdebug || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-x64-fastdebug-b${build_number}
BASE_DIR=build/linux-x86_64-normal-server-fastdebug/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
cp -R jcef_linux_x64/* $BASE_DIR/$JBRSDK_BUNDLE/lib || exit $?
echo Creating $JBSDK.tar.gz ...
tar -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-x64-fastdebug-b$build_number
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list | sed s/" "//g | sed s/,$//g) \
--output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
cp -R jcef_linux_x64/* $BASE_DIR/$JBR_BUNDLE/lib || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -czf $JBR.tar -C $BASE_DIR ${JBR_BUNDLE} || exit $?
gzip $JBR.tar || exit $?

View File

@@ -0,0 +1,73 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
linux32 bash configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-boot-jdk=/jbrsdk-11.0.5-b1 \
--enable-cds=yes || exit $?
make clean CONF=linux-x86-normal-server-release || exit $?
make images CONF=linux-x86-normal-server-release test-image || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-x86-b${build_number}
BASE_DIR=build/linux-x86-normal-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man -C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-x86-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g | sed s/,$//g) --output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR $JBR_BUNDLE || exit $?
gzip $JBR.tar || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' --exclude='test/hotspot/gtest' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,9 @@
#!/bin/bash -x
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
script_dir=jb/project/tools/mac/scripts
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?

View File

@@ -0,0 +1,148 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
function create_jbr {
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
;;
"jfx" | "jcef")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
"jfx_jcef")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
*)
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
esac
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JRE_CONTENTS=${BASE_DIR}/${JBR_BUNDLE}/Contents
JRE_HOME=${JRE_CONTENTS}/Home
if [ -d "${JRE_CONTENTS}" ]; then
rm -rf ${JRE_CONTENTS}
fi
mkdir -p ${JRE_CONTENTS}
JBR=${JBR_BASE_NAME}-osx-x64-b${build_number}
${BASE_DIR}/$JBRSDK_BUNDLE/Contents/Home/bin/jlink \
--module-path ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JRE_HOME} || exit $?
grep -v "^JAVA_VERSION" ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release | grep -v "^MODULES" >> ${JRE_HOME}/release
cp -R ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/MacOS ${JRE_CONTENTS}
cp ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Info.plist ${JRE_CONTENTS}
if [[ "${bundle_type}" == *jcef* ]]; then
rm -rf ${JRE_CONTENTS}/Frameworks || exit $?
rm -rf ${JRE_CONTENTS}/Helpers || exit $?
cp -a jcef_mac/Frameworks ${JRE_CONTENTS} || exit $?
cp -a jcef_mac/Helpers ${JRE_CONTENTS} || exit $?
fi
echo Creating ${JBR}.tar.gz ...
if [ ! -z "$bundle_type" ]; then
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
fi
COPYFILE_DISABLE=1 tar -pczf ${JBR}.tar.gz --exclude='*.dSYM' --exclude='man' -C ${BASE_DIR} jbr || exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
#git checkout -- modules.list src
case "$bundle_type" in
"jfx")
git apply -p0 < jb/project/tools/exclude_jcef_module.patch
;;
"jcef")
git apply -p0 < jb/project/tools/exclude_jfx_module.patch
;;
esac
if [ -z "$bundle_type" ]; then
JBR_BUNDLE=jbr
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-boot-jdk=`/usr/libexec/java_home -v $BOOT_JDK` \
--enable-cds=yes || exit $?
else
JBR_BUNDLE=jbr_${bundle_type}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=`/usr/libexec/java_home -v $BOOT_JDK` \
--enable-cds=yes || exit $?
fi
make images CONF=macosx-x86_64-server-release || exit $?
JSDK=build/macosx-x86_64-server-release/images/jdk-bundle
JBSDK=${JBRSDK_BASE_NAME}-osx-x64-b${build_number}
BASE_DIR=jre
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR
mkdir $BASE_DIR || exit $?
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
cp -a $JSDK/jdk-$JBSDK_VERSION_WITH_DOTS.jdk $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [[ "$bundle_type" == *jcef* ]]; then
cp -a jcef_mac/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/ || exit $?
cp -a jcef_mac/Helpers $BASE_DIR/$JBRSDK_BUNDLE/Contents/ || exit $?
fi
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
echo Creating $JBSDK.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBSDK.tar.gz -C $BASE_DIR \
--exclude='._*' --exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
$JBRSDK_BUNDLE || exit $?
fi
create_jbr "${bundle_type}" || exit $?
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
make test-image || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-osx-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBRSDK_TEST.tar.gz -C build/macosx-x86_64-server-release/images \
--exclude='test/jdk/demos' test || exit $?
fi

View File

@@ -0,0 +1,83 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=fastdebug \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-import-modules=./modular-sdk \
--with-boot-jdk=`/usr/libexec/java_home -v 11` \
--enable-cds=yes || exit $?
make clean CONF=macosx-x86_64-normal-server-fastdebug || exit $?
make images CONF=macosx-x86_64-normal-server-fastdebug || exit $?
JSDK=build/macosx-x86_64-normal-server-fastdebug/images/jdk-bundle
JBSDK=${JBRSDK_BASE_NAME}-osx-x64-fastdebug-b${build_number}
BASE_DIR=jre
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR
mkdir $BASE_DIR || exit $?
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
cp -a $JSDK/jdk-$JBSDK_VERSION_WITH_DOTS.jdk $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
cp -a jcef_mac/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/
cp -a jcef_mac/Helpers $BASE_DIR/$JBRSDK_BUNDLE/Contents
COPYFILE_DISABLE=1 \
tar -pczf ${JBSDK}.tar.gz -C ${BASE_DIR} \
--exclude='._*' --exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
${JBRSDK_BUNDLE} || exit $?
JBR_BUNDLE=jbr
JRE_CONTENTS=$BASE_DIR/$JBR_BUNDLE/Contents
JRE_HOME=$JRE_CONTENTS/Home
JBR_BASE_NAME=jbr-$JBSDK_VERSION
mkdir -p $JRE_CONTENTS
if [ -d "$JRE_HOME" ]; then
rm -rf $JRE_HOME
fi
JBR=${JBR_BASE_NAME}-osx-x64-fastdebug-b${build_number}
$BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/bin/jlink \
--module-path $BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list | sed s/" "//g) --output $JRE_HOME || exit $?
grep -v "^JAVA_VERSION" $BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/release | grep -v "^MODULES" >> $JRE_HOME/release
cp -R $BASE_DIR/$JBRSDK_BUNDLE/Contents/MacOS $JRE_CONTENTS
cp $BASE_DIR/$JBRSDK_BUNDLE/Contents/Info.plist $JRE_CONTENTS
cp -a jcef_mac/Frameworks ${JRE_CONTENTS} || exit $?
cp -a jcef_mac/Helpers ${JRE_CONTENTS} || exit $?
echo Creating $JBR.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBR.tar.gz --exclude='*.dSYM' --exclude='man' -C $BASE_DIR $JBR_BUNDLE || exit $?

View File

@@ -0,0 +1,120 @@
#!/bin/bash
APP_DIRECTORY=$1
APPL_USER=$2
APPL_PASSWORD=$3
APP_NAME=$4
BUNDLE_ID=$5
FAKE_ROOT="${6:-fake-root}"
if [[ -z "$APP_DIRECTORY" ]] || [[ -z "$APPL_USER" ]] || [[ -z "$APPL_PASSWORD" ]]; then
echo "Usage: $0 AppDirectory Username Password"
exit 1
fi
if [[ ! -d "$APP_DIRECTORY" ]]; then
echo "AppDirectory '$APP_DIRECTORY' does not exist or not a directory"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
function publish-log() {
id=$1
file=$2
curl -T "$file" "$ARTIFACTORY_URL/$id" || true
}
function altool-upload() {
# Since altool uses same file for upload token we have to trick it into using different folders for token file location
# Also it copies zip into TMPDIR so we override it too, to simplify cleanup
OLD_HOME="$HOME"
export HOME="$FAKE_ROOT/home"
export TMPDIR="$FAKE_ROOT/tmp"
mkdir -p "$HOME"
mkdir -p "$TMPDIR"
export _JAVA_OPTIONS="-Duser.home=$HOME -Djava.io.tmpdir=$TMPDIR"
# Reduce amount of downloads, cache transporter libraries
shared_itmstransporter="$OLD_HOME/shared-itmstransporter"
if [[ -f "$shared_itmstransporter" ]]; then
cp -r "$shared_itmstransporter" "$HOME/.itmstransporter"
fi
# For some reason altool prints everything to stderr, not stdout
set +e
xcrun altool --notarize-app \
--username "$APPL_USER" --password "$APPL_PASSWORD" \
--primary-bundle-id "$BUNDLE_ID" \
--asc-provider JetBrainssro --file "$1" 2>&1 | tee "altool.init.out"
unset TMPDIR
export HOME="$OLD_HOME"
set -e
}
#immediately exit script with an error if a command fails
set -euo pipefail
file="$APP_NAME.zip"
log "Zipping $file..."
rm -rf "$file"
ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY/Contents" "$file"
log "Notarizing $file..."
rm -rf "altool.init.out" "altool.check.out"
altool-upload "$file"
rm -rf "$file"
notarization_info="$(grep -e "RequestUUID" "altool.init.out" | grep -oE '([0-9a-f-]{36})')"
if [ -z "$notarization_info" ]; then
log "Faile to read RequestUUID from altool.init.out"
exit 10
fi
PATH="$PATH:/usr/local/bin/"
log "Notarization request sent, awaiting response"
spent=0
while true; do
# For some reason altool prints everything to stderr, not stdout
xcrun altool --username "$APPL_USER" --notarization-info "$notarization_info" --password "$APPL_PASSWORD" >"altool.check.out" 2>&1 || true
status="$(grep -oe 'Status: .*' "altool.check.out" | cut -c 9- || true)"
log "Current status: $status"
if [ "$status" = "invalid" ]; then
log "Notarization failed"
ec=1
elif [ "$status" = "success" ]; then
log "Notarization succeeded"
ec=0
else
if [ "$status" != "in progress" ]; then
log "Unknown notarization status, waiting more, altool output:"
cat "altool.check.out"
fi
if [[ $spent -gt 60 ]]; then
log "Waiting time out (apx 60 minutes)"
ec=2
break
fi
sleep 60
((spent += 1))
continue
fi
developer_log="developer_log.json"
log "Fetching $developer_log"
# TODO: Replace cut with trim or something better
url="$(grep -oe 'LogFileURL: .*' "altool.check.out" | cut -c 13-)"
wget "$url" -O "$developer_log" && cat "$developer_log" || true
if [ $ec != 0 ]; then
log "Publishing $developer_log"
publish-log "$notarization_info" "$developer_log"
fi
break
done
cat "altool.check.out"
rm -rf "altool.init.out" "altool.check.out"
exit $ec

View File

@@ -0,0 +1,93 @@
#!/bin/bash
APP_DIRECTORY=$1
JB_CERT=$2
if [[ -z "$APP_DIRECTORY" ]] || [[ -z "$JB_CERT" ]]; then
echo "Usage: $0 AppDirectory CertificateID"
exit 1
fi
if [[ ! -d "$APP_DIRECTORY" ]]; then
echo "AppDirectory '$APP_DIRECTORY' does not exist or not a directory"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
#immediately exit script with an error if a command fails
set -euo pipefail
# Cleanup files left from previous sign attempt (if any)
find "$APP_DIRECTORY" -name '*.cstemp' -exec rm '{}' \;
log "Signing libraries and executables..."
# -perm +111 searches for executables
for f in \
"Contents/Home/bin" \
"Contents/Home/lib"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
fi
done
log "Signing libraries in jars in $PWD"
# todo: add set -euo pipefail; into the inner sh -c
# `-e` prevents `grep -q && printf` loginc
# with `-o pipefail` there's no input for 'while' loop
find "$APP_DIRECTORY" -name '*.jar' \
-exec sh -c "set -u; unzip -l \"\$0\" | grep -q -e '\.dylib\$' -e '\.jnilib\$' -e '\.so\$' -e '^jattach\$' && printf \"\$0\0\" " {} \; |
while IFS= read -r -d $'\0' file; do
log "Processing libraries in $file"
rm -rf jarfolder jar.jar
mkdir jarfolder
filename="${file##*/}"
log "Filename: $filename"
cp "$file" jarfolder && (cd jarfolder && jar xf "$filename" && rm "$filename")
find jarfolder \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "jattach" \) \
-exec codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
(cd jarfolder; zip -q -r -o ../jar.jar .)
mv jar.jar "$file"
done
rm -rf jarfolder jar.jar
log "Signing other files..."
for f in \
"Contents/MacOS"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
fi
done
#log "Signing executable..."
#codesign --timestamp \
# -v -s "$JB_CERT" --options=runtime \
# --force \
# --entitlements entitlements.xml "$APP_DIRECTORY/Contents/MacOS/idea"
log "Signing whole app..."
codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--force \
--entitlements entitlements.xml "$APP_DIRECTORY"
log "Verifying java is not broken"
find "$APP_DIRECTORY" \
-type f -name 'java' -perm +111 -exec {} -version \;

View File

@@ -0,0 +1,145 @@
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
export COPYFILE_DISABLE=true
INPUT_FILE=$1
EXPLODED=$2.exploded
BACKUP_JMODS=$2.backup
USERNAME=$3
PASSWORD=$4
CODESIGN_STRING=$5
NOTARIZE=$6
BUNDLE_ID=$7
cd "$(dirname "$0")"
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
log "Deleting $EXPLODED ..."
if test -d "$EXPLODED"; then
find "$EXPLODED" -mindepth 1 -maxdepth 1 -exec chmod -R u+wx '{}' \;
fi
rm -rf "$EXPLODED"
mkdir "$EXPLODED"
rm -rf "$BACKUP_JMODS"
mkdir "$BACKUP_JMODS"
log "Unzipping $INPUT_FILE to $EXPLODED ..."
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
rm "$INPUT_FILE"
BUILD_NAME="$(ls "$EXPLODED")"
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/jmods $BACKUP_JMODS
fi
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/Frameworks; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/Frameworks $BACKUP_JMODS
fi
if test -f $EXPLODED/$BUILD_NAME/Contents/MacOS/libjli.dylib; then
mv $EXPLODED/$BUILD_NAME/Contents/MacOS/libjli.dylib $BACKUP_JMODS
fi
#log "$INPUT_FILE unzipped and removed"
log "$INPUT_FILE extracted and removed"
APPLICATION_PATH="$EXPLODED/$BUILD_NAME"
find "$APPLICATION_PATH/Contents/Home/bin" \
-maxdepth 1 -type f -name '*.jnilib' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Linking $file"
b="$(basename "$file" .jnilib)"
ln -sf "$b.jnilib" "$(dirname "$file")/$b.dylib"
fi
done
find "$APPLICATION_PATH/Contents/" \
-maxdepth 1 -type f -name '*.txt' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Moving $file"
mv "$file" "$APPLICATION_PATH/Contents/Resources"
fi
done
non_plist=$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist' | wc -l)
if [[ $non_plist -gt 0 ]]; then
log "Only Info.plist file is allowed in Contents directory but found $non_plist file(s):"
log "$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist')"
exit 1
fi
log "Unlocking keychain..."
# Make sure *.p12 is imported into local KeyChain
security unlock-keychain -p "$PASSWORD" "/Users/$USERNAME/Library/Keychains/login.keychain"
attempt=1
limit=3
set +e
while [[ $attempt -le $limit ]]; do
log "Signing (attempt $attempt) $APPLICATION_PATH ..."
./sign.sh "$APPLICATION_PATH" "$CODESIGN_STRING"
ec=$?
if [[ $ec -ne 0 ]]; then
((attempt += 1))
if [ $attempt -eq $limit ]; then
set -e
fi
log "Signing failed, wait for 30 sec and try to sign again"
sleep 30
else
log "Signing done"
codesign -v "$APPLICATION_PATH" -vvvvv
log "Check sign done"
((attempt += limit))
fi
done
set -e
if [ "$NOTARIZE" = "yes" ]; then
log "Notarizing..."
# shellcheck disable=SC1090
source "$HOME/.notarize_token"
APP_NAME=$(echo ${INPUT_FILE} | awk -F"." '{ print $1 }')
# Since notarization tool uses same file for upload token we have to trick it into using different folders, hence fake root
# Also it leaves copy of zip file in TMPDIR, so notarize.sh overrides it and uses FAKE_ROOT as location for temp TMPDIR
FAKE_ROOT="$(pwd)/fake-root"
mkdir -p "$FAKE_ROOT"
echo "Notarization will use fake root: $FAKE_ROOT"
./notarize.sh "$APPLICATION_PATH" "$APPLE_USERNAME" "$APPLE_PASSWORD" "$APP_NAME" "$BUNDLE_ID" "$FAKE_ROOT"
rm -rf "$FAKE_ROOT"
set +e
log "Stapling..."
xcrun stapler staple "$APPLICATION_PATH"
else
log "Notarization disabled"
log "Stapling disabled"
fi
log "Zipping $BUILD_NAME to $INPUT_FILE ..."
(
#cd "$EXPLODED"
#ditto -c -k --sequesterRsrc --keepParent "$BUILD_NAME" "../$INPUT_FILE"
if test ! -z $(ls $BACKUP_JMODS/libjli.dylib); then
mv $BACKUP_JMODS/libjli.dylib $EXPLODED/$BUILD_NAME/Contents/MacOS
fi
if test -d $BACKUP_JMODS/jmods; then
mv $BACKUP_JMODS/jmods $EXPLODED/$BUILD_NAME/Contents/Home
fi
if test -d $BACKUP_JMODS/Frameworks; then
mv $BACKUP_JMODS/Frameworks $EXPLODED/$BUILD_NAME/Contents/Home
fi
COPYFILE_DISABLE=1 tar -pczf $INPUT_FILE --exclude='*.dSYM' --exclude='man' -C $EXPLODED $BUILD_NAME
log "Finished zipping"
)
rm -rf "$EXPLODED"
log "Done"

View File

@@ -0,0 +1,9 @@
#!/bin/bash -x
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
script_dir=jb/project/tools/windows/scripts
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?

View File

@@ -0,0 +1,119 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
function create_jbr {
case "$1" in
"${bundle_type}_lw")
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
;;
"jfx" | "jcef" | "jfx_jcef")
cat modules.list > modules_tmp.list
;;
*)
cat modules.list > modules_tmp.list
;;
esac
rm -rf ${JBR_BUNDLE}
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
if [[ "${bundle_type}" == *jcef* ]]
then
cp -R jcef_win_x64/* ${JBR_BUNDLE}/bin
fi
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${JBR_BUNDLE}/release
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WORK_DIR=$(pwd)
#git checkout -- modules.list src
case "$bundle_type" in
"jfx")
echo "Excluding jcef modules"
git apply -p0 < jb/project/tools/exclude_jcef_module.patch
;;
"jcef")
echo "Excluding jfx modules"
git apply -p0 < jb/project/tools/exclude_jfx_module.patch
;;
esac
PATH="/usr/local/bin:/usr/bin:${PATH}"
if [ -z "$bundle_type" ]; then
bash ./configure \
--disable-warnings-as-errors \
--with-target-bits=64 \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
else
bash ./configure \
--disable-warnings-as-errors \
--with-target-bits=64 \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=${WORK_DIR}/modular-sdk \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
fi
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
make LOG=info images CONF=windows-x86_64-server-release test-image || exit 1
else
make LOG=info images CONF=windows-x86_64-server-release || exit 1
fi
JSDK=build/windows-x86_64-server-release/images/jdk
if [[ "$bundle_type" == "*jcef*" || -z "$bundle_type" ]]; then
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-b${build_number}
fi
BASE_DIR=build/windows-x86_64-server-release/images
JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
if [[ "$bundle_type" == "*jcef*" ]]; then
cp -R jcef_win_x64/* ${JBRSDK_BUNDLE}/bin
fi
if [ -z "$bundle_type" ]; then
JBR_BUNDLE=jbr
else
JBR_BUNDLE=jbr_${bundle_type}
fi
create_jbr ${bundle_type}
#JBR_BUNDLE=jbr_${bundle_type}_lw
#create_jbr ${bundle_type}_lw

View File

@@ -0,0 +1,57 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WORK_DIR=$(pwd)
PATH="/usr/local/bin:/usr/bin:${PATH}"
./configure \
--disable-warnings-as-errors \
--disable-debug-symbols \
--with-target-bits=32 \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-toolchain-version=2015 \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
make clean CONF=windows-x86-normal-server-release || exit 1
make LOG=info images CONF=windows-x86-normal-server-release test-image || exit 1
JBSDK=${JBRSDK_BASE_NAME}-windows-x86-b${build_number}
BASE_DIR=build/windows-x86-normal-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
JBR_BUNDLE=jbr
rm -rf ${JBR_BUNDLE}
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${JBR_BUNDLE}/release

View File

@@ -0,0 +1,79 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
function pack_jbr {
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
;;
"jfx" | "jcef")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
;;
"jfx_jcef" | "")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
;;
*)
echo "***ERR*** bundle was not specified" && exit 1
;;
esac
JBR=$JBR_BASE_NAME-windows-x64-b$build_number
echo Creating $JBR.tar.gz ...
if [ ! -z "$bundle_type" ]; then
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
fi
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR jbr || exit 1
#rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
IMAGES_DIR=build/windows-x86_64-server-release/images
JSDK=$IMAGES_DIR/jdk
JBSDK=$JBRSDK_BASE_NAME-windows-x64-b$build_number
BASE_DIR=.
if [ -z "$bundle_type" ]; then
JBR_BUNDLE=jbr
else
JBR_BUNDLE=jbr_${bundle_type}
fi
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
JBRSDK_BUNDLE=jbrsdk
echo Creating $JBSDK.tar.gz ...
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || exit 1
fi
JBR_BUNDLE=jbr_${bundle_type}
pack_jbr $bundle_type
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || exit 1
fi

View File

@@ -0,0 +1,45 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
IMAGES_DIR=build/windows-x86-normal-server-release/images
JSDK=$IMAGES_DIR/jdk
JBSDK=$JBRSDK_BASE_NAME-windows-x86-b$build_number
BASE_DIR=.
JBRSDK_BUNDLE=jbrsdk
echo Creating $JBSDK.tar.gz ...
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || exit 1
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
JBR=$JBR_BASE_NAME-windows-x86-b$build_number
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR ${JBR_BUNDLE} || exit 1
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || exit 1

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -101,7 +101,7 @@ define SetupBundleFileBody
# If no subdir is specified and only one BASE_DIR, tar.gz can be done
# directly from BASE_DIR.
$(CD) $$($1_BASE_DIRS) \
&& ( $(TAR) cf - $(TAR_CREATE_EXTRA_PARAM) \
&& ( $(TAR) cf - \
-$(TAR_INCLUDE_PARAM) $$($1_$$($1_BASE_DIRS)_LIST_FILE) \
$(TAR_IGNORE_EXIT_VALUE) ) \
| $(GZIP) > $$@
@@ -110,7 +110,7 @@ define SetupBundleFileBody
# If only one BASE_DIR, but with a SUBDIR set, tar.gz can use the
# transform option to create bundle directly from the BASE_DIR.
$(CD) $$($1_BASE_DIRS) \
&& ( $(TAR) cf - $(TAR_CREATE_EXTRA_PARAM) \
&& ( $(TAR) cf - \
-$(TAR_INCLUDE_PARAM) $$($1_$$($1_BASE_DIRS)_LIST_FILE) \
$$(if $$($1_SUBDIR), --transform 's|^|$$($1_SUBDIR)/|S') \
$(TAR_IGNORE_EXIT_VALUE) ) \
@@ -125,6 +125,13 @@ define SetupBundleFileBody
&& $(TAR) cf - -$(TAR_INCLUDE_PARAM) $$($1_$$d_LIST_FILE) \
$(TAR_IGNORE_EXIT_VALUE) ) \
| ( $(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) && $(TAR) xf - )$$(NEWLINE) )
# Rename stripped pdb files
ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+public)
for f in `$(FIND) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) -name "*.stripped.pdb"`; do \
$(ECHO) Renaming $$$${f} to $$$${f%stripped.pdb}pdb $(LOG_INFO); \
$(MV) $$$${f} $$$${f%stripped.pdb}pdb; \
done
endif
# Unzip any zipped debuginfo files
ifeq ($$($1_UNZIP_DEBUGINFO), true)
for f in `$(FIND) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) -name "*.diz"`; do \
@@ -133,7 +140,7 @@ define SetupBundleFileBody
endif
ifeq ($$($1_TYPE), tar.gz)
$(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1 && \
( $(TAR) cf - $(TAR_CREATE_EXTRA_PARAM) \
( $(TAR) cf - \
$$(if $$($1_SUBDIR), $$($1_SUBDIR), .) $(TAR_IGNORE_EXIT_VALUE) ) \
| $(GZIP) > $$@
else ifeq ($$($1_TYPE), zip)
@@ -183,7 +190,7 @@ endif
ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.pdb %.map
SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.map
# There may be files with spaces in the names, so use ShellFindFiles
# explicitly.
@@ -209,6 +216,21 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
endif
endif
# Create special filter rules when dealing with debug symbols on windows
ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JDK_SYMBOLS_EXCLUDE_PATTERN := %.pdb
else
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
JDK_SYMBOLS_EXCLUDE_PATTERN := \
$(filter-out \
%.stripped.pdb, \
$(filter %.pdb, $(ALL_JDK_FILES)) \
)
endif
endif
endif
JDK_BUNDLE_FILES := \
$(filter-out \
$(JDK_SYMBOLS_EXCLUDE_PATTERN) \
@@ -218,13 +240,14 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
, \
$(ALL_JDK_FILES) \
)
JDK_SYMBOLS_BUNDLE_FILES := \
$(filter \
$(JDK_SYMBOLS_EXCLUDE_PATTERN) \
$(SYMBOLS_EXCLUDE_PATTERN) \
, \
$(filter-out \
$(JDK_IMAGE_HOMEDIR)/demo/% \
$(JDK_IMAGE_HOMEDIR)/demo/% %.stripped.pdb \
, \
$(ALL_JDK_SYMBOLS_FILES) \
) \
@@ -245,29 +268,116 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
endif
endif
# Create special filter rules when dealing with debug symbols on windows
ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JRE_SYMBOLS_EXCLUDE_PATTERN := %.pdb
else
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
JRE_SYMBOLS_EXCLUDE_PATTERN := \
$(filter-out \
%.stripped.pdb, \
$(filter %.pdb, $(ALL_JRE_FILES)) \
)
endif
endif
endif
JRE_BUNDLE_FILES := $(filter-out \
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
$(SYMBOLS_EXCLUDE_PATTERN), \
$(ALL_JRE_FILES))
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
FILES := $(JDK_BUNDLE_FILES), \
SPECIAL_INCLUDES := $(JDK_SPECIAL_INCLUDES), \
BASE_DIRS := $(JDK_IMAGE_DIR), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
))
# On Macosx release builds, when there is a code signing certificate available,
# the final bundle layout can be signed.
SIGN_BUNDLE := false
ifeq ($(call isTargetOs, macosx)+$(DEBUG_LEVEL), true+release)
ifneq ($(CODESIGN), )
SIGN_BUNDLE := true
endif
endif
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
ifeq ($(SIGN_BUNDLE), true)
# Macosx release build and code signing available.
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
FILES := $(JRE_BUNDLE_FILES), \
BASE_DIRS := $(JRE_IMAGE_DIR), \
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
))
################################################################################
# JDK bundle
$(eval $(call SetupCopyFiles, CREATE_JDK_BUNDLE_DIR_SIGNED, \
SRC := $(JDK_IMAGE_DIR), \
FILES := $(JDK_BUNDLE_FILES), \
DEST := $(JDK_MACOSX_BUNDLE_DIR_SIGNED), \
))
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
JDK_SIGNED_CODE_RESOURCES := \
$(JDK_MACOSX_BUNDLE_DIR_SIGNED)/$(JDK_MACOSX_CONTENTS_SUBDIR)/_CodeSignature/CodeResources
$(JDK_SIGNED_CODE_RESOURCES): $(CREATE_JDK_BUNDLE_DIR_SIGNED)
$(call LogWarn, Signing $(JDK_BUNDLE_NAME))
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" \
--timestamp --options runtime --deep --force \
$(JDK_MACOSX_BUNDLE_DIR_SIGNED)/$(JDK_MACOSX_BUNDLE_TOP_DIR) $(LOG_DEBUG)
$(TOUCH) $@
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
FILES := \
$(CREATE_JDK_BUNDLE_DIR_SIGNED) \
$(JDK_SIGNED_CODE_RESOURCES), \
BASE_DIRS := $(JDK_MACOSX_BUNDLE_DIR_SIGNED), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
))
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
################################################################################
# JRE bundle
$(eval $(call SetupCopyFiles, CREATE_JRE_BUNDLE_DIR_SIGNED, \
SRC := $(JRE_IMAGE_DIR), \
FILES := $(JRE_BUNDLE_FILES), \
DEST := $(JRE_MACOSX_BUNDLE_DIR_SIGNED), \
))
JRE_SIGNED_CODE_RESOURCES := \
$(JRE_MACOSX_BUNDLE_DIR_SIGNED)/$(JRE_MACOSX_CONTENTS_SUBDIR)/_CodeSignature/CodeResources
$(JRE_SIGNED_CODE_RESOURCES): $(CREATE_JRE_BUNDLE_DIR_SIGNED)
$(call LogWarn, Signing $(JRE_BUNDLE_NAME))
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" \
--timestamp --options runtime --deep --force \
$(JRE_MACOSX_BUNDLE_DIR_SIGNED)/$(JRE_MACOSX_BUNDLE_TOP_DIR) $(LOG_DEBUG)
$(TOUCH) $@
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
FILES := \
$(CREATE_JRE_BUNDLE_DIR_SIGNED) \
$(JRE_SIGNED_CODE_RESOURCES), \
BASE_DIRS := $(JRE_MACOSX_BUNDLE_DIR_SIGNED), \
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
))
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
else
# Not a Macosx release build or code signing not available.
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
FILES := $(JDK_BUNDLE_FILES), \
SPECIAL_INCLUDES := $(JDK_SPECIAL_INCLUDES), \
BASE_DIRS := $(JDK_IMAGE_DIR), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
))
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
FILES := $(JRE_BUNDLE_FILES), \
BASE_DIRS := $(JRE_IMAGE_DIR), \
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
))
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
endif
ifeq ($(COPY_DEBUG_SYMBOLS), true)
$(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,6 @@ include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include NativeCompilation.gmk
include SetupJavaCompilers.gmk
include TextFileProcessing.gmk
include ZipArchive.gmk
@@ -93,7 +92,7 @@ COPY_TO_IMAGE := *.html *.txt *.png *.xml README*
# EXTRA_COPY_TO_IMAGE Additional files to copy to images (as wildcards)
# EXTRA_MANIFEST_ATTR Extra manifest attribute
# SKIP_COMPILATION Skip Java compilation iff true
# DISABLE_SJAVAC Passed to SetupJavaCompilation
# DISABLED_WARNINGS Additional disabled warnings
SetupBuildDemo = $(NamedParamsMacroTemplate)
define SetupBuildDemoBody
ifeq ($$($1_SRC_DIR), )
@@ -125,7 +124,7 @@ define SetupBuildDemoBody
ifneq ($$($1_SKIP_COMPILATION), true)
$$(eval $$(call SetupJavaCompilation, BUILD_DEMO_$1, \
SETUP := GENERATE_USINGJDKBYTECODE, \
TARGET_RELEASE := $(TARGET_RELEASE_NEWJDK_UPGRADED), \
SRC := $$($1_MAIN_SRC) $$($1_EXTRA_SRC_DIR), \
BIN := $(SUPPORT_OUTPUTDIR)/demos/classes/$$($1_DEMO_SUBDIR)/$1, \
COPY := $(COPY_TO_JAR) $$($1_EXTRA_COPY_TO_JAR), \
@@ -135,7 +134,7 @@ define SetupBuildDemoBody
EXTRA_MANIFEST_ATTR := $$($1_EXTRA_MANIFEST_ATTR), \
SRCZIP := $(SUPPORT_OUTPUTDIR)/demos/image/$$($1_DEMO_SUBDIR)/$1/src.zip, \
EXCLUDE_FILES := $$($1_EXCLUDE_FILES), \
DISABLE_SJAVAC := $$($1_DISABLE_SJAVAC), \
DISABLED_WARNINGS := $$($1_DISABLED_WARNINGS), \
))
$1 += $$(BUILD_DEMO_$1)
@@ -173,35 +172,41 @@ $(BUILD_DEMO_CodePointIM_JAR): $(CODEPOINT_METAINF_SERVICE_FILE)
$(eval $(call SetupBuildDemo, FileChooserDemo, \
DEMO_SUBDIR := jfc, \
DISABLED_WARNINGS := rawtypes deprecation unchecked, \
))
$(eval $(call SetupBuildDemo, SwingSet2, \
DEMO_SUBDIR := jfc, \
EXTRA_COPY_TO_JAR := .java, \
EXTRA_MANIFEST_ATTR := SplashScreen-Image: resources/images/splash.png, \
DISABLE_SJAVAC := true, \
DISABLED_WARNINGS := rawtypes deprecation unchecked static serial cast, \
))
$(eval $(call SetupBuildDemo, Font2DTest, \
DISABLED_WARNINGS := rawtypes deprecation unchecked serial cast, \
DEMO_SUBDIR := jfc, \
))
$(eval $(call SetupBuildDemo, J2Ddemo, \
DEMO_SUBDIR := jfc, \
MAIN_CLASS := java2d.J2Ddemo, \
DISABLED_WARNINGS := rawtypes deprecation unchecked cast, \
JAR_NAME := J2Ddemo, \
))
$(eval $(call SetupBuildDemo, Metalworks, \
DISABLED_WARNINGS := rawtypes unchecked, \
DEMO_SUBDIR := jfc, \
))
$(eval $(call SetupBuildDemo, Notepad, \
DISABLED_WARNINGS := rawtypes, \
DEMO_SUBDIR := jfc, \
))
$(eval $(call SetupBuildDemo, Stylepad, \
DEMO_SUBDIR := jfc, \
DISABLED_WARNINGS := rawtypes unchecked, \
EXTRA_SRC_DIR := $(DEMO_SHARE_SRC)/jfc/Notepad, \
EXCLUDE_FILES := $(DEMO_SHARE_SRC)/jfc/Notepad/README.txt, \
))
@@ -211,6 +216,7 @@ $(eval $(call SetupBuildDemo, SampleTree, \
))
$(eval $(call SetupBuildDemo, TableExample, \
DISABLED_WARNINGS := rawtypes unchecked deprecation, \
DEMO_SUBDIR := jfc, \
))
@@ -234,15 +240,9 @@ $(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%: $(DEMO_SHARE_SRC)/nbproject/%
$(call install-file)
$(CHMOD) -f ug+w $@
ifeq ($(call isTargetOs, solaris), true)
TARGETS += $(patsubst $(DEMO_SHARE_SRC)/nbproject/%, \
$(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%, \
$(call FindFiles, $(DEMO_SHARE_SRC)/nbproject))
else
TARGETS += $(patsubst $(DEMO_SHARE_SRC)/nbproject/%, \
$(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%, \
$(call FindFiles, $(DEMO_SHARE_SRC)/nbproject))
endif
TARGETS += $(patsubst $(DEMO_SHARE_SRC)/nbproject/%, \
$(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%, \
$(call FindFiles, $(DEMO_SHARE_SRC)/nbproject))
################################################################################

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include SetupJavaCompilers.gmk
include Modules.gmk
################################################################################
@@ -66,8 +65,8 @@ TARGETS += $(COPY_PREVIEW_FEATURES)
# Param 1 - Name of module to compile
define SetupInterimModule
$$(eval $$(call SetupJavaCompilation, BUILD_$1.interim, \
SETUP := BOOT_JAVAC, \
DISABLE_SJAVAC := true, \
COMPILER := bootjdk, \
TARGET_RELEASE := $$(TARGET_RELEASE_BOOTJDK), \
SRC := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim \
$$(wildcard $(SUPPORT_OUTPUTDIR)/gensrc/$1) \
$(TOPDIR)/src/$1/share/classes, \
@@ -77,12 +76,13 @@ define SetupInterimModule
EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim/module-info.java, \
COPY := .gif .png .xml .css .js javax.tools.JavaCompilerTool, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules/$1.interim, \
ADD_JAVAC_FLAGS := --module-path $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules \
DISABLED_WARNINGS := module options, \
JAVAC_FLAGS := \
--module-path $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules \
$$(INTERIM_LANGTOOLS_ADD_EXPORTS) \
--patch-module java.base=$(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim \
--add-exports java.base/jdk.internal=java.compiler.interim \
--add-exports java.base/jdk.internal=jdk.compiler.interim \
-Xlint:-module, \
--add-exports java.base/jdk.internal=jdk.compiler.interim, \
))
$1_DEPS_INTERIM := $$(addsuffix .interim, $$(filter \

View File

@@ -1,79 +0,0 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: all
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include SetupJavaCompilers.gmk
################################################################################
# Generate interim versions of the module-info.java files for the interim
# langtools modules. Each interim module has ".interim" added as suffix to the
# original module name.
INTERIM_MODULEINFO_PATTERN := \
$(foreach m, $(INTERIM_RMIC_BASE_MODULES), -e 's/$m\([,; ]\)/$m.interim\1/g') \
-e '/ToolProvider[,; ]/d'
$(BUILDTOOLS_OUTPUTDIR)/gensrc/%.interim/module-info.java: \
$(TOPDIR)/src/%/share/classes/module-info.java
$(call LogInfo, Generating module-info.java for $*.interim)
$(call MakeDir, $(@D))
$(SED) $(INTERIM_MODULEINFO_PATTERN) $< > $@
TARGETS += $(patsubst %, $(BUILDTOOLS_OUTPUTDIR)/gensrc/%/module-info.java, \
$(INTERIM_RMIC_MODULES))
################################################################################
RMIC_PKGS := \
sun/rmi/rmic \
sun/tools/asm \
sun/tools/java \
sun/tools/javac \
sun/tools/tree \
sun/tools/util \
#
$(eval $(call SetupJavaCompilation, BUILD_jdk.rmic.interim, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := $(TOPDIR)/src/jdk.rmic/share/classes, \
EXCLUDE_FILES := $(TOPDIR)/src/jdk.rmic/share/classes/module-info.java, \
EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.rmic.interim/module-info.java, \
INCLUDES := $(RMIC_PKGS), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_rmic_modules/jdk.rmic.interim, \
COPY := .properties, \
ADD_JAVAC_FLAGS := \
--module-path $(BUILDTOOLS_OUTPUTDIR)/interim_rmic_modules \
$(INTERIM_RMIC_ADD_EXPORTS), \
))
TARGETS += $(BUILD_jdk.rmic.interim)
##########################################################################################
all: $(TARGETS)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,6 @@ include $(SPEC)
include MakeBase.gmk
include Modules.gmk
include JavaCompilation.gmk
include SetupJavaCompilers.gmk
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, CompileJavaModules.gmk))
@@ -38,8 +37,11 @@ $(eval $(call IncludeCustomExtension, CompileJavaModules.gmk))
################################################################################
# Module specific build settings
java.base_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference,-accessibility '-Xdoclint/package:java.*,javax.*' -XDstringConcat=inline
java.base_COPY += .icu .dat .spp .nrm content-types.properties hijrah-config-islamic-umalqura.properties
java.base_DOCLINT += -Xdoclint:all/protected,-reference,-accessibility \
'-Xdoclint/package:java.*,javax.*'
java.base_JAVAC_FLAGS += -XDstringConcat=inline
java.base_COPY += .icu .dat .spp .nrm content-types.properties \
hijrah-config-Hijrah-umalqura_islamic-umalqura.properties
java.base_CLEAN += intrinsic.properties
java.base_EXCLUDE_FILES += \
@@ -51,14 +53,7 @@ java.base_EXCLUDES += java/lang/doc-files
# data files and shouldn't go in the product
java.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java
ifeq ($(call isTargetOs, solaris), false)
java.base_EXCLUDE_FILES += \
SolarisLoginModule.java \
SolarisSystem.java \
#
endif
ifeq ($(call isTargetOs, solaris macosx aix), false)
ifeq ($(call isTargetOs, macosx aix), false)
java.base_EXCLUDE_FILES += sun/nio/fs/PollingWatchService.java
endif
@@ -70,18 +65,19 @@ endif
################################################################################
java.compiler_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.compiler_DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:java.*,javax.*'
################################################################################
java.datatransfer_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
java.datatransfer_DOCLINT += -Xdoclint:all/protected,-reference \
'-Xdoclint/package:java.*,javax.*'
java.datatransfer_COPY += flavormap.properties
################################################################################
java.desktop_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference \
'-Xdoclint/package:java.*,javax.*' -Xlint:exports \
--doclint-format html4
java.desktop_DOCLINT += -Xdoclint:all/protected,-reference \
'-Xdoclint/package:java.*,javax.*'
java.desktop_COPY += .gif .png .wav .txt .xml .css .pf
java.desktop_CLEAN += iio-plugin.properties cursors.properties
@@ -214,76 +210,89 @@ java.desktop_EXCLUDE_FILES += \
################################################################################
java.scripting_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.scripting_DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:java.*,javax.*'
java.scripting_COPY += .js
java.scripting_CLEAN += .properties
################################################################################
java.instrument_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility '-Xdoclint/package:java.*,javax.*'
java.instrument_DOCLINT += -Xdoclint:all/protected,-accessibility \
'-Xdoclint/package:java.*,javax.*'
################################################################################
java.logging_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference,-accessibility '-Xdoclint/package:java.*,javax.*'
java.logging_DOCLINT += -Xdoclint:all/protected,-reference,-accessibility \
'-Xdoclint/package:java.*,javax.*'
################################################################################
java.management_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference,-accessibility '-Xdoclint/package:java.*,javax.*'
java.management_DOCLINT += -Xdoclint:all/protected,-reference,-accessibility \
'-Xdoclint/package:java.*,javax.*'
################################################################################
java.management.rmi_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:javax.*'
java.management.rmi_DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:javax.*'
################################################################################
java.prefs_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.prefs_DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:java.*,javax.*'
################################################################################
java.transaction.xa_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:javax.*'
java.transaction.xa_DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:javax.*'
################################################################################
java.sql_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
java.sql_DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:java.*,javax.*'
################################################################################
java.sql.rowset_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility '-Xdoclint/package:java.*,javax.*'
java.sql.rowset_DOCLINT += -Xdoclint:all/protected,-accessibility \
'-Xdoclint/package:java.*,javax.*'
java.sql.rowset_CLEAN_FILES += $(wildcard \
$(TOPDIR)/src/java.sql.rowset/share/classes/com/sun/rowset/*.properties \
$(TOPDIR)/src/java.sql.rowset/share/classes/javax/sql/rowset/*.properties)
################################################################################
java.rmi_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.rmi_DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:java.*,javax.*'
java.rmi_CLEAN_FILES += $(wildcard \
$(TOPDIR)/src/java.rmi/share/classes/sun/rmi/registry/resources/*.properties \
$(TOPDIR)/src/java.rmi/share/classes/sun/rmi/server/resources/*.properties)
################################################################################
java.xml_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility \
java.xml_DOCLINT += -Xdoclint:all/protected,-accessibility \
'-Xdoclint/package:$(call CommaList, javax.xml.catalog javax.xml.datatype \
javax.xml.transform javax.xml.validation javax.xml.xpath)'
java.xml_CLEAN += .properties
################################################################################
java.naming_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility '-Xdoclint/package:java.*,javax.*' -Xlint:-exports
java.naming_DOCLINT += -Xdoclint:all/protected,-accessibility \
'-Xdoclint/package:java.*,javax.*'
java.naming_CLEAN += jndiprovider.properties
################################################################################
java.security.jgss_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.security.jgss_DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:java.*,javax.*'
################################################################################
java.smartcardio_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility '-Xdoclint/package:java.*,javax.*'
java.smartcardio_DOCLINT += -Xdoclint:all/protected,-accessibility \
'-Xdoclint/package:java.*,javax.*'
################################################################################
java.xml.crypto_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.xml.crypto_DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:java.*,javax.*'
java.xml.crypto_COPY += .dtd .xml
java.xml.crypto_CLEAN += .properties
@@ -295,17 +304,18 @@ jdk.charsets_COPY += .dat
################################################################################
jdk.compiler_ADD_JAVAC_FLAGS += -Xdoclint:all/protected \
'-Xdoclint/package:-com.sun.tools.*,-jdk.internal.*,sun.tools.serialver.resources.*' \
-XDstringConcat=inline
jdk.compiler_DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:-com.sun.tools.*,-jdk.internal.*,sun.tools.serialver.resources.*'
jdk.compiler_JAVAC_FLAGS += -XDstringConcat=inline
jdk.compiler_CLEAN_FILES += $(wildcard \
$(patsubst %, $(TOPDIR)/src/jdk.compiler/share/classes/%/*.properties, \
sun/tools/serialver/resources))
################################################################################
jdk.hotspot.agent_ADD_JAVAC_FLAGS += $(DISABLE_WARNINGS),-overrides
jdk.hotspot.agent_COPY += .gif .png sa.js .properties
jdk.hotspot.agent_DISABLED_WARNINGS += rawtypes serial cast static overrides \
fallthrough
jdk.hotspot.agent_COPY += .gif .png .properties
################################################################################
@@ -337,22 +347,7 @@ jdk.javadoc_COPY += .xml .css .js .png
################################################################################
jdk.jartool_ADD_JAVAC_FLAGS += -XDstringConcat=inline
################################################################################
jdk.scripting.nashorn_ADD_JAVAC_FLAGS += $(DISABLE_WARNINGS),-overrides
jdk.scripting.nashorn_COPY := .properties .js
################################################################################
jdk.scripting.nashorn.shell_ADD_JAVAC_FLAGS += $(DISABLE_WARNINGS),-overrides
jdk.scripting.nashorn.shell_COPY += .js .properties
################################################################################
jdk.rmic_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
jdk.rmic_CLEAN += .properties
jdk.jartool_JAVAC_FLAGS += -XDstringConcat=inline
################################################################################
@@ -380,8 +375,9 @@ endif
################################################################################
jdk.incubator.jpackage_COPY += .gif .png .txt .spec .script .prerm .preinst .postrm .postinst .list .sh \
.desktop .copyright .control .plist .template .icns .scpt .entitlements .wxs .wxl .wxi .ico .bmp .tiff
jdk.incubator.jpackage_COPY += .gif .png .txt .spec .script .prerm .preinst \
.postrm .postinst .list .sh .desktop .copyright .control .plist .template \
.icns .scpt .wxs .wxl .wxi .ico .bmp .tiff
jdk.incubator.jpackage_CLEAN += .properties
@@ -431,11 +427,11 @@ jdk.internal.jvmstat_COPY += aliasmap
# The exports are needed since JVMCI is dynamically exported (see
# jdk.vm.ci.services.internal.ReflectionAccessJDK::openJVMCITo).
jdk.internal.vm.ci_ADD_JAVAC_FLAGS += -parameters -Xlint:-exports -XDstringConcat=inline
jdk.internal.vm.ci_JAVAC_FLAGS += -parameters -XDstringConcat=inline
################################################################################
jdk.internal.vm.compiler_ADD_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
jdk.internal.vm.compiler_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.aarch64=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.amd64=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.code=jdk.internal.vm.compiler \
@@ -445,10 +441,8 @@ jdk.internal.vm.compiler_ADD_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=jdk.internal.vm.compiler \
#
jdk.internal.vm.compiler_EXCLUDES += \
@@ -458,7 +452,6 @@ jdk.internal.vm.compiler_EXCLUDES += \
org.graalvm.compiler.api.test \
org.graalvm.compiler.asm.aarch64.test \
org.graalvm.compiler.asm.amd64.test \
org.graalvm.compiler.asm.sparc.test \
org.graalvm.compiler.asm.test \
org.graalvm.compiler.core.aarch64.test \
org.graalvm.compiler.core.amd64.test \
@@ -469,9 +462,9 @@ jdk.internal.vm.compiler_EXCLUDES += \
org.graalvm.compiler.graph.test \
org.graalvm.compiler.hotspot.aarch64.test \
org.graalvm.compiler.hotspot.amd64.test \
org.graalvm.compiler.hotspot.jdk15.test \
org.graalvm.compiler.hotspot.jdk9.test \
org.graalvm.compiler.hotspot.lir.test \
org.graalvm.compiler.hotspot.sparc.test \
org.graalvm.compiler.hotspot.test \
org.graalvm.compiler.jtt \
org.graalvm.compiler.lir.jtt \
@@ -503,7 +496,7 @@ jdk.internal.vm.compiler_EXCLUDES += \
# The exports are needed since JVMCI is dynamically exported (see
# jdk.vm.ci.services.internal.ReflectionAccessJDK::openJVMCITo).
jdk.aot_ADD_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
jdk.aot_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.aarch64=jdk.internal.vm.compiler,jdk.aot \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.amd64=jdk.internal.vm.compiler,jdk.aot \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.code=jdk.internal.vm.compiler,jdk.aot \
@@ -513,10 +506,8 @@ jdk.aot_ADD_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=jdk.internal.vm.compiler,jdk.aot \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler,jdk.aot \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler,jdk.aot \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=jdk.internal.vm.compiler,jdk.aot \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler,jdk.aot \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler,jdk.aot \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=jdk.internal.vm.compiler,jdk.aot \
#
jdk.aot_EXCLUDES += \
@@ -536,13 +527,9 @@ jdk.localedata_EXCLUDE_FILES += sun/text/resources/ext/BreakIteratorRules_th.jav
jdk.localedata_KEEP_ALL_TRANSLATIONS := true
################################################################################
# There is an issue in sjavac that triggers a warning in jdk.jfr that isn't
# triggered without sjavac.
ifeq ($(ENABLE_SJAVAC), yes)
jdk.jfr_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
endif
jdk.jfr_DISABLED_WARNINGS += exports
jdk.jfr_COPY := .xsd .xml .dtd
jdk.jfr_ADD_JAVAC_FLAGS := -XDstringConcat=inline -Xlint:-exports
jdk.jfr_JAVAC_FLAGS := -XDstringConcat=inline
################################################################################
# If this is an imported module that has prebuilt classes, only compile
@@ -605,7 +592,7 @@ ifeq ($(MODULE), jdk.aot)
endif
$(eval $(call SetupJavaCompilation, $(MODULE), \
SETUP := $(if $($(MODULE)_SETUP), $($(MODULE)_SETUP), GENERATE_JDKBYTECODE), \
SMALL_JAVA := false, \
MODULE := $(MODULE), \
SRC := $(wildcard $(MODULE_SRC_DIRS)), \
INCLUDES := $(JDK_USER_DEFINED_FILTER), \
@@ -613,8 +600,9 @@ $(eval $(call SetupJavaCompilation, $(MODULE), \
BIN := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules), \
HEADERS := $(SUPPORT_OUTPUTDIR)/headers, \
CREATE_API_DIGEST := true, \
ADD_JAVAC_FLAGS := \
$($(MODULE)_ADD_JAVAC_FLAGS) \
JAVAC_FLAGS := \
$($(MODULE)_DOCLINT) \
$($(MODULE)_JAVAC_FLAGS) \
--module-source-path $(MODULESOURCEPATH) \
--module-path $(MODULEPATH) \
--system none, \
@@ -677,12 +665,6 @@ endif
################################################################################
ifeq ($(MODULE), jdk.scripting.nashorn)
include CompileJavaModulesNashorn.gmk
endif
################################################################################
$(eval $(call IncludeCustomExtension, CompileJavaModules-post.gmk))
################################################################################

View File

@@ -1,54 +0,0 @@
#
# Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
NASGEN_SRC := $(TOPDIR)/make/nashorn/buildtools/nasgen/src
ASM_SRC := $(TOPDIR)/src/java.base/share/classes/jdk/internal/org/objectweb/asm
# Build nasgen
$(eval $(call SetupJavaCompilation, BUILD_NASGEN, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := $(NASGEN_SRC) $(ASM_SRC), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/nasgen_classes, \
))
NASHORN_CLASSES_DIR := $(JDK_OUTPUTDIR)/modules/$(MODULE)
NASGEN_RUN_FILE := $(NASHORN_CLASSES_DIR)/_the.nasgen.run
NASGEN_OPTIONS := \
-cp $(BUILDTOOLS_OUTPUTDIR)/nasgen_classes \
--patch-module java.base=$(BUILDTOOLS_OUTPUTDIR)/nasgen_classes \
--add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports java.base/jdk.internal.org.objectweb.asm.util=ALL-UNNAMED \
#
# Run nasgen to modify classes in jdk.nashorn.internal.objects package
$(NASGEN_RUN_FILE): $(BUILD_NASGEN) $($(MODULE))
$(ECHO) Running nasgen
$(JAVA_SMALL) $(NASGEN_OPTIONS) \
jdk.nashorn.internal.tools.nasgen.Main $(@D) \
jdk.nashorn.internal.objects $(@D)
$(TOUCH) $@
TARGETS += $(NASGEN_RUN_FILE)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -28,24 +28,24 @@ default: all
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include SetupJavaCompilers.gmk
################################################################################
TOOLS_CLASSES_DIR := $(BUILDTOOLS_OUTPUTDIR)/tools_jigsaw_classes
$(eval $(call SetupJavaCompilation,BUILD_JIGSAW_TOOLS, \
SETUP := GENERATE_USINGJDKBYTECODE, \
$(eval $(call SetupJavaCompilation, BUILD_JIGSAW_TOOLS, \
TARGET_RELEASE := $(TARGET_RELEASE_NEWJDK_UPGRADED), \
SRC := $(TOPDIR)/make/jdk/src/classes, \
INCLUDES := build/tools/deps \
build/tools/docs \
build/tools/jigsaw, \
COPY := .properties .html, \
BIN := $(TOOLS_CLASSES_DIR), \
ADD_JAVAC_FLAGS := \
DISABLED_WARNINGS := fallthrough, \
JAVAC_FLAGS := \
--add-modules jdk.jdeps \
--add-exports java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports jdk.jdeps/com.sun.tools.jdeps=ALL-UNNAMED \
--add-exports jdk.jdeps/com.sun.tools.jdeps=ALL-UNNAMED, \
))
TARGETS += $(BUILD_JIGSAW_TOOLS)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,6 @@ include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include SetupJavaCompilers.gmk
TARGETS :=
@@ -45,7 +44,7 @@ ifeq ($(INCLUDE_GRAAL), true)
##############################################################################
# Compile the annotation processors
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_MATCH_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := \
$(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.core.match.processor/src \
@@ -53,6 +52,7 @@ ifeq ($(INCLUDE_GRAAL), true)
EXCLUDE_FILES := $(EXCLUDE_FILES), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.match.processor, \
JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.match.processor.jar, \
DISABLED_WARNINGS := options, \
))
TARGETS += $(BUILD_VM_COMPILER_MATCH_PROCESSOR)
@@ -60,13 +60,14 @@ ifeq ($(INCLUDE_GRAAL), true)
##############################################################################
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_NODEINFO_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := \
$(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.nodeinfo.processor/src \
, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.nodeinfo.processor, \
JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.nodeinfo.processor.jar, \
DISABLED_WARNINGS := options, \
))
TARGETS += $(BUILD_VM_COMPILER_NODEINFO_PROCESSOR)
@@ -74,7 +75,8 @@ ifeq ($(INCLUDE_GRAAL), true)
##############################################################################
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_OPTIONS_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
DISABLED_WARNINGS := options, \
SRC := \
$(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.options.processor/src \
@@ -88,7 +90,7 @@ ifeq ($(INCLUDE_GRAAL), true)
##############################################################################
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_REPLACEMENTS_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := \
$(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.replacements.processor/src \
@@ -96,6 +98,7 @@ ifeq ($(INCLUDE_GRAAL), true)
EXCLUDE_FILES := $(EXCLUDE_FILES), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier, \
JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier.jar, \
DISABLED_WARNINGS := options, \
))
TARGETS += $(BUILD_VM_COMPILER_REPLACEMENTS_PROCESSOR)
@@ -103,7 +106,7 @@ ifeq ($(INCLUDE_GRAAL), true)
##############################################################################
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_SERVICEPROVIDER_PROCESSOR, \
SETUP := GENERATE_OLDBYTECODE, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := \
$(SRC_DIR)/org.graalvm.compiler.processor/src \
$(SRC_DIR)/org.graalvm.compiler.serviceprovider.processor/src \
@@ -111,6 +114,7 @@ ifeq ($(INCLUDE_GRAAL), true)
EXCLUDE_FILES := $(EXCLUDE_FILES), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.serviceprovider.processor, \
JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.serviceprovider.processor.jar, \
DISABLED_WARNINGS := options, \
))
TARGETS += $(BUILD_VM_COMPILER_SERVICEPROVIDER_PROCESSOR)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include SetupJavaCompilers.gmk
include TextFileProcessing.gmk
################################################################################
@@ -40,12 +39,11 @@ $(eval $(call IncludeCustomExtension, CompileTools.gmk))
# Use += to be able to add to this from a custom extension
BUILD_TOOLS_SRC_DIRS += \
$(TOPDIR)/make/jdk/src/classes \
$(BUILDTOOLS_OUTPUTDIR)/interim_cldrconverter_classes \
$(BUILDTOOLS_OUTPUTDIR)/interim_tzdb_classes \
#
$(eval $(call SetupJavaCompilation,BUILD_TOOLS_JDK, \
SETUP := GENERATE_OLDBYTECODE, \
$(eval $(call SetupJavaCompilation, BUILD_TOOLS_JDK, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := $(BUILD_TOOLS_SRC_DIRS), \
EXCLUDES := \
build/tools/classlist \
@@ -55,10 +53,10 @@ $(eval $(call SetupJavaCompilation,BUILD_TOOLS_JDK, \
build/tools/depend \
, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \
ADD_JAVAC_FLAGS := \
DISABLED_WARNINGS := options, \
JAVAC_FLAGS := \
--add-exports java.desktop/sun.awt=ALL-UNNAMED \
--add-exports java.base/sun.text=ALL-UNNAMED \
, \
--add-exports java.base/sun.text=ALL-UNNAMED, \
))
TARGETS += $(BUILD_TOOLS_JDK)
@@ -73,10 +71,11 @@ TARGETS += $(COPY_NIMBUS_TEMPLATES)
################################################################################
$(eval $(call SetupJavaCompilation, COMPILE_DEPEND, \
SETUP := GENERATE_OLDBYTECODE, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := $(TOPDIR)/make/jdk/src/classes, \
INCLUDES := build/tools/depend, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/depend, \
DISABLED_WARNINGS := options, \
))
DEPEND_SERVICE_PROVIDER := $(BUILDTOOLS_OUTPUTDIR)/depend/META-INF/services/com.sun.source.util.Plugin
@@ -104,9 +103,8 @@ ifeq ($(ENABLE_PANDOC), true)
SOURCE_FILES := $(TOPDIR)/make/scripts/pandoc-troff-manpage-filter.sh.template, \
OUTPUT_FILE := $(PANDOC_TROFF_MANPAGE_FILTER), \
REPLACEMENTS := \
@@BOOT_JDK@@ => $(BOOT_JDK) ; \
@@JJS@@ => $(JJS) ; \
@@TOPDIR@@ => $(TOPDIR) ; \
@@JJS_FLAGS@@ => $(addprefix -J, $(JAVA_FLAGS_SMALL)), \
))
# Created script must be made executable
@@ -128,9 +126,8 @@ ifeq ($(ENABLE_PANDOC), true)
SOURCE_FILES := $(TOPDIR)/make/scripts/pandoc-html-manpage-filter.sh.template, \
OUTPUT_FILE := $(PANDOC_HTML_MANPAGE_FILTER), \
REPLACEMENTS := \
@@BOOT_JDK@@ => $(BOOT_JDK) ; \
@@JJS@@ => $(JJS) ; \
@@TOPDIR@@ => $(TOPDIR) ; \
@@JJS_FLAGS@@ => $(addprefix -J, $(JAVA_FLAGS_SMALL)), \
))
# Created script must be made executable

View File

@@ -1,52 +0,0 @@
#
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: all
include $(SPEC)
include MakeBase.gmk
##########################################################################################
### CLDRConverter needs the JRE time zone names from the java.base source.
define cldrconverter_copytznames
$(call MakeTargetDir)
$(RM) '$@'
$(SED) -e "s/package sun.util.resources/package build.tools.cldrconverter/" \
-e "s/extends TimeZoneNamesBundle//" \
-e "s/protected final/static final/" \
< $(<) > $@
endef
$(eval $(call SetupCopyFiles,COPY_INTERIM_CLDRCONVERTER, \
SRC := $(TOPDIR)/src/java.base/share/classes/sun/util/resources, \
DEST := $(BUILDTOOLS_OUTPUTDIR)/interim_cldrconverter_classes/build/tools/cldrconverter, \
FILES := TimeZoneNames.java, \
MACRO := cldrconverter_copytznames))
##########################################################################################
all: $(COPY_INTERIM_CLDRCONVERTER)

View File

@@ -1,4 +1,5 @@
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
#
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -58,12 +59,58 @@ $(call FillFindCache, \
)
ifneq ($(LIBS_DIR), )
JMOD_FLAGS += --libs $(LIBS_DIR)
DEPS += $(call FindFiles, $(LIBS_DIR))
ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+public)
# For public debug symbols on Windows, we have to use stripped pdbs and rename them
rename_stripped = $(patsubst %.stripped.pdb,%.pdb,$1)
LIBS_DIR_FILTERED := $(subst modules_libs,modules_libs_filtered, $(LIBS_DIR))
FILES_LIBS := $(filter-out %.pdb, $(call FindFiles, $(LIBS_DIR))) \
$(filter %.stripped.pdb, $(call FindFiles, $(LIBS_DIR)))
$(eval $(call SetupCopyFiles, COPY_FILTERED_LIBS, \
SRC := $(LIBS_DIR), \
DEST := $(LIBS_DIR_FILTERED), \
FILES := $(FILES_LIBS), \
NAME_MACRO := rename_stripped, \
))
DEPS += $(COPY_FILTERED_LIBS)
JMOD_FLAGS += --libs $(LIBS_DIR_FILTERED)
else
JMOD_FLAGS += --libs $(LIBS_DIR)
endif
endif
ifneq ($(CMDS_DIR), )
JMOD_FLAGS += --cmds $(CMDS_DIR)
DEPS += $(call FindFiles, $(CMDS_DIR))
ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+public)
# For public debug symbols on Windows, we have to use stripped pdbs, rename them
# and filter out a few launcher pdbs where there's a lib that goes by the same name
rename_stripped = $(patsubst %.stripped.pdb,%.pdb,$1)
CMDS_DIR_FILTERED := $(subst modules_cmds,modules_cmds_filtered, $(CMDS_DIR))
FILES_CMDS := $(filter-out %.pdb, $(call FindFiles, $(CMDS_DIR))) \
$(filter-out %jimage.stripped.pdb %jpackage.stripped.pdb %java.stripped.pdb, \
$(filter %.stripped.pdb, $(call FindFiles, $(CMDS_DIR))))
$(eval $(call SetupCopyFiles, COPY_FILTERED_CMDS, \
SRC := $(CMDS_DIR), \
DEST := $(CMDS_DIR_FILTERED), \
FILES := $(FILES_CMDS), \
NAME_MACRO := rename_stripped, \
))
DEPS += $(COPY_FILTERED_CMDS)
JMOD_FLAGS += --cmds $(CMDS_DIR_FILTERED)
else ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+full)
# For full debug symbols on Windows, we have to filter out a few launcher pdbs
# where there's a lib that goes by the same name
CMDS_DIR_FILTERED := $(subst modules_cmds,modules_cmds_filtered, $(CMDS_DIR))
$(eval $(call SetupCopyFiles, COPY_FILTERED_CMDS, \
SRC := $(CMDS_DIR), \
DEST := $(CMDS_DIR_FILTERED), \
FILES := $(filter-out %jimage.pdb %jpackage.pdb %java.pdb, \
$(call FindFiles, $(CMDS_DIR))), \
))
DEPS += $(COPY_FILTERED_CMDS)
JMOD_FLAGS += --cmds $(CMDS_DIR_FILTERED)
else
JMOD_FLAGS += --cmds $(CMDS_DIR)
endif
endif
ifneq ($(CONF_DIR), )
JMOD_FLAGS += --config $(CONF_DIR)
@@ -130,6 +177,11 @@ else # not java.base
JMOD_FLAGS += --exclude '$(notdir $(MSVCR_DLL))'
endif
endif
ifneq ($(VCRUNTIME_1_DLL), )
ifneq ($(wildcard $(LIBS_DIR)/$(notdir $(VCRUNTIME_1_DLL))), )
JMOD_FLAGS += --exclude '$(notdir $(VCRUNTIME_1_DLL))'
endif
endif
ifneq ($(MSVCP_DLL), )
ifneq ($(wildcard $(LIBS_DIR)/$(notdir $(MSVCP_DLL))), )
JMOD_FLAGS += --exclude '$(notdir $(MSVCP_DLL))'
@@ -159,7 +211,15 @@ ifeq ($(INTERIM_JMOD), true)
INTERIM_MSG := interim$(SPACE)
endif
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM,*.pdb,*.map}'
ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.pdb,*.map}'
else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.map}'
endif
else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
endif
# Create jmods in the support dir and then move them into place to keep the
# module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.

View File

@@ -1,4 +1,4 @@
# Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -57,10 +57,7 @@ $(eval $(call IncludeCustomExtension, Docs.gmk))
################################################################################
# Javadoc settings
# On top of the sources that was used to compile the JDK, we need some
# extra java.rmi sources that are used just for javadoc.
MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) \
$(SUPPORT_OUTPUTDIR)/rmic/* $(TOPDIR)/src/*/share/doc/stub)
MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) )
# URLs
JAVADOC_BASE_URL := https://docs.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_NUMBER)&amp;id=homepage

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -31,14 +31,14 @@ default: all
include $(SPEC)
include MakeBase.gmk
include SetupJavaCompilers.gmk
include JavaCompilation.gmk
################################################################################
# Create a jar with our generator class. Using a jar is intentional since it
# will load more classes
$(eval $(call SetupJavaCompilation, CLASSLIST_JAR, \
SETUP := GENERATE_JDKBYTECODE, \
SMALL_JAVA := false, \
SRC := $(TOPDIR)/make/jdk/src/classes, \
INCLUDES := build/tools/classlist, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/classlist_classes, \
@@ -65,9 +65,17 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)
$(call MakeDir, $(LINK_OPT_DIR))
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@))
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $(JLI_TRACE_FILE)))
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.raw \
-Duser.language=en -Duser.country=US \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.HelloClasslist $(LOG_DEBUG)
$(GREP) -v HelloClasslist $@.raw > $(INTERIM_IMAGE_DIR)/lib/classlist
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -Xshare:dump \
-Xmx128M -Xms128M $(LOG_INFO)
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.raw \
-Djava.lang.invoke.MethodHandle.TRACE_RESOLVE=true \
-Duser.language=en -Duser.country=US \
--module-path $(SUPPORT_OUTPUTDIR)/classlist.jar \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.HelloClasslist \
2> $(LINK_OPT_DIR)/stderr > $(JLI_TRACE_FILE) \
@@ -96,6 +104,17 @@ $(eval $(call SetupCopyFiles, COPY_CLASSLIST, \
TARGETS += $(COPY_CLASSLIST)
# In case of shipping public debug symbols on windows, there is another temporary
# location from where jmods are compiled - need to deploy classlist there, too.
ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+public)
$(eval $(call SetupCopyFiles, COPY_CLASSLIST_TO_FILTERED, \
FILES := $(CLASSLIST_FILE), \
DEST := $(SUPPORT_OUTPUTDIR)/modules_libs_filtered/java.base, \
))
TARGETS += $(COPY_CLASSLIST_TO_FILTERED)
endif
# Copy the default_jli_trace.txt file into jdk.jlink
$(eval $(call SetupCopyFiles, COPY_JLI_TRACE, \
FILES := $(JLI_TRACE_FILE), \

130
make/Global.gmk Normal file
View File

@@ -0,0 +1,130 @@
#
# Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
###
### Global targets for printing help etc.
###
# Helper macro to allow $(info) to properly print strings beginning with spaces.
_:=
help:
$(info )
$(info OpenJDK Makefile help)
$(info =====================)
$(info )
$(info Common make targets)
$(info $(_) make [default] # Compile all modules and create a runnable "exploded")
$(info $(_) # image (alias for jdk or exploded-image))
$(info $(_) make all # Create all images: product, test, docs)
$(info $(_) # (alias for all-images))
$(info $(_) make images # Create a complete jdk image)
$(info $(_) # (alias for product-images))
$(info $(_) make <name>-image # Build just the image for any of: )
$(info $(_) # jdk, test, docs, symbols, legacy-jre, static-libs)
$(info $(_) make <phase> # Build the specified phase and everything it depends on)
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata))
$(info $(_) make *-only # Applies to most targets and disables building the)
$(info $(_) # dependencies for that target. This is faster but may)
$(info $(_) # result in incorrect build results!)
$(info $(_) make docs # Create all docs)
$(info $(_) make docs-jdk-api # Create just JDK javadocs)
$(info $(_) make bootcycle-images # Build images twice, second time with newly built JDK)
$(info $(_) make install # Install the generated images locally)
$(info $(_) make reconfigure # Rerun configure with the same arguments as last time)
$(info $(_) make help # Give some help on using make)
$(info $(_) make check # Run basic testing (currently tier1))
$(info $(_) make test-<test> # Run test, e.g. test-tier1)
$(info $(_) make test TEST=<t> # Run test(s) given by TEST specification)
$(info $(_) make exploded-test TEST=<t> # Run test(s) on the exploded image instead of)
$(info $(_) # the full jdk image)
$(info )
$(info Targets for cleaning)
$(info $(_) make clean # Remove all files generated by make, but not those)
$(info $(_) # generated by configure)
$(info $(_) make dist-clean # Remove all files, including configuration)
$(info $(_) make clean-<outputdir> # Remove the subdir in the output dir with the name)
$(info $(_) make clean-<phase> # Remove all build results related to a certain build)
$(info $(_) # phase (gensrc, java, libs, launchers))
$(info $(_) make clean-<module> # Remove all build results related to a certain module)
$(info $(_) make clean-<module>-<phase> # Remove all build results related to a certain)
$(info $(_) # module and phase)
$(info )
$(info Targets for Hotspot)
$(info $(_) make hotspot # Build all of hotspot)
$(info $(_) make hotspot-<variant> # Build just the specified jvm variant)
$(info $(_) make hotspot-gensrc # Only build the gensrc part of hotspot)
$(info $(_) make hotspot-<variant>-<phase> # Build the specified phase for the variant)
$(info )
$(info Targets for specific modules)
$(info $(_) make <module> # Build <module> and everything it depends on)
$(info $(_) make <module>-<phase> # Compile the specified phase for the specified module)
$(info $(_) # and everything it depends on)
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata))
$(info )
$(info Make control variables)
$(info $(_) CONF= # Build all configurations (note, assignment is empty))
$(info $(_) CONF=<substring> # Build the configuration(s) with a name matching)
$(info $(_) # <substring>)
$(info $(_) CONF_NAME=<string> # Build the configuration with exactly the <string>)
$(info $(_) SPEC=<spec file> # Build the configuration given by the spec file)
$(info $(_) LOG=<loglevel> # Change the log level from warn to <loglevel>)
$(info $(_) # Available log levels are:)
$(info $(_) # 'warn' (default), 'info', 'debug' and 'trace')
$(info $(_) # To see executed command lines, use LOG=debug)
$(info $(_) JOBS=<n> # Run <n> parallel make jobs)
$(info $(_) # Note that -jN does not work as expected!)
$(info $(_) TEST_JOBS=<n> # Run <n> parallel test jobs)
$(info $(_) CONF_CHECK=<method> # What to do if spec file is out of date)
$(info $(_) # method is 'auto', 'ignore' or 'fail' (default))
$(info $(_) TEST="test1 ..." # Use the given test descriptor(s) for testing, e.g.)
$(info $(_) # make test TEST="jdk_lang gtest:all")
$(info $(_) JTREG="OPT1=x;OPT2=y" # Control the JTREG test harness)
$(info $(_) GTEST="OPT1=x;OPT2=y" # Control the GTEST test harness)
$(info $(_) MICRO="OPT1=x;OPT2=y" # Control the MICRO test harness)
$(info $(_) TEST_OPTS="OPT1=x;..." # Generic control of all test harnesses)
$(info $(_) TEST_VM_OPTS="ARG ..." # Same as setting TEST_OPTS to VM_OPTIONS="ARG ...")
$(info )
$(if $(all_confs), $(info Available configurations in $(build_dir):) $(foreach var,$(all_confs),$(info * $(var))),\
$(info No configurations were found in $(build_dir).) $(info Run 'bash configure' to create a configuration.))
# We need a dummy rule otherwise make will complain
@true
print-configurations:
$(foreach var, $(all_confs), $(info $(var)))
# We need a dummy rule otherwise make will complain
@true
test-prebuilt:
@( cd $(topdir) && \
$(MAKE) --no-print-directory -r -R -I make/common/ -f make/RunTestsPrebuilt.gmk \
test-prebuilt CUSTOM_MAKE_DIR=$(CUSTOM_MAKE_DIR) TEST="$(TEST)" )
# Alias for backwards compatibility
run-test-prebuilt: test-prebuilt
ALL_GLOBAL_TARGETS := help print-configurations test-prebuilt run-test-prebuilt
.PHONY: $(ALL_GLOBAL_TARGETS)

View File

@@ -0,0 +1,57 @@
#
# Copyright (c) 2020, Red Hat Inc.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# This makefile creates a jdk image overlayed with statically linked core
# libraries.
default: all
include $(SPEC)
include MakeBase.gmk
################################################################################
TARGETS :=
$(eval $(call SetupCopyFiles, COPY_JDK_IMG, \
SRC := $(JDK_IMAGE_DIR)/, \
DEST := $(GRAAL_BUILDER_IMAGE_DIR)/, \
FILES := $(call FindFiles, $(JDK_IMAGE_DIR)/), \
))
TARGETS += $(COPY_JDK_IMG)
$(eval $(call SetupCopyFiles, COPY_STATIC_LIBS, \
SRC := $(STATIC_LIBS_IMAGE_DIR)/lib, \
DEST := $(GRAAL_BUILDER_IMAGE_DIR)/lib, \
FILES := $(filter %$(STATIC_LIBRARY_SUFFIX), \
$(call FindFiles, $(STATIC_LIBS_IMAGE_DIR)/lib)), \
))
TARGETS += $(COPY_STATIC_LIBS)
################################################################################
all: $(TARGETS)
.PHONY: all

View File

@@ -1,129 +0,0 @@
#
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
###
### Global targets for printing help etc.
###
# Helper macro to allow $(info) to properly print strings beginning with spaces.
_:=
help:
$(info )
$(info OpenJDK Makefile help)
$(info =====================)
$(info )
$(info Common make targets)
$(info $(_) make [default] # Compile all modules and create a runnable "exploded")
$(info $(_) # image (alias for jdk or exploded-image))
$(info $(_) make all # Create all images: product, test, docs)
$(info $(_) # (alias for all-images))
$(info $(_) make images # Create a complete jdk image)
$(info $(_) # (alias for product-images))
$(info $(_) make <name>-image # Build just the image for any of: )
$(info $(_) # jdk, test, docs, symbols, legacy-jre, static-libs)
$(info $(_) make <phase> # Build the specified phase and everything it depends on)
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
$(info $(_) make *-only # Applies to most targets and disables building the)
$(info $(_) # dependencies for that target. This is faster but may)
$(info $(_) # result in incorrect build results!)
$(info $(_) make docs # Create all docs)
$(info $(_) make docs-jdk-api # Create just JDK javadocs)
$(info $(_) make bootcycle-images # Build images twice, second time with newly built JDK)
$(info $(_) make install # Install the generated images locally)
$(info $(_) make reconfigure # Rerun configure with the same arguments as last time)
$(info $(_) make help # Give some help on using make)
$(info $(_) make check # Run basic testing (currently tier1))
$(info $(_) make test-<test> # Run test, e.g. test-tier1)
$(info $(_) make test TEST=<t> # Run test(s) given by TEST specification)
$(info $(_) make exploded-test TEST=<t> # Run test(s) on the exploded image instead of)
$(info $(_) # the full jdk image)
$(info )
$(info Targets for cleaning)
$(info $(_) make clean # Remove all files generated by make, but not those)
$(info $(_) # generated by configure)
$(info $(_) make dist-clean # Remove all files, including configuration)
$(info $(_) make clean-<outputdir> # Remove the subdir in the output dir with the name)
$(info $(_) make clean-<phase> # Remove all build results related to a certain build)
$(info $(_) # phase (gensrc, java, libs, launchers))
$(info $(_) make clean-<module> # Remove all build results related to a certain module)
$(info $(_) make clean-<module>-<phase> # Remove all build results related to a certain)
$(info $(_) # module and phase)
$(info )
$(info Targets for Hotspot)
$(info $(_) make hotspot # Build all of hotspot)
$(info $(_) make hotspot-<variant> # Build just the specified jvm variant)
$(info $(_) make hotspot-gensrc # Only build the gensrc part of hotspot)
$(info $(_) make hotspot-<variant>-<phase> # Build the specified phase for the variant)
$(info )
$(info Targets for specific modules)
$(info $(_) make <module> # Build <module> and everything it depends on)
$(info $(_) make <module>-<phase> # Compile the specified phase for the specified module)
$(info $(_) # and everything it depends on)
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
$(info )
$(info Make control variables)
$(info $(_) CONF= # Build all configurations (note, assignment is empty))
$(info $(_) CONF=<substring> # Build the configuration(s) with a name matching)
$(info $(_) # <substring>)
$(info $(_) CONF_NAME=<string> # Build the configuration with exactly the <string>)
$(info $(_) SPEC=<spec file> # Build the configuration given by the spec file)
$(info $(_) LOG=<loglevel> # Change the log level from warn to <loglevel>)
$(info $(_) # Available log levels are:)
$(info $(_) # 'warn' (default), 'info', 'debug' and 'trace')
$(info $(_) # To see executed command lines, use LOG=debug)
$(info $(_) JOBS=<n> # Run <n> parallel make jobs)
$(info $(_) # Note that -jN does not work as expected!)
$(info $(_) TEST_JOBS=<n> # Run <n> parallel test jobs)
$(info $(_) CONF_CHECK=<method> # What to do if spec file is out of date)
$(info $(_) # method is 'auto', 'ignore' or 'fail' (default))
$(info $(_) TEST="test1 ..." # Use the given test descriptor(s) for testing, e.g.)
$(info $(_) # make test TEST="jdk_lang gtest:all")
$(info $(_) JTREG="OPT1=x;OPT2=y" # Control the JTREG test harness)
$(info $(_) GTEST="OPT1=x;OPT2=y" # Control the GTEST test harness)
$(info $(_) MICRO="OPT1=x;OPT2=y" # Control the MICRO test harness)
$(info $(_) TEST_OPTS="OPT1=x;..." # Generic control of all test harnesses)
$(info $(_) TEST_VM_OPTS="ARG ..." # Same as setting TEST_OPTS to VM_OPTIONS="ARG ...")
$(info )
$(if $(all_confs), $(info Available configurations in $(build_dir):) $(foreach var,$(all_confs),$(info * $(var))),\
$(info No configurations were found in $(build_dir).) $(info Run 'bash configure' to create a configuration.))
# We need a dummy rule otherwise make will complain
@true
print-configurations:
$(foreach var, $(all_confs), $(info $(var)))
# We need a dummy rule otherwise make will complain
@true
# This is not really a "help" target, but it is a global target, and those are
# all contained in this file.
run-test-prebuilt:
@( cd $(topdir) && \
$(MAKE) --no-print-directory -r -R -I make/common/ -f make/RunTestsPrebuilt.gmk \
run-test-prebuilt CUSTOM_MAKE_DIR=$(CUSTOM_MAKE_DIR) TEST="$(TEST)" )
ALL_GLOBAL_TARGETS := help print-configurations run-test-prebuilt
.PHONY: $(ALL_GLOBAL_TARGETS)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -85,6 +85,8 @@ ifeq ($(JLINK_KEEP_PACKAGED_MODULES), true)
JLINK_JDK_EXTRA_OPTS := --keep-packaged-modules $(JDK_IMAGE_DIR)/jmods
endif
JLINK_DISABLE_WARNINGS := | ( $(GREP) -v -e "WARNING: Using incubator module" || test "$$?" = "1" )
$(eval $(call SetupExecute, jlink_jdk, \
WARN := Creating jdk image, \
DEPS := $(JMODS) $(BASE_RELEASE_FILE) \
@@ -93,7 +95,8 @@ $(eval $(call SetupExecute, jlink_jdk, \
SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \
PRE_COMMAND := $(RM) -r $(JDK_IMAGE_DIR), \
COMMAND := $(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \
$(JLINK_JDK_EXTRA_OPTS) --output $(JDK_IMAGE_DIR), \
$(JLINK_JDK_EXTRA_OPTS) --output $(JDK_IMAGE_DIR) \
$(JLINK_DISABLE_WARNINGS), \
))
JLINK_JDK_TARGETS := $(jlink_jdk)
@@ -114,8 +117,10 @@ JLINK_JRE_TARGETS := $(jlink_jre)
ifeq ($(BUILD_CDS_ARCHIVE), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
CDS_ARCHIVE := bin/server/classes.jsa
CDS_NOCOOPS_ARCHIVE := bin/server/classes_nocoops.jsa
else
CDS_ARCHIVE := lib/server/classes.jsa
CDS_NOCOOPS_ARCHIVE := lib/server/classes_nocoops.jsa
endif
$(eval $(call SetupExecute, gen_cds_archive_jdk, \
@@ -124,6 +129,7 @@ ifeq ($(BUILD_CDS_ARCHIVE), true)
OUTPUT_FILE := $(JDK_IMAGE_DIR)/$(CDS_ARCHIVE), \
SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \
COMMAND := $(FIXPATH) $(JDK_IMAGE_DIR)/bin/java -Xshare:dump \
-XX:SharedArchiveFile=$(JDK_IMAGE_DIR)/$(CDS_ARCHIVE) \
-Xmx128M -Xms128M $(LOG_INFO), \
))
@@ -135,10 +141,40 @@ ifeq ($(BUILD_CDS_ARCHIVE), true)
OUTPUT_FILE := $(JRE_IMAGE_DIR)/$(CDS_ARCHIVE), \
SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre, \
COMMAND := $(FIXPATH) $(JRE_IMAGE_DIR)/bin/java -Xshare:dump \
-XX:SharedArchiveFile=$(JRE_IMAGE_DIR)/$(CDS_ARCHIVE) \
-Xmx128M -Xms128M $(LOG_INFO), \
))
JRE_TARGETS += $(gen_cds_archive_jre)
ifeq ($(call isTargetCpuBits, 64), true)
$(eval $(call SetupExecute, gen_cds_nocoops_archive_jdk, \
WARN := Creating CDS-NOCOOPS archive for jdk image, \
DEPS := $(jlink_jdk), \
OUTPUT_FILE := $(JDK_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE), \
SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \
COMMAND := $(FIXPATH) $(JDK_IMAGE_DIR)/bin/java -Xshare:dump \
-XX:SharedArchiveFile=$(JDK_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE) \
-XX:-UseCompressedOops \
-Xmx128M -Xms128M $(LOG_INFO), \
))
JDK_TARGETS += $(gen_cds_nocoops_archive_jdk)
$(eval $(call SetupExecute, gen_cds_nocoops_archive_jre, \
WARN := Creating CDS-NOCOOPS archive for jre image, \
DEPS := $(jlink_jre), \
OUTPUT_FILE := $(JRE_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE), \
SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre, \
COMMAND := $(FIXPATH) $(JRE_IMAGE_DIR)/bin/java -Xshare:dump \
-XX:SharedArchiveFile=$(JRE_IMAGE_DIR)/$(CDS_NOCOOPS_ARCHIVE) \
-XX:-UseCompressedOops \
-Xmx128M -Xms128M $(LOG_INFO), \
))
JRE_TARGETS += $(gen_cds_nocoops_archive_jre)
endif
endif
################################################################################
@@ -208,6 +244,7 @@ ifeq ($(call isTargetOs, windows), true)
else
LIBS_TARGET_SUBDIR := lib
endif
CMDS_TARGET_SUBDIR := bin
# Param 1 - dir to find debuginfo files in
FindDebuginfoFiles = \
@@ -224,12 +261,15 @@ else
# dirs.
ifeq ($(call isTargetOs, macosx), true)
$(call FillFindCache, \
$(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs)
$(SUPPORT_OUTPUTDIR)/modules_libs $(SUPPORT_OUTPUTDIR)/modules_cmds)
FindDebuginfoFiles = \
$(if $(wildcard $1), $(call containing, .dSYM/, $(call FindFiles, $1)))
endif
endif
FILTERED_PDBS := %jimage.stripped.pdb %jpackage.stripped.pdb %java.stripped.pdb \
%jimage.pdb %jpackage.pdb %java.pdb %jimage.map %jpackage.map %java.map
# Param 1 - either JDK or JRE
SetupCopyDebuginfo = \
$(foreach m, $(ALL_$1_MODULES), \
@@ -240,6 +280,13 @@ SetupCopyDebuginfo = \
$(SUPPORT_OUTPUTDIR)/modules_libs/$m), \
)) \
$(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \
$(eval $(call SetupCopyFiles, COPY_$1_CMDS_DEBUGINFO_$m, \
SRC := $(SUPPORT_OUTPUTDIR)/modules_cmds/$m, \
DEST := $($1_IMAGE_DIR)/$(CMDS_TARGET_SUBDIR), \
FILES := $(filter-out $(FILTERED_PDBS), $(call FindDebuginfoFiles, \
$(SUPPORT_OUTPUTDIR)/modules_cmds/$m)), \
)) \
$(eval $1_TARGETS += $$(COPY_$1_CMDS_DEBUGINFO_$m)) \
)
# No space before argument to avoid having to put $(strip ) everywhere in

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -47,7 +47,7 @@ ifeq ($(HAS_SPEC),)
# Here are "global" targets, i.e. targets that can be executed without having
# a configuration. This will define ALL_GLOBAL_TARGETS.
include $(topdir)/make/Help.gmk
include $(topdir)/make/Global.gmk
# Targets provided by Init.gmk.
ALL_INIT_TARGETS := print-modules print-targets print-configuration \
@@ -226,6 +226,9 @@ else # HAS_SPEC=true
# Parse COMPARE_BUILD (for makefile development)
$(eval $(call ParseCompareBuild))
# Setup reproducible build environment
$(eval $(call SetupReproducibleBuild))
# If no LOG= was given on command line, but we have a non-standard default
# value, use that instead and re-parse log level.
ifeq ($(LOG), )

View File

@@ -306,6 +306,15 @@ else # $(HAS_SPEC)=true
topdir=$(TOPDIR)
endif
# Setup the build environment to match the requested specification on
# level of reproducible builds
define SetupReproducibleBuild
ifeq ($$(SOURCE_DATE), updated)
SOURCE_DATE := $$(shell $$(DATE) +"%s")
endif
export SOURCE_DATE_EPOCH := $$(SOURCE_DATE)
endef
# Parse COMPARE_BUILD into COMPARE_BUILD_*
# Syntax: COMPARE_BUILD=CONF=<configure options>:PATCH=<patch file>:
# MAKE=<make targets>:COMP_OPTS=<compare script options>:
@@ -471,15 +480,15 @@ else # $(HAS_SPEC)=true
# Remove any javac server logs and port files. This
# prevents a new make run to reuse the previous servers.
define PrepareSmartJavac
$(if $(SJAVAC_SERVER_DIR), \
$(RM) -r $(SJAVAC_SERVER_DIR) 2> /dev/null && \
$(MKDIR) -p $(SJAVAC_SERVER_DIR) \
$(if $(JAVAC_SERVER_DIR), \
$(RM) -r $(JAVAC_SERVER_DIR) 2> /dev/null && \
$(MKDIR) -p $(JAVAC_SERVER_DIR) \
)
endef
define CleanupSmartJavac
[ -f $(SJAVAC_SERVER_DIR)/server.port ] && $(ECHO) Stopping sjavac server && \
$(TOUCH) $(SJAVAC_SERVER_DIR)/server.port.stop; true
[ -f $(JAVAC_SERVER_DIR)/server.port ] && $(ECHO) Stopping sjavac server && \
$(TOUCH) $(JAVAC_SERVER_DIR)/server.port.stop; true
endef
ifeq ($(call isBuildOs, windows), true)
@@ -488,7 +497,7 @@ else # $(HAS_SPEC)=true
# synchronization process, wait for a while and hope it helps. This is only
# used by build comparisons.
define WaitForSmartJavacFinish
$(if $(SJAVAC_SERVER_DIR), \
$(if $(JAVAC_SERVER_DIR), \
sleep 5\
)
endef

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -27,8 +27,8 @@ default: all
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include JarArchive.gmk
include SetupJavaCompilers.gmk
include TextFileProcessing.gmk
# This rule will be depended on due to the MANIFEST line
@@ -47,11 +47,13 @@ JIMAGE_PKGS := \
#
$(eval $(call SetupJavaCompilation, BUILD_JRTFS, \
SETUP := GENERATE_8_BYTECODE, \
COMPILER := bootjdk, \
TARGET_RELEASE := $(TARGET_RELEASE_JDK8), \
SRC := $(TOPDIR)/src/java.base/share/classes, \
EXCLUDE_FILES := module-info.java, \
INCLUDES := $(JIMAGE_PKGS), \
BIN := $(SUPPORT_OUTPUTDIR)/jrtfs_classes))
BIN := $(SUPPORT_OUTPUTDIR)/jrtfs_classes, \
))
# Because of the explicit INCLUDES in the compilation setup above, the service provider
# file will not be copied unless META-INF/services would also be added to the INCLUDES.
@@ -62,7 +64,7 @@ $(eval $(call SetupCopyFiles, COPY_JIMAGE_SERVICE_PROVIDER, \
DEST := $(SUPPORT_OUTPUTDIR)/jrtfs_classes, \
FILES := META-INF/services/java.nio.file.spi.FileSystemProvider))
$(eval $(call SetupJarArchive,BUILD_JRTFS_JAR, \
$(eval $(call SetupJarArchive, BUILD_JRTFS_JAR, \
DEPENDENCIES := $(BUILD_JRTFS) $(COPY_JIMAGE_SERVICE_PROVIDER), \
SRCS := $(SUPPORT_OUTPUTDIR)/jrtfs_classes, \
JAR := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/jrt-fs.jar, \

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -30,6 +30,27 @@
ifndef _MAINSUPPORT_GMK
_MAINSUPPORT_GMK := 1
# Setup make rules for creating a top-level target.
# Parameter 1 is the name of the rule. This name is used as variable prefix.
#
# Remaining parameters are named arguments. These include:
# MAKEFILE the makefile to delegate to
# TARGET the makefile target
# ARGS arguments to the makefile
# DEPS the target(s) this new rule depends on
#
SetupTarget = $(NamedParamsMacroTemplate)
define SetupTargetBody
$1:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f $$($1_MAKEFILE).gmk $$($1_TARGET) $$($1_ARGS))
ALL_TARGETS += $1
ifneq ($(DEPS), none)
$1: $$($1_DEPS)
endif
endef
define CleanDocs
@$(PRINTF) "Cleaning docs ..."
@$(PRINTF) "\n" $(LOG_DEBUG)
@@ -127,24 +148,12 @@ PHASE_MAKEDIRS := $(TOPDIR)/make
# Param 2: Module name
define DeclareRecipeForModuleMakefile
$2-$$($1_TARGET_SUFFIX):
ifeq ($$($1_USE_WRAPPER), true)
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) \
-f ModuleWrapper.gmk \
$$(addprefix -I, $$(PHASE_MAKEDIRS) \
$$(addsuffix /$$($1_MAKE_SUBDIR), $$(PHASE_MAKEDIRS)) \
) \
MODULE=$2 MAKEFILE_PREFIX=$$($1_FILE_PREFIX) $$($1_EXTRA_ARGS))
else
+($(CD) $$(dir $$(firstword $$(wildcard $$(addsuffix \
/$$($1_MAKE_SUBDIR)/$$($1_FILE_PREFIX)-$2.gmk, $$(PHASE_MAKEDIRS))))) \
&& $(MAKE) $(MAKE_ARGS) \
-f $$($1_FILE_PREFIX)-$2.gmk \
$$(addprefix -I, $$(PHASE_MAKEDIRS) \
$$(addsuffix /$$($1_MAKE_SUBDIR), $$(PHASE_MAKEDIRS)) \
) \
MODULE=$2 $$($1_EXTRA_ARGS) \
)
endif
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) \
-f ModuleWrapper.gmk -I $$(TOPDIR)/make/common/modules \
$$(addprefix -I, $$(PHASE_MAKEDIRS) \
$$(addsuffix /modules/$2, $$(PHASE_MAKEDIRS)) \
) \
MODULE=$2 MAKEFILE_PREFIX=$$($1_FILE_PREFIX) $$($1_EXTRA_ARGS))
endef
@@ -153,7 +162,7 @@ endef
# Param 2: Module name
define DeclareRecipesForPhaseAndModule
$1_$2_MAKEFILES := $$(strip $$(wildcard \
$$(addsuffix /$$($1_MAKE_SUBDIR)/$$($1_FILE_PREFIX)-$2.gmk, $$(PHASE_MAKEDIRS))))
$$(addsuffix /modules/$2/$$($1_FILE_PREFIX).gmk, $$(PHASE_MAKEDIRS))))
# Only declare recipes if there are makefiles to call
ifneq ($$($1_$2_MAKEFILES), )
@@ -178,7 +187,6 @@ endef
# TARGET_SUFFIX : Suffix of target to create for recipe
# MAKE_SUBDIR : Subdir for this build phase
# FILE_PREFIX : File prefix for this build phase
# USE_WRAPPER : Set to true to use ModuleWrapper.gmk
# CHECK_MODULES : List of modules to try
# MULTIPLE_MAKEFILES : Set to true to handle makefiles for the same module and
# phase in multiple repos

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -44,7 +44,7 @@ TOOL_GENGRAPHS := $(BUILD_JAVA) -esa -ea -cp $(TOOLS_CLASSES_DIR) \
TOOL_MODULESUMMARY := $(BUILD_JAVA) -esa -ea -cp $(TOOLS_CLASSES_DIR) \
build.tools.jigsaw.ModuleSummary
TOOL_ADD_PACKAGES_ATTRIBUTE := $(BUILD_JAVA) $(JAVA_FLAGS_SMALL) \
TOOL_ADD_PACKAGES_ATTRIBUTE := $(BUILD_JAVA) $(JAVA_FLAGS_SMALL_BUILDJDK) \
-cp $(TOOLS_CLASSES_DIR) \
--add-exports java.base/jdk.internal.module=ALL-UNNAMED \
build.tools.jigsaw.AddPackagesAttribute

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -39,7 +39,7 @@ include MakeBase.gmk
TARGETS :=
# Include the file being wrapped.
include $(MAKEFILE_PREFIX)-$(MODULE).gmk
include modules/$(MODULE)/$(MAKEFILE_PREFIX).gmk
# Setup copy rules from the modules directories to the jdk image directory.
ifeq ($(call isTargetOs, windows), true)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -45,7 +45,7 @@ ifneq ($(TEST_VM_OPTS), )
endif
$(eval $(call ParseKeywordVariable, TEST_OPTS, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR JCOV, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR JCOV JCOV_DIFF_CHANGESET, \
STRING_KEYWORDS := VM_OPTIONS JAVA_OPTIONS AOT_MODULES, \
))
@@ -237,16 +237,6 @@ TEST_JOBS_FACTOR_MACHINE ?= 1
ifeq ($(TEST_JOBS), 0)
CORES_DIVIDER := 2
ifeq ($(call isTargetCpuArch, sparc), true)
# For smaller SPARC machines we see reasonable scaling of throughput up to
# cpus/4 without affecting test reliability. On the bigger machines, cpus/4
# causes intermittent timeouts.
ifeq ($(shell $(EXPR) $(NUM_CORES) \> 16), 1)
CORES_DIVIDER := 5
else
CORES_DIVIDER := 4
endif
endif
# For some big multi-core machines with low ulimit -u setting we hit the max
# threads/process limit. In such a setup the memory/cores-only-guided
# TEST_JOBS config is insufficient. From experience a concurrency setting of
@@ -356,7 +346,6 @@ jdk_JTREG_NATIVEPATH := $(TEST_IMAGE_DIR)/jdk/jtreg/native
jdk_JTREG_PROBLEM_LIST += $(TOPDIR)/test/jdk/ProblemList.txt
jaxp_JTREG_PROBLEM_LIST += $(TOPDIR)/test/jaxp/ProblemList.txt
langtools_JTREG_PROBLEM_LIST += $(TOPDIR)/test/langtools/ProblemList.txt
nashorn_JTREG_PROBLEM_LIST += $(TOPDIR)/test/nashorn/ProblemList.txt
hotspot_JTREG_PROBLEM_LIST += $(TOPDIR)/test/hotspot/jtreg/ProblemList.txt
langtools_JTREG_MAX_MEM := 768m
@@ -691,8 +680,6 @@ define SetupRunMicroTestBody
# Current tests needs to open java.io
$1_MICRO_JAVA_OPTIONS += --add-opens=java.base/java.io=ALL-UNNAMED
# Set library path for native dependencies
$1_MICRO_JAVA_OPTIONS += -Djava.library.path=$$(TEST_IMAGE_DIR)/micro/native
# Save output as JSON or CSV file
ifneq ($$(MICRO_RESULTS_FORMAT), )
@@ -701,7 +688,10 @@ define SetupRunMicroTestBody
endif
ifneq ($$(MICRO_VM_OPTIONS)$$(MICRO_JAVA_OPTIONS), )
$1_MICRO_VM_OPTIONS := -jvmArgs $$(MICRO_VM_OPTIONS) $$(MICRO_JAVA_OPTIONS)
JMH_JVM_ARGS := $$(MICRO_VM_OPTIONS) $$(MICRO_JAVA_OPTIONS)
# Set library path for native dependencies
JMH_JVM_ARGS += -Djava.library.path=$$(TEST_IMAGE_DIR)/micro/native
$1_MICRO_VM_OPTIONS := -jvmArgs $(call ShellQuote,$$(JMH_JVM_ARGS))
endif
ifneq ($$(MICRO_ITER), )
@@ -843,12 +833,8 @@ define SetupRunJtregTestBody
# we may end up with a lot of JVM's
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $$(EXPR) 25 / $$($1_JTREG_JOBS))
# SPARC is in general slower per core so need to scale up timeouts a bit.
ifeq ($(call isTargetCpuArch, sparc), true)
JTREG_TIMEOUT_FACTOR ?= 8
else
JTREG_TIMEOUT_FACTOR ?= 4
endif
JTREG_TIMEOUT_FACTOR ?= 4
JTREG_VERBOSE ?= fail,error,summary
JTREG_RETAIN ?= fail,error
JTREG_RUN_PROBLEM_LISTS ?= false
@@ -1048,7 +1034,7 @@ define SetupRunSpecialTestBody
else ifeq ($$($1_TEST_NAME), make)
$1_TEST_COMMAND_LINE := \
($(CD) $(TOPDIR)/test/make && $(MAKE) $(MAKE_ARGS) -f \
TestMake.gmk $$($1_TEST_ARGS))
TestMake.gmk $$($1_TEST_ARGS) TEST_SUPPORT_DIR="$$($1_TEST_SUPPORT_DIR)")
else
$$(error Invalid special test specification: $$($1_TEST_NAME))
endif
@@ -1072,10 +1058,14 @@ define SetupRunSpecialTestBody
$$(call LogWarn, Test report is stored in $$(strip \
$$(subst $$(TOPDIR)/, , $$($1_TEST_RESULTS_DIR))))
$$(call LogWarn, Warning: Special test results are not properly parsed!)
$$(eval $1_PASSED := 0)
$$(eval $1_FAILED := 0)
$$(eval $1_PASSED := $$(shell \
if [ `$(CAT) $$($1_EXITCODE)` = "0" ]; then $(ECHO) 1; else $(ECHO) 0; fi \
))
$$(eval $1_FAILED := $$(shell \
if [ `$(CAT) $$($1_EXITCODE)` = "0" ]; then $(ECHO) 0; else $(ECHO) 1; fi \
))
$$(eval $1_ERROR := 0)
$$(eval $1_TOTAL := 0)
$$(eval $1_TOTAL := 1)
$1: run-test-$1 parse-test-$1
@@ -1261,12 +1251,44 @@ ifeq ($(TEST_OPTS_JCOV), true)
TARGETS += jcov-do-start-grabber jcov-start-grabber jcov-stop-grabber \
jcov-gen-report
ifneq ($(TEST_OPTS_JCOV_DIFF_CHANGESET), )
JCOV_SOURCE_DIFF := $(JCOV_OUTPUT_DIR)/source_diff
JCOV_DIFF_COVERAGE_REPORT := $(JCOV_OUTPUT_DIR)/diff_coverage_report
ifneq ($(and $(HG), $(wildcard $(TOPDIR)/.hg)), )
DIFF_COMMAND := $(HG) -R $(TOPDIR) diff -r $(TEST_OPTS_JCOV_DIFF_CHANGESET) > $(JCOV_SOURCE_DIFF)
else ifneq ($(and $(GIT), $(wildcard $(TOPDIR)/.git)), )
DIFF_COMMAND := $(GIT) -C $(TOPDIR) diff $(TEST_OPTS_JCOV_DIFF_CHANGESET) > $(JCOV_SOURCE_DIFF)
else
$(info Error: Must be either hg or git source tree for diff coverage.)
$(error Neither hg nor git source tree.)
endif
jcov-gen-diffcoverage: jcov-stop-grabber
$(call LogWarn, Generating diff coverage with changeset $(TEST_OPTS_JCOV_DIFF_CHANGESET) ... )
$(DIFF_COMMAND)
$(JAVA) -Xmx4g -jar $(JCOV_HOME)/lib/jcov.jar \
DiffCoverage -replaceDiff "src/.*/classes/:" -all \
$(JCOV_RESULT_FILE) $(JCOV_SOURCE_DIFF) > \
$(JCOV_DIFF_COVERAGE_REPORT)
TARGETS += jcov-gen-diffcoverage
endif
# Hook this into the framework at appropriate places
pre-run-test: jcov-start-grabber
post-run-test: jcov-gen-report
jcov-gen-report: run-all-tests
ifneq ($(TEST_OPTS_JCOV_DIFF_CHANGESET), )
post-run-test: jcov-gen-diffcoverage
endif
jcov-stop-grabber: run-all-tests
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -163,8 +163,6 @@ else
OPENJDK_TARGET_OS := linux
else ifeq ($(UNAME_OS), Darwin)
OPENJDK_TARGET_OS := macosx
else ifeq ($(UNAME_OS), SunOS)
OPENJDK_TARGET_OS := solaris
else
OPENJDK_TARGET_OS := $(UNAME_OS)
endif
@@ -174,38 +172,20 @@ endif
# Assume little endian unless otherwise specified
OPENJDK_TARGET_CPU_ENDIAN := little
ifeq ($(OPENJDK_TARGET_OS), solaris)
# On solaris, use uname -p
UNAME_CPU := $(shell $(UNAME) -p)
# Assume 64-bit platform
OPENJDK_TARGET_CPU_BITS := 64
ifeq ($(UNAME_CPU), i386)
OPENJDK_TARGET_CPU := x86_64
else ifeq ($(UNAME_CPU), sparc)
OPENJDK_TARGET_CPU := sparcv9
OPENJDK_TARGET_CPU_ENDIAN := big
else
OPENJDK_TARGET_CPU := $(UNAME_CPU)
endif
UNAME_CPU := $(shell $(UNAME) -m)
ifeq ($(UNAME_CPU), i686)
OPENJDK_TARGET_CPU := x86
OPENJDK_TARGET_CPU_BITS := 32
else
# ... all others use uname -m
UNAME_CPU := $(shell $(UNAME) -m)
ifeq ($(UNAME_CPU), i686)
OPENJDK_TARGET_CPU := x86
OPENJDK_TARGET_CPU_BITS := 32
else
# Assume all others are 64-bit. We use the same CPU name as uname for
# at least x86_64 and aarch64.
OPENJDK_TARGET_CPU := $(UNAME_CPU)
OPENJDK_TARGET_CPU_BITS := 64
endif
# Assume all others are 64-bit. We use the same CPU name as uname for
# at least x86_64 and aarch64.
OPENJDK_TARGET_CPU := $(UNAME_CPU)
OPENJDK_TARGET_CPU_BITS := 64
endif
OPENJDK_TARGET_CPU_ARCH := $(OPENJDK_TARGET_CPU)
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
OPENJDK_TARGET_CPU_ARCH := x86
else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
OPENJDK_TARGET_CPU_ARCH := sparc
endif
ifeq ($(OPENJDK_TARGET_OS), windows)
@@ -229,11 +209,6 @@ ifeq ($(OPENJDK_TARGET_OS), linux)
else ifeq ($(OPENJDK_TARGET_OS), macosx)
NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
else ifeq ($(OPENJDK_TARGET_OS), solaris)
NUM_CORES := $(shell /usr/sbin/psrinfo -v | $(GREP) -c on-line)
MEMORY_SIZE := $(shell \
/usr/sbin/prtconf 2> /dev/null | $(GREP) "^Memory [Ss]ize" | $(AWK) '{print $$3}' \
)
else ifeq ($(OPENJDK_TARGET_OS), windows)
NUM_CORES := $(NUMBER_OF_PROCESSORS)
MEMORY_SIZE := $(shell \
@@ -265,11 +240,6 @@ ifneq ($(DEVKIT_HOME), )
LD_JAOTC := $(DEVKIT_HOME)/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
LIBRARY_PREFIX := lib
SHARED_LIBRARY_SUFFIX := .dylib
else ifeq ($(OPENJDK_TARGET_OS), solaris)
# Prefer system linker for AOT on Solaris.
LD_JAOTC := ld
LIBRARY_PREFIX := lib
SHARED_LIBRARY_SUFFIX := .so
endif
else
LD := ld
@@ -336,7 +306,7 @@ SPEC := $(NEW_SPEC)
default: all
run-test-prebuilt:
test-prebuilt:
# Need to make sure the failure logs output dir exists since
# ExecuteWithLog is called in RunTests.gmk. The PrepareFailureLogs macro
# is unfortunately not available at this point.
@@ -351,6 +321,6 @@ run-test-prebuilt:
@cd $(TOPDIR) && $(MAKE) $(MAKE_ARGS) -f make/RunTests.gmk run-test \
TEST="$(TEST)"
all: run-test-prebuilt
all: test-prebuilt
.PHONY: default all
.PHONY: default all test-prebuilt

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -63,8 +63,9 @@ TEST_JOBS ?= 0
# Use hard-coded values for java flags (one size, fits all!)
JAVA_FLAGS := -Duser.language=en -Duser.country=US
JAVA_FLAGS_BIG:= -Xms64M -Xmx1600M -XX:ThreadStackSize=1536
JAVA_FLAGS_SMALL:= -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
JAVA_FLAGS_BIG := -Xms64M -Xmx1600M
JAVA_FLAGS_SMALL := -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
BUILDJDK_JAVA_FLAGS_SMALL := -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
BUILD_JAVA_FLAGS := $(JAVA_FLAGS_BIG)
################################################################################
@@ -81,7 +82,6 @@ SHELL := $(BASH) $(BASH_ARGS)
# Set some reasonable defaults for features
DEBUG_LEVEL := release
HOTSPOT_DEBUG_LEVEL := release
BUILD_GTEST := true
BUILD_FAILURE_HANDLER := true
################################################################################
@@ -120,7 +120,7 @@ JARSIGNER_CMD := $(BOOT_JDK)/bin/jarsigner
JAVA := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
JAVA_SMALL := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
JAVA_JAVAC := $(FIXPATH) $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
JAVA_DETACH := $(FIXPATH) $(FIXPATH_DETACH_FLAG) $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
JAVAC := $(FIXPATH) $(JAVAC_CMD)
JAR := $(FIXPATH) $(JAR_CMD)
JLINK := $(FIXPATH) $(JLINK_CMD)
@@ -177,16 +177,6 @@ FILE := file
HG := hg
ULIMIT := ulimit
# On Solaris gnu versions of some tools are required.
ifeq ($(OPENJDK_BUILD_OS), solaris)
AWK := gawk
GREP := ggrep
EGREP := ggrep -E
FGREP := grep -F
SED := gsed
TAR := gtar
endif
ifeq ($(OPENJDK_BUILD_OS), windows)
CYGPATH := cygpath
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -35,12 +35,29 @@ ifeq ($(call isTargetOs, windows), true)
$(FIXPATH_COPY): $(firstword $(FIXPATH))
$(call install-file)
FIXPATH_WORKSPACE_ROOT := $(call FixPath, $(WORKSPACE_ROOT))
FIXPATH_OUTPUTDIR := $(call FixPath, $(OUTPUTDIR))
else
FIXPATH_WORKSPACE_ROOT := $(WORKSPACE_ROOT)
FIXPATH_OUTPUTDIR := $(OUTPUTDIR)
endif
prepare-test-image: $(FIXPATH_COPY)
BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties
$(BUILD_INFO_PROPERTIES):
$(call MakeTargetDir)
$(ECHO) "# Build info properties for JDK tests" > $@
$(ECHO) "build.workspace.root=$(FIXPATH_WORKSPACE_ROOT)" >> $@
$(ECHO) "build.output.root=$(FIXPATH_OUTPUTDIR)" >> $@
prepare-test-image: $(FIXPATH_COPY) $(BUILD_INFO_PROPERTIES)
$(call MakeDir, $(TEST_IMAGE_DIR))
$(ECHO) > $(TEST_IMAGE_DIR)/Readme.txt 'JDK test image'
################################################################################
all: prepare-test-image
.PHONY: default all prepare-test-image

View File

@@ -106,6 +106,9 @@ TOOL_OSX_TOBIN = $(JAVA_SMALL) -Djava.awt.headless=true -cp $(BUILDTOOLS_OUTPUTD
TOOL_CLDRCONVERTER = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.cldrconverter.CLDRConverter
TOOL_INTPOLY = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.intpoly.FieldGen
TOOL_GENERATELSREQUIVMAPS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.generatelsrequivmaps.EquivMapsGenerator

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -29,18 +29,17 @@ default: all
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include SetupJavaCompilers.gmk
################################################################################
# Setup the compilation of the properties compilation tool. You can depend
# upon $(BUILD_TOOLS_LANGTOOLS) to trigger a compilation of the tools.
$(eval $(call SetupJavaCompilation,BUILD_TOOLS_LANGTOOLS, \
SETUP := BOOT_JAVAC, \
DISABLE_SJAVAC := true, \
ADD_JAVAC_FLAGS := -Xprefer:source, \
$(eval $(call SetupJavaCompilation, BUILD_TOOLS_LANGTOOLS, \
COMPILER := bootjdk, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := $(TOPDIR)/make/langtools/tools, \
INCLUDES := compileproperties propertiesparser, \
COPY := .properties, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/langtools_tools_classes))
BIN := $(BUILDTOOLS_OUTPUTDIR)/langtools_tools_classes, \
))
all: $(BUILD_TOOLS_LANGTOOLS)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -45,7 +45,6 @@ $(eval $(call SetupZipArchive,BUILD_SEC_BIN_ZIP, \
modules/jdk.crypto.mscapi/sun/security/mscapi \
modules/jdk.crypto.cryptoki/sun/security/pkcs11 \
modules/jdk.crypto.cryptoki/sun/security/pkcs11/wrapper \
modules/jdk.crypto.ucrypto/com/oracle/security/ucrypto \
modules/java.base/javax/net \
modules/java.base/javax/security/cert \
modules/java.base/com/sun/net/ssl \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -39,18 +39,12 @@ $(eval $(call IncludeCustomExtension, ZipSource.gmk))
# Create the directory structure for src.zip using symlinks.
# <module>/<package>/<file>.java
# Find extra source dirs for a module that are not part of normal compilation
# but should be included in src.zip.
# $1: Module to find dirs for
ExtraSrcDirs = \
$(wildcard $(SUPPORT_OUTPUTDIR)/rmic/$(strip $1))
ALL_MODULES := $(FindAllModules)
# Generate the src dirs in the first make invocation and then call this makefile
# again to create src.zip.
$(foreach m, $(ALL_MODULES), \
$(foreach d, $(call FindModuleSrcDirs, $m) $(call ExtraSrcDirs, $m), \
$(foreach d, $(call FindModuleSrcDirs, $m), \
$(eval $d_TARGET := $(SRC_ZIP_WORK_DIR)/$(patsubst $(TOPDIR)/%,%,$d)/$m) \
$(if $(SRC_GENERATED), , \
$(eval $$($d_TARGET): $d ; \

539
make/autoconf/basic.m4 Normal file
View File

@@ -0,0 +1,539 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
m4_include([basic_tools.m4])
m4_include([basic_windows.m4])
###############################################################################
AC_DEFUN_ONCE([BASIC_INIT],
[
# Save the original command line. This is passed to us by the wrapper configure script.
AC_SUBST(CONFIGURE_COMMAND_LINE)
# AUTOCONF might be set in the environment by the user. Preserve for "make reconfigure".
AC_SUBST(AUTOCONF)
# Save the path variable before it gets changed
ORIGINAL_PATH="$PATH"
AC_SUBST(ORIGINAL_PATH)
DATE_WHEN_CONFIGURED=`date`
AC_SUBST(DATE_WHEN_CONFIGURED)
AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
])
###############################################################################
# Check that there are no unprocessed overridden variables left.
# If so, they are an incorrect argument and we will exit with an error.
AC_DEFUN([BASIC_CHECK_LEFTOVER_OVERRIDDEN],
[
if test "x$CONFIGURE_OVERRIDDEN_VARIABLES" != x; then
# Replace the separating ! with spaces before presenting for end user.
unknown_variables=${CONFIGURE_OVERRIDDEN_VARIABLES//!/ }
AC_MSG_WARN([The following variables might be unknown to configure: $unknown_variables])
fi
])
###############################################################################
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
[
# Save the current directory this script was started from
CONFIGURE_START_DIR="$PWD"
# We might need to rewrite ORIGINAL_PATH, if it includes "#", to quote them
# for make. We couldn't do this when we retrieved ORIGINAL_PATH, since SED
# was not available at that time.
REWRITTEN_PATH=`$ECHO "$ORIGINAL_PATH" | $SED -e 's/#/\\\\#/g'`
if test "x$REWRITTEN_PATH" != "x$ORIGINAL_PATH"; then
ORIGINAL_PATH="$REWRITTEN_PATH"
AC_MSG_NOTICE([Rewriting ORIGINAL_PATH to $REWRITTEN_PATH])
fi
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
PATH_SEP=";"
EXE_SUFFIX=".exe"
BASIC_CHECK_PATHS_WINDOWS
else
PATH_SEP=":"
EXE_SUFFIX=""
fi
AC_SUBST(PATH_SEP)
AC_SUBST(EXE_SUFFIX)
# We get the top-level directory from the supporting wrappers.
AC_MSG_CHECKING([for top-level directory])
AC_MSG_RESULT([$TOPDIR])
AC_SUBST(TOPDIR)
AC_SUBST(CONFIGURE_START_DIR)
if test "x$CUSTOM_ROOT" != x; then
WORKSPACE_ROOT="${CUSTOM_ROOT}"
else
WORKSPACE_ROOT="${TOPDIR}"
fi
AC_SUBST(WORKSPACE_ROOT)
# We can only call UTIL_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
UTIL_FIXUP_PATH(CONFIGURE_START_DIR)
UTIL_FIXUP_PATH(TOPDIR)
# Locate the directory of this script.
AUTOCONF_DIR=$TOPDIR/make/autoconf
# Setup username (for use in adhoc version strings etc)
# Outer [ ] to quote m4.
[ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
AC_SUBST(USERNAME)
])
###############################################################################
# Evaluates platform specific overrides for devkit variables.
# $1: Name of variable
AC_DEFUN([BASIC_EVAL_DEVKIT_VARIABLE],
[
if test "x[$]$1" = x; then
eval $1="\${$1_${OPENJDK_TARGET_CPU}}"
fi
])
###############################################################################
AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
[
AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
[use this devkit for compilers, tools and resources])])
if test "x$with_devkit" = xyes; then
AC_MSG_ERROR([--with-devkit must have a value])
elif test "x$with_devkit" != x && test "x$with_devkit" != xno; then
UTIL_FIXUP_PATH([with_devkit])
DEVKIT_ROOT="$with_devkit"
# Check for a meta data info file in the root of the devkit
if test -f "$DEVKIT_ROOT/devkit.info"; then
. $DEVKIT_ROOT/devkit.info
# This potentially sets the following:
# A descriptive name of the devkit
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_NAME])
# Corresponds to --with-extra-path
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_EXTRA_PATH])
# Corresponds to --with-toolchain-path
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_TOOLCHAIN_PATH])
# Corresponds to --with-sysroot
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_SYSROOT])
# Identifies the Visual Studio version in the devkit
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_VERSION])
# The Visual Studio include environment variable
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_INCLUDE])
# The Visual Studio lib environment variable
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_LIB])
# Corresponds to --with-msvcr-dll
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCR_DLL])
# Corresponds to --with-vcruntime-1-dll
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VCRUNTIME_1_DLL])
# Corresponds to --with-msvcp-dll
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCP_DLL])
# Corresponds to --with-ucrt-dll-dir
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_UCRT_DLL_DIR])
fi
AC_MSG_CHECKING([for devkit])
if test "x$DEVKIT_NAME" != x; then
AC_MSG_RESULT([$DEVKIT_NAME in $DEVKIT_ROOT])
else
AC_MSG_RESULT([$DEVKIT_ROOT])
fi
UTIL_PREPEND_TO_PATH([EXTRA_PATH],$DEVKIT_EXTRA_PATH)
# Fallback default of just /bin if DEVKIT_PATH is not defined
if test "x$DEVKIT_TOOLCHAIN_PATH" = x; then
DEVKIT_TOOLCHAIN_PATH="$DEVKIT_ROOT/bin"
fi
UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$DEVKIT_TOOLCHAIN_PATH)
# If DEVKIT_SYSROOT is set, use that, otherwise try a couple of known
# places for backwards compatiblity.
if test "x$DEVKIT_SYSROOT" != x; then
SYSROOT="$DEVKIT_SYSROOT"
elif test -d "$DEVKIT_ROOT/$host_alias/libc"; then
SYSROOT="$DEVKIT_ROOT/$host_alias/libc"
elif test -d "$DEVKIT_ROOT/$host/sys-root"; then
SYSROOT="$DEVKIT_ROOT/$host/sys-root"
fi
if test "x$DEVKIT_ROOT" != x; then
DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib"
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib64"
fi
AC_SUBST(DEVKIT_LIB_DIR)
fi
fi
# You can force the sysroot if the sysroot encoded into the compiler tools
# is not correct.
AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
[alias for --with-sysroot for backwards compatability])],
[SYSROOT=$with_sys_root]
)
AC_ARG_WITH(sysroot, [AS_HELP_STRING([--with-sysroot],
[use this directory as sysroot])],
[SYSROOT=$with_sysroot]
)
AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
[alias for --with-toolchain-path for backwards compatibility])],
[UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_tools_dir)]
)
AC_ARG_WITH([toolchain-path], [AS_HELP_STRING([--with-toolchain-path],
[prepend these directories when searching for toolchain binaries (compilers etc)])],
[UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_toolchain_path)]
)
AC_ARG_WITH([extra-path], [AS_HELP_STRING([--with-extra-path],
[prepend these directories to the default path])],
[UTIL_PREPEND_TO_PATH([EXTRA_PATH],$with_extra_path)]
)
if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
# If a devkit has been supplied, find xcodebuild in the toolchain_path.
# If not, detect if Xcode is installed by running xcodebuild -version
# if no Xcode installed, xcodebuild exits with 1
# if Xcode is installed, even if xcode-select is misconfigured, then it exits with 0
if test "x$DEVKIT_ROOT" != x || /usr/bin/xcodebuild -version >/dev/null 2>&1; then
# We need to use xcodebuild in the toolchain dir provided by the user, this will
# fall back on the stub binary in /usr/bin/xcodebuild
AC_PATH_PROG([XCODEBUILD], [xcodebuild], [/usr/bin/xcodebuild], [$TOOLCHAIN_PATH])
else
# this should result in SYSROOT being empty, unless --with-sysroot is provided
# when only the command line tools are installed there are no SDKs, so headers
# are copied into the system frameworks
XCODEBUILD=
AC_SUBST(XCODEBUILD)
fi
AC_MSG_CHECKING([for sdk name])
AC_ARG_WITH([sdk-name], [AS_HELP_STRING([--with-sdk-name],
[use the platform SDK of the given name. @<:@macosx@:>@])],
[SDKNAME=$with_sdk_name]
)
AC_MSG_RESULT([$SDKNAME])
# if toolchain path is specified then don't rely on system headers, they may not compile
HAVE_SYSTEM_FRAMEWORK_HEADERS=0
test -z "$TOOLCHAIN_PATH" && \
HAVE_SYSTEM_FRAMEWORK_HEADERS=`test ! -f /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h; echo $?`
if test -z "$SYSROOT"; then
if test -n "$XCODEBUILD"; then
# if we don't have system headers, use default SDK name (last resort)
if test -z "$SDKNAME" -a $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0; then
SDKNAME=${SDKNAME:-macosx}
fi
if test -n "$SDKNAME"; then
# Call xcodebuild to determine SYSROOT
SYSROOT=`"$XCODEBUILD" -sdk $SDKNAME -version | $GREP '^Path: ' | $SED 's/Path: //'`
fi
else
if test $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0; then
AC_MSG_ERROR([No xcodebuild tool and no system framework headers found, use --with-sysroot or --with-sdk-name to provide a path to a valid SDK])
fi
fi
else
# warn user if --with-sdk-name was also set
if test -n "$with_sdk_name"; then
AC_MSG_WARN([Both SYSROOT and --with-sdk-name are set, only SYSROOT will be used])
fi
fi
if test $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0 -a -z "$SYSROOT"; then
# If no system framework headers, then SYSROOT must be set, or we won't build
AC_MSG_ERROR([Unable to determine SYSROOT and no headers found in /System/Library/Frameworks. Check Xcode configuration, --with-sysroot or --with-sdk-name arguments.])
fi
# Perform a basic sanity test
if test ! -f "$SYSROOT/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h"; then
if test -z "$SYSROOT"; then
AC_MSG_ERROR([Unable to find required framework headers, provide a path to an SDK via --with-sysroot or --with-sdk-name and be sure Xcode is installed properly])
else
AC_MSG_ERROR([Invalid SDK or SYSROOT path, dependent framework headers not found])
fi
fi
# set SDKROOT too, Xcode tools will pick it up
SDKROOT="$SYSROOT"
AC_SUBST(SDKROOT)
fi
# Prepend the extra path to the global path
UTIL_PREPEND_TO_PATH([PATH],$EXTRA_PATH)
AC_MSG_CHECKING([for sysroot])
AC_MSG_RESULT([$SYSROOT])
AC_MSG_CHECKING([for toolchain path])
AC_MSG_RESULT([$TOOLCHAIN_PATH])
AC_MSG_CHECKING([for extra path])
AC_MSG_RESULT([$EXTRA_PATH])
])
###############################################################################
AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
[
AC_ARG_WITH(conf-name, [AS_HELP_STRING([--with-conf-name],
[use this as the name of the configuration @<:@generated from important configuration options@:>@])],
[ CONF_NAME=${with_conf_name} ])
# Test from where we are running configure, in or outside of src root.
AC_MSG_CHECKING([where to store configuration])
if test "x$CONFIGURE_START_DIR" = "x$TOPDIR" \
|| test "x$CONFIGURE_START_DIR" = "x$CUSTOM_ROOT" \
|| test "x$CONFIGURE_START_DIR" = "x$TOPDIR/make/autoconf" \
|| test "x$CONFIGURE_START_DIR" = "x$TOPDIR/make" ; then
# We are running configure from the src root.
# Create a default ./build/target-variant-debuglevel output root.
if test "x${CONF_NAME}" = x; then
AC_MSG_RESULT([in default location])
CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JVM_VARIANTS_WITH_AND}-${DEBUG_LEVEL}"
else
AC_MSG_RESULT([in build directory with custom name])
fi
OUTPUTDIR="${WORKSPACE_ROOT}/build/${CONF_NAME}"
$MKDIR -p "$OUTPUTDIR"
if test ! -d "$OUTPUTDIR"; then
AC_MSG_ERROR([Could not create build directory $OUTPUTDIR])
fi
else
# We are running configure from outside of the src dir.
# Then use the current directory as output dir!
# If configuration is situated in normal build directory, just use the build
# directory name as configuration name, otherwise use the complete path.
if test "x${CONF_NAME}" = x; then
CONF_NAME=`$ECHO $CONFIGURE_START_DIR | $SED -e "s!^${TOPDIR}/build/!!"`
fi
OUTPUTDIR="$CONFIGURE_START_DIR"
AC_MSG_RESULT([in current directory])
# WARNING: This might be a bad thing to do. You need to be sure you want to
# have a configuration in this directory. Do some sanity checks!
if test ! -e "$OUTPUTDIR/spec.gmk"; then
# If we have a spec.gmk, we have run here before and we are OK. Otherwise, check for
# other files
files_present=`$LS $OUTPUTDIR`
# Configure has already touched config.log and confdefs.h in the current dir when this check
# is performed.
filtered_files=`$ECHO "$files_present" \
| $SED -e 's/config.log//g' \
-e 's/configure.log//g' \
-e 's/confdefs.h//g' \
-e 's/configure-support//g' \
-e 's/ //g' \
| $TR -d '\n'`
if test "x$filtered_files" != x; then
AC_MSG_NOTICE([Current directory is $CONFIGURE_START_DIR.])
AC_MSG_NOTICE([Since this is not the source root, configure will output the configuration here])
AC_MSG_NOTICE([(as opposed to creating a configuration in <src_root>/build/<conf-name>).])
AC_MSG_NOTICE([However, this directory is not empty. This is not allowed, since it could])
AC_MSG_NOTICE([seriously mess up just about everything.])
AC_MSG_NOTICE([Try 'cd $TOPDIR' and restart configure])
AC_MSG_NOTICE([(or create a new empty directory and cd to it).])
AC_MSG_ERROR([Will not continue creating configuration in $CONFIGURE_START_DIR])
fi
fi
fi
AC_MSG_CHECKING([what configuration name to use])
AC_MSG_RESULT([$CONF_NAME])
UTIL_FIXUP_PATH(OUTPUTDIR)
CONFIGURESUPPORT_OUTPUTDIR="$OUTPUTDIR/configure-support"
$MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
SPEC="$OUTPUTDIR/spec.gmk"
AC_SUBST(SPEC)
AC_SUBST(CONF_NAME)
AC_SUBST(OUTPUTDIR)
AC_SUBST(CONFIGURESUPPORT_OUTPUTDIR)
# The spec.gmk file contains all variables for the make system.
AC_CONFIG_FILES([$OUTPUTDIR/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
# The bootcycle-spec.gmk file contains support for boot cycle builds.
AC_CONFIG_FILES([$OUTPUTDIR/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in])
# The buildjdk-spec.gmk file contains support for building a buildjdk when cross compiling.
AC_CONFIG_FILES([$OUTPUTDIR/buildjdk-spec.gmk:$AUTOCONF_DIR/buildjdk-spec.gmk.in])
# The compare.sh is used to compare the build output to other builds.
AC_CONFIG_FILES([$OUTPUTDIR/compare.sh:$AUTOCONF_DIR/compare.sh.in])
# The generated Makefile knows where the spec.gmk is and where the source is.
# You can run make from the OUTPUTDIR, or from the top-level Makefile
# which will look for generated configurations
AC_CONFIG_FILES([$OUTPUTDIR/Makefile:$AUTOCONF_DIR/Makefile.in])
])
###############################################################################
# Check if build directory is on local disk. If not possible to determine,
# we prefer to claim it's local.
# Argument 1: directory to test
# Argument 2: what to do if it is on local disk
# Argument 3: what to do otherwise (remote disk or failure)
AC_DEFUN([BASIC_CHECK_DIR_ON_LOCAL_DISK],
[
# df -l lists only local disks; if the given directory is not found then
# a non-zero exit code is given
if test "x$DF" = x; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
# msys does not have df; use Windows "net use" instead.
IS_NETWORK_DISK=`net use | grep \`pwd -W | cut -d ":" -f 1 | tr a-z A-Z\`:`
if test "x$IS_NETWORK_DISK" = x; then
$2
else
$3
fi
else
# No df here, say it's local
$2
fi
else
# JDK-8189619
# df on AIX does not understand -l. On modern AIXes it understands "-T local" which
# is the same. On older AIXes we just continue to live with a "not local build" warning.
if test "x$OPENJDK_TARGET_OS" = xaix; then
DF_LOCAL_ONLY_OPTION='-T local'
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
# In WSL, we can only build on a drvfs file system (that is, a mounted real Windows drive)
DF_LOCAL_ONLY_OPTION='-t drvfs'
else
DF_LOCAL_ONLY_OPTION='-l'
fi
if $DF $DF_LOCAL_ONLY_OPTION $1 > /dev/null 2>&1; then
$2
else
$3
fi
fi
])
###############################################################################
# Check that source files have basic read permissions set. This might
# not be the case in cygwin in certain conditions.
AC_DEFUN_ONCE([BASIC_CHECK_SRC_PERMS],
[
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
file_to_test="$TOPDIR/LICENSE"
if test `$STAT -c '%a' "$file_to_test"` -lt 400; then
AC_MSG_ERROR([Bad file permissions on src files. This is usually caused by cloning the repositories with a non cygwin hg in a directory not created in cygwin.])
fi
fi
])
###############################################################################
AC_DEFUN_ONCE([BASIC_TEST_USABILITY_ISSUES],
[
AC_MSG_CHECKING([if build directory is on local disk])
BASIC_CHECK_DIR_ON_LOCAL_DISK($OUTPUTDIR,
[OUTPUT_DIR_IS_LOCAL="yes"],
[OUTPUT_DIR_IS_LOCAL="no"])
AC_MSG_RESULT($OUTPUT_DIR_IS_LOCAL)
BASIC_CHECK_SRC_PERMS
# Check if the user has any old-style ALT_ variables set.
FOUND_ALT_VARIABLES=`env | grep ^ALT_`
# Before generating output files, test if they exist. If they do, this is a reconfigure.
# Since we can't properly handle the dependencies for this, warn the user about the situation
if test -e $OUTPUTDIR/spec.gmk; then
IS_RECONFIGURE=yes
else
IS_RECONFIGURE=no
fi
])
################################################################################
#
# Default make target
#
AC_DEFUN_ONCE([BASIC_SETUP_DEFAULT_MAKE_TARGET],
[
AC_ARG_WITH(default-make-target, [AS_HELP_STRING([--with-default-make-target],
[set the default make target @<:@exploded-image@:>@])])
if test "x$with_default_make_target" = "x" \
|| test "x$with_default_make_target" = "xyes"; then
DEFAULT_MAKE_TARGET="exploded-image"
elif test "x$with_default_make_target" = "xno"; then
AC_MSG_ERROR([--without-default-make-target is not a valid option])
else
DEFAULT_MAKE_TARGET="$with_default_make_target"
fi
AC_SUBST(DEFAULT_MAKE_TARGET)
])
###############################################################################
# Setup the default value for LOG=
#
AC_DEFUN_ONCE([BASIC_SETUP_DEFAULT_LOG],
[
AC_ARG_WITH(log, [AS_HELP_STRING([--with-log],
[[default vaue for make LOG argument [warn]]])])
AC_MSG_CHECKING([for default LOG value])
if test "x$with_log" = x; then
DEFAULT_LOG=""
else
# Syntax for valid LOG options is a bit too complex for it to be worth
# implementing a test for correctness in configure. Just accept it.
DEFAULT_LOG=$with_log
fi
AC_MSG_RESULT([$DEFAULT_LOG])
AC_SUBST(DEFAULT_LOG)
])
###############################################################################
# Code to run after AC_OUTPUT
AC_DEFUN_ONCE([BASIC_POST_CONFIG_OUTPUT],
[
# Try to move config.log (generated by autoconf) to the configure-support directory.
if test -e ./config.log; then
$MV -f ./config.log "$CONFIGURESUPPORT_OUTPUTDIR/config.log" 2> /dev/null
fi
# Rotate our log file (configure.log)
if test -e "$OUTPUTDIR/configure.log.old"; then
$RM -f "$OUTPUTDIR/configure.log.old"
fi
if test -e "$OUTPUTDIR/configure.log"; then
$MV -f "$OUTPUTDIR/configure.log" "$OUTPUTDIR/configure.log.old" 2> /dev/null
fi
# Move configure.log from current directory to the build output root
if test -e ./configure.log; then
$MV -f ./configure.log "$OUTPUTDIR/configure.log" 2> /dev/null
fi
# Make the compare script executable
$CHMOD +x $OUTPUTDIR/compare.sh
])

View File

@@ -0,0 +1,477 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
###############################################################################
# Setup the most fundamental tools that relies on not much else to set up,
# but is used by much of the early bootstrap code.
AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
[
# Start with tools that do not need have cross compilation support
# and can be expected to be found in the default PATH. These tools are
# used by configure.
# First are all the simple required tools.
UTIL_REQUIRE_PROGS(BASENAME, basename)
UTIL_REQUIRE_PROGS(BASH, bash)
UTIL_REQUIRE_PROGS(CAT, cat)
UTIL_REQUIRE_PROGS(CHMOD, chmod)
UTIL_REQUIRE_PROGS(CMP, cmp)
UTIL_REQUIRE_PROGS(COMM, comm)
UTIL_REQUIRE_PROGS(CP, cp)
UTIL_REQUIRE_PROGS(CUT, cut)
UTIL_REQUIRE_PROGS(DATE, date)
UTIL_REQUIRE_PROGS(DIFF, [gdiff diff])
UTIL_REQUIRE_PROGS(DIRNAME, dirname)
UTIL_REQUIRE_PROGS(ECHO, echo)
UTIL_REQUIRE_PROGS(EXPR, expr)
UTIL_REQUIRE_PROGS(FILE, file)
UTIL_REQUIRE_PROGS(FIND, find)
UTIL_REQUIRE_PROGS(HEAD, head)
UTIL_REQUIRE_PROGS(GUNZIP, gunzip)
UTIL_REQUIRE_PROGS(GZIP, pigz gzip)
UTIL_REQUIRE_PROGS(LN, ln)
UTIL_REQUIRE_PROGS(LS, ls)
# gmkdir is known to be safe for concurrent invocations with -p flag.
UTIL_REQUIRE_PROGS(MKDIR, [gmkdir mkdir])
UTIL_REQUIRE_PROGS(MKTEMP, mktemp)
UTIL_REQUIRE_PROGS(MV, mv)
UTIL_REQUIRE_PROGS(NAWK, [nawk gawk awk])
UTIL_REQUIRE_PROGS(PRINTF, printf)
UTIL_REQUIRE_PROGS(READLINK, [greadlink readlink])
UTIL_REQUIRE_PROGS(RM, rm)
UTIL_REQUIRE_PROGS(RMDIR, rmdir)
UTIL_REQUIRE_PROGS(SH, sh)
UTIL_REQUIRE_PROGS(SORT, sort)
UTIL_REQUIRE_PROGS(TAIL, tail)
UTIL_REQUIRE_PROGS(TAR, gtar tar)
UTIL_REQUIRE_PROGS(TEE, tee)
UTIL_REQUIRE_PROGS(TOUCH, touch)
UTIL_REQUIRE_PROGS(TR, tr)
UTIL_REQUIRE_PROGS(UNAME, uname)
UTIL_REQUIRE_PROGS(UNIQ, uniq)
UTIL_REQUIRE_PROGS(WC, wc)
UTIL_REQUIRE_PROGS(WHICH, which)
UTIL_REQUIRE_PROGS(XARGS, xargs)
# Then required tools that require some special treatment.
UTIL_REQUIRE_SPECIAL(AWK, [AC_PROG_AWK])
UTIL_REQUIRE_SPECIAL(GREP, [AC_PROG_GREP])
UTIL_REQUIRE_SPECIAL(EGREP, [AC_PROG_EGREP])
UTIL_REQUIRE_SPECIAL(FGREP, [AC_PROG_FGREP])
UTIL_REQUIRE_SPECIAL(SED, [AC_PROG_SED])
# Always force rm.
RM="$RM -f"
# pwd behaves differently on various platforms and some don't support the -L flag.
# Always use the bash builtin pwd to get uniform behavior.
THEPWDCMD=pwd
# These are not required on all platforms
UTIL_PATH_PROGS(CYGPATH, cygpath)
UTIL_PATH_PROGS(WSLPATH, wslpath)
UTIL_PATH_PROGS(DF, df)
UTIL_PATH_PROGS(CPIO, [cpio bsdcpio])
UTIL_PATH_PROGS(NICE, nice)
UTIL_PATH_PROGS(LSB_RELEASE, lsb_release)
UTIL_PATH_PROGS(CMD, cmd.exe, $PATH /cygdrive/c/Windows/System32 /mnt/c/Windows/System32)
])
###############################################################################
# Check if we have found a usable version of make
# $1: the path to a potential make binary (or empty)
# $2: the description on how we found this
AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
[
MAKE_CANDIDATE="$1"
DESCRIPTION="$2"
# On Cygwin, we require a newer version of make than on other platforms
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
MAKE_VERSION_EXPR="-e 4\."
MAKE_REQUIRED_VERSION="4.0"
else
MAKE_VERSION_EXPR="-e 3\.8[[12]] -e 4\."
MAKE_REQUIRED_VERSION="3.81"
fi
if test "x$MAKE_CANDIDATE" != x; then
AC_MSG_NOTICE([Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION])
MAKE_VERSION_STRING=`$MAKE_CANDIDATE --version | $HEAD -n 1`
IS_GNU_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP 'GNU Make'`
if test "x$IS_GNU_MAKE" = x; then
AC_MSG_NOTICE([Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring.])
else
IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then
AC_MSG_NOTICE([Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring.])
else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
MAKE_EXPECTED_ENV='cygwin'
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
MAKE_EXPECTED_ENV='msys'
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
MAKE_EXPECTED_ENV='x86_64-.*-linux-gnu'
else
AC_MSG_ERROR([Unknown Windows environment])
fi
MAKE_BUILT_FOR=`$MAKE_CANDIDATE --version | $GREP -i 'built for'`
IS_MAKE_CORRECT_ENV=`$ECHO $MAKE_BUILT_FOR | $GREP $MAKE_EXPECTED_ENV`
else
# Not relevant for non-Windows
IS_MAKE_CORRECT_ENV=true
fi
if test "x$IS_MAKE_CORRECT_ENV" = x; then
AC_MSG_NOTICE([Found GNU make version $MAKE_VERSION_STRING at $MAKE_CANDIDATE, but it is not for $MAKE_EXPECTED_ENV (it says: $MAKE_BUILT_FOR). Ignoring.])
else
FOUND_MAKE=$MAKE_CANDIDATE
UTIL_FIXUP_EXECUTABLE(FOUND_MAKE)
fi
fi
fi
fi
])
###############################################################################
AC_DEFUN([BASIC_CHECK_MAKE_OUTPUT_SYNC],
[
# Check if make supports the output sync option and if so, setup using it.
AC_MSG_CHECKING([if make --output-sync is supported])
if $MAKE --version -O > /dev/null 2>&1; then
OUTPUT_SYNC_SUPPORTED=true
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([for output-sync value])
AC_ARG_WITH([output-sync], [AS_HELP_STRING([--with-output-sync],
[set make output sync type if supported by make. @<:@recurse@:>@])],
[OUTPUT_SYNC=$with_output_sync])
if test "x$OUTPUT_SYNC" = "x"; then
OUTPUT_SYNC=none
fi
AC_MSG_RESULT([$OUTPUT_SYNC])
if ! $MAKE --version -O$OUTPUT_SYNC > /dev/null 2>&1; then
AC_MSG_ERROR([Make did not the support the value $OUTPUT_SYNC as output sync type.])
fi
else
OUTPUT_SYNC_SUPPORTED=false
AC_MSG_RESULT([no])
fi
AC_SUBST(OUTPUT_SYNC_SUPPORTED)
AC_SUBST(OUTPUT_SYNC)
])
###############################################################################
# Goes looking for a usable version of GNU make.
AC_DEFUN([BASIC_CHECK_GNU_MAKE],
[
UTIL_SETUP_TOOL([MAKE],
[
# Try our hardest to locate a correct version of GNU make
AC_PATH_PROGS(CHECK_GMAKE, gmake)
BASIC_CHECK_MAKE_VERSION("$CHECK_GMAKE", [gmake in PATH])
if test "x$FOUND_MAKE" = x; then
AC_PATH_PROGS(CHECK_MAKE, make)
BASIC_CHECK_MAKE_VERSION("$CHECK_MAKE", [make in PATH])
fi
if test "x$FOUND_MAKE" = x; then
if test "x$TOOLCHAIN_PATH" != x; then
# We have a toolchain path, check that as well before giving up.
OLD_PATH=$PATH
PATH=$TOOLCHAIN_PATH:$PATH
AC_PATH_PROGS(CHECK_TOOLSDIR_GMAKE, gmake)
BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_GMAKE", [gmake in tools-dir])
if test "x$FOUND_MAKE" = x; then
AC_PATH_PROGS(CHECK_TOOLSDIR_MAKE, make)
BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_MAKE", [make in tools-dir])
fi
PATH=$OLD_PATH
fi
fi
if test "x$FOUND_MAKE" = x; then
AC_MSG_ERROR([Cannot find GNU make $MAKE_REQUIRED_VERSION or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.])
fi
],[
# If MAKE was set by user, verify the version
BASIC_CHECK_MAKE_VERSION("$MAKE", [user supplied MAKE=$MAKE])
if test "x$FOUND_MAKE" = x; then
AC_MSG_ERROR([The specified make (by MAKE=$MAKE) is not GNU make $MAKE_REQUIRED_VERSION or newer.])
fi
])
MAKE=$FOUND_MAKE
AC_SUBST(MAKE)
AC_MSG_NOTICE([Using GNU make at $FOUND_MAKE (version: $MAKE_VERSION_STRING)])
BASIC_CHECK_MAKE_OUTPUT_SYNC
])
###############################################################################
AC_DEFUN([BASIC_CHECK_FIND_DELETE],
[
# Test if find supports -delete
AC_MSG_CHECKING([if find supports -delete])
FIND_DELETE="-delete"
DELETEDIR=`$MKTEMP -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
if test -f $DELETEDIR/TestIfFindSupportsDelete; then
# No, it does not.
$RM $DELETEDIR/TestIfFindSupportsDelete
if test "x$OPENJDK_TARGET_OS" = "xaix"; then
# AIX 'find' is buggy if called with '-exec {} \+' and an empty file list
FIND_DELETE="-print | $XARGS $RM"
else
FIND_DELETE="-exec $RM \{\} \+"
fi
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
fi
$RMDIR $DELETEDIR
AC_SUBST(FIND_DELETE)
])
###############################################################################
AC_DEFUN([BASIC_CHECK_TAR],
[
# Test which kind of tar was found
if test "x$($TAR --version | $GREP "GNU tar")" != "x"; then
TAR_TYPE="gnu"
elif test "x$($TAR --version | $GREP "bsdtar")" != "x"; then
TAR_TYPE="bsd"
elif test "x$($TAR -v | $GREP "bsdtar")" != "x"; then
TAR_TYPE="bsd"
elif test "x$OPENJDK_BUILD_OS" = "xaix"; then
TAR_TYPE="aix"
fi
AC_MSG_CHECKING([what type of tar was found])
AC_MSG_RESULT([$TAR_TYPE])
if test "x$TAR_TYPE" = "xgnu"; then
TAR_INCLUDE_PARAM="T"
TAR_SUPPORTS_TRANSFORM="true"
elif test "x$TAR_TYPE" = "aix"; then
# -L InputList of aix tar: name of file listing the files and directories
# that need to be archived or extracted
TAR_INCLUDE_PARAM="L"
TAR_SUPPORTS_TRANSFORM="false"
else
TAR_INCLUDE_PARAM="I"
TAR_SUPPORTS_TRANSFORM="false"
fi
AC_SUBST(TAR_TYPE)
AC_SUBST(TAR_INCLUDE_PARAM)
AC_SUBST(TAR_SUPPORTS_TRANSFORM)
])
###############################################################################
AC_DEFUN([BASIC_CHECK_GREP],
[
# Test that grep supports -Fx with a list of pattern which includes null pattern.
# This is a problem for the grep resident on AIX.
AC_MSG_CHECKING([that grep ($GREP) -Fx handles empty lines in the pattern list correctly])
# Multiple subsequent spaces..
STACK_SPACES='aaa bbb ccc'
# ..converted to subsequent newlines, causes STACK_LIST to be a list with some empty
# patterns in it.
STACK_LIST=${STACK_SPACES// /$'\n'}
NEEDLE_SPACES='ccc bbb aaa'
NEEDLE_LIST=${NEEDLE_SPACES// /$'\n'}
RESULT="$($GREP -Fvx "$STACK_LIST" <<< "$NEEDLE_LIST")"
if test "x$RESULT" == "x"; then
AC_MSG_RESULT([yes])
else
if test "x$OPENJDK_TARGET_OS" = "xaix"; then
ADDINFO="Please make sure you use GNU grep, usually found at /opt/freeware/bin."
fi
AC_MSG_ERROR([grep does not handle -Fx correctly. ${ADDINFO}])
fi
])
###############################################################################
AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
[
BASIC_CHECK_GNU_MAKE
BASIC_CHECK_FIND_DELETE
BASIC_CHECK_TAR
BASIC_CHECK_GREP
BASIC_SETUP_PANDOC
# These tools might not be installed by default,
# need hint on how to install them.
UTIL_REQUIRE_PROGS(UNZIP, unzip)
# Since zip uses "ZIP" as a environment variable for passing options, we need
# to name our variable differently, hence ZIPEXE.
UTIL_REQUIRE_PROGS(ZIPEXE, zip)
# Non-required basic tools
UTIL_PATH_PROGS(LDD, ldd)
if test "x$LDD" = "x"; then
# List shared lib dependencies is used for
# debug output and checking for forbidden dependencies.
# We can build without it.
LDD="true"
fi
UTIL_PATH_PROGS(READELF, [greadelf readelf])
UTIL_PATH_PROGS(DOT, dot)
UTIL_PATH_PROGS(HG, hg)
UTIL_PATH_PROGS(GIT, git)
UTIL_PATH_PROGS(STAT, stat)
UTIL_PATH_PROGS(TIME, time)
UTIL_PATH_PROGS(FLOCK, flock)
# Dtrace is usually found in /usr/sbin, but that directory may not
# be in the user path.
UTIL_PATH_PROGS(DTRACE, dtrace, $PATH:/usr/sbin)
UTIL_PATH_PROGS(PATCH, [gpatch patch])
# Check if it's GNU time
IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
if test "x$IS_GNU_TIME" != x; then
IS_GNU_TIME=yes
else
IS_GNU_TIME=no
fi
AC_SUBST(IS_GNU_TIME)
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
UTIL_REQUIRE_PROGS(DSYMUTIL, dsymutil)
UTIL_REQUIRE_PROGS(MIG, mig)
UTIL_REQUIRE_PROGS(XATTR, xattr)
UTIL_PATH_PROGS(CODESIGN, codesign)
if test "x$CODESIGN" != "x"; then
# Check for user provided code signing identity.
# If no identity was provided, fall back to "openjdk_codesign".
AC_ARG_WITH([macosx-codesign-identity], [AS_HELP_STRING([--with-macosx-codesign-identity],
[specify the code signing identity])],
[MACOSX_CODESIGN_IDENTITY=$with_macosx_codesign_identity],
[MACOSX_CODESIGN_IDENTITY=openjdk_codesign]
)
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
# Verify that the codesign certificate is present
AC_MSG_CHECKING([if codesign certificate is present])
$RM codesign-testfile
$TOUCH codesign-testfile
$CODESIGN -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile 2>&AS_MESSAGE_LOG_FD \
>&AS_MESSAGE_LOG_FD || CODESIGN=
$RM codesign-testfile
if test "x$CODESIGN" = x; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
# Verify that the codesign has --option runtime
AC_MSG_CHECKING([if codesign has --option runtime])
$RM codesign-testfile
$TOUCH codesign-testfile
$CODESIGN --option runtime -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile \
2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
$RM codesign-testfile
if test "x$CODESIGN" = x; then
AC_MSG_ERROR([codesign does not have --option runtime. macOS 10.13.6 and above is required.])
else
AC_MSG_RESULT([yes])
fi
fi
fi
UTIL_REQUIRE_PROGS(SETFILE, SetFile)
fi
if ! test "x$OPENJDK_TARGET_OS" = "xwindows"; then
UTIL_REQUIRE_BUILTIN_PROGS(ULIMIT, ulimit)
fi
])
###############################################################################
# Check for support for specific options in bash
AC_DEFUN_ONCE([BASIC_CHECK_BASH_OPTIONS],
[
# Check bash version
# Extra [ ] to stop m4 mangling
[ BASH_VER=`$BASH --version | $SED -n -e 's/^.*bash.*ersion *\([0-9.]*\).*$/\1/ p'` ]
AC_MSG_CHECKING([bash version])
AC_MSG_RESULT([$BASH_VER])
BASH_MAJOR=`$ECHO $BASH_VER | $CUT -d . -f 1`
BASH_MINOR=`$ECHO $BASH_VER | $CUT -d . -f 2`
if test $BASH_MAJOR -lt 3 || (test $BASH_MAJOR -eq 3 && test $BASH_MINOR -lt 2); then
AC_MSG_ERROR([bash version 3.2 or better is required])
fi
# Test if bash supports pipefail.
AC_MSG_CHECKING([if bash supports pipefail])
if ${BASH} -c 'set -o pipefail'; then
BASH_ARGS="$BASH_ARGS -o pipefail"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
AC_MSG_CHECKING([if bash supports errexit (-e)])
if ${BASH} -e -c 'true'; then
BASH_ARGS="$BASH_ARGS -e"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
AC_SUBST(BASH_ARGS)
])
################################################################################
#
# Setup Pandoc
#
AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
[
UTIL_PATH_PROGS(PANDOC, pandoc)
PANDOC_MARKDOWN_FLAG="markdown"
if test -n "$PANDOC"; then
AC_MSG_CHECKING(if the pandoc smart extension needs to be disabled for markdown)
if $PANDOC --list-extensions | $GREP -q '\+smart'; then
AC_MSG_RESULT([yes])
PANDOC_MARKDOWN_FLAG="markdown-smart"
else
AC_MSG_RESULT([no])
fi
fi
if test -n "$PANDOC"; then
ENABLE_PANDOC="true"
else
ENABLE_PANDOC="false"
fi
AC_SUBST(ENABLE_PANDOC)
AC_SUBST(PANDOC_MARKDOWN_FLAG)
])

View File

@@ -0,0 +1,195 @@
#
# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
AC_DEFUN([BASIC_CHECK_PATHS_WINDOWS],
[
SRC_ROOT_LENGTH=`$THEPWDCMD -L|$WC -m`
if test $SRC_ROOT_LENGTH -gt 100; then
AC_MSG_ERROR([Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported])
fi
AC_MSG_CHECKING([Windows version])
# Additional [] needed to keep m4 from mangling shell constructs.
[ WINDOWS_VERSION=`$CMD /c ver.exe | $EGREP -o '([0-9]+\.)+[0-9]+'` ]
AC_MSG_RESULT([$WINDOWS_VERSION])
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
AC_MSG_CHECKING([cygwin release])
CYGWIN_RELEASE=`$UNAME -r`
AC_MSG_RESULT([$CYGWIN_RELEASE])
AC_MSG_CHECKING([cygwin version])
CYGWIN_VERSION=`$UNAME -v`
AC_MSG_RESULT([$CYGWIN_VERSION])
# Additional [] needed to keep m4 from mangling shell constructs.
[ CYGWIN_VERSION_OLD=`$ECHO $CYGWIN_RELEASE | $GREP -e '^1\.[0-6]'` ]
if test "x$CYGWIN_VERSION_OLD" != x; then
AC_MSG_NOTICE([Your cygwin is too old. You are running $CYGWIN_RELEASE, but at least cygwin 1.7 is required. Please upgrade.])
AC_MSG_ERROR([Cannot continue])
fi
WINDOWS_ENV_VENDOR='cygwin'
WINDOWS_ENV_VERSION="$CYGWIN_RELEASE, $CYGWIN_VERSION"
if test "x$CYGPATH" = x; then
AC_MSG_ERROR([Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path])
fi
AC_MSG_CHECKING([cygwin root directory as unix-style path])
# The cmd output ends with Windows line endings (CR/LF)
cygwin_winpath_root=`cd / ; cmd /c cd | $TR -d '\r\n'`
# Force cygpath to report the proper root by including a trailing space, and then stripping it off again.
CYGWIN_ROOT_PATH=`$CYGPATH -u "$cygwin_winpath_root " | $CUT -f 1 -d " "`
AC_MSG_RESULT([$CYGWIN_ROOT_PATH])
WINDOWS_ENV_ROOT_PATH="$CYGWIN_ROOT_PATH"
test_cygdrive_prefix=`$ECHO $CYGWIN_ROOT_PATH | $GREP ^/cygdrive/`
if test "x$test_cygdrive_prefix" = x; then
AC_MSG_ERROR([Your cygdrive prefix is not /cygdrive. This is currently not supported. Change with mount -c.])
fi
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
AC_MSG_CHECKING([msys release])
MSYS_RELEASE=`$UNAME -r`
AC_MSG_RESULT([$MSYS_RELEASE])
AC_MSG_CHECKING([msys version])
MSYS_VERSION=`$UNAME -v`
AC_MSG_RESULT([$MSYS_VERSION])
WINDOWS_ENV_VENDOR='msys'
WINDOWS_ENV_VERSION="$MSYS_RELEASE, $MSYS_VERSION"
AC_MSG_CHECKING([msys root directory as unix-style path])
# The cmd output ends with Windows line endings (CR/LF), the grep command will strip that away
MSYS_ROOT_PATH=`cd / ; cmd /c cd | $GREP ".*"`
UTIL_REWRITE_AS_UNIX_PATH(MSYS_ROOT_PATH)
AC_MSG_RESULT([$MSYS_ROOT_PATH])
WINDOWS_ENV_ROOT_PATH="$MSYS_ROOT_PATH"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
AC_MSG_CHECKING([WSL kernel version])
WSL_KERNEL_VERSION=`$UNAME -v`
AC_MSG_RESULT([$WSL_KERNEL_VERSION])
AC_MSG_CHECKING([WSL kernel release])
WSL_KERNEL_RELEASE=`$UNAME -r`
AC_MSG_RESULT([$WSL_KERNEL_RELEASE])
AC_MSG_CHECKING([WSL distribution])
WSL_DISTRIBUTION=`$LSB_RELEASE -d | sed 's/Description:\t//'`
AC_MSG_RESULT([$WSL_DISTRIBUTION])
WINDOWS_ENV_VENDOR='wsl'
WINDOWS_ENV_VERSION="$WSL_KERNEL_RELEASE, $WSL_KERNEL_VERSION ($WSL_DISTRIBUTION)"
else
AC_MSG_ERROR([Unknown Windows environment. Neither cygwin, msys, nor wsl was detected.])
fi
# Test if windows or unix (cygwin/msys) find is first in path.
AC_MSG_CHECKING([what kind of 'find' is first on the PATH])
FIND_BINARY_OUTPUT=`find --version 2>&1`
if test "x`echo $FIND_BINARY_OUTPUT | $GREP GNU`" != x; then
AC_MSG_RESULT([unix style])
elif test "x`echo $FIND_BINARY_OUTPUT | $GREP FIND`" != x; then
AC_MSG_RESULT([Windows])
AC_MSG_NOTICE([Your path contains Windows tools (C:\Windows\system32) before your unix (cygwin or msys) tools.])
AC_MSG_NOTICE([This will not work. Please correct and make sure /usr/bin (or similar) is first in path.])
AC_MSG_ERROR([Cannot continue])
else
AC_MSG_RESULT([unknown])
AC_MSG_WARN([It seems that your find utility is non-standard.])
fi
])
AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
[
# When using cygwin or msys, we need a wrapper binary that renames
# /cygdrive/c/ arguments into c:/ arguments and peeks into
# @files and rewrites these too! This wrapper binary is
# called fixpath.
FIXPATH=
if test "x$OPENJDK_BUILD_OS" = xwindows; then
AC_MSG_CHECKING([if fixpath can be created])
FIXPATH_SRC="$TOPDIR/make/src/native/fixpath.c"
FIXPATH_BIN="$CONFIGURESUPPORT_OUTPUTDIR/bin/fixpath.exe"
FIXPATH_DIR="$CONFIGURESUPPORT_OUTPUTDIR/fixpath"
if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin; then
# Important to keep the .exe suffix on Cygwin for Hotspot makefiles
FIXPATH="$FIXPATH_BIN -c"
elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.msys; then
# Take all collected prefixes and turn them into a -m/c/foo@/c/bar@... command line
# @ was chosen as separator to minimize risk of other tools messing around with it
all_unique_prefixes=`echo "${all_fixpath_prefixes@<:@@@:>@}" \
| tr ' ' '\n' | $GREP '^/./' | $SORT | $UNIQ`
fixpath_argument_list=`echo $all_unique_prefixes | tr ' ' '@'`
FIXPATH="$FIXPATH_BIN -m$fixpath_argument_list"
elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.wsl; then
FIXPATH="$FIXPATH_BIN -w"
fi
FIXPATH_SRC_W="$FIXPATH_SRC"
FIXPATH_BIN_W="$FIXPATH_BIN"
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_SRC_W])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_BIN_W])
$RM -rf $FIXPATH_BIN $FIXPATH_DIR
$MKDIR -p $FIXPATH_DIR $CONFIGURESUPPORT_OUTPUTDIR/bin
cd $FIXPATH_DIR
$CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1
cd $CONFIGURE_START_DIR
if test ! -x $FIXPATH_BIN; then
AC_MSG_RESULT([no])
cat $FIXPATH_DIR/fixpath1.log
AC_MSG_ERROR([Could not create $FIXPATH_BIN])
fi
AC_MSG_RESULT([yes])
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
OLD_WSLENV="$WSLENV"
WSLENV=`$ECHO $WSLENV | $SED 's/PATH\/l://'`
UTIL_APPEND_TO_PATH(WSLENV, "FIXPATH_PATH")
export WSLENV
export FIXPATH_PATH=$VS_PATH_WINDOWS
AC_MSG_NOTICE([FIXPATH_PATH is $FIXPATH_PATH])
AC_MSG_NOTICE([Rewriting WSLENV from $OLD_WSLENV to $WSLENV])
fi
AC_MSG_CHECKING([if fixpath.exe works])
cd $FIXPATH_DIR
$FIXPATH $CC $FIXPATH_SRC -Fe$FIXPATH_DIR/fixpath2.exe \
> $FIXPATH_DIR/fixpath2.log 2>&1
cd $CONFIGURE_START_DIR
if test ! -x $FIXPATH_DIR/fixpath2.exe; then
AC_MSG_RESULT([no])
cat $FIXPATH_DIR/fixpath2.log
AC_MSG_ERROR([fixpath did not work!])
fi
AC_MSG_RESULT([yes])
FIXPATH_DETACH_FLAG="--detach"
fi
AC_SUBST(FIXPATH)
AC_SUBST(FIXPATH_DETACH_FLAG)
])

File diff suppressed because it is too large Load Diff

View File

@@ -1,596 +0,0 @@
#
# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
AC_DEFUN([BASIC_WINDOWS_REWRITE_AS_UNIX_PATH],
[
windows_path="[$]$1"
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
unix_path=`$CYGPATH -u "$windows_path"`
$1="$unix_path"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
$1="$unix_path"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
# wslpath does not check the input, only call if an actual windows path was
# given.
if $ECHO "$windows_path" | $GREP -q ["^[a-zA-Z]:[\\\\/]"]; then
unix_path=`$WSLPATH -u "$windows_path"`
$1="$unix_path"
fi
fi
])
AC_DEFUN([BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH],
[
unix_path="[$]$1"
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
windows_path=`$CYGPATH -m "$unix_path"`
$1="$windows_path"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
windows_path=`cmd //c echo $unix_path`
$1="$windows_path"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
windows_path=`$WSLPATH -m "$unix_path"`
$1="$windows_path"
fi
])
# Helper function which possibly converts a path using DOS-style short mode.
# If so, the updated path is stored in $new_path.
# $1: The path to check
AC_DEFUN([BASIC_MAKE_WINDOWS_SPACE_SAFE_CYGWIN],
[
input_path="$1"
# Check if we need to convert this using DOS-style short mode. If the path
# contains just simple characters, use it. Otherwise (spaces, weird characters),
# take no chances and rewrite it.
# Note: m4 eats our [], so we need to use @<:@ and @:>@ instead.
has_forbidden_chars=`$ECHO "$input_path" | $GREP @<:@^-._/a-zA-Z0-9@:>@`
if test "x$has_forbidden_chars" != x; then
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
shortmode_path=`$CYGPATH -s -m -a "$input_path"`
path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
# Going to short mode and back again did indeed matter. Since short mode is
# case insensitive, let's make it lowercase to improve readability.
shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
# Now convert it back to Unix-style (cygpath)
input_path=`$CYGPATH -u "$shortmode_path"`
new_path="$input_path"
fi
fi
test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
if test "x$test_cygdrive_prefix" = x; then
# As a simple fix, exclude /usr/bin since it's not a real path.
if test "x`$ECHO $1 | $GREP ^/usr/bin/`" = x; then
# The path is in a Cygwin special directory (e.g. /home). We need this converted to
# a path prefixed by /cygdrive for fixpath to work.
new_path="$CYGWIN_ROOT_PATH$input_path"
fi
fi
])
# Helper function which possibly converts a path using DOS-style short mode.
# If so, the updated path is stored in $new_path.
# $1: The path to check
AC_DEFUN([BASIC_MAKE_WINDOWS_SPACE_SAFE_MSYS],
[
input_path="$1"
# Check if we need to convert this using DOS-style short mode. If the path
# contains just simple characters, use it. Otherwise (spaces, weird characters),
# take no chances and rewrite it.
# Note: m4 eats our [], so we need to use @<:@ and @:>@ instead.
has_forbidden_chars=`$ECHO "$input_path" | $GREP @<:@^-_/:a-zA-Z0-9@:>@`
if test "x$has_forbidden_chars" != x; then
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
fi
])
# Helper function which possibly converts a path using DOS-style short mode.
# If so, the updated path is stored in $new_path.
# $1: The path to check
AC_DEFUN([BASIC_MAKE_WINDOWS_SPACE_SAFE_WSL],
[
input_path="$1"
# Check if we need to convert this using DOS-style short mode. If the path
# contains just simple characters, use it. Otherwise (spaces, weird characters),
# take no chances and rewrite it.
# Note: m4 eats our [], so we need to use @<:@ and @:>@ instead.
has_forbidden_chars=`$ECHO "$input_path" | $GREP [[^-_/:a-zA-Z0-9\\.]]`
if test "x$has_forbidden_chars" != x; then
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
TOPDIR_windows="$TOPDIR"
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([TOPDIR_windows])
# First convert to Windows path to make input valid for cmd
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([input_path])
new_path=`$CMD /c $TOPDIR_windows/make/scripts/windowsShortName.bat "$input_path" \
| $SED -e 's|\r||g' \
| $TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
# Rewrite back to unix style
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
fi
])
# FIXME: The BASIC_FIXUP_*_CYGWIN/MSYS is most likely too convoluted
# and could probably be heavily simplified. However, all changes in this
# area tend to need lot of testing in different scenarios, and in lack of
# proper unit testing, cleaning this up has not been deemed worth the effort
# at the moment.
AC_DEFUN([BASIC_FIXUP_PATH_CYGWIN],
[
# Input might be given as Windows format, start by converting to
# unix format.
path="[$]$1"
new_path=`$CYGPATH -u "$path"`
BASIC_ABSOLUTE_PATH(new_path)
# Cygwin tries to hide some aspects of the Windows file system, such that binaries are
# named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
# the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
# "foo.exe" is OK but "foo" is an error.
#
# This test is therefore slightly more accurate than "test -f" to check for file precense.
# It is also a way to make sure we got the proper file name for the real test later on.
test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
if test "x$test_shortpath" = x; then
AC_MSG_NOTICE([The path of $1, which resolves as "$path", is invalid.])
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
BASIC_MAKE_WINDOWS_SPACE_SAFE_CYGWIN([$new_path])
if test "x$path" != "x$new_path"; then
$1="$new_path"
AC_MSG_NOTICE([Rewriting $1 to "$new_path"])
fi
])
AC_DEFUN([BASIC_FIXUP_PATH_MSYS],
[
path="[$]$1"
has_colon=`$ECHO $path | $GREP ^.:`
new_path="$path"
if test "x$has_colon" = x; then
# Not in mixed or Windows style, start by that.
new_path=`cmd //c echo $path`
fi
BASIC_ABSOLUTE_PATH(new_path)
BASIC_MAKE_WINDOWS_SPACE_SAFE_MSYS([$new_path])
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
if test "x$path" != "x$new_path"; then
$1="$new_path"
AC_MSG_NOTICE([Rewriting $1 to "$new_path"])
fi
# Save the first 10 bytes of this path to the storage, so fixpath can work.
all_fixpath_prefixes=("${all_fixpath_prefixes@<:@@@:>@}" "${new_path:0:10}")
])
AC_DEFUN([BASIC_FIXUP_PATH_WSL],
[
# Input might be given as Windows format, start by converting to
# unix format.
new_path="[$]$1"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
BASIC_ABSOLUTE_PATH(new_path)
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
BASIC_MAKE_WINDOWS_SPACE_SAFE_WSL([$new_path])
if test "x$path" != "x$new_path"; then
$1="$new_path"
AC_MSG_NOTICE([Rewriting $1 to "$new_path"])
fi
])
AC_DEFUN([BASIC_FIXUP_EXECUTABLE_CYGWIN],
[
# First separate the path from the arguments. This will split at the first
# space.
complete="[$]$1"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
# Input might be given as Windows format, start by converting to
# unix format.
new_path=`$CYGPATH -u "$path"`
# Now try to locate executable using which
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
if test "x$new_path" = x; then
# Oops. Which didn't find the executable.
# The splitting of arguments from the executable at a space might have been incorrect,
# since paths with space are more likely in Windows. Give it another try with the whole
# argument.
path="$complete"
arguments="EOL"
new_path=`$CYGPATH -u "$path"`
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([You might be mixing spaces in the path and extra arguments, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
# Cygwin tries to hide some aspects of the Windows file system, such that binaries are
# named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
# the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
# "foo.exe" is OK but "foo" is an error.
#
# This test is therefore slightly more accurate than "test -f" to check for file presence.
# It is also a way to make sure we got the proper file name for the real test later on.
test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
if test "x$test_shortpath" = x; then
# Short path failed, file does not exist as specified.
# Try adding .exe or .cmd
if test -f "${new_path}.exe"; then
input_to_shortpath="${new_path}.exe"
elif test -f "${new_path}.cmd"; then
input_to_shortpath="${new_path}.cmd"
else
AC_MSG_NOTICE([The path of $1, which resolves as "$new_path", is invalid.])
AC_MSG_NOTICE([Neither "$new_path" nor "$new_path.exe/cmd" can be found])
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
else
input_to_shortpath="$new_path"
fi
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
new_path="$input_to_shortpath"
BASIC_MAKE_WINDOWS_SPACE_SAFE_CYGWIN([$input_to_shortpath])
# remove trailing .exe if any
new_path="${new_path/%.exe/}"
])
AC_DEFUN([BASIC_FIXUP_EXECUTABLE_MSYS],
[
# First separate the path from the arguments. This will split at the first
# space.
complete="[$]$1"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
# Input might be given as Windows format, start by converting to
# unix format.
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
# Now try to locate executable using which
new_path=`$WHICH "$new_path" 2> /dev/null`
if test "x$new_path" = x; then
# Oops. Which didn't find the executable.
# The splitting of arguments from the executable at a space might have been incorrect,
# since paths with space are more likely in Windows. Give it another try with the whole
# argument.
path="$complete"
arguments="EOL"
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not always considered executable in MSYS causing which
# to not find them
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
fi
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([You might be mixing spaces in the path and extra arguments, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
# Now new_path has a complete unix path to the binary
if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
# Keep paths in /bin as-is, but remove trailing .exe if any
new_path="${new_path/%.exe/}"
# Do not save /bin paths to all_fixpath_prefixes!
else
# Not in mixed or Windows style, start by that.
new_path=`cmd //c echo $new_path`
BASIC_MAKE_WINDOWS_SPACE_SAFE_MSYS([$new_path])
# Output is in $new_path
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
# remove trailing .exe if any
new_path="${new_path/%.exe/}"
# Save the first 10 bytes of this path to the storage, so fixpath can work.
all_fixpath_prefixes=("${all_fixpath_prefixes@<:@@@:>@}" "${new_path:0:10}")
fi
])
AC_DEFUN([BASIC_FIXUP_EXECUTABLE_WSL],
[
# First separate the path from the arguments. This will split at the first
# space.
complete="[$]$1"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
# Input might be given as Windows format, start by converting to
# unix format.
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
# Now try to locate executable using which
new_path_bak="$new_path"
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not considered executable in WSL
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path="$new_path_back"
fi
if test "x$new_path" = x; then
# Oops. Which didn't find the executable.
# The splitting of arguments from the executable at a space might have been incorrect,
# since paths with space are more likely in Windows. Give it another try with the whole
# argument.
path="$complete"
arguments="EOL"
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
new_path_bak="$new_path"
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not considered executable in WSL
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path="$new_path_bak"
fi
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([You might be mixing spaces in the path and extra arguments, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
# In WSL, suffixes must be present for Windows executables
if test ! -f "$new_path"; then
# Try adding .exe or .cmd
if test -f "${new_path}.exe"; then
input_to_shortpath="${new_path}.exe"
elif test -f "${new_path}.cmd"; then
input_to_shortpath="${new_path}.cmd"
else
AC_MSG_NOTICE([The path of $1, which resolves as "$new_path", is invalid.])
AC_MSG_NOTICE([Neither "$new_path" nor "$new_path.exe/cmd" can be found])
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
else
input_to_shortpath="$new_path"
fi
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
new_path="$input_to_shortpath"
BASIC_MAKE_WINDOWS_SPACE_SAFE_WSL([$input_to_shortpath])
])
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
AC_DEFUN([BASIC_CHECK_PATHS_WINDOWS],
[
SRC_ROOT_LENGTH=`$THEPWDCMD -L|$WC -m`
if test $SRC_ROOT_LENGTH -gt 100; then
AC_MSG_ERROR([Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported])
fi
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
AC_MSG_CHECKING([cygwin release])
CYGWIN_VERSION=`$UNAME -r`
AC_MSG_RESULT([$CYGWIN_VERSION])
WINDOWS_ENV_VENDOR='cygwin'
WINDOWS_ENV_VERSION="$CYGWIN_VERSION"
CYGWIN_VERSION_OLD=`$ECHO $CYGWIN_VERSION | $GREP -e '^1\.[0-6]'`
if test "x$CYGWIN_VERSION_OLD" != x; then
AC_MSG_NOTICE([Your cygwin is too old. You are running $CYGWIN_VERSION, but at least cygwin 1.7 is required. Please upgrade.])
AC_MSG_ERROR([Cannot continue])
fi
if test "x$CYGPATH" = x; then
AC_MSG_ERROR([Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path])
fi
AC_MSG_CHECKING([cygwin root directory as unix-style path])
# The cmd output ends with Windows line endings (CR/LF)
cygwin_winpath_root=`cd / ; cmd /c cd | $TR -d '\r\n'`
# Force cygpath to report the proper root by including a trailing space, and then stripping it off again.
CYGWIN_ROOT_PATH=`$CYGPATH -u "$cygwin_winpath_root " | $CUT -f 1 -d " "`
AC_MSG_RESULT([$CYGWIN_ROOT_PATH])
WINDOWS_ENV_ROOT_PATH="$CYGWIN_ROOT_PATH"
test_cygdrive_prefix=`$ECHO $CYGWIN_ROOT_PATH | $GREP ^/cygdrive/`
if test "x$test_cygdrive_prefix" = x; then
AC_MSG_ERROR([Your cygdrive prefix is not /cygdrive. This is currently not supported. Change with mount -c.])
fi
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
AC_MSG_CHECKING([msys release])
MSYS_VERSION=`$UNAME -r`
AC_MSG_RESULT([$MSYS_VERSION])
WINDOWS_ENV_VENDOR='msys'
WINDOWS_ENV_VERSION="$MSYS_VERSION"
AC_MSG_CHECKING([msys root directory as unix-style path])
# The cmd output ends with Windows line endings (CR/LF), the grep command will strip that away
MSYS_ROOT_PATH=`cd / ; cmd /c cd | $GREP ".*"`
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(MSYS_ROOT_PATH)
AC_MSG_RESULT([$MSYS_ROOT_PATH])
WINDOWS_ENV_ROOT_PATH="$MSYS_ROOT_PATH"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
AC_MSG_CHECKING([Windows version])
# m4 replaces [ and ] so we use @<:@ and @:>@ instead
WINDOWS_VERSION=`$CMD /c ver.exe | $EGREP -o '(@<:@0-9@:>@+\.)+@<:@0-9@:>@+'`
AC_MSG_RESULT([$WINDOWS_VERSION])
AC_MSG_CHECKING([WSL kernel version])
WSL_KERNEL_VERSION=`$UNAME -v`
AC_MSG_RESULT([$WSL_KERNEL_VERSION])
AC_MSG_CHECKING([WSL kernel release])
WSL_KERNEL_RELEASE=`$UNAME -r`
AC_MSG_RESULT([$WSL_KERNEL_RELEASE])
AC_MSG_CHECKING([WSL distribution])
WSL_DISTRIBUTION=`$LSB_RELEASE -d | sed 's/Description:\t//'`
AC_MSG_RESULT([$WSL_DISTRIBUTION])
WINDOWS_ENV_VENDOR='WSL'
WINDOWS_ENV_VERSION="$WSL_DISTRIBUTION $WSL_KERNEL_VERSION $WSL_KERNEL_RELEASE (on Windows build $WINDOWS_VERSION)"
else
AC_MSG_ERROR([Unknown Windows environment. Neither cygwin, msys, nor wsl was detected.])
fi
# Test if windows or unix (cygwin/msys) find is first in path.
AC_MSG_CHECKING([what kind of 'find' is first on the PATH])
FIND_BINARY_OUTPUT=`find --version 2>&1`
if test "x`echo $FIND_BINARY_OUTPUT | $GREP GNU`" != x; then
AC_MSG_RESULT([unix style])
elif test "x`echo $FIND_BINARY_OUTPUT | $GREP FIND`" != x; then
AC_MSG_RESULT([Windows])
AC_MSG_NOTICE([Your path contains Windows tools (C:\Windows\system32) before your unix (cygwin or msys) tools.])
AC_MSG_NOTICE([This will not work. Please correct and make sure /usr/bin (or similar) is first in path.])
AC_MSG_ERROR([Cannot continue])
else
AC_MSG_RESULT([unknown])
AC_MSG_WARN([It seems that your find utility is non-standard.])
fi
])
AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
[
# When using cygwin or msys, we need a wrapper binary that renames
# /cygdrive/c/ arguments into c:/ arguments and peeks into
# @files and rewrites these too! This wrapper binary is
# called fixpath.
FIXPATH=
if test "x$OPENJDK_BUILD_OS" = xwindows; then
AC_MSG_CHECKING([if fixpath can be created])
FIXPATH_SRC="$TOPDIR/make/src/native/fixpath.c"
FIXPATH_BIN="$CONFIGURESUPPORT_OUTPUTDIR/bin/fixpath.exe"
FIXPATH_DIR="$CONFIGURESUPPORT_OUTPUTDIR/fixpath"
if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin; then
# Important to keep the .exe suffix on Cygwin for Hotspot makefiles
FIXPATH="$FIXPATH_BIN -c"
elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.msys; then
# Take all collected prefixes and turn them into a -m/c/foo@/c/bar@... command line
# @ was chosen as separator to minimize risk of other tools messing around with it
all_unique_prefixes=`echo "${all_fixpath_prefixes@<:@@@:>@}" \
| tr ' ' '\n' | $GREP '^/./' | $SORT | $UNIQ`
fixpath_argument_list=`echo $all_unique_prefixes | tr ' ' '@'`
FIXPATH="$FIXPATH_BIN -m$fixpath_argument_list"
elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.wsl; then
FIXPATH="$FIXPATH_BIN -w"
fi
FIXPATH_SRC_W="$FIXPATH_SRC"
FIXPATH_BIN_W="$FIXPATH_BIN"
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_SRC_W])
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_BIN_W])
$RM -rf $FIXPATH_BIN $FIXPATH_DIR
$MKDIR -p $FIXPATH_DIR $CONFIGURESUPPORT_OUTPUTDIR/bin
cd $FIXPATH_DIR
$CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1
cd $CONFIGURE_START_DIR
if test ! -x $FIXPATH_BIN; then
AC_MSG_RESULT([no])
cat $FIXPATH_DIR/fixpath1.log
AC_MSG_ERROR([Could not create $FIXPATH_BIN])
fi
AC_MSG_RESULT([yes])
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
OLD_WSLENV="$WSLENV"
WSLENV=`$ECHO $WSLENV | $SED 's/PATH\/l://'`
BASIC_APPEND_TO_PATH(WSLENV, "FIXPATH_PATH")
export WSLENV
export FIXPATH_PATH=$VS_PATH_WINDOWS
AC_MSG_NOTICE([FIXPATH_PATH is $FIXPATH_PATH])
AC_MSG_NOTICE([Rewriting WSLENV from $OLD_WSLENV to $WSLENV])
fi
AC_MSG_CHECKING([if fixpath.exe works])
cd $FIXPATH_DIR
$FIXPATH $CC $FIXPATH_SRC -Fe$FIXPATH_DIR/fixpath2.exe \
> $FIXPATH_DIR/fixpath2.log 2>&1
cd $CONFIGURE_START_DIR
if test ! -x $FIXPATH_DIR/fixpath2.exe; then
AC_MSG_RESULT([no])
cat $FIXPATH_DIR/fixpath2.log
AC_MSG_ERROR([fixpath did not work!])
fi
AC_MSG_RESULT([yes])
FIXPATH_DETACH_FLAG="--detach"
fi
AC_SUBST(FIXPATH)
AC_SUBST(FIXPATH_DETACH_FLAG)
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -74,7 +74,8 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
BOOT_JDK_FOUND=no
else
# Oh, this is looking good! We probably have found a proper JDK. Is it the correct version?
BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java$EXE_SUFFIX" $USER_BOOT_JDK_OPTIONS -version 2>&1 | $HEAD -n 1`
# Additional [] needed to keep m4 from mangling shell constructs.
[ BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java$EXE_SUFFIX" $USER_BOOT_JDK_OPTIONS -version 2>&1 | $AWK '/version \"[0-9a-zA-Z\._\-]+\"/{print $ 0; exit;}'` ]
if [ [[ "$BOOT_JDK_VERSION" =~ "Picked up" ]] ]; then
AC_MSG_NOTICE([You have _JAVA_OPTIONS or JAVA_TOOL_OPTIONS set. This can mess up the build. Please use --with-boot-jdk-jvmargs instead.])
AC_MSG_NOTICE([Java reports: "$BOOT_JDK_VERSION".])
@@ -97,7 +98,7 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
else
# We're done! :-)
BOOT_JDK_FOUND=yes
BASIC_FIXUP_PATH(BOOT_JDK)
UTIL_FIXUP_PATH(BOOT_JDK)
AC_MSG_CHECKING([for Boot JDK])
AC_MSG_RESULT([$BOOT_JDK])
AC_MSG_CHECKING([Boot JDK version])
@@ -150,7 +151,7 @@ AC_DEFUN([BOOTJDK_CHECK_JAVA_HOME],
[
if test "x$JAVA_HOME" != x; then
JAVA_HOME_PROCESSED="$JAVA_HOME"
BASIC_FIXUP_PATH(JAVA_HOME_PROCESSED)
UTIL_FIXUP_PATH(JAVA_HOME_PROCESSED)
if test ! -d "$JAVA_HOME_PROCESSED"; then
AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!])
else
@@ -177,7 +178,7 @@ AC_DEFUN([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK],
# Lets find the JDK/JRE directory by following symbolic links.
# Linux/GNU systems often have links from /usr/bin/java to
# /etc/alternatives/java to the real JDK binary.
BASIC_REMOVE_SYMBOLIC_LINKS(BINARY)
UTIL_REMOVE_SYMBOLIC_LINKS(BINARY)
BOOT_JDK=`dirname "$BINARY"`
BOOT_JDK=`cd "$BOOT_JDK/.."; pwd`
if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
@@ -241,7 +242,7 @@ AC_DEFUN([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY],
[
if test "x[$]$1" != x; then
VIRTUAL_DIR="[$]$1/Java"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(VIRTUAL_DIR)
UTIL_REWRITE_AS_UNIX_PATH(VIRTUAL_DIR)
BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY($VIRTUAL_DIR)
fi
])
@@ -269,7 +270,7 @@ AC_DEFUN([BOOTJDK_CHECK_WELL_KNOWN_LOCATIONS],
AC_DEFUN([BOOTJDK_CHECK_TOOL_IN_BOOTJDK],
[
# Use user overridden value if available, otherwise locate tool in the Boot JDK.
BASIC_SETUP_TOOL($1,
UTIL_SETUP_TOOL($1,
[
AC_MSG_CHECKING([for $2 in Boot JDK])
$1=$BOOT_JDK/bin/$2
@@ -345,11 +346,12 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
# When compiling code to be executed by the Boot JDK, force compatibility with the
# oldest supported bootjdk.
BOOT_JDK_SOURCETARGET="-source 13 -target 13"
OLDEST_BOOT_JDK=`$ECHO $DEFAULT_ACCEPTABLE_BOOT_VERSIONS \
| $TR " " "\n" | $SORT -n | $HEAD -n1`
# -Xlint:-options is added to avoid "warning: [options] system modules path not set in conjunction with -source"
BOOT_JDK_SOURCETARGET="-source $OLDEST_BOOT_JDK -target $OLDEST_BOOT_JDK -Xlint:-options"
AC_SUBST(BOOT_JDK_SOURCETARGET)
AC_SUBST(JAVAC_FLAGS)
# Check if the boot jdk is 32 or 64 bit
if "$JAVA" -version 2>&1 | $GREP -q "64-Bit"; then
BOOT_JDK_BITS="64"
@@ -362,7 +364,7 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
# Try to enable CDS
AC_MSG_CHECKING([for local Boot JDK Class Data Sharing (CDS)])
BOOT_JDK_CDS_ARCHIVE=$CONFIGURESUPPORT_OUTPUTDIR/classes.jsa
ADD_JVM_ARG_IF_OK([-XX:+UnlockDiagnosticVMOptions -XX:-VerifySharedSpaces -XX:SharedArchiveFile=$BOOT_JDK_CDS_ARCHIVE],boot_jdk_cds_args,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-XX:+UnlockDiagnosticVMOptions -XX:-VerifySharedSpaces -XX:SharedArchiveFile=$BOOT_JDK_CDS_ARCHIVE],boot_jdk_cds_args,[$JAVA])
if test "x$boot_jdk_cds_args" != x; then
# Try creating a CDS archive
@@ -379,6 +381,22 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
BOOTJDK_USE_LOCAL_CDS=false
AC_MSG_RESULT([no, -XX:SharedArchiveFile not supported])
fi
# Check for jjs in bootjdk
UTIL_SETUP_TOOL(JJS,
[
AC_MSG_CHECKING([for jjs in Boot JDK])
JJS=$BOOT_JDK/bin/jjs
if test ! -x $JJS; then
AC_MSG_RESULT(not found)
JJS=""
AC_MSG_NOTICE([Cannot use pandoc without jjs])
ENABLE_PANDOC=false
else
AC_MSG_RESULT(ok)
fi
AC_SUBST(JJS)
])
])
AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
@@ -391,18 +409,18 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
AC_MSG_CHECKING([flags for boot jdk java command] )
# Force en-US environment
ADD_JVM_ARG_IF_OK([-Duser.language=en -Duser.country=US],boot_jdk_jvmargs,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Duser.language=en -Duser.country=US],boot_jdk_jvmargs,[$JAVA])
if test "x$BOOTJDK_USE_LOCAL_CDS" = xtrue; then
# Use our own CDS archive
ADD_JVM_ARG_IF_OK([$boot_jdk_cds_args -Xshare:auto],boot_jdk_jvmargs,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([$boot_jdk_cds_args -Xshare:auto],boot_jdk_jvmargs,[$JAVA])
else
# Otherwise optimistically use the system-wide one, if one is present
ADD_JVM_ARG_IF_OK([-Xshare:auto],boot_jdk_jvmargs,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Xshare:auto],boot_jdk_jvmargs,[$JAVA])
fi
# Finally append user provided options to allow them to override.
ADD_JVM_ARG_IF_OK([$USER_BOOT_JDK_OPTIONS],boot_jdk_jvmargs,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([$USER_BOOT_JDK_OPTIONS],boot_jdk_jvmargs,[$JAVA])
AC_MSG_RESULT([$boot_jdk_jvmargs])
@@ -413,15 +431,13 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
AC_MSG_CHECKING([flags for boot jdk java command for big workloads])
# Starting amount of heap memory.
ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA])
BOOTCYCLE_JVM_ARGS_BIG=-Xms64M
# Maximum amount of heap memory and stack size.
# Maximum amount of heap memory.
JVM_HEAP_LIMIT_32="768"
# Running a 64 bit JVM allows for and requires a bigger heap
JVM_HEAP_LIMIT_64="1600"
STACK_SIZE_32=768
STACK_SIZE_64=1536
JVM_HEAP_LIMIT_GLOBAL=`expr $MEMORY_SIZE / 2`
if test "$JVM_HEAP_LIMIT_GLOBAL" -lt "$JVM_HEAP_LIMIT_32"; then
JVM_HEAP_LIMIT_32=$JVM_HEAP_LIMIT_GLOBAL
@@ -435,14 +451,11 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
fi
if test "x$BOOT_JDK_BITS" = "x32"; then
STACK_SIZE=$STACK_SIZE_32
JVM_MAX_HEAP=$JVM_HEAP_LIMIT_32
else
STACK_SIZE=$STACK_SIZE_64
JVM_MAX_HEAP=$JVM_HEAP_LIMIT_64
fi
ADD_JVM_ARG_IF_OK([-Xmx${JVM_MAX_HEAP}M],boot_jdk_jvmargs_big,[$JAVA])
ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Xmx${JVM_MAX_HEAP}M],boot_jdk_jvmargs_big,[$JAVA])
AC_MSG_RESULT([$boot_jdk_jvmargs_big])
@@ -451,34 +464,32 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then
BOOTCYCLE_MAX_HEAP=$JVM_HEAP_LIMIT_32
BOOTCYCLE_STACK_SIZE=$STACK_SIZE_32
else
BOOTCYCLE_MAX_HEAP=$JVM_HEAP_LIMIT_64
BOOTCYCLE_STACK_SIZE=$STACK_SIZE_64
fi
BOOTCYCLE_JVM_ARGS_BIG="$BOOTCYCLE_JVM_ARGS_BIG -Xmx${BOOTCYCLE_MAX_HEAP}M"
BOOTCYCLE_JVM_ARGS_BIG="$BOOTCYCLE_JVM_ARGS_BIG -XX:ThreadStackSize=$BOOTCYCLE_STACK_SIZE"
AC_MSG_CHECKING([flags for bootcycle boot jdk java command for big workloads])
AC_MSG_RESULT([$BOOTCYCLE_JVM_ARGS_BIG])
AC_SUBST(BOOTCYCLE_JVM_ARGS_BIG)
# By default, the main javac compilations use big
JAVA_FLAGS_JAVAC="$JAVA_FLAGS_BIG"
AC_SUBST(JAVA_FLAGS_JAVAC)
AC_MSG_CHECKING([flags for boot jdk java command for small workloads])
# Use serial gc for small short lived tools if possible
ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA])
ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA])
ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA])
ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA])
AC_MSG_RESULT([$boot_jdk_jvmargs_small])
JAVA_FLAGS_SMALL=$boot_jdk_jvmargs_small
AC_SUBST(JAVA_FLAGS_SMALL)
# Don't presuppose SerialGC is present in the buildjdk. Also, we cannot test
# the buildjdk, but on the other hand we know what it will support.
BUILDJDK_JAVA_FLAGS_SMALL="-Xms32M -Xmx512M -XX:TieredStopAtLevel=1"
AC_SUBST(BUILDJDK_JAVA_FLAGS_SMALL)
JAVA_TOOL_FLAGS_SMALL=""
for f in $JAVA_FLAGS_SMALL; do
JAVA_TOOL_FLAGS_SMALL="$JAVA_TOOL_FLAGS_SMALL -J$f"
@@ -520,7 +531,8 @@ AC_DEFUN([BOOTJDK_CHECK_BUILD_JDK],
BUILD_JDK_FOUND=no
else
# Oh, this is looking good! We probably have found a proper JDK. Is it the correct version?
BUILD_JDK_VERSION=`"$BUILD_JDK/bin/java" -version 2>&1 | $HEAD -n 1`
# Additional [] needed to keep m4 from mangling shell constructs.
[ BUILD_JDK_VERSION=`"$BUILD_JDK/bin/java" -version 2>&1 | $AWK '/version \"[0-9a-zA-Z\._\-]+\"/{print $ 0; exit;}'` ]
# Extra M4 quote needed to protect [] in grep expression.
[FOUND_CORRECT_VERSION=`echo $BUILD_JDK_VERSION | $EGREP "\"$VERSION_FEATURE([\.+-].*)?\""`]
@@ -531,7 +543,7 @@ AC_DEFUN([BOOTJDK_CHECK_BUILD_JDK],
else
# We're done!
BUILD_JDK_FOUND=yes
BASIC_FIXUP_PATH(BUILD_JDK)
UTIL_FIXUP_PATH(BUILD_JDK)
AC_MSG_CHECKING([for Build JDK])
AC_MSG_RESULT([$BUILD_JDK])
AC_MSG_CHECKING([Build JDK version])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -35,10 +35,6 @@ ifeq ($(firstword $(JAVA)),$(FIXPATH))
else
JAVA_EXEC_POS=1
endif
ifneq ($(word $(JAVA_EXEC_POS),$(SJAVAC_SERVER_JAVA)),$(word $(JAVA_EXEC_POS),$(JAVA)))
$(error Bootcycle builds are not possible if --with-sjavac-server-java is specified)
endif
# Override specific values to do a boot cycle build
@@ -48,21 +44,19 @@ BOOT_JDK := $(JDK_IMAGE_DIR)
# The bootcycle build has a different output directory
OLD_OUTPUTDIR:=@OUTPUTDIR@
OUTPUTDIR:=$(OLD_OUTPUTDIR)/bootcycle-build
SJAVAC_SERVER_DIR:=$(patsubst $(OLD_OUTPUTDIR)%, $(OUTPUTDIR)%, $(SJAVAC_SERVER_DIR))
# No spaces in patsubst to avoid leading space in variable
JAVAC_SERVER_DIR:=$(patsubst $(OLD_OUTPUTDIR)%,$(OUTPUTDIR)%,$(JAVAC_SERVER_DIR))
JAVA_CMD:=$(BOOT_JDK)/bin/java
JAVAC_CMD:=$(BOOT_JDK)/bin/javac
JAR_CMD:=$(BOOT_JDK)/bin/jar
JARSIGNER_CMD:=$(BOOT_JDK)/bin/jarsigner
SJAVAC_SERVER_JAVA_CMD:=$(JAVA_CMD)
# When building a 32bit target, make sure the sjavac server flags are compatible
# with a 32bit JVM.
ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
SJAVAC_SERVER_JAVA_FLAGS := @BOOTCYCLE_JVM_ARGS_BIG@
endif
# The bootcycle JVM arguments may differ from the original boot jdk.
JAVA_FLAGS_BIG := @BOOTCYCLE_JVM_ARGS_BIG@
# Any CDS settings generated for the bootjdk are invalid in the bootcycle build.
# By filtering out those JVM args, the bootcycle JVM will use its default
# settings for CDS.
JAVA_FLAGS := $(filter-out -XX:SharedArchiveFile% -Xshare%, $(JAVA_FLAGS))
# Pandoc cannot be used without the jjs plugin, which was removed with Nashorn.
ENABLE_PANDOC := false

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -30,22 +30,6 @@
DIR=`dirname $0`
OUT=`. $DIR/autoconf-config.guess`
# Test and fix solaris on x86_64
echo $OUT | grep i386-pc-solaris > /dev/null 2> /dev/null
if test $? = 0; then
# isainfo -n returns either i386 or amd64
REAL_CPU=`isainfo -n`
OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
fi
# Test and fix solaris on sparcv9
echo $OUT | grep sparc-sun-solaris > /dev/null 2> /dev/null
if test $? = 0; then
# isainfo -n returns either sparc or sparcv9
REAL_CPU=`isainfo -n`
OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
fi
# Test and fix cygwin on x86_64
echo $OUT | grep 86-pc-cygwin > /dev/null 2> /dev/null
if test $? != 0; then

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -32,11 +32,12 @@ AC_DEFUN([BPERF_CHECK_CORES],
if test -f /proc/cpuinfo; then
# Looks like a Linux (or cygwin) system
NUM_CORES=`cat /proc/cpuinfo | grep -c processor`
FOUND_CORES=yes
elif test -x /usr/sbin/psrinfo; then
# Looks like a Solaris system
NUM_CORES=`/usr/sbin/psrinfo -v | grep -c on-line`
FOUND_CORES=yes
if test "$NUM_CORES" -eq "0"; then
NUM_CORES=`cat /proc/cpuinfo | grep -c ^CPU`
fi
if test "$NUM_CORES" -ne "0"; then
FOUND_CORES=yes
fi
elif test -x /usr/sbin/sysctl; then
# Looks like a MacOSX system
NUM_CORES=`/usr/sbin/sysctl -n hw.ncpu`
@@ -74,7 +75,7 @@ AC_DEFUN([BPERF_CHECK_MEMORY_SIZE],
MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
FOUND_MEM=yes
elif test -x /usr/sbin/prtconf; then
# Looks like a Solaris or AIX system
# Looks like an AIX system
MEMORY_SIZE=`/usr/sbin/prtconf 2> /dev/null | grep "^Memory [[Ss]]ize" | awk '{ print [$]3 }'`
FOUND_MEM=yes
elif test -x /usr/sbin/sysctl; then
@@ -167,36 +168,38 @@ AC_DEFUN_ONCE([BPERF_SETUP_TEST_JOBS],
AC_DEFUN([BPERF_SETUP_CCACHE],
[
AC_ARG_ENABLE([ccache],
[AS_HELP_STRING([--enable-ccache],
[enable using ccache to speed up recompilations @<:@disabled@:>@])])
# Check if ccache is available
CCACHE_AVAILABLE=true
CCACHE_STATUS=
AC_MSG_CHECKING([is ccache enabled])
if test "x$enable_ccache" = xyes; then
if test "x$TOOLCHAIN_TYPE" = "xgcc" -o "x$TOOLCHAIN_TYPE" = "xclang"; then
AC_MSG_RESULT([yes])
OLD_PATH="$PATH"
if test "x$TOOLCHAIN_PATH" != x; then
PATH=$TOOLCHAIN_PATH:$PATH
fi
BASIC_REQUIRE_PROGS(CCACHE, ccache)
PATH="$OLD_PATH"
CCACHE_VERSION=[`$CCACHE --version | head -n1 | $SED 's/[A-Za-z ]*//'`]
CCACHE_STATUS="Active ($CCACHE_VERSION)"
else
AC_MSG_RESULT([no])
AC_MSG_WARN([ccache is not supported with toolchain type $TOOLCHAIN_TYPE])
fi
elif test "x$enable_ccache" = xno; then
AC_MSG_RESULT([no, explicitly disabled])
CCACHE_STATUS="Disabled"
elif test "x$enable_ccache" = x; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([unknown])
AC_MSG_ERROR([--enable-ccache does not accept any parameters])
OLD_PATH="$PATH"
if test "x$TOOLCHAIN_PATH" != x; then
PATH=$TOOLCHAIN_PATH:$PATH
fi
UTIL_PATH_PROGS(CCACHE, ccache)
PATH="$OLD_PATH"
AC_MSG_CHECKING([if ccache is available])
if test "x$TOOLCHAIN_TYPE" != "xgcc" && test "x$TOOLCHAIN_TYPE" != "xclang"; then
AC_MSG_RESULT([no, not supported for toolchain type $TOOLCHAIN_TYPE])
CCACHE_AVAILABLE=false
elif test "x$CCACHE" = "x"; then
AC_MSG_RESULT([no, ccache binary missing or not executable])
CCACHE_AVAILABLE=false
else
AC_MSG_RESULT([yes])
fi
CCACHE_STATUS=""
UTIL_ARG_ENABLE(NAME: ccache, DEFAULT: false, AVAILABLE: $CCACHE_AVAILABLE,
DESC: [enable using ccache to speed up recompilations],
CHECKING_MSG: [if ccache is enabled],
IF_ENABLED: [
CCACHE_VERSION=[`$CCACHE --version | head -n1 | $SED 's/[A-Za-z ]*//'`]
CCACHE_STATUS="Active ($CCACHE_VERSION)"
],
IF_DISABLED: [
CCACHE=""
])
AC_SUBST(CCACHE)
AC_ARG_WITH([ccache-dir],
@@ -284,16 +287,16 @@ AC_DEFUN([BPERF_RUN_ICECC_CREATE_ENV],
#
AC_DEFUN([BPERF_SETUP_ICECC],
[
AC_ARG_ENABLE([icecc], [AS_HELP_STRING([--enable-icecc],
[enable distribted compilation of native code using icecc/icecream @<:@disabled@:>@])])
UTIL_ARG_ENABLE(NAME: icecc, DEFAULT: false, RESULT: ENABLE_ICECC,
DESC: [enable distributed compilation of native code using icecc/icecream])
if test "x${enable_icecc}" = "xyes"; then
BASIC_REQUIRE_PROGS(ICECC_CMD, icecc)
if test "x$ENABLE_ICECC" = "xtrue"; then
UTIL_REQUIRE_PROGS(ICECC_CMD, icecc)
old_path="$PATH"
# Look for icecc-create-env in some known places
PATH="$PATH:/usr/lib/icecc:/usr/lib64/icecc"
BASIC_REQUIRE_PROGS(ICECC_CREATE_ENV, icecc-create-env)
UTIL_REQUIRE_PROGS(ICECC_CREATE_ENV, icecc-create-env)
# Use icecc-create-env to create a minimal compilation environment that can
# be sent to the other hosts in the icecream cluster.
icecc_create_env_log="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/icecc_create_env.log"
@@ -308,7 +311,7 @@ AC_DEFUN([BPERF_SETUP_ICECC],
elif test "x$TOOLCHAIN_TYPE" = "xclang"; then
# For clang, the icecc compilerwrapper is needed. It usually resides next
# to icecc-create-env.
BASIC_REQUIRE_PROGS(ICECC_WRAPPER, compilerwrapper)
UTIL_REQUIRE_PROGS(ICECC_WRAPPER, compilerwrapper)
BPERF_RUN_ICECC_CREATE_ENV([--clang ${CC} ${ICECC_WRAPPER}], ${icecc_create_env_log})
else
AC_MSG_ERROR([Can only create icecc compiler packages for toolchain types gcc and clang])
@@ -349,127 +352,50 @@ AC_DEFUN([BPERF_SETUP_ICECC],
else
BUILD_ICECC="${ICECC}"
fi
AC_SUBST(ICECC)
AC_SUBST(BUILD_ICECC)
fi
AC_SUBST(ICECC)
AC_SUBST(BUILD_ICECC)
])
AC_DEFUN_ONCE([BPERF_SETUP_PRECOMPILED_HEADERS],
[
###############################################################################
#
# Can the C/C++ compiler use precompiled headers?
#
AC_ARG_ENABLE([precompiled-headers], [AS_HELP_STRING([--disable-precompiled-headers],
[disable using precompiled headers when compiling C++ @<:@enabled@:>@])],
[ENABLE_PRECOMPH=${enable_precompiled_headers}], [ENABLE_PRECOMPH=yes])
USE_PRECOMPILED_HEADER=true
AC_MSG_CHECKING([If precompiled header is enabled])
if test "x$ENABLE_PRECOMPH" = xno; then
AC_MSG_RESULT([no, forced])
USE_PRECOMPILED_HEADER=false
elif test "x$ICECC" != "x"; then
# Are precompiled headers available?
PRECOMPILED_HEADERS_AVAILABLE=true
AC_MSG_CHECKING([if precompiled headers are available])
if test "x$ICECC" != "x"; then
AC_MSG_RESULT([no, does not work effectively with icecc])
USE_PRECOMPILED_HEADER=false
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
AC_MSG_RESULT([no, does not work with Solaris Studio])
USE_PRECOMPILED_HEADER=false
PRECOMPILED_HEADERS_AVAILABLE=false
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
AC_MSG_RESULT([no, does not work with xlc])
USE_PRECOMPILED_HEADER=false
PRECOMPILED_HEADERS_AVAILABLE=false
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
# Check that the compiler actually supports precomp headers.
echo "int alfa();" > conftest.h
$CXX -x c++-header conftest.h -o conftest.hpp.gch 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD
if test ! -f conftest.hpp.gch; then
PRECOMPILED_HEADERS_AVAILABLE=false
AC_MSG_RESULT([no, gcc fails to compile properly with -x c++-header])
else
AC_MSG_RESULT([yes])
fi
$RM conftest.h conftest.hpp.gch
else
AC_MSG_RESULT([yes])
fi
if test "x$ENABLE_PRECOMPH" = xyes; then
# Check that the compiler actually supports precomp headers.
if test "x$TOOLCHAIN_TYPE" = xgcc; then
AC_MSG_CHECKING([that precompiled headers work])
echo "int alfa();" > conftest.h
$CXX -x c++-header conftest.h -o conftest.hpp.gch 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD
if test ! -f conftest.hpp.gch; then
USE_PRECOMPILED_HEADER=false
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
fi
$RM conftest.h conftest.hpp.gch
fi
fi
UTIL_ARG_ENABLE(NAME: precompiled-headers, DEFAULT: auto,
RESULT: USE_PRECOMPILED_HEADER, AVAILABLE: $PRECOMPILED_HEADERS_AVAILABLE,
DESC: [enable using precompiled headers when compiling C++])
AC_SUBST(USE_PRECOMPILED_HEADER)
])
AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC],
AC_DEFUN_ONCE([BPERF_SETUP_JAVAC_SERVER],
[
AC_ARG_WITH(sjavac-server-java, [AS_HELP_STRING([--with-sjavac-server-java],
[use this java binary for running the sjavac background server @<:@Boot JDK java@:>@])])
if test "x$with_sjavac_server_java" != x; then
SJAVAC_SERVER_JAVA="$with_sjavac_server_java"
FOUND_VERSION=`$SJAVAC_SERVER_JAVA -version 2>&1 | grep " version \""`
if test "x$FOUND_VERSION" = x; then
AC_MSG_ERROR([Could not execute server java: $SJAVAC_SERVER_JAVA])
fi
else
SJAVAC_SERVER_JAVA="$JAVA"
fi
AC_SUBST(SJAVAC_SERVER_JAVA)
if test "$MEMORY_SIZE" -gt "3000"; then
if "$JAVA" -version 2>&1 | $GREP -q "64-Bit"; then
JVM_64BIT=true
fi
fi
MX_VALUE=`expr $MEMORY_SIZE / 2`
if test "$JVM_64BIT" = true; then
# Set ms lower than mx since more than one instance of the server might
# get launched at the same time before they figure out which instance won.
MS_VALUE=512
if test "$MX_VALUE" -gt "2048"; then
MX_VALUE=2048
fi
else
MS_VALUE=256
if test "$MX_VALUE" -gt "1500"; then
MX_VALUE=1500
fi
fi
if test "$MX_VALUE" -lt "512"; then
MX_VALUE=512
fi
ADD_JVM_ARG_IF_OK([-Xms${MS_VALUE}M -Xmx${MX_VALUE}M],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA])
AC_SUBST(SJAVAC_SERVER_JAVA_FLAGS)
AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
[use sjavac to do fast incremental compiles @<:@disabled@:>@])],
[ENABLE_SJAVAC="${enableval}"], [ENABLE_SJAVAC="no"])
if test "x$JVM_ARG_OK" = "xfalse"; then
AC_MSG_WARN([Could not set -Xms${MS_VALUE}M -Xmx${MX_VALUE}M, disabling sjavac])
ENABLE_SJAVAC="no"
fi
AC_MSG_CHECKING([whether to use sjavac])
AC_MSG_RESULT([$ENABLE_SJAVAC])
AC_SUBST(ENABLE_SJAVAC)
AC_ARG_ENABLE([javac-server], [AS_HELP_STRING([--disable-javac-server],
[disable javac server @<:@enabled@:>@])],
[ENABLE_JAVAC_SERVER="${enableval}"], [ENABLE_JAVAC_SERVER="yes"])
if test "x$JVM_ARG_OK" = "xfalse"; then
AC_MSG_WARN([Could not set -Xms${MS_VALUE}M -Xmx${MX_VALUE}M, disabling javac server])
ENABLE_JAVAC_SERVER="no"
fi
AC_MSG_CHECKING([whether to use javac server])
AC_MSG_RESULT([$ENABLE_JAVAC_SERVER])
UTIL_ARG_ENABLE(NAME: javac-server, DEFAULT: true,
RESULT: ENABLE_JAVAC_SERVER,
DESC: [enable javac server],
CHECKING_MSG: [whether to use javac server])
AC_SUBST(ENABLE_JAVAC_SERVER)
if test "x$ENABLE_JAVAC_SERVER" = "xyes" || test "x$ENABLE_SJAVAC" = "xyes"; then
# When using a server javac, the small client instances do not need much
# resources.
JAVA_FLAGS_JAVAC="$JAVA_FLAGS_SMALL"
fi
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -91,11 +91,9 @@ DISABLE_WARNING_PREFIX := @BUILD_CC_DISABLE_WARNING_PREFIX@
# Save speed and disk space by not enabling debug symbols for the buildjdk
ENABLE_DEBUG_SYMBOLS := false
# Control whether Hotspot builds gtest tests
BUILD_GTEST := false
JVM_VARIANTS := server
JVM_VARIANT_MAIN := server
JVM_FEATURES_server := cds compiler1 compiler2 g1gc serialgc
# Some users still set EXTRA_*FLAGS on the make command line. Must
# make sure to override that when building buildjdk.

View File

@@ -95,6 +95,9 @@ if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
fi
fi
export HOTSPOT_BUILD_TIME="@HOTSPOT_BUILD_TIME@"
export USE_PRECOMPILED_HEADER="@USE_PRECOMPILED_HEADER@"
# Now locate the main script and run it.
REAL_COMPARE_SCRIPT="$TOPDIR/make/scripts/compare.sh"
if [ ! -e "$REAL_COMPARE_SCRIPT" ]; then

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -36,10 +36,20 @@ AC_INIT(OpenJDK, openjdk, build-dev@openjdk.java.net,,http://openjdk.java.net)
AC_CONFIG_AUX_DIR([$TOPDIR/make/autoconf/build-aux])
m4_include([build-aux/pkg.m4])
AC_DEFUN_ONCE([CUSTOM_EARLY_HOOK])
AC_DEFUN_ONCE([CUSTOM_LATE_HOOK])
AC_DEFUN_ONCE([CUSTOM_CONFIG_OUTPUT_GENERATED_HOOK])
AC_DEFUN_ONCE([CUSTOM_SUMMARY_AND_WARNINGS_HOOK])
# This line needs to be here, verbatim, after the dummy hook definitions but
# before all includes. It is replaced with custom functionality when building
# custom sources.
#CUSTOM_AUTOCONF_INCLUDE
# Include these first...
m4_include([basics.m4])
m4_include([basics_windows.m4])
m4_include([util.m4])
# ... then the rest
m4_include([basic.m4])
m4_include([boot-jdk.m4])
m4_include([build-performance.m4])
m4_include([flags.m4])
@@ -47,21 +57,11 @@ m4_include([help.m4])
m4_include([hotspot.m4])
m4_include([jdk-options.m4])
m4_include([jdk-version.m4])
m4_include([jvm-features.m4])
m4_include([libraries.m4])
m4_include([platform.m4])
m4_include([source-dirs.m4])
m4_include([toolchain.m4])
m4_include([toolchain_windows.m4])
AC_DEFUN_ONCE([CUSTOM_EARLY_HOOK])
AC_DEFUN_ONCE([CUSTOM_LATE_HOOK])
AC_DEFUN_ONCE([CUSTOM_CONFIG_OUTPUT_GENERATED_HOOK])
AC_DEFUN_ONCE([CUSTOM_SUMMARY_AND_WARNINGS_HOOK])
# This line needs to be here, verbatim, after all includes and the dummy hook
# definitions. It is replaced with custom functionality when building
# custom sources.
#CUSTOM_AUTOCONF_INCLUDE
###############################################################################
#
@@ -97,6 +97,9 @@ HOTSPOT_SETUP_JVM_VARIANTS
# With basic setup done, call the custom early hook.
CUSTOM_EARLY_HOOK
# This only needs debug level to be setup
JDKOPT_ALLOW_ABSOLUTE_PATHS_IN_OUTPUT
# Check if we have devkits, extra paths or sysroot set.
BASIC_SETUP_DEVKIT
@@ -123,12 +126,11 @@ BASIC_SETUP_DEFAULT_LOG
###############################################################################
#
# Determine OpenJDK variants, options and version numbers.
# Determine OpenJDK variants and version numbers.
#
###############################################################################
# We need build & target for this.
JDKOPT_SETUP_JDK_OPTIONS
JDKOPT_SETUP_JLINK_OPTIONS
JDKVER_SETUP_JDK_VERSION_NUMBERS
@@ -141,6 +143,14 @@ JDKVER_SETUP_JDK_VERSION_NUMBERS
BOOTJDK_SETUP_BOOT_JDK
BOOTJDK_SETUP_BUILD_JDK
###############################################################################
#
# Determine JDK specific build time options.
#
###############################################################################
JDKOPT_SETUP_JDK_OPTIONS
###############################################################################
#
# Configure the sources to use. We can add or override individual directories.
@@ -203,12 +213,6 @@ JDKOPT_SETUP_CODE_COVERAGE
# AddressSanitizer
JDKOPT_SETUP_ADDRESS_SANITIZER
# Need toolchain to setup dtrace
HOTSPOT_SETUP_DTRACE
HOTSPOT_ENABLE_DISABLE_AOT
HOTSPOT_ENABLE_DISABLE_CDS
HOTSPOT_ENABLE_DISABLE_GTEST
###############################################################################
#
# Check dependencies for external and internal libraries.
@@ -221,9 +225,16 @@ BASIC_COMPILE_FIXPATH
LIB_DETERMINE_DEPENDENCIES
LIB_SETUP_LIBRARIES
# Hotspot setup depends on lib checks.
###############################################################################
#
# Setup hotspot and JVM features (needs toolchain).
#
###############################################################################
HOTSPOT_SETUP_JVM_FEATURES
JVM_FEATURES_PARSE_OPTIONS
JVM_FEATURES_SETUP
HOTSPOT_SETUP_MISC
###############################################################################
#
@@ -237,6 +248,7 @@ JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
JDKOPT_EXCLUDE_TRANSLATIONS
JDKOPT_ENABLE_DISABLE_MANPAGES
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE
JDKOPT_SETUP_REPRODUCIBLE_BUILD
###############################################################################
#
@@ -249,13 +261,11 @@ BPERF_SETUP_BUILD_CORES
BPERF_SETUP_BUILD_MEMORY
BPERF_SETUP_BUILD_JOBS
BPERF_SETUP_TEST_JOBS
BPERF_SETUP_JAVAC_SERVER
# Setup arguments for the boot jdk (after cores and memory have been setup)
BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS
# Setup smart javac (after cores and memory have been setup)
BPERF_SETUP_SMART_JAVAC
# Setup use of icecc if requested
BPERF_SETUP_ICECC
@@ -277,9 +287,6 @@ BASIC_TEST_USABILITY_ISSUES
# At the end, call the custom hook. (Dummy macro if no custom sources available)
CUSTOM_LATE_HOOK
# This needs to be done after CUSTOM_LATE_HOOK since we can setup custom features.
HOTSPOT_FINALIZE_JVM_FEATURES
# Did user specify any unknown variables?
BASIC_CHECK_LEFTOVER_OVERRIDDEN

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -35,8 +35,6 @@
AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
[
if test "x$TOOLCHAIN_TYPE" = xgcc; then
C_FLAG_REORDER=''
# Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared'
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
@@ -45,8 +43,6 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
elif test "x$TOOLCHAIN_TYPE" = xclang; then
C_FLAG_REORDER=''
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
# Linking is different on MacOSX
SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0"
@@ -71,16 +67,7 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
fi
fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
C_FLAG_REORDER='-xF'
SHARED_LIBRARY_FLAGS="-G"
SET_EXECUTABLE_ORIGIN='-R\$$ORIGIN[$]1'
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-h [$]1'
SET_SHARED_LIBRARY_MAPFILE='-M[$]1'
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
C_FLAG_REORDER=''
SHARED_LIBRARY_FLAGS="-qmkshrobj -bM:SRE -bnoentry"
SET_EXECUTABLE_ORIGIN=""
SET_SHARED_LIBRARY_ORIGIN=''
@@ -88,7 +75,6 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
SET_SHARED_LIBRARY_MAPFILE=''
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
C_FLAG_REORDER=''
SHARED_LIBRARY_FLAGS="-dll"
SET_EXECUTABLE_ORIGIN=''
SET_SHARED_LIBRARY_ORIGIN=''
@@ -96,7 +82,6 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
SET_SHARED_LIBRARY_MAPFILE='-def:[$]1'
fi
AC_SUBST(C_FLAG_REORDER)
AC_SUBST(SET_EXECUTABLE_ORIGIN)
AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
AC_SUBST(SET_SHARED_LIBRARY_NAME)
@@ -117,13 +102,10 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
elif test "x$TOOLCHAIN_TYPE" = xclang; then
CFLAGS_DEBUG_SYMBOLS="-g"
ASFLAGS_DEBUG_SYMBOLS="-g"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
# -g0 enables debug symbols without disabling inlining.
CFLAGS_DEBUG_SYMBOLS="-g0 -xs"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
CFLAGS_DEBUG_SYMBOLS="-g1"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
CFLAGS_DEBUG_SYMBOLS="-Z7 -d2Zi+"
CFLAGS_DEBUG_SYMBOLS="-Z7"
fi
AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
@@ -132,29 +114,17 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
AC_DEFUN([FLAGS_SETUP_WARNINGS],
[
AC_ARG_ENABLE([warnings-as-errors], [AS_HELP_STRING([--disable-warnings-as-errors],
[do not consider native warnings to be an error @<:@enabled@:>@])])
# Set default value.
if test "x$TOOLCHAIN_TYPE" = xxlc; then
WARNINGS_AS_ERRORS=false
if test "x$TOOLCHAIN_TYPE" != xxlc; then
WARNINGS_AS_ERRORS_DEFAULT=true
else
WARNINGS_AS_ERRORS=true
fi
AC_MSG_CHECKING([if native warnings are errors])
if test "x$enable_warnings_as_errors" = "xyes"; then
AC_MSG_RESULT([yes (explicitly set)])
WARNINGS_AS_ERRORS=true
elif test "x$enable_warnings_as_errors" = "xno"; then
AC_MSG_RESULT([no (explicitly set)])
WARNINGS_AS_ERRORS=false
elif test "x$enable_warnings_as_errors" = "x"; then
AC_MSG_RESULT([${WARNINGS_AS_ERRORS} (default)])
else
AC_MSG_ERROR([--enable-warnings-as-errors accepts no argument])
WARNINGS_AS_ERRORS_DEFAULT=false
fi
UTIL_ARG_ENABLE(NAME: warnings-as-errors, DEFAULT: $WARNINGS_AS_ERRORS_DEFAULT,
RESULT: WARNINGS_AS_ERRORS,
DEFAULT_DESC: [auto],
DESC: [consider native warnings to be an error])
AC_SUBST(WARNINGS_AS_ERRORS)
case "${TOOLCHAIN_TYPE}" in
@@ -166,17 +136,6 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
DISABLED_WARNINGS="4800"
;;
solstudio)
DISABLE_WARNING_PREFIX="-erroff="
CFLAGS_WARNINGS_ARE_ERRORS="-errwarn=%all"
WARNINGS_ENABLE_ALL_CFLAGS="-v -fd -xtransition"
WARNINGS_ENABLE_ALL_CXXFLAGS="+w +w2"
DISABLED_WARNINGS_C="E_OLD_STYLE_FUNC_DECL E_OLD_STYLE_FUNC_DEF E_SEMANTICS_OF_OP_CHG_IN_ANSI_C E_NO_REPLACEMENT_IN_STRING E_DECLARATION_IN_CODE"
DISABLED_WARNINGS_CXX="inllargeuse inllargeint notused wemptydecl notemsource"
;;
gcc)
DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
@@ -256,25 +215,7 @@ AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS],
AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
[
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
CC_HIGHEST="-fns -fsimple -fsingle -xbuiltin=%all -xdepend -xrestrict -xlibmil"
C_O_FLAG_HIGHEST_JVM="-xO4"
C_O_FLAG_DEBUG_JVM=""
C_O_FLAG_SIZE=""
C_O_FLAG_DEBUG=""
C_O_FLAG_NONE=""
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86"; then
C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST"
C_O_FLAG_HI="-xO4 -Wu,-O4~yz"
C_O_FLAG_NORM="-xO2 -Wu,-O2~yz"
elif test "x$OPENJDK_TARGET_CPU_ARCH" = "xsparc"; then
C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 \
-xprefetch=auto,explicit $CC_HIGHEST"
C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
fi
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
if test "x$TOOLCHAIN_TYPE" = xgcc; then
C_O_FLAG_HIGHEST_JVM="-O3"
C_O_FLAG_HIGHEST="-O3"
C_O_FLAG_HI="-O3"
@@ -346,11 +287,6 @@ AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
CXX_O_FLAG_SIZE="$C_O_FLAG_SIZE"
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
# In solstudio, also add this to C (but not C++) flags...
C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xalias_level=basic"
fi
# Adjust optimization flags according to debug level.
case $DEBUG_LEVEL in
release )
@@ -443,9 +379,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
if test "x$OPENJDK_TARGET_OS" = xlinux; then
CFLAGS_OS_DEF_JVM="-DLINUX"
CFLAGS_OS_DEF_JDK="-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
elif test "x$OPENJDK_TARGET_OS" = xsolaris; then
CFLAGS_OS_DEF_JVM="-DSOLARIS"
CFLAGS_OS_DEF_JDK="-D__solaris__"
elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
CFLAGS_OS_DEF_JVM="-D_ALLBSD_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE"
CFLAGS_OS_DEF_JDK="-D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
@@ -481,9 +414,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
# Setup debug/release defines
if test "x$DEBUG_LEVEL" = xrelease; then
DEBUG_CFLAGS_JDK="-DNDEBUG"
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
DEBUG_CFLAGS_JDK="$DEBUG_CFLAGS_JDK -DTRIMMED"
fi
else
DEBUG_CFLAGS_JDK="-DDEBUG"
@@ -506,10 +436,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
ALWAYS_DEFINES_JVM="-D_GNU_SOURCE -D_REENTRANT"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
ALWAYS_DEFINES_JVM="-D_GNU_SOURCE"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
ALWAYS_DEFINES_JVM="-DSPARC_WORKS -D_Crun_inline_placement"
ALWAYS_DEFINES_JDK="-DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
ALWAYS_DEFINES_JDK_CXXONLY="-DCC_NOEX"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
ALWAYS_DEFINES_JVM="-D_REENTRANT"
ALWAYS_DEFINES_JDK="-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
@@ -532,10 +458,13 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
if test "x$TOOLCHAIN_TYPE" = xgcc; then
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fcheck-new -fstack-protector"
TOOLCHAIN_CFLAGS_JDK="-pipe -fstack-protector"
# reduce lib size on s390x in link step, this needs also special compile flags
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
# reduce lib size on linux in link step, this needs also special compile flags
# do this on s390x also for libjvm (where serviceability agent is not supported)
if test "x$ENABLE_LINKTIME_GC" = xtrue; then
TOOLCHAIN_CFLAGS_JDK="$TOOLCHAIN_CFLAGS_JDK -ffunction-sections -fdata-sections"
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
fi
fi
# technically NOT for CXX (but since this gives *worse* performance, use
# no-strict-aliasing everywhere!)
@@ -563,20 +492,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
TOOLCHAIN_CFLAGS_JDK="-pipe"
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX
fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
TOOLCHAIN_FLAGS="-errtags -errfmt"
TOOLCHAIN_CFLAGS="-errshort=tags"
TOOLCHAIN_CFLAGS_JDK="-mt $TOOLCHAIN_FLAGS"
TOOLCHAIN_CFLAGS_JDK_CONLY="-W0,-noglobal $TOOLCHAIN_CFLAGS" # C only
TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only
TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \
-library=stlport4 -mt -features=no%except $TOOLCHAIN_FLAGS"
if test "x$DEBUG_LEVEL" = xslowdebug; then
# Previously -g was used instead of -g0 for slowdebug; this is equivalent
# to setting +d.
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM +d"
fi
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
# Suggested additions: -qsrcmsg to get improved error reporting
@@ -595,14 +510,8 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
# our toolchains are in a condition to support that. But what we loosely aim for is
# C99 level.
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xxlc; then
# This raises the language level for older 4.8 gcc, while lowering it for later
# versions. clang and xlclang support the same flag.
# Explicitly set C99. clang and xlclang support the same flag.
LANGSTD_CFLAGS="-std=c99"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
# We can't turn on -std=c99 without breaking compilation of the splashscreen/png
# utilities. But we can enable c99 as below (previously achieved by using -Xa).
# It is the no_lib that makes the difference.
LANGSTD_CFLAGS="-xc99=all,no_lib"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# MSVC doesn't support C99/C11 explicitly, unless you compile as C++:
# LANGSTD_CFLAGS="-TP"
@@ -623,11 +532,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
elif test "x$TOOLCHAIN_TYPE" = xclang; then
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
@@ -651,8 +555,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
# Where does this really belong??
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
PICFLAG="-fPIC"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
PICFLAG="-KPIC"
PIEFLAG="-fPIE"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
# '-qpic' defaults to 'qpic=small'. This means that the compiler generates only
# one instruction for accessing the TOC. If the TOC grows larger than 64K, the linker
@@ -707,7 +610,10 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
# JDK libraries.
STATIC_LIBS_CFLAGS="-DSTATIC_BUILD=1"
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -ffunction-sections -fdata-sections"
STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -ffunction-sections -fdata-sections \
-DJNIEXPORT='__attribute__((visibility(\"hidden\")))'"
else
STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -DJNIEXPORT="
fi
if test "x$TOOLCHAIN_TYPE" = xgcc; then
# Disable relax-relocation to enable compatibility with older linkers
@@ -731,21 +637,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
# Setup endianness
if test "x$FLAGS_CPU_ENDIAN" = xlittle; then
$1_DEFINES_CPU_JVM="-DVM_LITTLE_ENDIAN"
fi
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
# The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
# Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
if test "x$FLAGS_CPU_ENDIAN" = xlittle; then
$1_DEFINES_CPU_JDK="-D_LITTLE_ENDIAN="
else
$1_DEFINES_CPU_JDK="-D_BIG_ENDIAN="
fi
$1_DEFINES_CPU_JDK="-D_LITTLE_ENDIAN"
else
if test "x$FLAGS_CPU_ENDIAN" = xlittle; then
$1_DEFINES_CPU_JDK="-D_LITTLE_ENDIAN"
else
$1_DEFINES_CPU_JDK="-D_BIG_ENDIAN"
fi
$1_DEFINES_CPU_JDK="-D_BIG_ENDIAN"
fi
# setup CPU bit size
@@ -758,19 +652,14 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
if test "x$FLAGS_OS" = xlinux || test "x$FLAGS_OS" = xmacosx; then
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_LP64=1"
fi
if test "x$FLAGS_OS" != xsolaris && test "x$FLAGS_OS" != xaix; then
# Solaris does not have _LP64=1 in the old build.
if test "x$FLAGS_OS" != xaix; then
# xlc on AIX defines _LP64=1 by default and issues a warning if we redefine it.
$1_DEFINES_CPU_JVM="${$1_DEFINES_CPU_JVM} -D_LP64=1"
fi
fi
# toolchain dependend, per-cpu
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
if test "x$FLAGS_CPU_ARCH" = xx86; then
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -DcpuIntel -Di586 -D$FLAGS_CPU_LEGACY_LIB"
fi
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
if test "x$FLAGS_CPU" = xx86_64; then
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_AMD64_ -Damd64"
else
@@ -788,7 +677,10 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
fi
if test "x$TOOLCHAIN_TYPE" = xgcc; then
if test "x$FLAGS_CPU" = xarm; then
if test "x$FLAGS_CPU" = xaarch64; then
# -Wno-psabi to get rid of annoying "note: parameter passing for argument of type '<type> changed in GCC 9.1"
$1_CFLAGS_CPU="-Wno-psabi"
elif test "x$FLAGS_CPU" = xarm; then
# -Wno-psabi to get rid of annoying "note: the mangling of 'va_list' has changed in GCC 4.4"
$1_CFLAGS_CPU="-fsigned-char -Wno-psabi $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS -DJDK_ARCH_ABI_PROP_NAME='\"\$(JDK_ARCH_ABI_PROP_NAME)\"'"
$1_CFLAGS_CPU_JVM="-DARM"
@@ -813,7 +705,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
fi
$1_CXXSTD_CXXFLAG="-std=gnu++98"
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${$1_CXXSTD_CXXFLAG} -Werror],
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${$1_CXXSTD_CXXFLAG}],
PREFIX: $3, IF_FALSE: [$1_CXXSTD_CXXFLAG=""])
$1_TOOLCHAIN_CFLAGS_JDK_CXXONLY="${$1_CXXSTD_CXXFLAG}"
$1_TOOLCHAIN_CFLAGS_JVM="${$1_TOOLCHAIN_CFLAGS_JVM} ${$1_CXXSTD_CXXFLAG}"
@@ -828,15 +720,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
fi
fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
if test "x$FLAGS_CPU" = xx86_64; then
# NOTE: -xregs=no%frameptr is supposed to be default on x64
$1_CFLAGS_CPU_JDK="-xregs=no%frameptr"
elif test "x$FLAGS_CPU" = xsparcv9; then
$1_CFLAGS_CPU_JVM="-xarch=sparc"
$1_CFLAGS_CPU_JDK_LIBONLY="-xregs=no%appl"
fi
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
if test "x$FLAGS_CPU" = xppc64; then
$1_CFLAGS_CPU_JVM="-qarch=ppc64"
@@ -861,18 +744,27 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
$1_WARNING_CFLAGS_JVM="-Wno-format-zero-length -Wtype-limits -Wuninitialized"
fi
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# Check if compiler supports -fmacro-prefix-map. If so, use that to make
# the __FILE__ macro resolve to paths relative to the workspace root.
workspace_root_trailing_slash="${WORKSPACE_ROOT%/}/"
FILE_MACRO_CFLAGS="-fmacro-prefix-map=${workspace_root_trailing_slash}="
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${FILE_MACRO_CFLAGS}],
PREFIX: $3,
IF_FALSE: [
FILE_MACRO_CFLAGS=
]
)
# Prevent the __FILE__ macro from generating absolute paths into the built
# binaries. Depending on toolchain, different mitigations are possible.
# * GCC and Clang of new enough versions have -fmacro-prefix-map.
# * For most other toolchains, supplying all source files and -I flags as
# relative paths fixes the issue.
FILE_MACRO_CFLAGS=
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# Check if compiler supports -fmacro-prefix-map. If so, use that to make
# the __FILE__ macro resolve to paths relative to the workspace root.
workspace_root_trailing_slash="${WORKSPACE_ROOT%/}/"
FILE_MACRO_CFLAGS="-fmacro-prefix-map=${workspace_root_trailing_slash}="
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${FILE_MACRO_CFLAGS}],
PREFIX: $3,
IF_FALSE: [
FILE_MACRO_CFLAGS=
]
)
fi
fi
AC_SUBST(FILE_MACRO_CFLAGS)
# EXPORT to API
CFLAGS_JVM_COMMON="$ALWAYS_CFLAGS_JVM $ALWAYS_DEFINES_JVM \
@@ -901,10 +793,12 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
$2JVM_CFLAGS="$CFLAGS_JVM_COMMON ${$1_CFLAGS_JVM} ${$2EXTRA_CXXFLAGS}"
$2CFLAGS_JDKEXE="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CONLY ${$1_CFLAGS_JDK}"
$2CXXFLAGS_JDKEXE="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CXXONLY ${$1_CFLAGS_JDK}"
$2CFLAGS_JDKLIB="${$2CFLAGS_JDKEXE} $JDK_PICFLAG ${$1_CFLAGS_CPU_JDK_LIBONLY}"
$2CXXFLAGS_JDKLIB="${$2CXXFLAGS_JDKEXE} $JDK_PICFLAG ${$1_CFLAGS_CPU_JDK_LIBONLY}"
$2CFLAGS_JDKEXE="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CONLY ${$1_CFLAGS_JDK} $PIEFLAG"
$2CXXFLAGS_JDKEXE="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CXXONLY ${$1_CFLAGS_JDK} $PIEFLAG"
$2CFLAGS_JDKLIB="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CONLY ${$1_CFLAGS_JDK} \
$JDK_PICFLAG ${$1_CFLAGS_CPU_JDK_LIBONLY}"
$2CXXFLAGS_JDKLIB="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CXXONLY ${$1_CFLAGS_JDK} \
$JDK_PICFLAG ${$1_CFLAGS_CPU_JDK_LIBONLY}"
AC_SUBST($2JVM_CFLAGS)
AC_SUBST($2CFLAGS_JDKLIB)
@@ -940,34 +834,10 @@ AC_DEFUN([FLAGS_SETUP_GCC6_COMPILER_FLAGS],
# Notably, value range propagation now assumes that the this pointer of C++
# member functions is non-null.
NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror],
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG],
PREFIX: $2, IF_FALSE: [NO_DELETE_NULL_POINTER_CHECKS_CFLAG=""])
NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG -Werror],
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG],
PREFIX: $2, IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""])
$1_GCC6_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}"
])
# Documentation on common flags used for solstudio in HIGHEST.
#
# WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
# done with care, there are some assumptions below that need to
# be understood about the use of pointers, and IEEE behavior.
#
# -fns: Use non-standard floating point mode (not IEEE 754)
# -fsimple: Do some simplification of floating point arithmetic (not IEEE 754)
# -fsingle: Use single precision floating point with 'float'
# -xalias_level=basic: Assume memory references via basic pointer types do not alias
# (Source with excessing pointer casting and data access with mixed
# pointer types are not recommended)
# -xbuiltin=%all: Use intrinsic or inline versions for math/std functions
# (If you expect perfect errno behavior, do not use this)
# -xdepend: Loop data dependency optimizations (need -xO3 or higher)
# -xrestrict: Pointer parameters to functions do not overlap
# (Similar to -xalias_level=basic usage, but less obvious sometimes.
# If you pass in multiple pointers to the same data, do not use this)
# -xlibmil: Inline some library routines
# (If you expect perfect errno behavior, do not use this)
# -xlibmopt: Use optimized math routines (CURRENTLY DISABLED)
# (If you expect perfect errno behavior, do not use this)
# Can cause undefined external on Solaris 8 X86 on __sincos, removing for now

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -69,12 +69,17 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
LIBJSIG_HASHSTYLE_LDFLAGS="-Wl,--hash-style=both"
fi
# Add -z defs, to forbid undefined symbols in object files.
# add relro (mark relocations read only) for all libs
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs -Wl,-z,relro"
# s390x : remove unused code+data in link step
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections -Wl,--print-gc-sections"
# Add -z,defs, to forbid undefined symbols in object files.
# add -z,relro (mark relocations read only) for all libs
# add -z,now ("full relro" - more of the Global Offset Table GOT is marked read only)
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs -Wl,-z,relro -Wl,-z,now"
# Linux : remove unused code+data in link step
if test "x$ENABLE_LINKTIME_GC" = xtrue; then
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections -Wl,--print-gc-sections"
else
BASIC_LDFLAGS_JDK_ONLY="$BASIC_LDFLAGS_JDK_ONLY -Wl,--gc-sections"
fi
fi
BASIC_LDFLAGS_JVM_ONLY="-Wl,-O1"
@@ -83,14 +88,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \
-fPIC"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
BASIC_LDFLAGS="-Wl,-z,defs"
BASIC_LDFLAGS_ONLYCXX="-norunpath"
BASIC_LDFLAGS_ONLYCXX_JDK_ONLY="-xnolib"
BASIC_LDFLAGS_JDK_ONLY="-ztext"
BASIC_LDFLAGS_JVM_ONLY="-library=%none -mt -z noversion"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
BASIC_LDFLAGS="-b64 -brtl -bnorwexec -bnolibpath -bexpall -bernotok -btextpsize:64K \
-bdatapsize:64K -bstackpsize:64K"
@@ -125,10 +122,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
if test x$DEBUG_LEVEL = xrelease; then
DEBUGLEVEL_LDFLAGS_JDK_ONLY="$DEBUGLEVEL_LDFLAGS_JDK_ONLY -Wl,-O1"
fi
if test x$DEBUG_LEVEL = xslowdebug; then
# do relocations at load
DEBUGLEVEL_LDFLAGS="-Wl,-z,now"
fi
fi
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
@@ -140,17 +133,20 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
fi
fi
# Setup warning flags
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
LDFLAGS_WARNINGS_ARE_ERRORS="-Wl,-z,fatal-warnings"
else
LDFLAGS_WARNINGS_ARE_ERRORS=""
fi
AC_SUBST(LDFLAGS_WARNINGS_ARE_ERRORS)
# Setup LDFLAGS for linking executables
if test "x$TOOLCHAIN_TYPE" = xgcc; then
EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined"
# Enabling pie on 32 bit builds prevents the JVM from allocating a continuous
# java heap.
if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then
EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -pie"
fi
fi
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
BASIC_LDFLAGS="$BASIC_LDFLAGS -pdbaltpath:%_PDB%"
fi
fi
# Export some intermediate variables for compatibility
@@ -176,11 +172,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
$1_CPU_LDFLAGS="$ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS"
fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
if test "x${OPENJDK_$1_CPU}" = "xsparcv9"; then
$1_CPU_LDFLAGS_JVM_ONLY="-xarch=sparc"
fi
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
if test "x${OPENJDK_$1_CPU}" = "xx86"; then
$1_CPU_LDFLAGS="-safeseh"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -47,12 +47,10 @@ AC_DEFUN([FLAGS_SETUP_STRIPFLAGS],
[
## Setup strip.
# FIXME: should this really be per platform, or should it be per toolchain type?
# strip is not provided by clang or solstudio; so guessing platform makes most sense.
# strip is not provided by clang; so guessing platform makes most sense.
# FIXME: we should really only export STRIPFLAGS from here, not POST_STRIP_CMD.
if test "x$OPENJDK_TARGET_OS" = xlinux; then
STRIPFLAGS="-g"
elif test "x$OPENJDK_TARGET_OS" = xsolaris; then
STRIPFLAGS="-x"
elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
STRIPFLAGS="-S"
elif test "x$OPENJDK_TARGET_OS" = xaix; then

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -49,7 +49,7 @@ AC_DEFUN([FLAGS_SETUP_ABI_PROFILE],
# --- Arm-sflt CFLAGS and ASFLAGS ---
# Armv5te is required for assembler, because pld insn used in arm32 hotspot is only in v5E and above.
# However, there is also a GCC bug which generates unaligned strd/ldrd instructions on armv5te:
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445, and it was fixed only quite recently.
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445, and it was fixed in gcc 7.1.
# The resulting compromise is to enable v5TE for assembler and let GCC generate code for v5T.
if test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm-vfp-sflt; then
ARM_FLOAT_TYPE=vfp-sflt
@@ -205,27 +205,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_USER_SUPPLIED_FLAGS],
AC_DEFUN([FLAGS_SETUP_SYSROOT_FLAGS],
[
if test "x[$]$1SYSROOT" != "x"; then
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
# Solaris Studio does not have a concept of sysroot. Instead we must
# make sure the default include and lib dirs are appended to each
# compile and link command line. Must also add -I-xbuiltin to enable
# inlining of system functions and intrinsics.
$1SYSROOT_CFLAGS="-I-xbuiltin -I[$]$1SYSROOT/usr/include"
$1SYSROOT_LDFLAGS="-L[$]$1SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
-L[$]$1SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR"
# If the devkit contains the ld linker, make sure we use it.
AC_PATH_PROG(SOLARIS_LD, ld, , $DEVKIT_TOOLCHAIN_PATH:$DEVKIT_EXTRA_PATH)
# Make sure this ld is runnable.
if test -f "$SOLARIS_LD"; then
if "$SOLARIS_LD" -V > /dev/null 2> /dev/null; then
$1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -Yl,$(dirname $SOLARIS_LD)"
else
AC_MSG_WARN([Could not run $SOLARIS_LD found in devkit, reverting to system ld])
fi
fi
fi
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
if test "x$TOOLCHAIN_TYPE" = xgcc; then
$1SYSROOT_CFLAGS="--sysroot=[$]$1SYSROOT"
$1SYSROOT_LDFLAGS="--sysroot=[$]$1SYSROOT"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
@@ -255,17 +235,14 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
# The sysroot flags are needed for configure to be able to run the compilers
FLAGS_SETUP_SYSROOT_FLAGS
# For solstudio and xlc, the word size flag is required for correct behavior.
# For xlc, the word size flag is required for correct behavior.
# For clang/gcc, the flag is only strictly required for reduced builds, but
# set it always where possible (x86, sparc and ppc).
# set it always where possible (x86 and ppc).
if test "x$TOOLCHAIN_TYPE" = xxlc; then
MACHINE_FLAG="-q${OPENJDK_TARGET_CPU_BITS}"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
elif test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
if test "x$OPENJDK_TARGET_CPU_ARCH" = xx86 &&
test "x$OPENJDK_TARGET_CPU" != xx32 ||
test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc ||
test "x$OPENJDK_TARGET_CPU_ARCH" = xppc; then
MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
fi
@@ -318,11 +295,6 @@ AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL],
COMPILER_COMMAND_FILE_FLAG="@"
COMPILER_BINDCMD_FILE_FLAG=""
# The solstudio linker does not support @-files.
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
COMPILER_COMMAND_FILE_FLAG=
fi
# Check if @file is supported by gcc
if test "x$TOOLCHAIN_TYPE" = xgcc; then
AC_MSG_CHECKING([if @file is supported by gcc])
@@ -376,8 +348,6 @@ AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL],
C_FLAG_DEPS="-MMD -MF"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
C_FLAG_DEPS="-MMD -MF"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
C_FLAG_DEPS="-xMMD -xMF"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
C_FLAG_DEPS="-qmakedep=gcc -MF"
fi
@@ -430,7 +400,7 @@ AC_DEFUN([FLAGS_SETUP_FLAGS],
# IF_FALSE: [RUN-IF-FALSE])
# ------------------------------------------------------------
# Check that the C compiler supports an argument
BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
UTIL_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[
AC_MSG_CHECKING([if ARG_PREFIX[CC] supports "ARG_ARGUMENT"])
@@ -438,7 +408,7 @@ BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
saved_cflags="$CFLAGS"
saved_cc="$CC"
CFLAGS="$CFLAGS ARG_ARGUMENT"
CFLAGS="$CFLAGS $CFLAGS_WARNINGS_ARE_ERRORS ARG_ARGUMENT"
CC="$ARG_PREFIX[CC]"
AC_LANG_PUSH([C])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
@@ -461,7 +431,7 @@ BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
# IF_FALSE: [RUN-IF-FALSE])
# ------------------------------------------------------------
# Check that the C++ compiler supports an argument
BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
UTIL_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[
AC_MSG_CHECKING([if ARG_PREFIX[CXX] supports "ARG_ARGUMENT"])
@@ -469,7 +439,7 @@ BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
saved_cxxflags="$CXXFLAGS"
saved_cxx="$CXX"
CXXFLAGS="$CXXFLAG ARG_ARGUMENT"
CXXFLAGS="$CXXFLAG $CFLAGS_WARNINGS_ARE_ERRORS ARG_ARGUMENT"
CXX="$ARG_PREFIX[CXX]"
AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
@@ -492,7 +462,7 @@ BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
# IF_FALSE: [RUN-IF-FALSE])
# ------------------------------------------------------------
# Check that the C and C++ compilers support an argument
BASIC_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
UTIL_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[
FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
@@ -524,7 +494,7 @@ BASIC_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
# IF_FALSE: [RUN-IF-FALSE])
# ------------------------------------------------------------
# Check that the linker support an argument
BASIC_DEFUN_NAMED([FLAGS_LINKER_CHECK_ARGUMENTS],
UTIL_DEFUN_NAMED([FLAGS_LINKER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE], [$@],
[
AC_MSG_CHECKING([if linker supports "ARG_ARGUMENT"])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -180,21 +180,25 @@ AC_DEFUN_ONCE([HELP_PRINT_ADDITIONAL_HELP_AND_EXIT],
if test "x$CONFIGURE_PRINT_ADDITIONAL_HELP" != x; then
# Print available toolchains
$PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n"
$PRINTF "Which are valid to use depends on the build platform.\n"
$PRINTF "The following toolchains are valid as arguments to --with-toolchain-type.\n"
$PRINTF "Which are available to use depends on the build platform.\n"
for toolchain in $VALID_TOOLCHAINS_all; do
# Use indirect variable referencing
toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain
TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
$PRINTF " %-10s %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
$PRINTF " %-22s %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
done
$PRINTF "\n"
# Print available jvm features
$PRINTF "The following JVM features are available as arguments to --with-jvm-features.\n"
$PRINTF "Which are valid to use depends on the target platform.\n "
$PRINTF "%s " $VALID_JVM_FEATURES
$PRINTF "\n"
# Print available JVM features
$PRINTF "The following JVM features are valid as arguments to --with-jvm-features.\n"
$PRINTF "Which are available to use depends on the environment and JVM variant.\n"
m4_foreach(FEATURE, m4_split(jvm_features_valid), [
# Create an m4 variable containing the description for FEATURE.
m4_define(FEATURE_DESCRIPTION, [jvm_feature_desc_]m4_translit(FEATURE, -, _))
$PRINTF " %-22s %s\n" FEATURE "FEATURE_DESCRIPTION"
m4_undefine([FEATURE_DESCRIPTION])
])
# And now exit directly
exit 0
@@ -246,7 +250,11 @@ AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
printf "\n"
printf "Tools summary:\n"
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION. Windows version $WINDOWS_VERSION"
if test "x$WINDOWS_ENV_ROOT_PATH" != "x"; then
printf ". Root at $WINDOWS_ENV_ROOT_PATH"
fi
printf "\n"
fi
printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
printf "* Toolchain: $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)\n"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -23,14 +23,6 @@
# questions.
#
# All valid JVM features, regardless of platform
VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti jvmci \
graal vm-structs jni-check services management epsilongc g1gc parallelgc serialgc shenandoahgc zgc nmt cds \
static-build link-time-opt aot jfr"
# Deprecated JVM features (these are ignored, but with a warning)
DEPRECATED_JVM_FEATURES="trace cmsgc"
# All valid JVM variants
VALID_JVM_VARIANTS="server client minimal core zero custom"
@@ -46,32 +38,6 @@ VALID_JVM_VARIANTS="server client minimal core zero custom"
AC_DEFUN([HOTSPOT_CHECK_JVM_VARIANT],
[ [ [[ " $JVM_VARIANTS " =~ " $1 " ]] ] ])
###############################################################################
# Check if the specified JVM feature is enabled. To be used in shell if
# constructs, like this:
# if HOTSPOT_CHECK_JVM_FEATURE(jvmti); then
#
# Only valid to use after HOTSPOT_SETUP_JVM_FEATURES has setup features.
# Definition kept in one line to allow inlining in if statements.
# Additional [] needed to keep m4 from mangling shell constructs.
AC_DEFUN([HOTSPOT_CHECK_JVM_FEATURE],
[ [ [[ " $JVM_FEATURES " =~ " $1 " ]] ] ])
###############################################################################
# Check if the specified JVM feature is explicitly disabled. To be used in
# shell if constructs, like this:
# if HOTSPOT_IS_JVM_FEATURE_DISABLED(jvmci); then
#
# This function is internal to hotspot.m4, and is only used when constructing
# the valid set of enabled JVM features. Users outside of hotspot.m4 should just
# use HOTSPOT_CHECK_JVM_FEATURE to check if a feature is enabled or not.
# Definition kept in one line to allow inlining in if statements.
# Additional [] needed to keep m4 from mangling shell constructs.
AC_DEFUN([HOTSPOT_IS_JVM_FEATURE_DISABLED],
[ [ [[ " $DISABLED_JVM_FEATURES " =~ " $1 " ]] ] ])
###############################################################################
# Check which variants of the JVM that we want to build. Available variants are:
# server: normal interpreter, and a tiered C1/C2 compiler
@@ -84,7 +50,8 @@ AC_DEFUN([HOTSPOT_IS_JVM_FEATURE_DISABLED],
AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
[
AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants],
[JVM variants (separated by commas) to build (server,client,minimal,core,zero,custom) @<:@server@:>@])])
[JVM variants to build, separated by commas (server client minimal core
zero custom) @<:@server@:>@])])
if test "x$with_jvm_variants" = x; then
with_jvm_variants="server"
@@ -108,7 +75,8 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
AC_MSG_RESULT([$JVM_VARIANTS])
# Check that the selected variants are valid
BASIC_GET_NON_MATCHING_VALUES(INVALID_VARIANTS, $JVM_VARIANTS, $VALID_JVM_VARIANTS)
UTIL_GET_NON_MATCHING_VALUES(INVALID_VARIANTS, $JVM_VARIANTS, \
$VALID_JVM_VARIANTS)
if test "x$INVALID_VARIANTS" != x; then
AC_MSG_NOTICE([Unknown variant(s) specified: "$INVALID_VARIANTS"])
AC_MSG_NOTICE([The available JVM variants are: "$VALID_JVM_VARIANTS"])
@@ -117,9 +85,11 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
# All "special" variants share the same output directory ("server")
VALID_MULTIPLE_JVM_VARIANTS="server client minimal"
BASIC_GET_NON_MATCHING_VALUES(INVALID_MULTIPLE_VARIANTS, $JVM_VARIANTS, $VALID_MULTIPLE_JVM_VARIANTS)
if test "x$INVALID_MULTIPLE_VARIANTS" != x && test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = xtrue; then
AC_MSG_ERROR([You cannot build multiple variants with anything else than $VALID_MULTIPLE_JVM_VARIANTS.])
UTIL_GET_NON_MATCHING_VALUES(INVALID_MULTIPLE_VARIANTS, $JVM_VARIANTS, \
$VALID_MULTIPLE_JVM_VARIANTS)
if test "x$INVALID_MULTIPLE_VARIANTS" != x && \
test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = xtrue; then
AC_MSG_ERROR([You can only build multiple variants using these variants: '$VALID_MULTIPLE_JVM_VARIANTS'])
fi
# The "main" variant is the one used by other libs to link against during the
@@ -139,173 +109,28 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
AC_SUBST(JVM_VARIANTS)
AC_SUBST(VALID_JVM_VARIANTS)
AC_SUBST(JVM_VARIANT_MAIN)
])
###############################################################################
# Misc hotspot setup that does not fit elsewhere.
#
AC_DEFUN_ONCE([HOTSPOT_SETUP_MISC],
[
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
# zero behaves as a platform and rewrites these values. This is really weird. :(
# We are guaranteed that we do not build any other variants when building zero.
# zero behaves as a platform and rewrites these values. This is a bit weird.
# But when building zero, we never build any other variants so it works.
HOTSPOT_TARGET_CPU=zero
HOTSPOT_TARGET_CPU_ARCH=zero
fi
])
###############################################################################
# Check if dtrace should be enabled and has all prerequisites present.
#
AC_DEFUN_ONCE([HOTSPOT_SETUP_DTRACE],
[
# Test for dtrace dependencies
AC_ARG_ENABLE([dtrace], [AS_HELP_STRING([--enable-dtrace@<:@=yes/no/auto@:>@],
[enable dtrace. Default is auto, where dtrace is enabled if all dependencies
are present.])])
AC_ARG_WITH([hotspot-build-time], [AS_HELP_STRING([--with-hotspot-build-time],
[timestamp to use in hotspot version string, empty for on-the-fly @<:@empty@:>@])])
DTRACE_DEP_MISSING=false
AC_MSG_CHECKING([for dtrace tool])
if test "x$DTRACE" != "x" && test -x "$DTRACE"; then
AC_MSG_RESULT([$DTRACE])
else
AC_MSG_RESULT([not found, cannot build dtrace])
DTRACE_DEP_MISSING=true
if test "x$with_hotspot_build_time" != x; then
HOTSPOT_BUILD_TIME="$with_hotspot_build_time"
fi
AC_SUBST(HOTSPOT_BUILD_TIME)
AC_CHECK_HEADERS([sys/sdt.h], [DTRACE_HEADERS_OK=yes],[DTRACE_HEADERS_OK=no])
if test "x$DTRACE_HEADERS_OK" != "xyes"; then
DTRACE_DEP_MISSING=true
fi
AC_MSG_CHECKING([if dtrace should be built])
if test "x$enable_dtrace" = "xyes"; then
if test "x$DTRACE_DEP_MISSING" = "xtrue"; then
AC_MSG_RESULT([no, missing dependencies])
HELP_MSG_MISSING_DEPENDENCY([dtrace])
AC_MSG_ERROR([Cannot enable dtrace with missing dependencies. See above. $HELP_MSG])
else
INCLUDE_DTRACE=true
AC_MSG_RESULT([yes, forced])
fi
elif test "x$enable_dtrace" = "xno"; then
INCLUDE_DTRACE=false
AC_MSG_RESULT([no, forced])
elif test "x$enable_dtrace" = "xauto" || test "x$enable_dtrace" = "x"; then
if test "x$DTRACE_DEP_MISSING" = "xtrue"; then
INCLUDE_DTRACE=false
AC_MSG_RESULT([no, missing dependencies])
else
INCLUDE_DTRACE=true
AC_MSG_RESULT([yes, dependencies present])
fi
else
AC_MSG_ERROR([Invalid value for --enable-dtrace: $enable_dtrace])
fi
])
################################################################################
# Check if AOT should be enabled
#
AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_AOT],
[
AC_ARG_ENABLE([aot], [AS_HELP_STRING([--enable-aot@<:@=yes/no/auto@:>@],
[enable ahead of time compilation feature. Default is auto, where aot is enabled if all dependencies are present.])])
if test "x$enable_aot" = "x" || test "x$enable_aot" = "xauto"; then
ENABLE_AOT="true"
elif test "x$enable_aot" = "xyes"; then
ENABLE_AOT="true"
elif test "x$enable_aot" = "xno"; then
ENABLE_AOT="false"
else
AC_MSG_ERROR([Invalid value for --enable-aot: $enable_aot])
fi
if test "x$ENABLE_AOT" = "xtrue"; then
# Only enable AOT on X64 platforms.
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
if test -e "${TOPDIR}/src/jdk.aot"; then
if test -e "${TOPDIR}/src/jdk.internal.vm.compiler"; then
ENABLE_AOT="true"
else
ENABLE_AOT="false"
if test "x$enable_aot" = "xyes"; then
AC_MSG_ERROR([Cannot build AOT without src/jdk.internal.vm.compiler sources. Remove --enable-aot.])
fi
fi
else
ENABLE_AOT="false"
if test "x$enable_aot" = "xyes"; then
AC_MSG_ERROR([Cannot build AOT without src/jdk.aot sources. Remove --enable-aot.])
fi
fi
else
ENABLE_AOT="false"
if test "x$enable_aot" = "xyes"; then
AC_MSG_ERROR([AOT is currently only supported on x86_64 and aarch64. Remove --enable-aot.])
fi
fi
fi
AC_SUBST(ENABLE_AOT)
])
################################################################################
# Allow to disable CDS
#
AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_CDS],
[
AC_ARG_ENABLE([cds], [AS_HELP_STRING([--enable-cds@<:@=yes/no/auto@:>@],
[enable class data sharing feature in non-minimal VM. Default is auto, where cds is enabled if supported on the platform.])])
if test "x$enable_cds" = "x" || test "x$enable_cds" = "xauto"; then
ENABLE_CDS="true"
elif test "x$enable_cds" = "xyes"; then
ENABLE_CDS="true"
elif test "x$enable_cds" = "xno"; then
ENABLE_CDS="false"
else
AC_MSG_ERROR([Invalid value for --enable-cds: $enable_cds])
fi
AC_SUBST(ENABLE_CDS)
])
###############################################################################
# Set up all JVM features for each JVM variant.
#
AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
[
# Prettify the VALID_JVM_FEATURES string
BASIC_SORT_LIST(VALID_JVM_FEATURES, $VALID_JVM_FEATURES)
# The user can in some cases supply additional jvm features. For the custom
# variant, this defines the entire variant.
AC_ARG_WITH([jvm-features], [AS_HELP_STRING([--with-jvm-features],
[JVM features to enable (foo) or disable (-foo), separated by comma. Use '--help' to show possible values @<:@none@:>@])])
if test "x$with_jvm_features" != x; then
AC_MSG_CHECKING([user specified JVM feature list])
USER_JVM_FEATURE_LIST=`$ECHO $with_jvm_features | $SED -e 's/,/ /g'`
AC_MSG_RESULT([$user_jvm_feature_list])
# These features will be added to all variant defaults
JVM_FEATURES=`$ECHO $USER_JVM_FEATURE_LIST | $AWK '{ for (i=1; i<=NF; i++) if (!match($i, /^-.*/)) printf("%s ", $i) }'`
# These features will be removed from all variant defaults
DISABLED_JVM_FEATURES=`$ECHO $USER_JVM_FEATURE_LIST | $AWK '{ for (i=1; i<=NF; i++) if (match($i, /^-.*/)) printf("%s ", substr($i, 2))}'`
# Verify that the user has provided valid features
BASIC_GET_NON_MATCHING_VALUES(INVALID_FEATURES, $JVM_FEATURES $DISABLED_JVM_FEATURES, $VALID_JVM_FEATURES $DEPRECATED_JVM_FEATURES)
if test "x$INVALID_FEATURES" != x; then
AC_MSG_NOTICE([Unknown JVM features specified: "$INVALID_FEATURES"])
AC_MSG_NOTICE([The available JVM features are: "$VALID_JVM_FEATURES"])
AC_MSG_ERROR([Cannot continue])
fi
# Check if the user has provided deprecated features
BASIC_GET_MATCHING_VALUES(DEPRECATED_FEATURES, $JVM_FEATURES $DISABLED_JVM_FEATURES, $DEPRECATED_JVM_FEATURES)
if test "x$DEPRECATED_FEATURES" != x; then
AC_MSG_WARN([Deprecated JVM features specified (will be ignored): "$DEPRECATED_FEATURES"])
# Filter out deprecated features
BASIC_GET_NON_MATCHING_VALUES(JVM_FEATURES, $JVM_FEATURES, $DEPRECATED_FEATURES)
BASIC_GET_NON_MATCHING_VALUES(DISABLED_JVM_FEATURES, $DISABLED_JVM_FEATURES, $DEPRECATED_FEATURES)
fi
fi
# Override hotspot cpu definitions for ARM platforms
if test "x$OPENJDK_TARGET_CPU" = xarm; then
@@ -313,335 +138,9 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
HOTSPOT_TARGET_CPU_DEFINE="ARM32"
fi
# Verify that dependencies are met for explicitly set features.
if HOTSPOT_CHECK_JVM_FEATURE(jvmti) && ! HOTSPOT_CHECK_JVM_FEATURE(services); then
AC_MSG_ERROR([Specified JVM feature 'jvmti' requires feature 'services'])
fi
if HOTSPOT_CHECK_JVM_FEATURE(management) && ! HOTSPOT_CHECK_JVM_FEATURE(nmt); then
AC_MSG_ERROR([Specified JVM feature 'management' requires feature 'nmt'])
fi
if HOTSPOT_CHECK_JVM_FEATURE(jvmci) && ! (HOTSPOT_CHECK_JVM_FEATURE(compiler1) || HOTSPOT_CHECK_JVM_FEATURE(compiler2)); then
AC_MSG_ERROR([Specified JVM feature 'jvmci' requires feature 'compiler2' or 'compiler1'])
fi
# Enable JFR by default, except for Zero, linux-sparcv9 and on minimal.
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
if test "x$OPENJDK_TARGET_OS" != xaix; then
if test "x$OPENJDK_TARGET_OS" != xlinux || test "x$OPENJDK_TARGET_CPU" != xsparcv9; then
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jfr"
fi
fi
fi
# Only enable Shenandoah on supported arches
AC_MSG_CHECKING([if shenandoah can be built])
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
AC_MSG_RESULT([yes])
else
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc"
AC_MSG_RESULT([no, platform not supported])
fi
# Only enable ZGC on supported platforms
if (test "x$OPENJDK_TARGET_OS" = "xwindows" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"); then
AC_MSG_CHECKING([if zgc can be built on windows])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <windows.h>]],
[[struct MEM_EXTENDED_PARAMETER x;]])
],
[
AC_MSG_RESULT([yes])
CAN_BUILD_ZGC_ON_WINDOWS="yes"
],
[
AC_MSG_RESULT([no, missing required APIs])
CAN_BUILD_ZGC_ON_WINDOWS="no"
]
)
fi
AC_MSG_CHECKING([if zgc can be built])
if (test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xx86_64") || \
(test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xaarch64") || \
(test "x$CAN_BUILD_ZGC_ON_WINDOWS" = "xyes") || \
(test "x$OPENJDK_TARGET_OS" = "xmacosx" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"); then
AC_MSG_RESULT([yes])
else
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES zgc"
AC_MSG_RESULT([no, platform not supported])
fi
# Disable unsupported GCs for Zero
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES epsilongc g1gc zgc shenandoahgc"
fi
# Turn on additional features based on other parts of configure
if test "x$INCLUDE_DTRACE" = "xtrue"; then
JVM_FEATURES="$JVM_FEATURES dtrace"
else
if HOTSPOT_CHECK_JVM_FEATURE(dtrace); then
AC_MSG_ERROR([To enable dtrace, you must use --enable-dtrace])
fi
fi
if test "x$STATIC_BUILD" = "xtrue"; then
JVM_FEATURES="$JVM_FEATURES static-build"
else
if HOTSPOT_CHECK_JVM_FEATURE(static-build); then
AC_MSG_ERROR([To enable static-build, you must use --enable-static-build])
fi
fi
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
if HOTSPOT_CHECK_JVM_FEATURE(zero); then
AC_MSG_ERROR([To enable zero, you must use --with-jvm-variants=zero])
fi
fi
AC_MSG_CHECKING([if jvmci module jdk.internal.vm.ci should be built])
# Check if jvmci is diabled
if HOTSPOT_IS_JVM_FEATURE_DISABLED(jvmci); then
AC_MSG_RESULT([no, forced])
JVM_FEATURES_jvmci=""
INCLUDE_JVMCI="false"
else
# Only enable jvmci on x86_64 and aarch64
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
AC_MSG_RESULT([yes])
JVM_FEATURES_jvmci="jvmci"
INCLUDE_JVMCI="true"
else
AC_MSG_RESULT([no])
JVM_FEATURES_jvmci=""
INCLUDE_JVMCI="false"
if HOTSPOT_CHECK_JVM_FEATURE(jvmci); then
AC_MSG_ERROR([JVMCI is currently not supported on this platform.])
fi
fi
fi
AC_SUBST(INCLUDE_JVMCI)
AC_MSG_CHECKING([if graal module jdk.internal.vm.compiler should be built])
# Check if graal is diabled
if HOTSPOT_IS_JVM_FEATURE_DISABLED(graal); then
AC_MSG_RESULT([no, forced])
JVM_FEATURES_graal=""
INCLUDE_GRAAL="false"
else
if HOTSPOT_CHECK_JVM_FEATURE(graal); then
AC_MSG_RESULT([yes, forced])
if test "x$JVM_FEATURES_jvmci" != "xjvmci" ; then
AC_MSG_ERROR([Specified JVM feature 'graal' requires feature 'jvmci'])
fi
JVM_FEATURES_graal="graal"
INCLUDE_GRAAL="true"
else
# By default enable graal build on x64 or where AOT is available.
# graal build requires jvmci.
if test "x$JVM_FEATURES_jvmci" = "xjvmci" && \
(test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$ENABLE_AOT" = "xtrue") ; then
AC_MSG_RESULT([yes])
JVM_FEATURES_graal="graal"
INCLUDE_GRAAL="true"
else
AC_MSG_RESULT([no])
JVM_FEATURES_graal=""
INCLUDE_GRAAL="false"
fi
fi
fi
AC_SUBST(INCLUDE_GRAAL)
# Disable aot with '--with-jvm-features=-aot'
if HOTSPOT_IS_JVM_FEATURE_DISABLED(aot); then
ENABLE_AOT="false"
fi
AC_MSG_CHECKING([if aot should be enabled])
if test "x$ENABLE_AOT" = "xtrue"; then
if test "x$JVM_FEATURES_graal" != "xgraal"; then
if test "x$enable_aot" = "xyes" || HOTSPOT_CHECK_JVM_FEATURE(aot); then
AC_MSG_RESULT([yes, forced])
AC_MSG_ERROR([Specified JVM feature 'aot' requires feature 'graal'])
else
AC_MSG_RESULT([no])
fi
JVM_FEATURES_aot=""
ENABLE_AOT="false"
else
if test "x$enable_aot" = "xyes" || HOTSPOT_CHECK_JVM_FEATURE(aot); then
AC_MSG_RESULT([yes, forced])
else
AC_MSG_RESULT([yes])
fi
JVM_FEATURES_aot="aot"
fi
else
if test "x$enable_aot" = "xno" || HOTSPOT_IS_JVM_FEATURE_DISABLED(aot); then
AC_MSG_RESULT([no, forced])
else
AC_MSG_RESULT([no])
fi
JVM_FEATURES_aot=""
if HOTSPOT_CHECK_JVM_FEATURE(aot); then
AC_MSG_ERROR([To enable aot, you must use --enable-aot])
fi
fi
AC_SUBST(ENABLE_AOT)
if test "x$OPENJDK_TARGET_CPU" = xarm ; then
# Default to use link time optimizations on minimal on arm
JVM_FEATURES_link_time_opt="link-time-opt"
else
JVM_FEATURES_link_time_opt=""
fi
# All variants but minimal (and custom) get these features
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES g1gc parallelgc serialgc epsilongc shenandoahgc jni-check jvmti management nmt services vm-structs zgc"
# Disable CDS on AIX.
if test "x$OPENJDK_TARGET_OS" = "xaix"; then
ENABLE_CDS="false"
if test "x$enable_cds" = "xyes"; then
AC_MSG_ERROR([CDS is currently not supported on AIX. Remove --enable-cds.])
fi
fi
# Disable CDS if user requested it with --with-jvm-features=-cds.
if HOTSPOT_IS_JVM_FEATURE_DISABLED(cds); then
ENABLE_CDS="false"
if test "x$enable_cds" = "xyes"; then
AC_MSG_ERROR([CDS was disabled by --with-jvm-features=-cds. Remove --enable-cds.])
fi
fi
# Disable CDS for zero, minimal, core..
if HOTSPOT_CHECK_JVM_VARIANT(zero) || HOTSPOT_CHECK_JVM_VARIANT(minimal) || HOTSPOT_CHECK_JVM_VARIANT(core); then
# ..except when the user explicitely requested it with --enable-jvm-features
if ! HOTSPOT_CHECK_JVM_FEATURE(cds); then
ENABLE_CDS="false"
if test "x$enable_cds" = "xyes"; then
AC_MSG_ERROR([CDS not implemented for variants zero, minimal, core. Remove --enable-cds.])
fi
fi
fi
AC_MSG_CHECKING([if cds should be enabled])
if test "x$ENABLE_CDS" = "xtrue"; then
if test "x$enable_cds" = "xyes"; then
AC_MSG_RESULT([yes, forced])
else
AC_MSG_RESULT([yes])
fi
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cds"
else
if test "x$enable_cds" = "xno"; then
AC_MSG_RESULT([no, forced])
else
AC_MSG_RESULT([no])
fi
fi
# Enable features depending on variant.
JVM_FEATURES_server="compiler1 compiler2 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci $JVM_FEATURES_aot $JVM_FEATURES_graal"
JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES"
JVM_FEATURES_core="$NON_MINIMAL_FEATURES $JVM_FEATURES"
JVM_FEATURES_minimal="compiler1 minimal serialgc $JVM_FEATURES $JVM_FEATURES_link_time_opt"
JVM_FEATURES_zero="zero $NON_MINIMAL_FEATURES $JVM_FEATURES"
JVM_FEATURES_custom="$JVM_FEATURES"
AC_SUBST(JVM_FEATURES_server)
AC_SUBST(JVM_FEATURES_client)
AC_SUBST(JVM_FEATURES_core)
AC_SUBST(JVM_FEATURES_minimal)
AC_SUBST(JVM_FEATURES_zero)
AC_SUBST(JVM_FEATURES_custom)
# Used for verification of Makefiles by check-jvm-feature
AC_SUBST(VALID_JVM_FEATURES)
# --with-cpu-port is no longer supported
BASIC_DEPRECATED_ARG_WITH(with-cpu-port)
])
###############################################################################
# Finalize JVM features once all setup is complete, including custom setup.
#
AC_DEFUN_ONCE([HOTSPOT_FINALIZE_JVM_FEATURES],
[
for variant in $JVM_VARIANTS; do
AC_MSG_CHECKING([JVM features for JVM variant '$variant'])
features_var_name=JVM_FEATURES_$variant
JVM_FEATURES_FOR_VARIANT=${!features_var_name}
# Filter out user-requested disabled features
BASIC_GET_NON_MATCHING_VALUES(JVM_FEATURES_FOR_VARIANT, $JVM_FEATURES_FOR_VARIANT, $DISABLED_JVM_FEATURES)
# Keep feature lists sorted and free of duplicates
BASIC_SORT_LIST(JVM_FEATURES_FOR_VARIANT, $JVM_FEATURES_FOR_VARIANT)
# Update real feature set variable
eval $features_var_name='"'$JVM_FEATURES_FOR_VARIANT'"'
AC_MSG_RESULT(["$JVM_FEATURES_FOR_VARIANT"])
# Verify that we have at least one gc selected
GC_FEATURES=`$ECHO $JVM_FEATURES_FOR_VARIANT | $GREP gc`
if test "x$GC_FEATURES" = x; then
AC_MSG_WARN([Invalid JVM features: No gc selected for variant $variant.])
fi
# Validate features (for configure script errors, not user errors)
BASIC_GET_NON_MATCHING_VALUES(INVALID_FEATURES, $JVM_FEATURES_FOR_VARIANT, $VALID_JVM_FEATURES)
if test "x$INVALID_FEATURES" != x; then
AC_MSG_ERROR([Internal configure script error. Invalid JVM feature(s): $INVALID_FEATURES])
fi
done
])
################################################################################
# Check if gtest should be built
#
AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_GTEST],
[
AC_ARG_ENABLE([hotspot-gtest], [AS_HELP_STRING([--disable-hotspot-gtest],
[Disables building of the Hotspot unit tests @<:@enabled@:>@])])
if test -e "${TOPDIR}/test/hotspot/gtest"; then
GTEST_DIR_EXISTS="true"
else
GTEST_DIR_EXISTS="false"
fi
AC_MSG_CHECKING([if Hotspot gtest unit tests should be built])
if test "x$enable_hotspot_gtest" = "xyes"; then
if test "x$GTEST_DIR_EXISTS" = "xtrue"; then
AC_MSG_RESULT([yes, forced])
BUILD_GTEST="true"
else
AC_MSG_ERROR([Cannot build gtest without the test source])
fi
elif test "x$enable_hotspot_gtest" = "xno"; then
AC_MSG_RESULT([no, forced])
BUILD_GTEST="false"
elif test "x$enable_hotspot_gtest" = "x"; then
if test "x$GTEST_DIR_EXISTS" = "xtrue"; then
AC_MSG_RESULT([yes])
BUILD_GTEST="true"
else
AC_MSG_RESULT([no])
BUILD_GTEST="false"
fi
else
AC_MSG_ERROR([--enable-gtest must be either yes or no])
fi
AC_SUBST(BUILD_GTEST)
UTIL_DEPRECATED_ARG_WITH(with-cpu-port)
# in jdk15 hotspot-gtest was replaced with --with-gtest
UTIL_DEPRECATED_ARG_ENABLE(hotspot-gtest)
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VARIANT],
[
# Deprecated in JDK 12
BASIC_DEPRECATED_ARG_WITH([jdk-variant])
UTIL_DEPRECATED_ARG_WITH([jdk-variant])
])
###############################################################################
@@ -46,19 +46,17 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VARIANT],
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],
[
DEBUG_LEVEL="release"
AC_MSG_CHECKING([which debug level to use])
AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug],
[set the debug level to fastdebug (shorthand for --with-debug-level=fastdebug) @<:@disabled@:>@])],
[
ENABLE_DEBUG="${enableval}"
DEBUG_LEVEL="fastdebug"
], [ENABLE_DEBUG="no"])
UTIL_ARG_ENABLE(NAME: debug, DEFAULT: false, RESULT: ENABLE_DEBUG,
DESC: [enable debugging (shorthand for --with-debug-level=fastdebug)],
IF_ENABLED: [ DEBUG_LEVEL="fastdebug" ])
AC_MSG_CHECKING([which debug level to use])
AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level],
[set the debug level (release, fastdebug, slowdebug, optimized) @<:@release@:>@])],
[
DEBUG_LEVEL="${withval}"
if test "x$ENABLE_DEBUG" = xyes; then
if test "x$ENABLE_DEBUG" = xtrue; then
AC_MSG_ERROR([You cannot use both --enable-debug and --with-debug-level at the same time.])
fi
])
@@ -103,89 +101,56 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_OPEN_OR_CUSTOM],
[
AC_ARG_ENABLE([openjdk-only], [AS_HELP_STRING([--enable-openjdk-only],
[suppress building custom source even if present @<:@disabled@:>@])],,[enable_openjdk_only="no"])
AC_MSG_CHECKING([if custom source is suppressed (openjdk-only)])
AC_MSG_RESULT([$enable_openjdk_only])
if test "x$enable_openjdk_only" = "xyes"; then
SUPPRESS_CUSTOM_EXTENSIONS="true"
elif test "x$enable_openjdk_only" = "xno"; then
SUPPRESS_CUSTOM_EXTENSIONS="false"
else
AC_MSG_ERROR([Invalid value for --enable-openjdk-only: $enable_openjdk_only])
fi
UTIL_ARG_ENABLE(NAME: openjdk-only, DEFAULT: false,
RESULT: SUPPRESS_CUSTOM_EXTENSIONS,
DESC: [suppress building custom source even if present],
CHECKING_MSG: [if custom source is suppressed (openjdk-only)])
])
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
[
# Should we build a JDK without a graphical UI?
AC_MSG_CHECKING([headless only])
AC_ARG_ENABLE([headless-only], [AS_HELP_STRING([--enable-headless-only],
[only build headless (no GUI) support @<:@disabled@:>@])])
if test "x$enable_headless_only" = "xyes"; then
ENABLE_HEADLESS_ONLY="true"
AC_MSG_RESULT([yes])
elif test "x$enable_headless_only" = "xno"; then
ENABLE_HEADLESS_ONLY="false"
AC_MSG_RESULT([no])
elif test "x$enable_headless_only" = "x"; then
ENABLE_HEADLESS_ONLY="false"
AC_MSG_RESULT([no])
else
AC_MSG_ERROR([--enable-headless-only can only take yes or no])
fi
UTIL_ARG_ENABLE(NAME: headless-only, DEFAULT: false,
RESULT: ENABLE_HEADLESS_ONLY,
DESC: [only build headless (no GUI) support],
CHECKING_MSG: [if we should build headless-only (no GUI)])
AC_SUBST(ENABLE_HEADLESS_ONLY)
# Should we build the complete docs, or just a lightweight version?
AC_ARG_ENABLE([full-docs], [AS_HELP_STRING([--enable-full-docs],
[build complete documentation @<:@enabled if all tools found@:>@])])
# should we linktime gc unused code sections in the JDK build ?
if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = xs390x; then
LINKTIME_GC_DEFAULT=true
else
LINKTIME_GC_DEFAULT=false
fi
# Verify dependencies
UTIL_ARG_ENABLE(NAME: linktime-gc, DEFAULT: $LINKTIME_GC_DEFAULT,
DEFAULT_DESC: [auto], RESULT: ENABLE_LINKTIME_GC,
DESC: [use link time gc on unused code sections in the JDK build],
CHECKING_MSG: [if linker should clean out unused code (linktime-gc)])
AC_SUBST(ENABLE_LINKTIME_GC)
# Check for full doc dependencies
FULL_DOCS_AVAILABLE=true
AC_MSG_CHECKING([for graphviz dot])
if test "x$DOT" != "x"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, cannot generate full docs])
FULL_DOCS_DEP_MISSING=true
FULL_DOCS_AVAILABLE=false
fi
AC_MSG_CHECKING([for pandoc])
if test "x$PANDOC" != "x"; then
if test "x$ENABLE_PANDOC" = "xtrue"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, cannot generate full docs])
FULL_DOCS_DEP_MISSING=true
fi
AC_MSG_CHECKING([full docs])
if test "x$enable_full_docs" = xyes; then
if test "x$FULL_DOCS_DEP_MISSING" = "xtrue"; then
AC_MSG_RESULT([no, missing dependencies])
HELP_MSG_MISSING_DEPENDENCY([dot])
AC_MSG_ERROR([Cannot enable full docs with missing dependencies. See above. $HELP_MSG])
else
ENABLE_FULL_DOCS=true
AC_MSG_RESULT([yes, forced])
fi
elif test "x$enable_full_docs" = xno; then
ENABLE_FULL_DOCS=false
AC_MSG_RESULT([no, forced])
elif test "x$enable_full_docs" = x; then
# Check for prerequisites
if test "x$FULL_DOCS_DEP_MISSING" = xtrue; then
ENABLE_FULL_DOCS=false
AC_MSG_RESULT([no, missing dependencies])
else
ENABLE_FULL_DOCS=true
AC_MSG_RESULT([yes, dependencies present])
fi
else
AC_MSG_ERROR([--enable-full-docs can only take yes or no])
FULL_DOCS_AVAILABLE=false
fi
# Should we build the complete docs, or just a lightweight version?
UTIL_ARG_ENABLE(NAME: full-docs, DEFAULT: auto, RESULT: ENABLE_FULL_DOCS,
AVAILABLE: $FULL_DOCS_AVAILABLE, DESC: [build complete documentation],
DEFAULT_DESC: [enabled if all tools found])
AC_SUBST(ENABLE_FULL_DOCS)
# Choose cacerts source file
@@ -205,14 +170,8 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
AC_SUBST(CACERTS_FILE)
# Enable or disable unlimited crypto
AC_ARG_ENABLE(unlimited-crypto, [AS_HELP_STRING([--disable-unlimited-crypto],
[Disable unlimited crypto policy @<:@enabled@:>@])],,
[enable_unlimited_crypto=yes])
if test "x$enable_unlimited_crypto" = "xyes"; then
UNLIMITED_CRYPTO=true
else
UNLIMITED_CRYPTO=false
fi
UTIL_ARG_ENABLE(NAME: unlimited-crypto, DEFAULT: true, RESULT: UNLIMITED_CRYPTO,
DESC: [enable unlimited crypto policy])
AC_SUBST(UNLIMITED_CRYPTO)
# Should we build the serviceability agent (SA)?
@@ -290,7 +249,7 @@ AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
[
#
# NATIVE_DEBUG_SYMBOLS
# Native debug symbols.
# This must be done after the toolchain is setup, since we're looking at objcopy.
#
AC_MSG_CHECKING([what type of native debug symbols to use])
@@ -302,26 +261,50 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
if test "x$withval" = xexternal || test "x$withval" = xzipped; then
AC_MSG_ERROR([AIX only supports the parameters 'none' and 'internal' for --with-native-debug-symbols])
fi
elif test "x$OPENJDK_TARGET_OS" = xwindows; then
if test "x$withval" = xinternal; then
AC_MSG_ERROR([Windows does not support the parameter 'internal' for --with-native-debug-symbols])
fi
fi
],
[
if test "x$OPENJDK_TARGET_OS" = xaix; then
# AIX doesn't support 'external' so use 'internal' as default
with_native_debug_symbols="internal"
if test "x$STATIC_BUILD" = xtrue; then
with_native_debug_symbols="none"
else
if test "x$STATIC_BUILD" = xtrue; then
with_native_debug_symbols="none"
if test "x$OPENJDK_TARGET_OS" = xaix; then
# AIX doesn't support 'external' so use 'internal' as default
with_native_debug_symbols="internal"
else
with_native_debug_symbols="external"
fi
fi
])
NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols
AC_MSG_RESULT([$NATIVE_DEBUG_SYMBOLS])
AC_MSG_RESULT([$with_native_debug_symbols])
if test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then
if test "x$with_native_debug_symbols" = xnone; then
COMPILE_WITH_DEBUG_SYMBOLS=false
COPY_DEBUG_SYMBOLS=false
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$with_native_debug_symbols" = xinternal; then
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=false
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$with_native_debug_symbols" = xexternal; then
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
if test "x$OPENJDK_TARGET_OS" = xlinux; then
if test "x$OBJCOPY" = x; then
# enabling of enable-debug-symbols and can't find objcopy
# this is an error
AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
fi
fi
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=true
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$with_native_debug_symbols" = xzipped; then
if test "x$OPENJDK_TARGET_OS" = xlinux; then
if test "x$OBJCOPY" = x; then
# enabling of enable-debug-symbols and can't find objcopy
# this is an error
@@ -332,27 +315,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=true
ZIP_EXTERNAL_DEBUG_SYMBOLS=true
elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
COMPILE_WITH_DEBUG_SYMBOLS=false
COPY_DEBUG_SYMBOLS=false
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$NATIVE_DEBUG_SYMBOLS" = xinternal; then
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=false
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
if test "x$OBJCOPY" = x; then
# enabling of enable-debug-symbols and can't find objcopy
# this is an error
AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
fi
fi
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=true
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
else
AC_MSG_ERROR([Allowed native debug symbols are: none, internal, external, zipped])
fi
@@ -360,6 +322,33 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
AC_SUBST(COMPILE_WITH_DEBUG_SYMBOLS)
AC_SUBST(COPY_DEBUG_SYMBOLS)
AC_SUBST(ZIP_EXTERNAL_DEBUG_SYMBOLS)
# Should we add external native debug symbols to the shipped bundles?
AC_MSG_CHECKING([if we should add external native debug symbols to the shipped bundles])
AC_ARG_WITH([external-symbols-in-bundles],
[AS_HELP_STRING([--with-external-symbols-in-bundles],
[which type of external native debug symbol information shall be shipped in product bundles (none, public, full)
(e.g. ship full/stripped pdbs on Windows) @<:@none@:>@])])
if test "x$with_external_symbols_in_bundles" = x || test "x$with_external_symbols_in_bundles" = xnone ; then
AC_MSG_RESULT([no])
elif test "x$with_external_symbols_in_bundles" = xfull || test "x$with_external_symbols_in_bundles" = xpublic ; then
if test "x$OPENJDK_TARGET_OS" != xwindows ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles currently only works on windows!])
elif test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external is used!])
elif test "x$with_external_symbols_in_bundles" = xfull ; then
AC_MSG_RESULT([full])
SHIP_DEBUG_SYMBOLS=full
else
AC_MSG_RESULT([public])
SHIP_DEBUG_SYMBOLS=public
fi
else
AC_MSG_ERROR([$with_external_symbols_in_bundles is an unknown value for --with-external-symbols-in-bundles])
fi
AC_SUBST(SHIP_DEBUG_SYMBOLS)
])
################################################################################
@@ -368,14 +357,19 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
[
AC_ARG_ENABLE(native-coverage, [AS_HELP_STRING([--enable-native-coverage],
[enable native compilation with code coverage data@<:@disabled@:>@])])
GCOV_ENABLED="false"
if test "x$enable_native_coverage" = "xyes"; then
case $TOOLCHAIN_TYPE in
gcc | clang)
AC_MSG_CHECKING([if native coverage is enabled])
AC_MSG_RESULT([yes])
UTIL_ARG_ENABLE(NAME: native-coverage, DEFAULT: false, RESULT: GCOV_ENABLED,
DESC: [enable native compilation with code coverage data],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if native coverage is available])
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
],
IF_ENABLED: [
GCOV_CFLAGS="-fprofile-arcs -ftest-coverage -fno-inline"
GCOV_LDFLAGS="-fprofile-arcs"
JVM_CFLAGS="$JVM_CFLAGS $GCOV_CFLAGS"
@@ -386,18 +380,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $GCOV_CFLAGS"
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $GCOV_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $GCOV_LDFLAGS"
GCOV_ENABLED="true"
;;
*)
AC_MSG_ERROR([--enable-native-coverage only works with toolchain type gcc or clang])
;;
esac
elif test "x$enable_native_coverage" = "xno"; then
AC_MSG_CHECKING([if native coverage is enabled])
AC_MSG_RESULT([no])
elif test "x$enable_native_coverage" != "x"; then
AC_MSG_ERROR([--enable-native-coverage can only be assigned "yes" or "no"])
fi
])
AC_SUBST(GCOV_ENABLED)
AC_ARG_WITH(jcov, [AS_HELP_STRING([--with-jcov],
@@ -419,14 +402,14 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
AC_MSG_ERROR([Invalid JCov bundle: "$JCOV_HOME/lib/jcov.jar" does not exist])
fi
JCOV_ENABLED="true"
BASIC_FIXUP_PATH(JCOV_HOME)
UTIL_FIXUP_PATH(JCOV_HOME)
if test "x$with_jcov_input_jdk" != "x" ; then
JCOV_INPUT_JDK="$with_jcov_input_jdk"
if test ! -f "$JCOV_INPUT_JDK/bin/java$EXE_SUFFIX"; then
AC_MSG_RESULT([fail])
AC_MSG_ERROR([Invalid JDK bundle: "$JCOV_INPUT_JDK/bin/java$EXE_SUFFIX" does not exist])
fi
BASIC_FIXUP_PATH(JCOV_INPUT_JDK)
UTIL_FIXUP_PATH(JCOV_INPUT_JDK)
fi
if test "x$with_jcov_filters" != "x" ; then
JCOV_FILTERS="$with_jcov_filters"
@@ -444,14 +427,19 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
[
AC_ARG_ENABLE(asan, [AS_HELP_STRING([--enable-asan],
[enable AddressSanitizer if possible @<:@disabled@:>@])])
ASAN_ENABLED="no"
if test "x$enable_asan" = "xyes"; then
case $TOOLCHAIN_TYPE in
gcc | clang)
AC_MSG_CHECKING([if asan is enabled])
AC_MSG_RESULT([yes])
UTIL_ARG_ENABLE(NAME: asan, DEFAULT: false,
DESC: [enable AddressSanitizer],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if AddressSanitizer (asan) is available])
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
],
IF_ENABLED: [
ASAN_CFLAGS="-fsanitize=address -fno-omit-frame-pointer"
ASAN_LDFLAGS="-fsanitize=address"
JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"
@@ -463,17 +451,10 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $ASAN_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $ASAN_LDFLAGS"
ASAN_ENABLED="yes"
;;
*)
AC_MSG_ERROR([--enable-asan only works with toolchain type gcc or clang])
;;
esac
elif test "x$enable_asan" = "xno"; then
AC_MSG_CHECKING([if asan is enabled])
AC_MSG_RESULT([no])
elif test "x$enable_asan" != "x"; then
AC_MSG_ERROR([--enable-asan can only be assigned "yes" or "no"])
fi
],
IF_DISABLED: [
ASAN_ENABLED="no"
])
AC_SUBST(ASAN_ENABLED)
])
@@ -485,26 +466,23 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD],
[
AC_ARG_ENABLE([static-build], [AS_HELP_STRING([--enable-static-build],
[enable static library build @<:@disabled@:>@])])
STATIC_BUILD=false
if test "x$enable_static_build" = "xyes"; then
AC_MSG_CHECKING([if static build is enabled])
AC_MSG_RESULT([yes])
if test "x$OPENJDK_TARGET_OS" != "xmacosx"; then
AC_MSG_ERROR([--enable-static-build is only supported for macosx builds])
fi
STATIC_BUILD_CFLAGS="-DSTATIC_BUILD=1"
CFLAGS_JDKLIB_EXTRA="$CFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
CXXFLAGS_JDKLIB_EXTRA="$CXXFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
STATIC_BUILD=true
elif test "x$enable_static_build" = "xno"; then
AC_MSG_CHECKING([if static build is enabled])
AC_MSG_RESULT([no])
elif test "x$enable_static_build" != "x"; then
AC_MSG_ERROR([--enable-static-build can only be assigned "yes" or "no"])
fi
UTIL_ARG_ENABLE(NAME: static-build, DEFAULT: false, RESULT: STATIC_BUILD,
DESC: [enable static library build],
CHECKING_MSG: [if static build is enabled],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if static build is available])
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
],
IF_ENABLED: [
STATIC_BUILD_CFLAGS="-DSTATIC_BUILD=1"
CFLAGS_JDKLIB_EXTRA="$CFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
CXXFLAGS_JDKLIB_EXTRA="$CXXFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
])
AC_SUBST(STATIC_BUILD)
])
@@ -515,24 +493,10 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_JLINK_OPTIONS],
[
AC_ARG_ENABLE([keep-packaged-modules], [AS_HELP_STRING([--disable-keep-packaged-modules],
[Do not keep packaged modules in jdk image @<:@enable@:>@])])
AC_MSG_CHECKING([if packaged modules are kept])
if test "x$enable_keep_packaged_modules" = "xyes"; then
AC_MSG_RESULT([yes])
JLINK_KEEP_PACKAGED_MODULES=true
elif test "x$enable_keep_packaged_modules" = "xno"; then
AC_MSG_RESULT([no])
JLINK_KEEP_PACKAGED_MODULES=false
elif test "x$enable_keep_packaged_modules" = "x"; then
AC_MSG_RESULT([yes (default)])
JLINK_KEEP_PACKAGED_MODULES=true
else
AC_MSG_RESULT([error])
AC_MSG_ERROR([--enable-keep-packaged-modules accepts no argument])
fi
UTIL_ARG_ENABLE(NAME: keep-packaged-modules, DEFAULT: true,
RESULT: JLINK_KEEP_PACKAGED_MODULES,
DESC: [enable keeping of packaged modules in jdk image],
CHECKING_MSG: [if packaged modules are kept])
AC_SUBST(JLINK_KEEP_PACKAGED_MODULES)
])
@@ -542,36 +506,20 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JLINK_OPTIONS],
#
AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER],
[
AC_ARG_ENABLE([jtreg-failure-handler], [AS_HELP_STRING([--enable-jtreg-failure-handler],
[forces build of the jtreg failure handler to be enabled, missing dependencies
become fatal errors. Default is auto, where the failure handler is built if all
dependencies are present and otherwise just disabled.])])
AC_MSG_CHECKING([if jtreg failure handler should be built])
if test "x$enable_jtreg_failure_handler" = "xyes"; then
if test "x$JT_HOME" = "x"; then
AC_MSG_ERROR([Cannot enable jtreg failure handler without jtreg.])
else
BUILD_FAILURE_HANDLER=true
AC_MSG_RESULT([yes, forced])
fi
elif test "x$enable_jtreg_failure_handler" = "xno"; then
BUILD_FAILURE_HANDLER=false
AC_MSG_RESULT([no, forced])
elif test "x$enable_jtreg_failure_handler" = "xauto" \
|| test "x$enable_jtreg_failure_handler" = "x"; then
if test "x$JT_HOME" = "x"; then
BUILD_FAILURE_HANDLER=false
AC_MSG_RESULT([no, missing jtreg])
else
BUILD_FAILURE_HANDLER=true
AC_MSG_RESULT([yes, jtreg present])
fi
else
AC_MSG_ERROR([Invalid value for --enable-jtreg-failure-handler: $enable_jtreg_failure_handler])
fi
UTIL_ARG_ENABLE(NAME: jtreg-failure-handler, DEFAULT: auto,
RESULT: BUILD_FAILURE_HANDLER,
DESC: [enable keeping of packaged modules in jdk image],
DEFAULT_DESC: [enabled if jtreg is present],
CHECKING_MSG: [if the jtreg failure handler should be built],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if the jtreg failure handler is available])
if test "x$JT_HOME" != "x"; then
AC_MSG_RESULT([yes])
else
AVAILABLE=false
AC_MSG_RESULT([no (jtreg not present)])
fi
])
AC_SUBST(BUILD_FAILURE_HANDLER)
])
@@ -581,48 +529,14 @@ AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER],
#
AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST],
[
AC_ARG_ENABLE([generate-classlist], [AS_HELP_STRING([--disable-generate-classlist],
[forces enabling or disabling of the generation of a CDS classlist at build time.
Default is to generate it when either the server or client JVMs are built and
enable-cds is true.])])
# Check if it's likely that it's possible to generate the classlist. Depending
# on exact jvm configuration it could be possible anyway.
if test "x$ENABLE_CDS" = "xtrue" && (HOTSPOT_CHECK_JVM_VARIANT(server) || HOTSPOT_CHECK_JVM_VARIANT(client) || HOTSPOT_CHECK_JVM_FEATURE(cds)); then
ENABLE_GENERATE_CLASSLIST_POSSIBLE="true"
else
ENABLE_GENERATE_CLASSLIST_POSSIBLE="false"
fi
AC_MSG_CHECKING([if the CDS classlist generation should be enabled])
if test "x$enable_generate_classlist" = "xyes"; then
AC_MSG_RESULT([yes, forced])
ENABLE_GENERATE_CLASSLIST="true"
if test "x$ENABLE_GENERATE_CLASSLIST_POSSIBLE" = "xfalse"; then
if test "x$ENABLE_CDS" = "xfalse"; then
# In GenerateLinkOptData.gmk, DumpLoadedClassList is used to generate the
# classlist file. It never will work in this case since the VM will report
# an error for DumpLoadedClassList when CDS is disabled.
AC_MSG_ERROR([Generation of classlist is not possible with enable-cds=false])
else
AC_MSG_WARN([Generation of classlist might not be possible with JVM Variants $JVM_VARIANTS and enable-cds=$ENABLE_CDS])
fi
fi
elif test "x$enable_generate_classlist" = "xno"; then
AC_MSG_RESULT([no, forced])
ENABLE_GENERATE_CLASSLIST="false"
elif test "x$enable_generate_classlist" = "x"; then
if test "x$ENABLE_GENERATE_CLASSLIST_POSSIBLE" = "xtrue"; then
AC_MSG_RESULT([yes])
ENABLE_GENERATE_CLASSLIST="true"
else
AC_MSG_RESULT([no])
ENABLE_GENERATE_CLASSLIST="false"
fi
else
AC_MSG_ERROR([Invalid value for --enable-generate-classlist: $enable_generate_classlist])
fi
# In GenerateLinkOptData.gmk, DumpLoadedClassList is used to generate the
# classlist file. It never will work if CDS is disabled, since the VM will report
# an error for DumpLoadedClassList.
UTIL_ARG_ENABLE(NAME: generate-classlist, DEFAULT: auto,
RESULT: ENABLE_GENERATE_CLASSLIST, AVAILABLE: $ENABLE_CDS,
DESC: [enable generation of a CDS classlist at build time],
DEFAULT_DESC: [enabled if the JVM feature 'cds' is enabled for all JVM variants],
CHECKING_MSG: [if the CDS classlist generation should be enabled])
AC_SUBST(ENABLE_GENERATE_CLASSLIST)
])
@@ -654,56 +568,121 @@ AC_DEFUN([JDKOPT_EXCLUDE_TRANSLATIONS],
#
AC_DEFUN([JDKOPT_ENABLE_DISABLE_MANPAGES],
[
AC_ARG_ENABLE([manpages], [AS_HELP_STRING([--disable-manpages],
[Set to disable copy of static man pages @<:@enabled@:>@])])
BUILD_MANPAGES="true"
AC_MSG_CHECKING([if static man pages should be copied])
if test "x$enable_manpages" = "x"; then
AC_MSG_RESULT([yes])
elif test "x$enable_manpages" = "xyes"; then
AC_MSG_RESULT([yes, forced])
elif test "x$enable_manpages" = "xno"; then
AC_MSG_RESULT([no, forced])
BUILD_MANPAGES="false"
else
AC_MSG_RESULT([no])
AC_MSG_ERROR([--enable-manpages can only yes/no or empty])
fi
UTIL_ARG_ENABLE(NAME: manpages, DEFAULT: true, RESULT: BUILD_MANPAGES,
DESC: [enable copying of static man pages],
CHECKING_MSG: [if static man pages should be copied])
AC_SUBST(BUILD_MANPAGES)
])
################################################################################
#
# Disable the default CDS archive generation
# cross compilation - disabled
#
AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE],
[
AC_ARG_ENABLE([cds-archive], [AS_HELP_STRING([--disable-cds-archive],
[Set to disable generation of a default CDS archive in the product image @<:@enabled@:>@])])
AC_MSG_CHECKING([if a default CDS archive should be generated])
if test "x$ENABLE_CDS" = "xfalse"; then
AC_MSG_RESULT([no, because CDS is disabled])
BUILD_CDS_ARCHIVE="false"
elif test "x$COMPILE_TYPE" = "xcross"; then
AC_MSG_RESULT([no, not possible with cross compilation])
BUILD_CDS_ARCHIVE="false"
elif test "x$enable_cds_archive" = "xyes"; then
AC_MSG_RESULT([yes, forced])
BUILD_CDS_ARCHIVE="true"
elif test "x$enable_cds_archive" = "x"; then
AC_MSG_RESULT([yes])
BUILD_CDS_ARCHIVE="true"
elif test "x$enable_cds_archive" = "xno"; then
AC_MSG_RESULT([no, forced])
BUILD_CDS_ARCHIVE="false"
else
AC_MSG_RESULT([no])
AC_MSG_ERROR([--enable-cds_archive can only be yes/no or empty])
fi
UTIL_ARG_ENABLE(NAME: cds-archive, DEFAULT: auto, RESULT: BUILD_CDS_ARCHIVE,
DESC: [enable generation of a default CDS archive in the product image],
DEFAULT_DESC: [enabled if possible],
CHECKING_MSG: [if a default CDS archive should be generated],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if CDS archive is available])
if test "x$ENABLE_CDS" = "xfalse"; then
AC_MSG_RESULT([no (CDS is disabled)])
AVAILABLE=false
elif test "x$COMPILE_TYPE" = "xcross"; then
AC_MSG_RESULT([no (not possible with cross compilation)])
AVAILABLE=false
else
AC_MSG_RESULT([yes])
fi
])
AC_SUBST(BUILD_CDS_ARCHIVE)
])
################################################################################
#
# Disallow any output from containing absolute paths from the build system.
# This setting defaults to allowed on debug builds and not allowed on release
# builds.
#
AC_DEFUN([JDKOPT_ALLOW_ABSOLUTE_PATHS_IN_OUTPUT],
[
AC_ARG_ENABLE([absolute-paths-in-output],
[AS_HELP_STRING([--disable-absolute-paths-in-output],
[Set to disable to prevent any absolute paths from the build to end up in
any of the build output. @<:@disabled in release builds, otherwise enabled@:>@])
])
AC_MSG_CHECKING([if absolute paths should be allowed in the build output])
if test "x$enable_absolute_paths_in_output" = "xno"; then
AC_MSG_RESULT([no, forced])
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT="false"
elif test "x$enable_absolute_paths_in_output" = "xyes"; then
AC_MSG_RESULT([yes, forced])
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT="true"
elif test "x$DEBUG_LEVEL" = "xrelease"; then
AC_MSG_RESULT([no, release build])
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT="false"
else
AC_MSG_RESULT([yes, debug build])
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT="true"
fi
AC_SUBST(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT)
])
################################################################################
#
# Check and set options related to reproducible builds.
#
AC_DEFUN_ONCE([JDKOPT_SETUP_REPRODUCIBLE_BUILD],
[
AC_ARG_WITH([source-date], [AS_HELP_STRING([--with-source-date],
[how to set SOURCE_DATE_EPOCH ('updated', 'current', 'version' a timestamp or an ISO-8601 date) @<:@updated@:>@])],
[with_source_date_present=true], [with_source_date_present=false])
AC_MSG_CHECKING([what source date to use])
if test "x$with_source_date" = xyes; then
AC_MSG_ERROR([--with-source-date must have a value])
elif test "x$with_source_date" = xupdated || test "x$with_source_date" = x; then
# Tell the makefiles to update at each build
SOURCE_DATE=updated
AC_MSG_RESULT([determined at build time, from 'updated'])
elif test "x$with_source_date" = xcurrent; then
# Set the current time
SOURCE_DATE=$($DATE +"%s")
AC_MSG_RESULT([$SOURCE_DATE, from 'current'])
elif test "x$with_source_date" = xversion; then
# Use the date from version-numbers
UTIL_GET_EPOCH_TIMESTAMP(SOURCE_DATE, $DEFAULT_VERSION_DATE)
if test "x$SOURCE_DATE" = x; then
AC_MSG_RESULT([unavailable])
AC_MSG_ERROR([Cannot convert DEFAULT_VERSION_DATE to timestamp])
fi
AC_MSG_RESULT([$SOURCE_DATE, from 'version'])
else
# It's a timestamp, an ISO-8601 date, or an invalid string
# Additional [] needed to keep m4 from mangling shell constructs.
if [ [[ "$with_source_date" =~ ^[0-9][0-9]*$ ]] ] ; then
SOURCE_DATE=$with_source_date
AC_MSG_RESULT([$SOURCE_DATE, from timestamp on command line])
else
UTIL_GET_EPOCH_TIMESTAMP(SOURCE_DATE, $with_source_date)
if test "x$SOURCE_DATE" != x; then
AC_MSG_RESULT([$SOURCE_DATE, from ISO-8601 date on command line])
else
AC_MSG_RESULT([unavailable])
AC_MSG_ERROR([Cannot parse date string "$with_source_date"])
fi
fi
fi
UTIL_ARG_ENABLE(NAME: reproducible-build, DEFAULT: $with_source_date_present,
RESULT: ENABLE_REPRODUCIBLE_BUILD,
DESC: [enable reproducible builds (not yet fully functional)],
DEFAULT_DESC: [enabled if --with-source-date is given])
AC_SUBST(SOURCE_DATE)
AC_SUBST(ENABLE_REPRODUCIBLE_BUILD)
])

View File

@@ -36,7 +36,7 @@
AC_DEFUN([JDKVER_CHECK_AND_SET_NUMBER],
[
# Additional [] needed to keep m4 from mangling shell constructs.
if [ ! [[ "$2" =~ ^0*([1-9][0-9]*)|(0)$ ]] ] ; then
if [ ! [[ "$2" =~ ^0*([1-9][0-9]*)$|^0*(0)$ ]] ] ; then
AC_MSG_ERROR(["$2" is not a valid numerical value for $1])
fi
# Extract the version number without leading zeros.

View File

@@ -0,0 +1,666 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
###############################################################################
# Terminology used in this file:
#
# Valid features == All possible features that the JVM knows about.
# Deprecated features == Previously known features (not considered valid).
# Available features == Features that are possible to use in this configuration.
# Default features == Features that are on by default in this configuration.
# Enabled features == Features requested by the user to be present.
# Disabled features == Features excluded from being used by the user.
# Active features == The exact set of features to be used for a JVM variant.
#
# All valid features are considered available, unless listed as unavailable.
# All available features will be turned on as default, unless listed in a filter.
###############################################################################
# We need these as m4 defines to be able to loop over them using m4 later on.
# All valid JVM features, regardless of platform
m4_define(jvm_features_valid, m4_normalize( \
ifdef([custom_jvm_features_valid], custom_jvm_features_valid) \
\
aot cds compiler1 compiler2 dtrace epsilongc g1gc graal jfr jni-check \
jvmci jvmti link-time-opt management minimal nmt opt-size parallelgc \
serialgc services shenandoahgc static-build vm-structs zero zgc \
))
# Deprecated JVM features (these are ignored, but with a warning)
m4_define(jvm_features_deprecated, m4_normalize(
cmsgc trace \
))
# Feature descriptions
m4_define(jvm_feature_desc_aot, [enable ahead of time compilation (AOT)])
m4_define(jvm_feature_desc_cds, [enable class data sharing (CDS)])
m4_define(jvm_feature_desc_compiler1, [enable hotspot compiler C1])
m4_define(jvm_feature_desc_compiler2, [enable hotspot compiler C2])
m4_define(jvm_feature_desc_dtrace, [enable dtrace support])
m4_define(jvm_feature_desc_epsilongc, [include the epsilon (no-op) garbage collector])
m4_define(jvm_feature_desc_g1gc, [include the G1 garbage collector])
m4_define(jvm_feature_desc_graal, [enable Graal (jdk.internal.vm.compiler)])
m4_define(jvm_feature_desc_jfr, [enable JDK Flight Recorder (JFR)])
m4_define(jvm_feature_desc_jni_check, [enable -Xcheck:jni support])
m4_define(jvm_feature_desc_jvmci, [enable JVM Compiler Interface (JVMCI)])
m4_define(jvm_feature_desc_jvmti, [enable Java Virtual Machine Tool Interface (JVM TI)])
m4_define(jvm_feature_desc_link_time_opt, [enable link time optimization])
m4_define(jvm_feature_desc_management, [enable java.lang.management API support])
m4_define(jvm_feature_desc_minimal, [support building variant 'minimal'])
m4_define(jvm_feature_desc_nmt, [include native memory tracking (NMT)])
m4_define(jvm_feature_desc_opt_size, [optimize the JVM library for size])
m4_define(jvm_feature_desc_parallelgc, [include the parallel garbage collector])
m4_define(jvm_feature_desc_serialgc, [include the serial garbage collector])
m4_define(jvm_feature_desc_services, [enable diagnostic services and client attaching])
m4_define(jvm_feature_desc_shenandoahgc, [include the Shenandoah garbage collector])
m4_define(jvm_feature_desc_static_build, [build static library instead of dynamic])
m4_define(jvm_feature_desc_vm_structs, [export JVM structures to the Serviceablility Agent])
m4_define(jvm_feature_desc_zero, [support building variant 'zero'])
m4_define(jvm_feature_desc_zgc, [include the Z garbage collector])
###############################################################################
# Parse command line options for JVM feature selection. After this function
# has run $JVM_FEATURES_ENABLED, $JVM_FEATURES_DISABLED and $JVM_FEATURES_VALID
# can be used.
#
AC_DEFUN_ONCE([JVM_FEATURES_PARSE_OPTIONS],
[
# Setup shell variables from the m4 lists
UTIL_SORT_LIST(JVM_FEATURES_VALID, "jvm_features_valid")
UTIL_SORT_LIST(JVM_FEATURES_DEPRECATED, "jvm_features_deprecated")
# For historical reasons, some jvm features have their own, shorter names.
# Keep those as aliases for the --enable-jvm-feature-* style arguments.
UTIL_ALIASED_ARG_ENABLE(aot, --enable-jvm-feature-aot)
UTIL_ALIASED_ARG_ENABLE(cds, --enable-jvm-feature-cds)
UTIL_ALIASED_ARG_ENABLE(dtrace, --enable-jvm-feature-dtrace)
# First check for features using the
# --with-jvm-features="<[-]feature>[,<[-]feature> ...]" syntax.
AC_ARG_WITH([jvm-features], [AS_HELP_STRING([--with-jvm-features],
[JVM features to enable (foo) or disable (-foo), separated by comma. Use
'--help' to show possible values @<:@none@:>@])])
if test "x$with_jvm_features" != x; then
# Replace "," with " ".
user_jvm_feature_list=${with_jvm_features//,/ }
JVM_FEATURES_ENABLED=`$ECHO $user_jvm_feature_list | \
$AWK '{ for (i=1; i<=NF; i++) if (!match($i, /^-.*/)) printf("%s ", $i) }'`
JVM_FEATURES_DISABLED=`$ECHO $user_jvm_feature_list | \
$AWK '{ for (i=1; i<=NF; i++) if (match($i, /^-.*/)) printf("%s ", substr($i, 2))}'`
# Verify that the user has provided only valid (or deprecated) features
UTIL_GET_NON_MATCHING_VALUES(invalid_features, $JVM_FEATURES_ENABLED \
$JVM_FEATURES_DISABLED, $JVM_FEATURES_VALID $JVM_FEATURES_DEPRECATED)
if test "x$invalid_features" != x; then
AC_MSG_NOTICE([Unknown JVM features specified: '$invalid_features'])
AC_MSG_NOTICE([The available JVM features are: '$JVM_FEATURES_VALID'])
AC_MSG_ERROR([Cannot continue])
fi
# Check if the user has provided deprecated features
UTIL_GET_MATCHING_VALUES(deprecated_features, $JVM_FEATURES_ENABLED \
$JVM_FEATURES_DISABLED, $JVM_FEATURES_DEPRECATED)
if test "x$deprecated_features" != x; then
AC_MSG_WARN([Deprecated JVM features specified (will be ignored): '$deprecated_features'])
# Filter out deprecated features
UTIL_GET_NON_MATCHING_VALUES(JVM_FEATURES_ENABLED, \
$JVM_FEATURES_ENABLED, $deprecated_features)
UTIL_GET_NON_MATCHING_VALUES(JVM_FEATURES_DISABLED, \
$JVM_FEATURES_DISABLED, $deprecated_features)
fi
fi
# Then check for features using the "--enable-jvm-feature-<feature>" syntax.
# Using m4, loop over all features with the variable FEATURE.
m4_foreach(FEATURE, m4_split(jvm_features_valid), [
# Create an m4 variable containing a shell variable name (like
# "enable_jvm_feature_static_build"), and the description.
m4_define(FEATURE_SHELL, [enable_jvm_feature_]m4_translit(FEATURE, -, _))
m4_define(FEATURE_DESCRIPTION, [jvm_feature_desc_]m4_translit(FEATURE, -, _))
AC_ARG_ENABLE(jvm-feature-FEATURE, AS_HELP_STRING(
[--enable-jvm-feature-FEATURE], [enable jvm feature 'FEATURE' (FEATURE_DESCRIPTION)]))
if test "x$FEATURE_SHELL" = xyes; then
JVM_FEATURES_ENABLED="$JVM_FEATURES_ENABLED FEATURE"
elif test "x$FEATURE_SHELL" = xno; then
JVM_FEATURES_DISABLED="$JVM_FEATURES_DISABLED FEATURE"
elif test "x$FEATURE_SHELL" != x; then
AC_MSG_ERROR([Invalid value for --enable-jvm-feature-FEATURE: '$FEATURE_SHELL'])
fi
m4_undefine([FEATURE_SHELL])
m4_undefine([FEATURE_DESCRIPTION])
])
# Likewise, check for deprecated arguments.
m4_foreach(FEATURE, m4_split(jvm_features_deprecated), [
AC_ARG_ENABLE(jvm-feature-FEATURE, AS_HELP_STRING(
[--enable-jvm-feature-FEATURE],
[Deprecated. Option is kept for backwards compatibility and is ignored]))
m4_define(FEATURE_SHELL, [enable_jvm_feature_]m4_translit(FEATURE, -, _))
if test "x$FEATURE_SHELL" != x; then
AC_MSG_WARN([Deprecated JVM feature, will be ignored: --enable-jvm-feature-FEATURE])
fi
m4_undefine([FEATURE_SHELL])
])
# Check if the user has both enabled and disabled a feature
UTIL_GET_MATCHING_VALUES(enabled_and_disabled, $JVM_FEATURES_ENABLED, \
$JVM_FEATURES_DISABLED)
if test "x$enabled_and_disabled" != x; then
AC_MSG_NOTICE([These feature are both enabled and disabled: '$enabled_and_disabled'])
AC_MSG_NOTICE([This can happen if you mix --with-jvm-features and --enable-jvm-feature-*])
AC_MSG_NOTICE([The recommendation is to only use --enable-jvm-feature-*])
AC_MSG_ERROR([Cannot continue])
fi
# Clean up lists and announce results to user
UTIL_SORT_LIST(JVM_FEATURES_ENABLED, $JVM_FEATURES_ENABLED)
AC_MSG_CHECKING([for JVM features enabled by the user])
if test "x$JVM_FEATURES_ENABLED" != x; then
AC_MSG_RESULT(['$JVM_FEATURES_ENABLED'])
else
AC_MSG_RESULT([none])
fi
UTIL_SORT_LIST(JVM_FEATURES_DISABLED, $JVM_FEATURES_DISABLED)
AC_MSG_CHECKING([for JVM features disabled by the user])
if test "x$JVM_FEATURES_DISABLED" != x; then
AC_MSG_RESULT(['$JVM_FEATURES_DISABLED'])
else
AC_MSG_RESULT([none])
fi
# Makefiles use VALID_JVM_FEATURES in check-jvm-feature to verify correctness.
VALID_JVM_FEATURES="$JVM_FEATURES_VALID"
AC_SUBST(VALID_JVM_FEATURES)
])
###############################################################################
# Helper function for the JVM_FEATURES_CHECK_* suite.
# The code in the code block should assign 'false' to the variable AVAILABLE
# if the feature is not available, and this function will handle everything
# else that is needed.
#
# arg 1: The name of the feature to test
# arg 2: The code block to execute
#
AC_DEFUN([JVM_FEATURES_CHECK_AVAILABILITY],
[
# Assume that feature is available
AVAILABLE=true
# Execute feature test block
$2
AC_MSG_CHECKING([if JVM feature '$1' is available])
if test "x$AVAILABLE" = "xtrue"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
JVM_FEATURES_PLATFORM_UNAVAILABLE="$JVM_FEATURES_PLATFORM_UNAVAILABLE $1"
fi
])
###############################################################################
# Check if the feature 'aot' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_AOT],
[
JVM_FEATURES_CHECK_AVAILABILITY(aot, [
AC_MSG_CHECKING([if platform is supported by AOT])
# AOT is only available where JVMCI is available since it requires JVMCI.
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
AC_MSG_CHECKING([if AOT source code is present])
if test -e "${TOPDIR}/src/jdk.internal.vm.compiler" && \
test -e "${TOPDIR}/src/jdk.aot"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, missing src/jdk.internal.vm.compiler or src/jdk.aot])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'cds' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_CDS],
[
JVM_FEATURES_CHECK_AVAILABILITY(cds, [
AC_MSG_CHECKING([if platform is supported by CDS])
if test "x$OPENJDK_TARGET_OS" != xaix; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'dtrace' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_DTRACE],
[
JVM_FEATURES_CHECK_AVAILABILITY(dtrace, [
AC_MSG_CHECKING([for dtrace tool])
if test "x$DTRACE" != "x" && test -x "$DTRACE"; then
AC_MSG_RESULT([$DTRACE])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
AC_CHECK_HEADERS([sys/sdt.h], [dtrace_headers_ok=true])
if test "x$dtrace_headers_ok" != "xtrue"; then
HELP_MSG_MISSING_DEPENDENCY([dtrace])
AC_MSG_NOTICE([Cannot enable dtrace with missing dependencies. See above.])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'graal' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_GRAAL],
[
JVM_FEATURES_CHECK_AVAILABILITY(graal, [
AC_MSG_CHECKING([if platform is supported by Graal])
# Graal is only available where JVMCI is available since it requires JVMCI.
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'jfr' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_JFR],
[
JVM_FEATURES_CHECK_AVAILABILITY(jfr, [
AC_MSG_CHECKING([if platform is supported by JFR])
if test "x$OPENJDK_TARGET_OS" = xaix; then
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false
else
AC_MSG_RESULT([yes])
fi
])
])
###############################################################################
# Check if the feature 'jvmci' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_JVMCI],
[
JVM_FEATURES_CHECK_AVAILABILITY(jvmci, [
AC_MSG_CHECKING([if platform is supported by JVMCI])
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'shenandoahgc' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_SHENANDOAHGC],
[
JVM_FEATURES_CHECK_AVAILABILITY(shenandoahgc, [
AC_MSG_CHECKING([if platform is supported by Shenandoah])
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'static-build' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_STATIC_BUILD],
[
JVM_FEATURES_CHECK_AVAILABILITY(static-build, [
AC_MSG_CHECKING([if static-build is enabled in configure])
if test "x$STATIC_BUILD" = "xtrue"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, use --enable-static-build to enable static build.])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'zgc' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_ZGC],
[
JVM_FEATURES_CHECK_AVAILABILITY(zgc, [
AC_MSG_CHECKING([if platform is supported by ZGC])
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
if test "x$OPENJDK_TARGET_OS" = "xlinux" || \
test "x$OPENJDK_TARGET_OS" = "xwindows" || \
test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
elif test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-aarch64"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
AC_MSG_CHECKING([if Windows APIs required for ZGC is present])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <windows.h>]],
[[struct MEM_EXTENDED_PARAMETER x;]])
],
[
AC_MSG_RESULT([yes])
],
[
AC_MSG_RESULT([no, missing required APIs])
AVAILABLE=false
]
)
fi
])
])
###############################################################################
# Setup JVM_FEATURES_PLATFORM_UNAVAILABLE and JVM_FEATURES_PLATFORM_FILTER
# to contain those features that are unavailable, or should be off by default,
# for this platform, regardless of JVM variant.
#
AC_DEFUN_ONCE([JVM_FEATURES_PREPARE_PLATFORM],
[
# The checks below should add unavailable features to
# JVM_FEATURES_PLATFORM_UNAVAILABLE.
JVM_FEATURES_CHECK_AOT
JVM_FEATURES_CHECK_CDS
JVM_FEATURES_CHECK_DTRACE
JVM_FEATURES_CHECK_GRAAL
JVM_FEATURES_CHECK_JFR
JVM_FEATURES_CHECK_JVMCI
JVM_FEATURES_CHECK_SHENANDOAHGC
JVM_FEATURES_CHECK_STATIC_BUILD
JVM_FEATURES_CHECK_ZGC
# Filter out features by default for all variants on certain platforms.
# Make sure to just add to JVM_FEATURES_PLATFORM_FILTER, since it could
# have a value already from custom extensions.
if test "x$OPENJDK_TARGET_OS" = xaix; then
JVM_FEATURES_PLATFORM_FILTER="$JVM_FEATURES_PLATFORM_FILTER jfr"
fi
])
###############################################################################
# Setup JVM_FEATURES_VARIANT_UNAVAILABLE and JVM_FEATURES_VARIANT_FILTER
# to contain those features that are unavailable, or should be off by default,
# for this particular JVM variant.
#
# arg 1: JVM variant
#
AC_DEFUN([JVM_FEATURES_PREPARE_VARIANT],
[
variant=$1
# Check which features are unavailable for this JVM variant.
# This means that is not possible to build these features for this variant.
if test "x$variant" = "xminimal"; then
JVM_FEATURES_VARIANT_UNAVAILABLE="cds zero"
elif test "x$variant" = "xcore"; then
JVM_FEATURES_VARIANT_UNAVAILABLE="cds minimal zero"
elif test "x$variant" = "xzero"; then
JVM_FEATURES_VARIANT_UNAVAILABLE="aot cds compiler1 compiler2 \
epsilongc g1gc graal jvmci minimal shenandoahgc zgc"
else
JVM_FEATURES_VARIANT_UNAVAILABLE="minimal zero"
fi
# Check which features should be off by default for this JVM variant.
if test "x$variant" = "xclient"; then
JVM_FEATURES_VARIANT_FILTER="aot compiler2 graal jvmci link-time-opt opt-size"
elif test "x$variant" = "xminimal"; then
JVM_FEATURES_VARIANT_FILTER="aot cds compiler2 dtrace epsilongc g1gc \
graal jfr jni-check jvmci jvmti management nmt parallelgc services \
shenandoahgc vm-structs zgc"
if test "x$OPENJDK_TARGET_CPU" = xarm ; then
JVM_FEATURES_VARIANT_FILTER="$JVM_FEATURES_VARIANT_FILTER opt-size"
else
# Only arm-32 should have link-time-opt enabled as default.
JVM_FEATURES_VARIANT_FILTER="$JVM_FEATURES_VARIANT_FILTER \
link-time-opt"
fi
elif test "x$variant" = "xcore"; then
JVM_FEATURES_VARIANT_FILTER="aot compiler1 compiler2 graal jvmci \
link-time-opt opt-size"
elif test "x$variant" = "xzero"; then
JVM_FEATURES_VARIANT_FILTER="jfr link-time-opt opt-size"
else
JVM_FEATURES_VARIANT_FILTER="link-time-opt opt-size"
fi
])
###############################################################################
# Calculate the actual set of active JVM features for this JVM variant. Store
# the result in JVM_FEATURES_ACTIVE.
#
# arg 1: JVM variant
#
AC_DEFUN([JVM_FEATURES_CALCULATE_ACTIVE],
[
variant=$1
# The default is set to all valid features except those unavailable or listed
# in a filter.
if test "x$variant" != xcustom; then
UTIL_GET_NON_MATCHING_VALUES(default_for_variant, $JVM_FEATURES_VALID, \
$JVM_FEATURES_PLATFORM_UNAVAILABLE $JVM_FEATURES_VARIANT_UNAVAILABLE \
$JVM_FEATURES_PLATFORM_FILTER $JVM_FEATURES_VARIANT_FILTER)
else
# Except for the 'custom' variant, where the default is to start with an
# empty set.
default_for_variant=""
fi
# Verify that explicitly enabled features are available
UTIL_GET_MATCHING_VALUES(enabled_but_unavailable, $JVM_FEATURES_ENABLED, \
$JVM_FEATURES_PLATFORM_UNAVAILABLE $JVM_FEATURES_VARIANT_UNAVAILABLE)
if test "x$enabled_but_unavailable" != x; then
AC_MSG_NOTICE([ERROR: Unavailable JVM features explicitly enabled for '$variant': '$enabled_but_unavailable'])
AC_MSG_ERROR([Cannot continue])
fi
# Notify the user if their command line options has no real effect
UTIL_GET_MATCHING_VALUES(enabled_but_default, $JVM_FEATURES_ENABLED, \
$default_for_variant)
if test "x$enabled_but_default" != x; then
AC_MSG_NOTICE([Default JVM features explicitly enabled for '$variant': '$enabled_but_default'])
fi
UTIL_GET_MATCHING_VALUES(disabled_but_unavailable, $JVM_FEATURES_DISABLED, \
$JVM_FEATURES_PLATFORM_UNAVAILABLE $JVM_FEATURES_VARIANT_UNAVAILABLE)
if test "x$disabled_but_unavailable" != x; then
AC_MSG_NOTICE([Unavailable JVM features explicitly disabled for '$variant': '$disabled_but_unavailable'])
fi
# JVM_FEATURES_ACTIVE is the set of all default features and all explicitly
# enabled features, with the explicitly disabled features filtered out.
UTIL_GET_NON_MATCHING_VALUES(JVM_FEATURES_ACTIVE, $default_for_variant \
$JVM_FEATURES_ENABLED, $JVM_FEATURES_DISABLED)
])
###############################################################################
# Helper function for JVM_FEATURES_VERIFY. Check if the specified JVM
# feature is active. To be used in shell if constructs, like this:
# 'if JVM_FEATURES_IS_ACTIVE(jvmti); then'
#
# Definition kept in one line to allow inlining in if statements.
# Additional [] needed to keep m4 from mangling shell constructs.
AC_DEFUN([JVM_FEATURES_IS_ACTIVE],
[ [ [[ " $JVM_FEATURES_ACTIVE " =~ ' '$1' ' ]] ] ])
###############################################################################
# Verify that the resulting set of features is consistent and legal.
#
# arg 1: JVM variant
#
AC_DEFUN([JVM_FEATURES_VERIFY],
[
variant=$1
# Verify that dependencies are met for inter-feature relations.
if JVM_FEATURES_IS_ACTIVE(aot) && ! JVM_FEATURES_IS_ACTIVE(graal); then
AC_MSG_ERROR([Specified JVM feature 'aot' requires feature 'graal' for variant '$variant'])
fi
if JVM_FEATURES_IS_ACTIVE(graal) && ! JVM_FEATURES_IS_ACTIVE(jvmci); then
AC_MSG_ERROR([Specified JVM feature 'graal' requires feature 'jvmci' for variant '$variant'])
fi
if JVM_FEATURES_IS_ACTIVE(jvmci) && ! (JVM_FEATURES_IS_ACTIVE(compiler1) || \
JVM_FEATURES_IS_ACTIVE(compiler2)); then
AC_MSG_ERROR([Specified JVM feature 'jvmci' requires feature 'compiler2' or 'compiler1' for variant '$variant'])
fi
if JVM_FEATURES_IS_ACTIVE(jvmti) && ! JVM_FEATURES_IS_ACTIVE(services); then
AC_MSG_ERROR([Specified JVM feature 'jvmti' requires feature 'services' for variant '$variant'])
fi
if JVM_FEATURES_IS_ACTIVE(management) && ! JVM_FEATURES_IS_ACTIVE(nmt); then
AC_MSG_ERROR([Specified JVM feature 'management' requires feature 'nmt' for variant '$variant'])
fi
# For backwards compatibility, disable a feature "globally" if one variant
# is missing the feature.
if ! JVM_FEATURES_IS_ACTIVE(aot); then
ENABLE_AOT="false"
fi
if ! JVM_FEATURES_IS_ACTIVE(cds); then
ENABLE_CDS="false"
fi
if ! JVM_FEATURES_IS_ACTIVE(graal); then
INCLUDE_GRAAL="false"
fi
if ! JVM_FEATURES_IS_ACTIVE(jvmci); then
INCLUDE_JVMCI="false"
fi
# Verify that we have at least one gc selected (i.e., feature named "*gc").
if ! JVM_FEATURES_IS_ACTIVE(.*gc); then
AC_MSG_NOTICE([At least one gc needed for variant '$variant'.])
AC_MSG_NOTICE([Specified features: '$JVM_FEATURES_ACTIVE'])
AC_MSG_ERROR([Cannot continue])
fi
])
###############################################################################
# Set up all JVM features for each enabled JVM variant. Requires that
# JVM_FEATURES_PARSE_OPTIONS has been called.
#
AC_DEFUN_ONCE([JVM_FEATURES_SETUP],
[
# Set up variant-independent factors
JVM_FEATURES_PREPARE_PLATFORM
# For backwards compatibility, tentatively enable these features "globally",
# and disable them in JVM_FEATURES_VERIFY if a variant is found that are
# missing any of them.
ENABLE_AOT="true"
ENABLE_CDS="true"
INCLUDE_GRAAL="true"
INCLUDE_JVMCI="true"
for variant in $JVM_VARIANTS; do
# Figure out if any features are unavailable, or should be filtered out
# by default, for this variant.
# Store the result in JVM_FEATURES_VARIANT_UNAVAILABLE and
# JVM_FEATURES_VARIANT_FILTER.
JVM_FEATURES_PREPARE_VARIANT($variant)
# Calculate the resulting set of enabled features for this variant.
# The result is stored in JVM_FEATURES_ACTIVE.
JVM_FEATURES_CALCULATE_ACTIVE($variant)
# Verify consistency for JVM_FEATURES_ACTIVE.
JVM_FEATURES_VERIFY($variant)
# Keep feature list sorted and free of duplicates
UTIL_SORT_LIST(JVM_FEATURES_ACTIVE, $JVM_FEATURES_ACTIVE)
AC_MSG_CHECKING([JVM features to use for variant '$variant'])
AC_MSG_RESULT(['$JVM_FEATURES_ACTIVE'])
# Save this as e.g. JVM_FEATURES_server, using indirect variable
# referencing.
features_var_name=JVM_FEATURES_$variant
eval $features_var_name=\"$JVM_FEATURES_ACTIVE\"
done
# Unfortunately AC_SUBST does not work with non-literally named variables,
# so list all variants here.
AC_SUBST(JVM_FEATURES_server)
AC_SUBST(JVM_FEATURES_client)
AC_SUBST(JVM_FEATURES_minimal)
AC_SUBST(JVM_FEATURES_core)
AC_SUBST(JVM_FEATURES_zero)
AC_SUBST(JVM_FEATURES_custom)
AC_SUBST(ENABLE_AOT)
AC_SUBST(INCLUDE_GRAAL)
AC_SUBST(INCLUDE_JVMCI)
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,10 @@
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_LIBFFI],
[
UTIL_ARG_ENABLE(NAME: libffi-bundling, DEFAULT: false,
RESULT: ENABLE_LIBFFI_BUNDLING,
DESC: [enable bundling of libffi.so to make the built JDK runnable on more systems])
AC_ARG_WITH(libffi, [AS_HELP_STRING([--with-libffi],
[specify prefix directory for the libffi package
(expecting the libraries under PATH/lib and the headers under PATH/include)])])
@@ -35,8 +39,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBFFI],
[specify directory for the libffi include files])])
AC_ARG_WITH(libffi-lib, [AS_HELP_STRING([--with-libffi-lib],
[specify directory for the libffi library])])
AC_ARG_ENABLE(libffi-bundling, [AS_HELP_STRING([--enable-libffi-bundling],
[enable bundling of libffi.so to make the built JDK runnable on more systems])])
if test "x$NEEDS_LIB_FFI" = xfalse; then
if (test "x${with_libffi}" != x && test "x${with_libffi}" != xno) || \
@@ -114,20 +116,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBFFI],
AC_MSG_ERROR([Found libffi but could not link and compile with it. $HELP_MSG])
fi
AC_MSG_CHECKING([if libffi should be bundled])
if test "x$enable_libffi_bundling" = "x"; then
AC_MSG_RESULT([no])
ENABLE_LIBFFI_BUNDLING=false
elif test "x$enable_libffi_bundling" = "xno"; then
AC_MSG_RESULT([no, forced])
ENABLE_LIBFFI_BUNDLING=false
elif test "x$enable_libffi_bundling" = "xyes"; then
AC_MSG_RESULT([yes, forced])
ENABLE_LIBFFI_BUNDLING=true
else
AC_MSG_ERROR([Invalid value for --enable-libffi-bundling])
fi
# Find the libffi.so.X to bundle
if test "x${ENABLE_LIBFFI_BUNDLING}" = "xtrue"; then
AC_MSG_CHECKING([for libffi lib file location])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -53,13 +53,6 @@ AC_DEFUN([LIB_CHECK_POTENTIAL_FREETYPE],
if ! test -s "$POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME"; then
AC_MSG_NOTICE([Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location.])
FOUND_FREETYPE=no
else
if test "x$OPENJDK_TARGET_OS" = "xsolaris" \
&& test -s "$POTENTIAL_FREETYPE_LIB_PATH$OPENJDK_TARGET_CPU_ISADIR/$FREETYPE_LIB_NAME"; then
# Found lib in isa dir, use that instead.
POTENTIAL_FREETYPE_LIB_PATH="$POTENTIAL_FREETYPE_LIB_PATH$OPENJDK_TARGET_CPU_ISADIR"
AC_MSG_NOTICE([Rewriting to use $POTENTIAL_FREETYPE_LIB_PATH instead])
fi
fi
fi
@@ -79,7 +72,7 @@ AC_DEFUN([LIB_CHECK_POTENTIAL_FREETYPE],
AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
[
AC_ARG_WITH(freetype, [AS_HELP_STRING([--with-freetype],
[specify whether to use 'system' or 'bundled' freetype. Other values are errors.
[specify whether to use 'system' or 'bundled' freetype.
The selected option applies to both build time and run time.
The default behaviour can be platform dependent.
If using 'system' and either the include files or libraries cannot be
@@ -90,78 +83,83 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
AC_ARG_WITH(freetype-lib, [AS_HELP_STRING([--with-freetype-lib],
[specify directory for the freetype library])])
# This setup is to verify access to system installed freetype header and libraries.
# On Windows and MacOS this does not apply and using these options will report an error.
# On other platforms (Linux, Solaris), they will default to using
# the system libraries. If they are found automatically, nothing need be done.
# If they are not found, the configure "--with-freetype-*" options may be used to fix that.
# If the preference is to bundle on these platforms then use --with-freetype=bundled
# This setup is to verify access to system installed freetype header and
# libraries. On Windows and MacOS this does not apply and using these options
# will report an error. On other platforms they will default to using the
# system libraries. If they are found automatically, nothing need be done.
# If they are not found, the configure "--with-freetype-*" options may be
# used to fix that. If the preference is to bundle on these platforms then
# use --with-freetype=bundled.
FREETYPE_BASE_NAME=freetype
FREETYPE_CFLAGS=
FREETYPE_LIBS=
if (test "x$with_freetype_include" = "x" && test "x$with_freetype_lib" != "x") || \
(test "x$with_freetype_include" != "x" && test "x$with_freetype_lib" = "x"); then
AC_MSG_ERROR(['must specify both or neither of --with-freetype-include and --with-freetype-lib])
if (test "x$with_freetype_include" = "x" && test "x$with_freetype_lib" != "x") || \
(test "x$with_freetype_include" != "x" && test "x$with_freetype_lib" = "x"); then
AC_MSG_ERROR([Must specify both or neither of --with-freetype-include and --with-freetype-lib])
fi
FREETYPE_TO_USE=bundled
if (test "x$OPENJDK_TARGET_OS" != "xwindows" && test "x$OPENJDK_TARGET_OS" != "xmacosx" \
&& test "x$OPENJDK_TARGET_OS" != "xaix"); then
if test "x$OPENJDK_TARGET_OS" != "xwindows" && \
test "x$OPENJDK_TARGET_OS" != "xmacosx" && \
test "x$OPENJDK_TARGET_OS" != "xaix"; then
FREETYPE_TO_USE=system
fi
if (test "x$with_freetype" != "x"); then
if (test "x$with_freetype" = "xsystem"); then
if test "x$with_freetype" != "x" ; then
if test "x$with_freetype" = "xsystem" ; then
FREETYPE_TO_USE=system
elif (test "x$with_freetype" = "xbundled"); then
elif test "x$with_freetype" = "xbundled" ; then
FREETYPE_TO_USE=bundled
if (test "x$with_freetype_include" != "x" || test "x$with_freetype_lib" != "x"); then
if test "x$with_freetype_include" != "x" || \
test "x$with_freetype_lib" != "x" ; then
AC_MSG_ERROR(['bundled' cannot be specified with --with-freetype-include and --with-freetype-lib])
fi
else
AC_MSG_ERROR(['valid values for --with-freetype are 'system' and 'bundled'])
AC_MSG_ERROR([Valid values for --with-freetype are 'system' and 'bundled'])
fi
fi
if (test "x$with_freetype_include" != "x" && test "x$with_freetype_lib" != "x"); then
FREETYPE_TO_USE=system
if test "x$with_freetype_include" != "x" && \
test "x$with_freetype_lib" != "x" ; then
FREETYPE_TO_USE=system
fi
if (test "x$FREETYPE_TO_USE" = "xsystem") && \
(test "x$OPENJDK_TARGET_OS" = "xwindows" || test "x$OPENJDK_TARGET_OS" = "xmacosx"); then
AC_MSG_ERROR([Only bundled freetype can be specified on Mac and Windows])
if test "x$FREETYPE_TO_USE" = "xsystem" && \
(test "x$OPENJDK_TARGET_OS" = "xwindows" || \
test "x$OPENJDK_TARGET_OS" = "xmacosx"); then
AC_MSG_ERROR([Only bundled freetype can be specified on Mac and Windows])
fi
if (test "x$with_freetype_include" != "x"); then
if test "x$with_freetype_include" != "x" ; then
POTENTIAL_FREETYPE_INCLUDE_PATH="$with_freetype_include"
fi
if (test "x$with_freetype_lib" != "x"); then
if test "x$with_freetype_lib" != "x" ; then
POTENTIAL_FREETYPE_LIB_PATH="$with_freetype_lib"
fi
if (test "x$FREETYPE_TO_USE" = "xsystem"); then
if (test "x$POTENTIAL_FREETYPE_INCLUDE_PATH" != "x" && test "x$POTENTIAL_FREETYPE_LIB_PATH" != "x"); then
if test "x$FREETYPE_TO_USE" = "xsystem" ; then
if test "x$POTENTIAL_FREETYPE_INCLUDE_PATH" != "x" && \
test "x$POTENTIAL_FREETYPE_LIB_PATH" != "x" ; then
# Okay, we got it. Check that it works.
LIB_CHECK_POTENTIAL_FREETYPE($POTENTIAL_FREETYPE_INCLUDE_PATH, $POTENTIAL_FREETYPE_LIB_PATH, [--with-freetype])
if (test "x$FOUND_FREETYPE" != "xyes"); then
LIB_CHECK_POTENTIAL_FREETYPE($POTENTIAL_FREETYPE_INCLUDE_PATH,
$POTENTIAL_FREETYPE_LIB_PATH, [--with-freetype])
if test "x$FOUND_FREETYPE" != "xyes" ; then
AC_MSG_ERROR([Can not find or use freetype at location given by --with-freetype-lib|include])
fi
else
# User did not specify a location, but asked for system freetype. Try to locate it.
# User did not specify a location, but asked for system freetype.
# Try to locate it.
# If we have a sysroot, assume that's where we are supposed to look and skip pkg-config.
if (test "x$SYSROOT" = "x"); then
if (test "x$FOUND_FREETYPE" != "xyes"); then
# Check modules using pkg-config, but only if we have it (ugly output results otherwise)
if (test "x$PKG_CONFIG" != "x"); then
# If we have a sysroot, assume that's where we are supposed to look and
# skip pkg-config.
if test "x$SYSROOT" = "x" ; then
if test "x$FOUND_FREETYPE" != "xyes" ; then
# Check modules using pkg-config, but only if we have it (ugly output
# results otherwise)
if test "x$PKG_CONFIG" != "x" ; then
PKG_CHECK_MODULES(FREETYPE, freetype2, [FOUND_FREETYPE=yes], [FOUND_FREETYPE=no])
if (test "x$FOUND_FREETYPE" = "xyes"); then
# On solaris, pkg_check adds -lz to freetype libs, which isn't necessary for us.
FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's/-lz//g'`
# 64-bit libs for Solaris x86 are installed in the amd64 subdirectory, change lib to lib/amd64
if (test "x$OPENJDK_TARGET_OS" = "xsolaris" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"); then
FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's?/lib?/lib/amd64?g'`
fi
if test "x$FOUND_FREETYPE" = "xyes" ; then
AC_MSG_CHECKING([for freetype])
AC_MSG_RESULT([yes (using pkg-config)])
fi
@@ -169,59 +167,65 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
fi
fi
if (test "x$FOUND_FREETYPE" != "xyes"); then
if test "x$FOUND_FREETYPE" != "xyes" ; then
# Check in well-known locations
FREETYPE_BASE_DIR="$SYSROOT/usr"
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
if (test "x$FOUND_FREETYPE" != "xyes"); then
FREETYPE_BASE_DIR="$SYSROOT/usr/X11"
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
fi
if (test "x$FOUND_FREETYPE" != "xyes"); then
FREETYPE_BASE_DIR="$SYSROOT/usr/local"
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib], [well-known location])
fi
if (test "x$FOUND_FREETYPE" != "xyes"); then
FREETYPE_BASE_DIR="$SYSROOT/usr"
if (test "x$OPENJDK_TARGET_CPU_BITS" = "x64"); then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib/$OPENJDK_TARGET_CPU-linux-gnu], [well-known location])
if (test "x$FOUND_FREETYPE" != "xyes"); then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib64], [well-known location])
fi
else
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib/i386-linux-gnu], [well-known location])
if (test "x$FOUND_FREETYPE" != "xyes"); then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], [$FREETYPE_BASE_DIR/lib32], [well-known location])
fi
if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" ; then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
[$FREETYPE_BASE_DIR/lib/$OPENJDK_TARGET_CPU-linux-gnu], [well-known location])
if test "x$FOUND_FREETYPE" != "xyes" ; then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
[$FREETYPE_BASE_DIR/lib64], [well-known location])
fi
else
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
[$FREETYPE_BASE_DIR/lib/i386-linux-gnu], [well-known location])
if test "x$FOUND_FREETYPE" != "xyes" ; then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
[$FREETYPE_BASE_DIR/lib32], [well-known location])
fi
fi
if test "x$FOUND_FREETYPE" != "xyes" ; then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
[$FREETYPE_BASE_DIR/lib], [well-known location])
fi
if test "x$FOUND_FREETYPE" != "xyes" ; then
FREETYPE_BASE_DIR="$SYSROOT/usr/X11"
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
[$FREETYPE_BASE_DIR/lib], [well-known location])
fi
if test "x$FOUND_FREETYPE" != "xyes" ; then
FREETYPE_BASE_DIR="$SYSROOT/usr/local"
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
[$FREETYPE_BASE_DIR/lib], [well-known location])
fi
fi # end check in well-known locations
if (test "x$FOUND_FREETYPE" != "xyes"); then
if test "x$FOUND_FREETYPE" != "xyes" ; then
HELP_MSG_MISSING_DEPENDENCY([freetype])
AC_MSG_ERROR([Could not find freetype! $HELP_MSG ])
fi
fi # end user specified settings
# Set FREETYPE_CFLAGS, _LIBS and _LIB_PATH from include and lib dir.
if (test "x$FREETYPE_CFLAGS" = "x"); then
if (test -d $FREETYPE_INCLUDE_PATH/freetype2/freetype); then
if test "x$FREETYPE_CFLAGS" = "x" ; then
if test -d $FREETYPE_INCLUDE_PATH/freetype2/freetype ; then
FREETYPE_CFLAGS="-I$FREETYPE_INCLUDE_PATH/freetype2 -I$FREETYPE_INCLUDE_PATH"
else
FREETYPE_CFLAGS="-I$FREETYPE_INCLUDE_PATH"
fi
fi
if (test "x$FREETYPE_LIBS" = "x"); then
if test "x$FREETYPE_LIBS" = "x" ; then
FREETYPE_LIBS="-L$FREETYPE_LIB_PATH -l$FREETYPE_BASE_NAME"
fi
fi
AC_MSG_RESULT([Using freetype: $FREETYPE_TO_USE])
AC_MSG_RESULT([Using freetype: $FREETYPE_TO_USE])
AC_SUBST(FREETYPE_TO_USE)
AC_SUBST(FREETYPE_CFLAGS)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -77,14 +77,6 @@ AC_DEFUN_ONCE([LIB_SETUP_STD_LIBS],
fi
fi
# libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so)
if test "x$TOOLCHAIN_TYPE" = xsolstudio && test "x$LIBCXX" = x; then
LIBCXX="${SYSROOT}/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1"
fi
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
LIBCXX_JVM="-lCrun"
fi
AC_SUBST(LIBCXX)
# Setup Windows runtime dlls

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -51,10 +51,44 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_GRAALUNIT],
fi
fi
BASIC_FIXUP_PATH([GRAALUNIT_LIB])
UTIL_FIXUP_PATH([GRAALUNIT_LIB])
AC_SUBST(GRAALUNIT_LIB)
])
###############################################################################
#
# Setup and check for gtest framework source files
#
AC_DEFUN_ONCE([LIB_TESTS_SETUP_GTEST],
[
AC_ARG_WITH(gtest, [AS_HELP_STRING([--with-gtest],
[specify prefix directory for the gtest framework])])
if test "x${with_gtest}" != x; then
AC_MSG_CHECKING([for gtest])
if test "x${with_gtest}" = xno; then
AC_MSG_RESULT([no, disabled])
elif test "x${with_gtest}" = xyes; then
AC_MSG_RESULT([no, error])
AC_MSG_ERROR([--with-gtest must have a value])
else
if ! test -s "${with_gtest}/googletest/include/gtest/gtest.h"; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([Can't find 'googletest/include/gtest/gtest.h' under ${with_gtest} given with the --with-gtest option.])
elif ! test -s "${with_gtest}/googlemock/include/gmock/gmock.h"; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([Can't find 'googlemock/include/gmock/gmock.h' under ${with_gtest} given with the --with-gtest option.])
else
GTEST_FRAMEWORK_SRC=${with_gtest}
AC_MSG_RESULT([$GTEST_FRAMEWORK_SRC])
UTIL_FIXUP_PATH([GTEST_FRAMEWORK_SRC])
fi
fi
fi
AC_SUBST(GTEST_FRAMEWORK_SRC)
])
###############################################################################
#
# Setup and check the Java Microbenchmark Harness
@@ -77,24 +111,23 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_JMH],
AC_MSG_RESULT([no, error])
AC_MSG_ERROR([$JMH_HOME does not exist or is not a directory])
fi
BASIC_FIXUP_PATH([JMH_HOME])
AC_MSG_RESULT([yes, $JMH_HOME])
UTIL_FIXUP_PATH([JMH_HOME])
jar_names="jmh-core jmh-generator-annprocess jopt-simple commons-math3"
for jar in $jar_names; do
found_jar_files=$($ECHO $(ls $JMH_HOME/$jar-*.jar 2> /dev/null))
if test "x$found_jar_files" = x; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([--with-jmh does not contain $jar-*.jar])
elif ! test -e "$found_jar_files"; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([--with-jmh contain multiple $jar-*.jar: $found_jar_files])
fi
found_jar_var_name=found_${jar//-/_}
eval $found_jar_var_name='"'$found_jar_files'"'
done
AC_MSG_RESULT([yes])
JMH_CORE_JAR=$found_jmh_core
JMH_GENERATOR_JAR=$found_jmh_generator_annprocess

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -88,13 +88,6 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
AC_MSG_ERROR([Could not find X11 libraries. $HELP_MSG])
fi
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
OPENWIN_HOME="/usr/openwin"
X_CFLAGS="-I$SYSROOT$OPENWIN_HOME/include -I$SYSROOT$OPENWIN_HOME/include/X11/extensions"
X_LIBS="-L$SYSROOT$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR \
-R$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR"
fi
AC_LANG_PUSH(C)
OLD_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $SYSROOT_CFLAGS $X_CFLAGS"
@@ -122,16 +115,6 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h Xrandr.h XTest.h Intrinsic.h). $HELP_MSG])
fi
# If XLinearGradient isn't available in Xrender.h, signal that it needs to be
# defined in libawt_xawt.
AC_MSG_CHECKING([if XlinearGradient is defined in Xrender.h])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <X11/extensions/Xrender.h>]],
[[XLinearGradient x;]])],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])
X_CFLAGS="$X_CFLAGS -DSOLARIS10_NO_XRENDER_STRUCTS"])
CFLAGS="$OLD_CFLAGS"
AC_LANG_POP(C)
fi # NEEDS_LIB_X11

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -101,14 +101,8 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
LIB_SETUP_LIBFFI
LIB_SETUP_BUNDLED_LIBS
LIB_SETUP_MISC_LIBS
LIB_SETUP_SOLARIS_STLPORT
LIB_TESTS_SETUP_GRAALUNIT
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
GLOBAL_LIBS="-lc"
else
GLOBAL_LIBS=""
fi
LIB_TESTS_SETUP_GTEST
BASIC_JDKLIB_LIBS=""
if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
@@ -119,15 +113,13 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
BASIC_JVM_LIBS="$LIBM"
# Dynamic loading library
if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xaix; then
if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xaix; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS $LIBDL"
fi
# Threading library
if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xaix; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lpthread"
elif test "x$OPENJDK_TARGET_OS" = xsolaris; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lthread"
fi
# perfstat lib
@@ -135,12 +127,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat"
fi
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lsocket -lsched -ldoor -ldemangle -lnsl \
-lrt -lkstat"
BASIC_JVM_LIBS="$BASIC_JVM_LIBS $LIBCXX_JVM"
fi
if test "x$OPENJDK_TARGET_OS" = xwindows; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
@@ -158,7 +144,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
AC_SUBST(JVM_LIBS)
AC_SUBST(OPENJDK_BUILD_JDKLIB_LIBS)
AC_SUBST(OPENJDK_BUILD_JVM_LIBS)
AC_SUBST(GLOBAL_LIBS)
])
################################################################################
@@ -189,29 +174,3 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
LIBZIP_CAN_USE_MMAP=true
AC_SUBST(LIBZIP_CAN_USE_MMAP)
])
################################################################################
# libstlport.so.1 is needed for running gtest on Solaris. Find it to
# redistribute it in the test image.
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_SOLARIS_STLPORT],
[
if test "$OPENJDK_TARGET_OS" = "solaris" && test "x$BUILD_GTEST" = "xtrue"; then
# Find the root of the Solaris Studio installation from the compiler path
SOLARIS_STUDIO_DIR="$(dirname $CC)/.."
STLPORT_LIB="$SOLARIS_STUDIO_DIR/lib/stlport4$OPENJDK_TARGET_CPU_ISADIR/libstlport.so.1"
AC_MSG_CHECKING([for libstlport.so.1])
if ! test -f "$STLPORT_LIB" && test "x$OPENJDK_TARGET_CPU_ISADIR" = "x/sparcv9"; then
# SS12u3 has libstlport under 'stlport4/v9' instead of 'stlport4/sparcv9'
STLPORT_LIB="$SOLARIS_STUDIO_DIR/lib/stlport4/v9/libstlport.so.1"
fi
if test -f "$STLPORT_LIB"; then
AC_MSG_RESULT([yes, $STLPORT_LIB])
BASIC_FIXUP_PATH([STLPORT_LIB])
else
AC_MSG_RESULT([no, not found at $STLPORT_LIB])
AC_MSG_ERROR([Failed to find libstlport.so.1, cannot build Hotspot gtests])
fi
AC_SUBST(STLPORT_LIB)
fi
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -120,6 +120,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
riscv64)
VAR_CPU=riscv64
VAR_CPU_ARCH=riscv
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
s390)
VAR_CPU=s390
VAR_CPU_ARCH=s390
@@ -156,6 +162,18 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=big
;;
sparc)
VAR_CPU=sparc
VAR_CPU_ARCH=sparc
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=big
;;
sparcv9|sparc64)
VAR_CPU=sparcv9
VAR_CPU_ARCH=sparc
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=big
;;
*)
AC_MSG_ERROR([unsupported cpu $1])
;;
@@ -172,10 +190,6 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_OS],
VAR_OS=linux
VAR_OS_TYPE=unix
;;
*solaris*)
VAR_OS=solaris
VAR_OS_TYPE=unix
;;
*darwin*)
VAR_OS=macosx
VAR_OS_TYPE=unix
@@ -375,19 +389,6 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
fi
AC_SUBST(OPENJDK_$1_CPU_LEGACY_LIB)
# OPENJDK_$1_CPU_ISADIR is normally empty. On 64-bit Solaris systems, it is set to
# /amd64 or /sparcv9. This string is appended to some library paths, like this:
# /usr/lib${OPENJDK_$1_CPU_ISADIR}/libexample.so
OPENJDK_$1_CPU_ISADIR=""
if test "x$OPENJDK_$1_OS" = xsolaris; then
if test "x$OPENJDK_$1_CPU" = xx86_64; then
OPENJDK_$1_CPU_ISADIR="/amd64"
elif test "x$OPENJDK_$1_CPU" = xsparcv9; then
OPENJDK_$1_CPU_ISADIR="/sparcv9"
fi
fi
AC_SUBST(OPENJDK_$1_CPU_ISADIR)
# Setup OPENJDK_$1_CPU_OSARCH, which is used to set the os.arch Java system property
OPENJDK_$1_CPU_OSARCH="$OPENJDK_$1_CPU"
if test "x$OPENJDK_$1_OS" = xlinux && test "x$OPENJDK_$1_CPU" = xx86; then
@@ -485,6 +486,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
HOTSPOT_$1_CPU_DEFINE=S390
elif test "x$OPENJDK_$1_CPU" = xs390x; then
HOTSPOT_$1_CPU_DEFINE=S390
elif test "x$OPENJDK_$1_CPU" = xriscv64; then
HOTSPOT_$1_CPU_DEFINE=RISCV
elif test "x$OPENJDK_$1_CPU" != x; then
HOTSPOT_$1_CPU_DEFINE=$(echo $OPENJDK_$1_CPU | tr a-z A-Z)
fi
@@ -502,9 +505,6 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
[
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
RELEASE_FILE_OS_NAME=SunOS
fi
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
RELEASE_FILE_OS_NAME=Linux
fi
@@ -558,22 +558,9 @@ AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET],
PLATFORM_SET_MODULE_TARGET_OS_VALUES
PLATFORM_SET_RELEASE_FILE_OS_VALUES
PLATFORM_SETUP_LEGACY_VARS
PLATFORM_CHECK_DEPRECATION
])
AC_DEFUN([PLATFORM_CHECK_DEPRECATION],
[
AC_ARG_ENABLE(deprecated-ports, [AS_HELP_STRING([--enable-deprecated-ports@<:@=yes/no@:>@],
[Suppress the error when configuring for a deprecated port @<:@no@:>@])])
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc; then
if test "x$enable_deprecated_ports" = "xyes"; then
AC_MSG_WARN([The Solaris and SPARC ports are deprecated and may be removed in a future release.])
else
AC_MSG_ERROR(m4_normalize([The Solaris and SPARC ports are deprecated and may be removed in a
future release. Use --enable-deprecated-ports=yes to suppress this error.]))
fi
fi
# Deprecated in JDK 15
UTIL_DEPRECATED_ARG_ENABLE(deprecated-ports)
])
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION],

View File

@@ -46,7 +46,7 @@ AC_DEFUN_ONCE([SRCDIRS_SETUP_IMPORT_MODULES],
&& test "x$with_import_modules" != "xno"; then
if test -d "$with_import_modules"; then
IMPORT_MODULES_TOPDIR="$with_import_modules"
BASIC_FIXUP_PATH([IMPORT_MODULES_TOPDIR])
UTIL_FIXUP_PATH([IMPORT_MODULES_TOPDIR])
elif test -e "$with_import_modules"; then
IMPORT_MODULES_TOPDIR="$CONFIGURESUPPORT_OUTPUTDIR/import-modules"
$RM -rf "$IMPORT_MODULES_TOPDIR"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -83,7 +83,6 @@ OPENJDK_TARGET_CPU_ENDIAN:=@OPENJDK_TARGET_CPU_ENDIAN@
COMPILE_TYPE:=@COMPILE_TYPE@
# Legacy support
OPENJDK_TARGET_CPU_ISADIR:=@OPENJDK_TARGET_CPU_ISADIR@
OPENJDK_TARGET_CPU_LEGACY:=@OPENJDK_TARGET_CPU_LEGACY@
OPENJDK_TARGET_CPU_LEGACY_LIB:=@OPENJDK_TARGET_CPU_LEGACY_LIB@
OPENJDK_TARGET_CPU_OSARCH:=@OPENJDK_TARGET_CPU_OSARCH@
@@ -119,6 +118,9 @@ OPENJDK_MODULE_TARGET_PLATFORM:=@OPENJDK_MODULE_TARGET_PLATFORM@
RELEASE_FILE_OS_NAME:=@RELEASE_FILE_OS_NAME@
RELEASE_FILE_OS_ARCH:=@RELEASE_FILE_OS_ARCH@
SOURCE_DATE := @SOURCE_DATE@
ENABLE_REPRODUCIBLE_BUILD := @ENABLE_REPRODUCIBLE_BUILD@
LIBM:=@LIBM@
LIBDL:=@LIBDL@
@@ -156,6 +158,7 @@ IMPORT_MODULES_SRC:=@IMPORT_MODULES_SRC@
IMPORT_MODULES_MAKE:=@IMPORT_MODULES_MAKE@
COPYRIGHT_YEAR:=@COPYRIGHT_YEAR@
HOTSPOT_BUILD_TIME:=@HOTSPOT_BUILD_TIME@
# Platform naming variables
LAUNCHER_NAME:=@LAUNCHER_NAME@
@@ -245,7 +248,7 @@ ifneq ($(COMPANY_NAME),)
# Only export "VENDOR" to the build if COMPANY_NAME contains a real value.
# Otherwise the default value for VENDOR, which is used to set the "java.vendor"
# and "java.vm.vendor" properties is hard-coded into the source code (i.e. in
# VersionProps.java.template in the jdk for "vm.vendor" and
# VersionProps.java.template in the jdk for "java.vendor" and
# vm_version.cpp in the VM for "java.vm.vendor")
ifneq ($(COMPANY_NAME), N/A)
VERSION_CFLAGS += -DVENDOR='"$(COMPANY_NAME)"'
@@ -289,9 +292,6 @@ JVM_FEATURES_custom := @JVM_FEATURES_custom@
VALID_JVM_FEATURES := @VALID_JVM_FEATURES@
VALID_JVM_VARIANTS := @VALID_JVM_VARIANTS@
# Control whether Hotspot builds gtest tests
BUILD_GTEST := @BUILD_GTEST@
# Allow overriding the default hotspot library path
HOTSPOT_OVERRIDE_LIBPATH := @HOTSPOT_OVERRIDE_LIBPATH@
@@ -301,6 +301,11 @@ USE_PRECOMPILED_HEADER := @USE_PRECOMPILED_HEADER@
# Only build headless support or not
ENABLE_HEADLESS_ONLY := @ENABLE_HEADLESS_ONLY@
ENABLE_LINKTIME_GC := @ENABLE_LINKTIME_GC@
# Ship debug symbols (e.g. pdbs on Windows)
SHIP_DEBUG_SYMBOLS := @SHIP_DEBUG_SYMBOLS@
ENABLE_FULL_DOCS := @ENABLE_FULL_DOCS@
# JDK_OUTPUTDIR specifies where a working jvm is built.
@@ -332,6 +337,8 @@ BUILD_MANPAGES := @BUILD_MANPAGES@
BUILD_CDS_ARCHIVE := @BUILD_CDS_ARCHIVE@
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT := @ALLOW_ABSOLUTE_PATHS_IN_OUTPUT@
# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
# it in sync.
BOOT_JDK:=@BOOT_JDK@
@@ -347,13 +354,10 @@ BOOT_JDK_SOURCETARGET:=@BOOT_JDK_SOURCETARGET@
# Information about the build system
NUM_CORES:=@NUM_CORES@
MEMORY_SIZE:=@MEMORY_SIZE@
# Enable sjavac support = use a javac server,
# multi core javac compilation and dependency tracking.
ENABLE_SJAVAC:=@ENABLE_SJAVAC@
ENABLE_JAVAC_SERVER:=@ENABLE_JAVAC_SERVER@
# Store sjavac server synchronization files here, and
# the sjavac server log files.
SJAVAC_SERVER_DIR=$(MAKESUPPORT_OUTPUTDIR)/javacservers
# Store javac server synchronization files here, and
# the javac server log files.
JAVAC_SERVER_DIR=$(MAKESUPPORT_OUTPUTDIR)/javacservers
# Number of parallel jobs to use for compilation
JOBS?=@JOBS@
@@ -375,6 +379,7 @@ LIBFFI_CFLAGS:=@LIBFFI_CFLAGS@
ENABLE_LIBFFI_BUNDLING:=@ENABLE_LIBFFI_BUNDLING@
LIBFFI_LIB_FILE:=@LIBFFI_LIB_FILE@
GRAALUNIT_LIB := @GRAALUNIT_LIB@
FILE_MACRO_CFLAGS := @FILE_MACRO_CFLAGS@
STATIC_LIBS_CFLAGS := @STATIC_LIBS_CFLAGS@
@@ -384,6 +389,8 @@ JMH_JOPT_SIMPLE_JAR := @JMH_JOPT_SIMPLE_JAR@
JMH_COMMONS_MATH_JAR := @JMH_COMMONS_MATH_JAR@
JMH_VERSION := @JMH_VERSION@
GTEST_FRAMEWORK_SRC := @GTEST_FRAMEWORK_SRC@
# Source file for cacerts
CACERTS_FILE=@CACERTS_FILE@
@@ -418,7 +425,7 @@ MACOSX_VERSION_MAX=@MACOSX_VERSION_MAX@
# The macosx code signing identity to use
MACOSX_CODESIGN_IDENTITY=@MACOSX_CODESIGN_IDENTITY@
# Toolchain type: gcc, clang, solstudio, lxc, microsoft...
# Toolchain type: gcc, clang, xlc, microsoft...
TOOLCHAIN_TYPE:=@TOOLCHAIN_TYPE@
TOOLCHAIN_VERSION := @TOOLCHAIN_VERSION@
CC_VERSION_NUMBER := @CC_VERSION_NUMBER@
@@ -461,7 +468,6 @@ CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@
DISABLE_WARNING_PREFIX := @DISABLE_WARNING_PREFIX@
CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@
LDFLAGS_WARNINGS_ARE_ERRORS:=@LDFLAGS_WARNINGS_ARE_ERRORS@
DISABLED_WARNINGS := @DISABLED_WARNINGS@
DISABLED_WARNINGS_C := @DISABLED_WARNINGS_C@
DISABLED_WARNINGS_CXX := @DISABLED_WARNINGS_CXX@
@@ -515,7 +521,6 @@ SDKROOT:=@SDKROOT@
# LDFLAGS used to link the jdk native libraries (C-code)
LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
JDKLIB_LIBS:=@JDKLIB_LIBS@
GLOBAL_LIBS:=@GLOBAL_LIBS@
# LDFLAGS used to link the jdk native launchers (C-code)
LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@
@@ -565,10 +570,6 @@ INSTALL_NAME_TOOL:=@INSTALL_NAME_TOOL@
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_MAPFILE=@SET_SHARED_LIBRARY_MAPFILE@
# Options for C/CXX compiler to be used if linking is performed
# using reorder file
C_FLAG_REORDER:=@C_FLAG_REORDER@
#
# Options for generating debug symbols
COMPILE_WITH_DEBUG_SYMBOLS := @COMPILE_WITH_DEBUG_SYMBOLS@
@@ -611,9 +612,8 @@ STRIPFLAGS:=@STRIPFLAGS@
JAVA_FLAGS:=@JAVA_FLAGS@
JAVA_FLAGS_BIG:=@JAVA_FLAGS_BIG@
JAVA_FLAGS_SMALL:=@JAVA_FLAGS_SMALL@
JAVA_FLAGS_JAVAC:=@JAVA_FLAGS_JAVAC@
BUILDJDK_JAVA_FLAGS_SMALL:=@BUILDJDK_JAVA_FLAGS_SMALL@
JAVA_TOOL_FLAGS_SMALL:=@JAVA_TOOL_FLAGS_SMALL@
SJAVAC_SERVER_JAVA_FLAGS:=@SJAVAC_SERVER_JAVA_FLAGS@
# The *_CMD variables are defined separately to be easily overridden in bootcycle-spec.gmk
# for bootcycle-images build. Make sure to keep them in sync. Do not use the *_CMD
@@ -625,33 +625,25 @@ JAR_CMD:=@JAR@
JLINK_CMD := @JLINK@
JMOD_CMD := @JMOD@
JARSIGNER_CMD:=@JARSIGNER@
SJAVAC_SERVER_JAVA_CMD:=@SJAVAC_SERVER_JAVA@
JJS_CMD:=@JJS@
# These variables are meant to be used. They are defined with = instead of := to make
# it possible to override only the *_CMD variables.
JAVA=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
JAVA_SMALL=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
JAVA_JAVAC=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_JAVAC) $(JAVA_FLAGS)
JAVA_DETACH =@FIXPATH@ @FIXPATH_DETACH_FLAG@ $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
JAVAC=@FIXPATH@ $(JAVAC_CMD)
JAVADOC=@FIXPATH@ $(JAVADOC_CMD)
JAR=@FIXPATH@ $(JAR_CMD)
JLINK = @FIXPATH@ $(JLINK_CMD) $(JAVA_TOOL_FLAGS_SMALL)
JLINK = @FIXPATH@ $(JLINK_CMD)
JMOD = @FIXPATH@ $(JMOD_CMD) $(JAVA_TOOL_FLAGS_SMALL)
JARSIGNER=@FIXPATH@ $(JARSIGNER_CMD)
# A specific java binary with specific options can be used to run
# the long running background sjavac servers and other long running tasks.
SJAVAC_SERVER_JAVA=@FIXPATH@ @FIXPATH_DETACH_FLAG@ $(SJAVAC_SERVER_JAVA_CMD) \
$(SJAVAC_SERVER_JAVA_FLAGS)
# Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid
# overriding that value by using ?=.
JAVAC_FLAGS?=@JAVAC_FLAGS@
JJS=@FIXPATH@ $(JJS_CMD) $(JAVA_TOOL_FLAGS_SMALL)
BUILD_JAVA_FLAGS := @BOOTCYCLE_JVM_ARGS_BIG@
BUILD_JAVA=@FIXPATH@ $(BUILD_JDK)/bin/java $(BUILD_JAVA_FLAGS)
BUILD_JAR=@FIXPATH@ $(BUILD_JDK)/bin/jar
# Interim langtools and rmic modules and arguments
# Interim langtools modules and arguments
INTERIM_LANGTOOLS_BASE_MODULES := java.compiler jdk.compiler jdk.javadoc
INTERIM_LANGTOOLS_MODULES := $(addsuffix .interim, $(INTERIM_LANGTOOLS_BASE_MODULES))
INTERIM_LANGTOOLS_ADD_EXPORTS := \
@@ -670,15 +662,6 @@ INTERIM_LANGTOOLS_ARGS := \
JAVAC_MAIN_CLASS = -m jdk.compiler.interim/com.sun.tools.javac.Main
JAVADOC_MAIN_CLASS = -m jdk.javadoc.interim/jdk.javadoc.internal.tool.Main
INTERIM_RMIC_BASE_MODULES := jdk.rmic
INTERIM_RMIC_MODULES := $(addsuffix .interim, $(INTERIM_RMIC_BASE_MODULES))
#
# Use = to delay expansion of PathList since it's not available in this file.
INTERIM_RMIC_ARGS = --limit-modules java.base,jdk.compiler,jdk.javadoc \
--module-path $(call PathList, $(BUILDTOOLS_OUTPUTDIR)/interim_rmic_modules \
$(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules) \
#
# You run the new javac using the boot jdk with $(BOOT_JDK)/bin/java $(NEW_JAVAC) ...
# Use = assignment to be able to override in bootcycle-spec.gmk
NEW_JAVAC = $(INTERIM_LANGTOOLS_ARGS) $(JAVAC_MAIN_CLASS)
@@ -755,7 +738,6 @@ WSLPATH:=@WSLPATH@
LDD:=@LDD@
OTOOL:=@OTOOL@
READELF:=@READELF@
ELFEDIT:=@ELFEDIT@
EXPR:=@EXPR@
FILE:=@FILE@
DOT:=@DOT@
@@ -765,7 +747,6 @@ OBJCOPY:=@OBJCOPY@
SETFILE:=@SETFILE@
XATTR:=@XATTR@
JT_HOME:=@JT_HOME@
JTREGEXE:=@JTREGEXE@
JIB_HOME:=@JIB_HOME@
XCODEBUILD=@XCODEBUILD@
DTRACE := @DTRACE@
@@ -773,7 +754,6 @@ FIXPATH:=@FIXPATH@
ULIMIT:=@ULIMIT@
TAR_TYPE:=@TAR_TYPE@
TAR_CREATE_EXTRA_PARAM:=@TAR_CREATE_EXTRA_PARAM@
TAR_INCLUDE_PARAM:=@TAR_INCLUDE_PARAM@
TAR_SUPPORTS_TRANSFORM:=@TAR_SUPPORTS_TRANSFORM@
@@ -787,9 +767,9 @@ LIBZ_CFLAGS:=@LIBZ_CFLAGS@
LIBZ_LIBS:=@LIBZ_LIBS@
LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@
MSVCR_DLL:=@MSVCR_DLL@
VCRUNTIME_1_DLL:=@VCRUNTIME_1_DLL@
MSVCP_DLL:=@MSVCP_DLL@
UCRT_DLL_DIR:=@UCRT_DLL_DIR@
STLPORT_LIB:=@STLPORT_LIB@
ENABLE_PANDOC:=@ENABLE_PANDOC@
PANDOC_MARKDOWN_FLAG:=@PANDOC_MARKDOWN_FLAG@
@@ -902,13 +882,23 @@ DOCS_OUTPUTDIR := $(DOCS_IMAGE_DIR)
STATIC_LIBS_IMAGE_SUBDIR := static-libs
STATIC_LIBS_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(STATIC_LIBS_IMAGE_SUBDIR)
# Graal builder image
GRAAL_BUILDER_IMAGE_SUBDIR := graal-builder-jdk
GRAAL_BUILDER_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(GRAAL_BUILDER_IMAGE_SUBDIR)
# Macosx bundles directory definitions
JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle
JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle
JDK_MACOSX_BUNDLE_SUBDIR_SIGNED=jdk-bundle-signed
JRE_MACOSX_BUNDLE_SUBDIR_SIGNED=jre-bundle-signed
JDK_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR)
JRE_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR)
JDK_MACOSX_CONTENTS_SUBDIR=jdk-$(VERSION_NUMBER).jdk/Contents
JRE_MACOSX_CONTENTS_SUBDIR=jre-$(VERSION_NUMBER).jre/Contents
JDK_MACOSX_BUNDLE_DIR_SIGNED=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR_SIGNED)
JRE_MACOSX_BUNDLE_DIR_SIGNED=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR_SIGNED)
JDK_MACOSX_BUNDLE_TOP_DIR=jdk-$(VERSION_NUMBER).jdk
JRE_MACOSX_BUNDLE_TOP_DIR=jre-$(VERSION_NUMBER).jre
JDK_MACOSX_CONTENTS_SUBDIR=$(JDK_MACOSX_BUNDLE_TOP_DIR)/Contents
JRE_MACOSX_CONTENTS_SUBDIR=$(JRE_MACOSX_BUNDLE_TOP_DIR)/Contents
JDK_MACOSX_CONTENTS_DIR=$(JDK_MACOSX_BUNDLE_DIR)/$(JDK_MACOSX_CONTENTS_SUBDIR)
JRE_MACOSX_CONTENTS_DIR=$(JRE_MACOSX_BUNDLE_DIR)/$(JRE_MACOSX_CONTENTS_SUBDIR)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -32,13 +32,13 @@
# compilers and related tools that are used.
########################################################################
m4_include([toolchain_windows.m4])
# All valid toolchains, regardless of platform (used by help.m4)
VALID_TOOLCHAINS_all="gcc clang solstudio xlc microsoft"
VALID_TOOLCHAINS_all="gcc clang xlc microsoft"
# These toolchains are valid on different platforms
VALID_TOOLCHAINS_linux="gcc clang"
VALID_TOOLCHAINS_solaris="solstudio"
VALID_TOOLCHAINS_macosx="gcc clang"
VALID_TOOLCHAINS_aix="xlc"
VALID_TOOLCHAINS_windows="microsoft"
@@ -47,14 +47,12 @@ VALID_TOOLCHAINS_windows="microsoft"
TOOLCHAIN_DESCRIPTION_clang="clang/LLVM"
TOOLCHAIN_DESCRIPTION_gcc="GNU Compiler Collection"
TOOLCHAIN_DESCRIPTION_microsoft="Microsoft Visual Studio"
TOOLCHAIN_DESCRIPTION_solstudio="Oracle Solaris Studio"
TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++"
# Minimum supported versions, empty means unspecified
TOOLCHAIN_MINIMUM_VERSION_clang="3.2"
TOOLCHAIN_MINIMUM_VERSION_gcc="4.8"
TOOLCHAIN_MINIMUM_VERSION_gcc="5.0"
TOOLCHAIN_MINIMUM_VERSION_microsoft="16.00.30319.01" # VS2010
TOOLCHAIN_MINIMUM_VERSION_solstudio="5.13"
TOOLCHAIN_MINIMUM_VERSION_xlc=""
# Minimum supported linker versions, empty means unspecified
@@ -64,10 +62,11 @@ TOOLCHAIN_MINIMUM_LD_VERSION_gcc="2.18"
# Must have CC_VERSION_NUMBER and CXX_VERSION_NUMBER.
# $1 - optional variable prefix for compiler and version variables (BUILD_)
# $2 - optional variable prefix for comparable variable (OPENJDK_BUILD_)
# $3 - optional human readable description for the type of compilers ("build " or "")
AC_DEFUN([TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS],
[
if test "x[$]$1CC_VERSION_NUMBER" != "x[$]$1CXX_VERSION_NUMBER"; then
AC_MSG_WARN([C and C++ compiler have different version numbers, [$]$1CC_VERSION_NUMBER vs [$]$1CXX_VERSION_NUMBER.])
AC_MSG_WARN([The $3C and C++ compilers have different version numbers, [$]$1CC_VERSION_NUMBER vs [$]$1CXX_VERSION_NUMBER.])
AC_MSG_WARN([This typically indicates a broken setup, and is not supported])
fi
@@ -91,7 +90,7 @@ AC_DEFUN([TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS],
# IF_AT_LEAST: block to run if the compiler is at least this version (>=)
# IF_OLDER_THAN: block to run if the compiler is older than this version (<)
# PREFIX: Optional variable prefix for compiler to compare version for (OPENJDK_BUILD_)
BASIC_DEFUN_NAMED([TOOLCHAIN_CHECK_COMPILER_VERSION],
UTIL_DEFUN_NAMED([TOOLCHAIN_CHECK_COMPILER_VERSION],
[*VERSION PREFIX IF_AT_LEAST IF_OLDER_THAN], [$@],
[
# Need to assign to a variable since m4 is blocked from modifying parts in [].
@@ -142,7 +141,7 @@ AC_DEFUN([TOOLCHAIN_PREPARE_FOR_LD_VERSION_COMPARISONS],
# IF_AT_LEAST: block to run if the compiler is at least this version (>=)
# IF_OLDER_THAN: block to run if the compiler is older than this version (<)
# PREFIX: Optional variable prefix for compiler to compare version for (OPENJDK_BUILD_)
BASIC_DEFUN_NAMED([TOOLCHAIN_CHECK_LINKER_VERSION],
UTIL_DEFUN_NAMED([TOOLCHAIN_CHECK_LINKER_VERSION],
[*VERSION PREFIX IF_AT_LEAST IF_OLDER_THAN], [$@],
[
# Need to assign to a variable since m4 is blocked from modifying parts in [].
@@ -294,13 +293,11 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
TOOLCHAIN_CC_BINARY_clang="clang"
TOOLCHAIN_CC_BINARY_gcc="gcc"
TOOLCHAIN_CC_BINARY_microsoft="cl$EXE_SUFFIX"
TOOLCHAIN_CC_BINARY_solstudio="cc"
TOOLCHAIN_CC_BINARY_xlc="xlclang"
TOOLCHAIN_CXX_BINARY_clang="clang++"
TOOLCHAIN_CXX_BINARY_gcc="g++"
TOOLCHAIN_CXX_BINARY_microsoft="cl$EXE_SUFFIX"
TOOLCHAIN_CXX_BINARY_solstudio="CC"
TOOLCHAIN_CXX_BINARY_xlc="xlclang++"
# Use indirect variable referencing
@@ -348,8 +345,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
# Append VS_PATH. In WSL, VS_PATH will not contain the WSL env path needed
# for using basic Unix tools, so need to keep the original PATH.
BASIC_APPEND_TO_PATH(PATH, $VS_PATH)
BASIC_APPEND_TO_PATH(WSLENV, "PATH/l:LIB:INCLUDE")
UTIL_APPEND_TO_PATH(PATH, $VS_PATH)
UTIL_APPEND_TO_PATH(WSLENV, "PATH/l:LIB:INCLUDE")
export WSLENV
else
# Reset path to VS_PATH. It will include everything that was on PATH at the time we
@@ -407,28 +404,7 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
COMPILER=[$]$1
COMPILER_NAME=$2
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
# cc -V output typically looks like
# cc: Sun C 5.12 Linux_i386 2011/11/16
# or
# cc: Studio 12.5 Sun C 5.14 SunOS_sparc 2016/05/31
COMPILER_VERSION_OUTPUT=`$COMPILER -V 2>&1`
# Check that this is likely to be the Solaris Studio cc.
$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "^.* Sun $COMPILER_NAME" > /dev/null
if test $? -ne 0; then
ALT_VERSION_OUTPUT=`$COMPILER --version 2>&1`
AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
AC_MSG_NOTICE([The result from running with -V was: "$COMPILER_VERSION_OUTPUT"])
AC_MSG_NOTICE([The result from running with --version was: "$ALT_VERSION_OUTPUT"])
AC_MSG_ERROR([A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir.])
fi
# Remove usage instructions (if present), and
# collapse compiler output into a single line
COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
$SED -e 's/ *@<:@Uu@:>@sage:.*//'`
COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
$SED -e "s/^.*@<:@ ,\t@:>@$COMPILER_NAME@<:@ ,\t@:>@\(@<:@1-9@:>@\.@<:@0-9@:>@@<:@0-9@:>@*\).*/\1/"`
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
if test "x$TOOLCHAIN_TYPE" = xxlc; then
# xlc -qversion output typically looks like
# IBM XL C/C++ for AIX, V11.1 (5724-X13)
# Version: 11.01.0000.0015
@@ -450,9 +426,10 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
# There is no specific version flag, but all output starts with a version string.
# First line typically looks something like:
# Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
# but the compiler name may vary depending on locale.
COMPILER_VERSION_OUTPUT=`"$COMPILER" 2>&1 | $GREP -v 'ERROR.*UtilTranslatePathList' | $HEAD -n 1 | $TR -d '\r'`
# Check that this is likely to be Microsoft CL.EXE.
$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft.*Compiler" > /dev/null
$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft" > /dev/null
if test $? -ne 0; then
AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
AC_MSG_NOTICE([The result from running it was: "$COMPILER_VERSION_OUTPUT"])
@@ -578,12 +555,12 @@ AC_DEFUN([TOOLCHAIN_FIND_COMPILER],
fi
# Now we have a compiler binary in $1. Make sure it's okay.
BASIC_FIXUP_EXECUTABLE($1)
UTIL_FIXUP_EXECUTABLE($1)
TEST_COMPILER="[$]$1"
AC_MSG_CHECKING([resolved symbolic links for $1])
SYMLINK_ORIGINAL="$TEST_COMPILER"
BASIC_REMOVE_SYMBOLIC_LINKS(SYMLINK_ORIGINAL)
UTIL_REMOVE_SYMBOLIC_LINKS(SYMLINK_ORIGINAL)
if test "x$TEST_COMPILER" = "x$SYMLINK_ORIGINAL"; then
AC_MSG_RESULT([no symlink])
else
@@ -612,26 +589,19 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_LD_VERSION],
LINKER=[$]$1
LINKER_NAME="$2"
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
# cc -Wl,-V output typically looks like
# ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.2329
# solstudio cc requires us to have an existing file to pass as argument,
# but it need not be a syntactically correct C file, so just use
# ourself. :) The intermediate 'cat' is needed to stop ld from leaving
# a lingering a.out (!).
LINKER_VERSION_STRING=`$LD -Wl,-V $TOPDIR/configure 2>&1 | $CAT | $HEAD -n 1 | $SED -e 's/ld: //'`
# Extract version number
[ LINKER_VERSION_NUMBER=`$ECHO $LINKER_VERSION_STRING | \
$SED -e 's/.* \([0-9][0-9]*\.[0-9][0-9]*\)-\([0-9][0-9]*\.[0-9][0-9]*\)/\1.\2/'` ]
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
if test "x$TOOLCHAIN_TYPE" = xxlc; then
LINKER_VERSION_STRING="Unknown"
LINKER_VERSION_NUMBER="0.0"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# There is no specific version flag, but all output starts with a version string.
# First line typically looks something like:
# Microsoft (R) Incremental Linker Version 12.00.31101.0
# Reset PATH since it can contain a mix of WSL/linux paths and Windows paths from VS,
# which, in combination with WSLENV, will make the WSL layer complain
old_path="$PATH"
PATH=
LINKER_VERSION_STRING=`$LD 2>&1 | $HEAD -n 1 | $TR -d '\r'`
PATH="$old_path"
# Extract version number
[ LINKER_VERSION_NUMBER=`$ECHO $LINKER_VERSION_STRING | \
$SED -e 's/.* \([0-9][0-9]*\(\.[0-9][0-9]*\)*\).*/\1/'` ]
@@ -714,9 +684,9 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
# Setup the preprocessor (CPP and CXXCPP)
#
AC_PROG_CPP
BASIC_FIXUP_EXECUTABLE(CPP)
UTIL_FIXUP_EXECUTABLE(CPP)
AC_PROG_CXXCPP
BASIC_FIXUP_EXECUTABLE(CXXCPP)
UTIL_FIXUP_EXECUTABLE(CXXCPP)
#
# Setup the linker (LD)
@@ -726,16 +696,26 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
# Make sure we reject /usr/bin/link (as determined in CYGWIN_LINK), which is
# a cygwin program for something completely different.
AC_CHECK_PROG([LD], [link$EXE_SUFFIX],[link$EXE_SUFFIX],,, [$CYGWIN_LINK])
BASIC_FIXUP_EXECUTABLE(LD)
UTIL_FIXUP_EXECUTABLE(LD)
# Verify that we indeed succeeded with this trick.
AC_MSG_CHECKING([if the found link.exe is actually the Visual Studio linker])
# Reset PATH since it can contain a mix of WSL/linux paths and Windows paths from VS,
# which, in combination with WSLENV, will make the WSL layer complain
old_path="$PATH"
PATH=
"$LD" --version > /dev/null
if test $? -eq 0 ; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([This is the Cygwin link tool. Please check your PATH and rerun configure.])
else
AC_MSG_RESULT([yes])
fi
PATH="$old_path"
LDCXX="$LD"
# jaotc being a windows program expects the linker to be supplied with exe suffix.
LD_JAOTC="$LD$EXE_SUFFIX"
@@ -744,8 +724,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
LD="$CC"
LDCXX="$CXX"
# jaotc expects 'ld' as the linker rather than the compiler.
BASIC_CHECK_TOOLS([LD_JAOTC], ld)
BASIC_FIXUP_EXECUTABLE(LD_JAOTC)
UTIL_CHECK_TOOLS([LD_JAOTC], ld)
UTIL_FIXUP_EXECUTABLE(LD_JAOTC)
fi
AC_SUBST(LD)
AC_SUBST(LD_JAOTC)
@@ -766,16 +746,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
#
# Setup the assembler (AS)
#
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
BASIC_PATH_PROGS(AS, as)
BASIC_FIXUP_EXECUTABLE(AS)
if test "x$AS" = x; then
AC_MSG_ERROR([Solaris assembler (as) is required. Please install via "pkg install pkg:/developer/assembler".])
fi
else
# FIXME: is this correct for microsoft?
AS="$CC -c"
fi
# FIXME: is this correct for microsoft?
AS="$CC -c"
AC_SUBST(AS)
#
@@ -785,11 +757,11 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
# The corresponding ar tool is lib.exe (used to create static libraries)
AC_CHECK_PROG([AR], [lib$EXE_SUFFIX],[lib$EXE_SUFFIX],,,)
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
BASIC_CHECK_TOOLS(AR, ar gcc-ar)
UTIL_CHECK_TOOLS(AR, ar gcc-ar)
else
BASIC_CHECK_TOOLS(AR, ar)
UTIL_CHECK_TOOLS(AR, ar)
fi
BASIC_FIXUP_EXECUTABLE(AR)
UTIL_FIXUP_EXECUTABLE(AR)
])
# Setup additional tools that is considered a part of the toolchain, but not the
@@ -798,22 +770,22 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
[
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
BASIC_PATH_PROGS(LIPO, lipo)
BASIC_FIXUP_EXECUTABLE(LIPO)
BASIC_REQUIRE_PROGS(OTOOL, otool)
BASIC_FIXUP_EXECUTABLE(OTOOL)
BASIC_REQUIRE_PROGS(INSTALL_NAME_TOOL, install_name_tool)
BASIC_FIXUP_EXECUTABLE(INSTALL_NAME_TOOL)
UTIL_PATH_PROGS(LIPO, lipo)
UTIL_FIXUP_EXECUTABLE(LIPO)
UTIL_REQUIRE_PROGS(OTOOL, otool)
UTIL_FIXUP_EXECUTABLE(OTOOL)
UTIL_REQUIRE_PROGS(INSTALL_NAME_TOOL, install_name_tool)
UTIL_FIXUP_EXECUTABLE(INSTALL_NAME_TOOL)
fi
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
AC_CHECK_PROG([MT], [mt$EXE_SUFFIX], [mt$EXE_SUFFIX],,, [/usr/bin/mt])
BASIC_FIXUP_EXECUTABLE(MT)
UTIL_FIXUP_EXECUTABLE(MT)
# Setup the resource compiler (RC)
AC_CHECK_PROG([RC], [rc$EXE_SUFFIX], [rc$EXE_SUFFIX],,, [/usr/bin/rc])
BASIC_FIXUP_EXECUTABLE(RC)
UTIL_FIXUP_EXECUTABLE(RC)
AC_CHECK_PROG([DUMPBIN], [dumpbin$EXE_SUFFIX], [dumpbin$EXE_SUFFIX],,,)
BASIC_FIXUP_EXECUTABLE(DUMPBIN)
UTIL_FIXUP_EXECUTABLE(DUMPBIN)
# We need to check for 'msbuild.exe' because at the place where we expect to
# find 'msbuild.exe' there's also a directory called 'msbuild' and configure
# won't find the 'msbuild.exe' executable in that case (and the
@@ -824,86 +796,41 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
AC_CHECK_PROG([MSBUILD], [msbuild$EXE_SUFFIX], [msbuild$EXE_SUFFIX],,,)
fi
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
BASIC_PATH_PROGS(STRIP, strip)
BASIC_FIXUP_EXECUTABLE(STRIP)
BASIC_PATH_PROGS(NM, nm)
BASIC_FIXUP_EXECUTABLE(NM)
BASIC_PATH_PROGS(GNM, gnm)
BASIC_FIXUP_EXECUTABLE(GNM)
elif test "x$OPENJDK_TARGET_OS" != xwindows; then
# FIXME: we should unify this with the solaris case above.
BASIC_CHECK_TOOLS(STRIP, strip)
BASIC_FIXUP_EXECUTABLE(STRIP)
if test "x$OPENJDK_TARGET_OS" != xwindows; then
UTIL_CHECK_TOOLS(STRIP, strip)
UTIL_FIXUP_EXECUTABLE(STRIP)
if test "x$TOOLCHAIN_TYPE" = xgcc; then
BASIC_CHECK_TOOLS(NM, nm gcc-nm)
UTIL_CHECK_TOOLS(NM, nm gcc-nm)
else
BASIC_CHECK_TOOLS(NM, nm)
UTIL_CHECK_TOOLS(NM, nm)
fi
BASIC_FIXUP_EXECUTABLE(NM)
UTIL_FIXUP_EXECUTABLE(NM)
GNM="$NM"
AC_SUBST(GNM)
fi
# objcopy is used for moving debug symbols to separate files when
# full debug symbols are enabled.
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
BASIC_CHECK_TOOLS(OBJCOPY, [gobjcopy objcopy])
if test "x$OPENJDK_TARGET_OS" = xlinux; then
UTIL_CHECK_TOOLS(OBJCOPY, [gobjcopy objcopy])
# Only call fixup if objcopy was found.
if test -n "$OBJCOPY"; then
BASIC_FIXUP_EXECUTABLE(OBJCOPY)
if test "x$OPENJDK_BUILD_OS" = xsolaris; then
# objcopy prior to 2.21.1 on solaris is broken and is not usable.
# Rewrite objcopy version output to VALID_VERSION or BAD_VERSION.
# - version number is last blank separate word on first line
# - version number formats that have been seen:
# - <major>.<minor>
# - <major>.<minor>.<micro>
OBJCOPY_VERSION=`$OBJCOPY --version | $HEAD -n 1`
# The outer [ ] is to prevent m4 from eating the [] in the sed expression.
[ OBJCOPY_VERSION_CHECK=`$ECHO $OBJCOPY_VERSION | $SED -n \
-e 's/.* //' \
-e '/^[01]\./b bad' \
-e '/^2\./{' \
-e ' s/^2\.//' \
-e ' /^[0-9]$/b bad' \
-e ' /^[0-9]\./b bad' \
-e ' /^1[0-9]$/b bad' \
-e ' /^1[0-9]\./b bad' \
-e ' /^20\./b bad' \
-e ' /^21\.0$/b bad' \
-e ' /^21\.0\./b bad' \
-e '}' \
-e ':good' \
-e 's/.*/VALID_VERSION/p' \
-e 'q' \
-e ':bad' \
-e 's/.*/BAD_VERSION/p' \
-e 'q'` ]
if test "x$OBJCOPY_VERSION_CHECK" = xBAD_VERSION; then
OBJCOPY=
AC_MSG_WARN([Ignoring found objcopy since it is broken (prior to 2.21.1). No debug symbols will be generated.])
AC_MSG_NOTICE([objcopy reports version $OBJCOPY_VERSION])
AC_MSG_NOTICE([Note: patch 149063-01 or newer contains the correct Solaris 10 SPARC version])
AC_MSG_NOTICE([Note: patch 149064-01 or newer contains the correct Solaris 10 X86 version])
AC_MSG_NOTICE([Note: Solaris 11 Update 1 contains the correct version])
fi
fi
UTIL_FIXUP_EXECUTABLE(OBJCOPY)
fi
fi
BASIC_CHECK_TOOLS(OBJDUMP, [gobjdump objdump])
UTIL_CHECK_TOOLS(OBJDUMP, [gobjdump objdump])
if test "x$OBJDUMP" != x; then
# Only used for compare.sh; we can live without it. BASIC_FIXUP_EXECUTABLE
# Only used for compare.sh; we can live without it. UTIL_FIXUP_EXECUTABLE
# bails if argument is missing.
BASIC_FIXUP_EXECUTABLE(OBJDUMP)
UTIL_FIXUP_EXECUTABLE(OBJDUMP)
fi
case $TOOLCHAIN_TYPE in
gcc|clang|solstudio)
BASIC_CHECK_TOOLS(CXXFILT, [c++filt])
BASIC_CHECK_NONEMPTY(CXXFILT)
BASIC_FIXUP_EXECUTABLE(CXXFILT)
gcc|clang)
UTIL_CHECK_TOOLS(CXXFILT, [c++filt])
UTIL_CHECK_NONEMPTY(CXXFILT)
UTIL_FIXUP_EXECUTABLE(CXXFILT)
;;
esac
])
@@ -931,7 +858,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
if test ! -d "$with_build_devkit"; then
AC_MSG_ERROR([--with-build-devkit points to non existing dir: $with_build_devkit])
else
BASIC_FIXUP_PATH([with_build_devkit])
UTIL_FIXUP_PATH([with_build_devkit])
BUILD_DEVKIT_ROOT="$with_build_devkit"
# Check for a meta data info file in the root of the devkit
if test -f "$BUILD_DEVKIT_ROOT/devkit.info"; then
@@ -975,18 +902,18 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
# FIXME: we should list the discovered compilers as an exclude pattern!
# If we do that, we can do this detection before POST_DETECTION, and still
# find the build compilers in the tools dir, if needed.
BASIC_REQUIRE_PROGS(BUILD_CC, [cl cc gcc])
BASIC_FIXUP_EXECUTABLE(BUILD_CC)
BASIC_REQUIRE_PROGS(BUILD_CXX, [cl CC g++])
BASIC_FIXUP_EXECUTABLE(BUILD_CXX)
BASIC_PATH_PROGS(BUILD_NM, nm gcc-nm)
BASIC_FIXUP_EXECUTABLE(BUILD_NM)
BASIC_PATH_PROGS(BUILD_AR, ar gcc-ar)
BASIC_FIXUP_EXECUTABLE(BUILD_AR)
BASIC_PATH_PROGS(BUILD_OBJCOPY, objcopy)
BASIC_FIXUP_EXECUTABLE(BUILD_OBJCOPY)
BASIC_PATH_PROGS(BUILD_STRIP, strip)
BASIC_FIXUP_EXECUTABLE(BUILD_STRIP)
UTIL_REQUIRE_PROGS(BUILD_CC, [cl cc gcc])
UTIL_FIXUP_EXECUTABLE(BUILD_CC)
UTIL_REQUIRE_PROGS(BUILD_CXX, [cl CC g++])
UTIL_FIXUP_EXECUTABLE(BUILD_CXX)
UTIL_PATH_PROGS(BUILD_NM, nm gcc-nm)
UTIL_FIXUP_EXECUTABLE(BUILD_NM)
UTIL_PATH_PROGS(BUILD_AR, ar gcc-ar)
UTIL_FIXUP_EXECUTABLE(BUILD_AR)
UTIL_PATH_PROGS(BUILD_OBJCOPY, objcopy)
UTIL_FIXUP_EXECUTABLE(BUILD_OBJCOPY)
UTIL_PATH_PROGS(BUILD_STRIP, strip)
UTIL_FIXUP_EXECUTABLE(BUILD_STRIP)
# Assume the C compiler is the assembler
BUILD_AS="$BUILD_CC -c"
# Just like for the target compiler, use the compiler as linker
@@ -997,7 +924,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
TOOLCHAIN_EXTRACT_COMPILER_VERSION(BUILD_CC, [BuildC])
TOOLCHAIN_EXTRACT_COMPILER_VERSION(BUILD_CXX, [BuildC++])
TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS([BUILD_], [OPENJDK_BUILD_])
TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS([BUILD_], [OPENJDK_BUILD_], [build ])
TOOLCHAIN_EXTRACT_LD_VERSION(BUILD_LD, [build linker])
TOOLCHAIN_PREPARE_FOR_LD_VERSION_COMPARISONS([BUILD_], [OPENJDK_BUILD_])
else
@@ -1013,7 +940,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
BUILD_STRIP="$STRIP"
BUILD_AR="$AR"
TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS([], [OPENJDK_BUILD_])
TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS([], [OPENJDK_BUILD_], [build ])
TOOLCHAIN_PREPARE_FOR_LD_VERSION_COMPARISONS([BUILD_], [OPENJDK_BUILD_])
fi
@@ -1080,7 +1007,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then
# An explicit path is specified, use it.
JT_HOME="$with_jtreg"
BASIC_FIXUP_PATH([JT_HOME])
UTIL_FIXUP_PATH([JT_HOME])
if test ! -d "$JT_HOME"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
fi
@@ -1089,15 +1016,10 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home])
fi
JTREGEXE="$JT_HOME/bin/jtreg"
if test ! -x "$JTREGEXE"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not contain valid jtreg executable])
fi
AC_MSG_CHECKING([for jtreg test harness])
AC_MSG_RESULT([$JT_HOME])
else
# Try to locate jtreg
# Try to locate jtreg using the JT_HOME environment variable
if test "x$JT_HOME" != x; then
# JT_HOME set in environment, use it
if test ! -d "$JT_HOME"; then
@@ -1107,11 +1029,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME])
JT_HOME=
elif test ! -x "$JT_HOME/bin/jtreg"; then
AC_MSG_WARN([Ignoring JT_HOME which does not contain valid jtreg executable: $JT_HOME])
JT_HOME=
else
JTREGEXE="$JT_HOME/bin/jtreg"
AC_MSG_NOTICE([Located jtreg using JT_HOME from environment])
fi
fi
@@ -1120,14 +1038,13 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
if test "x$JT_HOME" = x; then
# JT_HOME is not set in environment, or was deemed invalid.
# Try to find jtreg on path
BASIC_PATH_PROGS(JTREGEXE, jtreg)
UTIL_PATH_PROGS(JTREGEXE, jtreg)
if test "x$JTREGEXE" != x; then
# That's good, now try to derive JT_HOME
JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)`
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_WARN([Ignoring jtreg from path since a valid jtreg home cannot be found])
JT_HOME=
JTREGEXE=
else
AC_MSG_NOTICE([Located jtreg using jtreg executable in path])
fi
@@ -1146,10 +1063,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
fi
fi
BASIC_FIXUP_EXECUTABLE(JTREGEXE)
BASIC_FIXUP_PATH(JT_HOME)
UTIL_FIXUP_PATH(JT_HOME)
AC_SUBST(JT_HOME)
AC_SUBST(JTREGEXE)
])
# Setup the JIB dependency resolver

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,7 @@
################################################################################
# The order of these defines the priority by which we try to find them.
VALID_VS_VERSIONS="2017 2019 2013 2015 2012 2010"
VALID_VS_VERSIONS="2019 2017 2013 2015 2012 2010"
VS_DESCRIPTION_2010="Microsoft Visual Studio 2010"
VS_VERSION_INTERNAL_2010=100
@@ -90,8 +90,9 @@ VS_SUPPORTED_2017=true
VS_TOOLSET_SUPPORTED_2017=true
VS_DESCRIPTION_2019="Microsoft Visual Studio 2019"
VS_VERSION_INTERNAL_2019=141
VS_VERSION_INTERNAL_2019=142
VS_MSVCR_2019=vcruntime140.dll
VS_VCRUNTIME_1_2019=vcruntime140_1.dll
VS_MSVCP_2019=msvcp140.dll
VS_ENVVAR_2019="VS160COMNTOOLS"
VS_USE_UCRT_2019="true"
@@ -100,8 +101,8 @@ VS_EDITIONS_2019="BuildTools Community Professional Enterprise"
VS_SDK_INSTALLDIR_2019=
VS_VS_PLATFORM_NAME_2019="v142"
VS_SDK_PLATFORM_NAME_2019=
VS_SUPPORTED_2019=false
VS_TOOLSET_SUPPORTED_2019=false
VS_SUPPORTED_2019=true
VS_TOOLSET_SUPPORTED_2019=true
################################################################################
@@ -112,7 +113,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
VS_BASE="$2"
METHOD="$3"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(VS_BASE)
UTIL_REWRITE_AS_UNIX_PATH(VS_BASE)
# In VS 2017 and VS 2019, the default installation is in a subdir named after the edition.
# Find the first one present and use that.
if test "x$VS_EDITIONS" != x; then
@@ -160,7 +161,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT],
VS_VERSION="$1"
WIN_SDK_BASE="$2"
METHOD="$3"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(WIN_SDK_BASE)
UTIL_REWRITE_AS_UNIX_PATH(WIN_SDK_BASE)
if test -d "$WIN_SDK_BASE"; then
# There have been cases of partial or broken SDK installations. A missing
# lib dir is not going to work.
@@ -299,6 +300,7 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO],
fi
eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}"
eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}"
eval VCRUNTIME_1_NAME="\${VS_VCRUNTIME_1_${VS_VERSION}}"
eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}"
eval USE_UCRT="\${VS_USE_UCRT_${VS_VERSION}}"
eval VS_SUPPORTED="\${VS_SUPPORTED_${VS_VERSION}}"
@@ -313,7 +315,7 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO],
VS_PATH_WINDOWS=""
for i in $TOOLCHAIN_PATH; do
path=$i
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([path])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([path])
VS_PATH_WINDOWS="$VS_PATH_WINDOWS;$path"
done
IFS="$OLDIFS"
@@ -331,14 +333,14 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO],
IFS=";"
for i in $DEVKIT_VS_INCLUDE; do
ipath=$i
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([ipath])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([ipath])
VS_INCLUDE="$VS_INCLUDE;$ipath"
done
# Convert DEVKIT_VS_LIB into VS_LIB so that it can still be exported
# as LIB for compiler invocations without SYSROOT_LDFLAGS
for i in $DEVKIT_VS_LIB; do
libpath=$i
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([libpath])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([libpath])
VS_LIB="$VS_LIB;$libpath"
done
IFS="$OLDIFS"
@@ -365,6 +367,7 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO],
eval VS_DESCRIPTION="\${VS_DESCRIPTION_${VS_VERSION}}"
eval VS_VERSION_INTERNAL="\${VS_VERSION_INTERNAL_${VS_VERSION}}"
eval MSVCR_NAME="\${VS_MSVCR_${VS_VERSION}}"
eval VCRUNTIME_1_NAME="\${VS_VCRUNTIME_1_${VS_VERSION}}"
eval MSVCP_NAME="\${VS_MSVCP_${VS_VERSION}}"
eval USE_UCRT="\${VS_USE_UCRT_${VS_VERSION}}"
eval VS_SUPPORTED="\${VS_SUPPORTED_${VS_VERSION}}"
@@ -408,7 +411,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
if test "x$DEVKIT_VS_VERSION" = x; then
if test "x$VS_ENV_CMD" != x; then
# We have found a Visual Studio environment on disk, let's extract variables from the vsvars bat file.
BASIC_FIXUP_EXECUTABLE(VS_ENV_CMD)
UTIL_FIXUP_EXECUTABLE(VS_ENV_CMD)
# Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat
AC_MSG_NOTICE([Trying to extract Visual Studio environment variables])
@@ -420,13 +423,13 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
# Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment).
# Instead create a shell script which will set the relevant variables when run.
WINPATH_VS_ENV_CMD="$VS_ENV_CMD"
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_VS_ENV_CMD])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_VS_ENV_CMD])
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
WINPATH_BASH="bash"
else
WINPATH_BASH="$BASH"
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_BASH])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_BASH])
fi
# Generate a DOS batch file which runs $VS_ENV_CMD, and then creates a shell
@@ -482,10 +485,9 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
fi
# Now execute the newly created bat file.
# The | cat is to stop SetEnv.Cmd to mess with system colors on msys.
# Change directory so we don't need to mess with Windows paths in redirects.
cd $VS_ENV_TMP_DIR
$CMD /c extract-vs-env.bat | $CAT
$CMD /c extract-vs-env.bat > extract-vs-env.log 2>&1
cd $CONFIGURE_START_DIR
if test ! -s $VS_ENV_TMP_DIR/set-vs-env.sh; then
@@ -521,10 +523,10 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$path
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
UTIL_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([path])
BASIC_APPEND_TO_PATH(VS_PATH, $path)
UTIL_FIXUP_PATH([path])
UTIL_APPEND_TO_PATH(VS_PATH, $path)
fi
IFS=";"
fi
@@ -576,9 +578,9 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$ipath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
UTIL_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([ipath])
UTIL_FIXUP_PATH([ipath])
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -I$ipath"
fi
IFS=";"
@@ -592,9 +594,9 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$libpath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
UTIL_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([libpath])
UTIL_FIXUP_PATH([libpath])
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -libpath:$libpath"
fi
IFS=";"
@@ -665,7 +667,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
if test "x$MSVC_DLL" = x; then
if test "x$VCINSTALLDIR" != x; then
CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
BASIC_FIXUP_PATH(CYGWIN_VC_INSTALL_DIR)
UTIL_FIXUP_PATH(CYGWIN_VC_INSTALL_DIR)
if test "$VS_VERSION" -lt 2017; then
# Probe: Using well-known location from Visual Studio 12.0 and older
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
@@ -675,7 +677,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
fi
else
CYGWIN_VC_TOOLS_REDIST_DIR="$VCToolsRedistDir"
BASIC_FIXUP_PATH(CYGWIN_VC_TOOLS_REDIST_DIR)
UTIL_FIXUP_PATH(CYGWIN_VC_TOOLS_REDIST_DIR)
# Probe: Using well-known location from VS 2017 and VS 2019
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVC_DLL="`ls $CYGWIN_VC_TOOLS_REDIST_DIR/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME`"
@@ -702,7 +704,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
if test "x$MSVC_DLL" = x; then
# Probe: Look in the Windows system32 directory
CYGWIN_SYSTEMROOT="$SYSTEMROOT"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_SYSTEMROOT)
UTIL_REWRITE_AS_UNIX_PATH(CYGWIN_SYSTEMROOT)
POSSIBLE_MSVC_DLL="$CYGWIN_SYSTEMROOT/system32/$DLL_NAME"
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[well-known location in SYSTEMROOT])
@@ -712,7 +714,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
# Probe: If Visual Studio Express is installed, there is usually one with the debugger
if test "x$VS100COMNTOOLS" != x; then
CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_VS_TOOLS_DIR)
UTIL_REWRITE_AS_UNIX_PATH(CYGWIN_VS_TOOLS_DIR)
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
| $GREP -i /x64/ | $HEAD --lines 1`
@@ -802,6 +804,31 @@ AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
AC_SUBST(MSVCP_DLL)
fi
AC_ARG_WITH(vcruntime-1-dll, [AS_HELP_STRING([--with-vcruntime-1-dll],
[path to microsoft C++ runtime dll (vcruntime*_1.dll) (Windows only) @<:@probed@:>@])])
if test "x$VCRUNTIME_1_NAME" != "x"; then
if test "x$with_vcruntime_1_dll" != x; then
# If given explicitly by user, do not probe. If not present, fail directly.
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL($VCRUNTIME_1_NAME, [$with_vcruntime_1_dll],
[--with-vcruntime-1-dll])
if test "x$MSVC_DLL" = x; then
AC_MSG_ERROR([Could not find a proper $VCRUNTIME_1_NAME as specified by --with-vcruntime-1-dll])
fi
VCRUNTIME_1_DLL="$MSVC_DLL"
elif test "x$DEVKIT_VCRUNTIME_1_DLL" != x; then
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL($VCRUNTIME_1_NAME, [$DEVKIT_VCRUNTIME_1_DLL], [devkit])
if test "x$MSVC_DLL" = x; then
AC_MSG_ERROR([Could not find a proper $VCRUNTIME_1_NAME as specified by devkit])
fi
VCRUNTIME_1_DLL="$MSVC_DLL"
else
TOOLCHAIN_SETUP_MSVC_DLL([${VCRUNTIME_1_NAME}])
VCRUNTIME_1_DLL="$MSVC_DLL"
fi
AC_SUBST(VCRUNTIME_1_DLL)
fi
AC_ARG_WITH(ucrt-dll-dir, [AS_HELP_STRING([--with-ucrt-dll-dir],
[path to Microsoft Windows Kit UCRT DLL dir (Windows only) @<:@probed@:>@])])
@@ -814,14 +841,14 @@ AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
else
AC_MSG_RESULT([$with_ucrt_dll_dir])
UCRT_DLL_DIR="$with_ucrt_dll_dir"
BASIC_FIXUP_PATH([UCRT_DLL_DIR])
UTIL_FIXUP_PATH([UCRT_DLL_DIR])
fi
elif test "x$DEVKIT_UCRT_DLL_DIR" != "x"; then
UCRT_DLL_DIR="$DEVKIT_UCRT_DLL_DIR"
AC_MSG_RESULT($UCRT_DLL_DIR)
else
CYGWIN_WINDOWSSDKDIR="${WINDOWSSDKDIR}"
BASIC_FIXUP_PATH([CYGWIN_WINDOWSSDKDIR])
UTIL_FIXUP_PATH([CYGWIN_WINDOWSSDKDIR])
dll_subdir=$OPENJDK_TARGET_CPU
if test "x$dll_subdir" = "xx86_64"; then
dll_subdir="x64"

612
make/autoconf/util.m4 Normal file
View File

@@ -0,0 +1,612 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
m4_include([util_paths.m4])
m4_include([util_windows.m4])
###############################################################################
# Create a function/macro that takes a series of named arguments. The call is
# similar to AC_DEFUN, but the setup of the function looks like this:
# UTIL_DEFUN_NAMED([MYFUNC], [FOO *BAR], [$@], [
# ... do something
# AC_MSG_NOTICE([Value of BAR is ARG_BAR])
# ])
# A star (*) in front of a named argument means that it is required and it's
# presence will be verified. To pass e.g. the first value as a normal indexed
# argument, use [m4_shift($@)] as the third argument instead of [$@]. These
# arguments are referenced in the function by their name prefixed by ARG_, e.g.
# "ARG_FOO".
#
# The generated function can be called like this:
# MYFUNC(FOO: [foo-val],
# BAR: [
# $ECHO hello world
# ])
# Note that the argument value must start on the same line as the argument name.
#
# Argument 1: Name of the function to define
# Argument 2: List of legal named arguments, with a * prefix for required arguments
# Argument 3: Argument array to treat as named, typically $@
# Argument 4: The main function body
AC_DEFUN([UTIL_DEFUN_NAMED],
[
AC_DEFUN($1, [
m4_foreach(arg, m4_split(m4_normalize($2)), [
m4_if(m4_bregexp(arg, [^\*]), -1,
[
m4_set_add(legal_named_args, arg)
],
[
m4_set_add(legal_named_args, m4_substr(arg, 1))
m4_set_add(required_named_args, m4_substr(arg, 1))
]
)
])
m4_foreach([arg], [$3], [
m4_if(m4_bregexp(arg, [: ]), -1, m4_define([arg], m4_bpatsubst(arg, [:], [: ])))
m4_define(arg_name, m4_substr(arg, 0, m4_bregexp(arg, [: ])))
m4_set_contains(legal_named_args, arg_name, [],[AC_MSG_ERROR([Internal error: m4_if(arg_name, , arg, arg_name) is not a valid named argument to [$1]. Valid arguments are 'm4_set_contents(defined_args, [ ]) m4_set_contents(legal_named_args, [ ])'.])])
m4_set_remove(required_named_args, arg_name)
m4_set_remove(legal_named_args, arg_name)
m4_pushdef([ARG_][]arg_name, m4_bpatsubst(m4_substr(arg, m4_incr(m4_incr(m4_bregexp(arg, [: ])))), [^\s*], []))
m4_set_add(defined_args, arg_name)
m4_undefine([arg_name])
])
m4_set_empty(required_named_args, [], [
AC_MSG_ERROR([Internal error: Required named arguments are missing for [$1]. Missing arguments: 'm4_set_contents(required_named_args, [ ])'])
])
m4_foreach([arg], m4_indir([m4_dquote]m4_set_listc([legal_named_args])), [
m4_pushdef([ARG_][]arg, [])
m4_set_add(defined_args, arg)
])
m4_set_delete(legal_named_args)
m4_set_delete(required_named_args)
# Execute function body
$4
m4_foreach([arg], m4_indir([m4_dquote]m4_set_listc([defined_args])), [
m4_popdef([ARG_][]arg)
])
m4_set_delete(defined_args)
])
])
###############################################################################
# Assert that a programmatic condition holds. If not, exit with an error message.
# Check that a shell expression gives return code 0
#
# $1: The shell expression to evaluate
# $2: A message to describe the expression in case of failure
# $2: An message to print in case of failure [optional]
#
AC_DEFUN([UTIL_ASSERT_SHELL_TEST],
[
ASSERTION_MSG="m4_normalize([$3])"
if $1; then
$ECHO Assertion failed: $2
if test "x$3" != x; then
$ECHO Assertion message: "$3"
fi
exit 1
fi
])
###############################################################################
# Assert that a programmatic condition holds. If not, exit with an error message.
# Check that two strings are equal.
#
# $1: The actual string found
# $2: The expected string
# $3: An message to print in case of failure [optional]
#
AC_DEFUN([UTIL_ASSERT_STRING_EQUALS],
[
UTIL_ASSERT_SHELL_TEST(
[test "x[$1]" != "x[$2]"],
[Actual value '[$1]' \("[$1]"\) did not match expected value '[$2]' \("[$2]"\)],
$3)
])
###############################################################################
# Assert that a programmatic condition holds. If not, exit with an error message.
# Check that two strings not are equal.
#
# $1: The actual string found
# $2: The expected string
# $3: An message to print in case of failure [optional]
#
AC_DEFUN([UTIL_ASSERT_STRING_NOT_EQUALS],
[
UTIL_ASSERT_SHELL_TEST(
[test "x[$1]" = "x[$2]"],
[Actual value '[$1]' \("[$1]"\) unexpectedly matched '[$2]' \("[$2]"\)],
$3)
])
###############################################################################
# Assert that a programmatic condition holds. If not, exit with an error message.
# Check that the given expression evaluates to the string 'true'
#
# $1: The expression to evaluate
# $2: An message to print in case of failure [optional]
#
AC_DEFUN([UTIL_ASSERT_TRUE],
[
UTIL_ASSERT_STRING_EQUALS($1, true, $3)
])
###############################################################################
# Assert that a programmatic condition holds. If not, exit with an error message.
# Check that the given expression does not evaluate to the string 'true'
#
# $1: The expression to evaluate
# $2: An message to print in case of failure [optional]
#
AC_DEFUN([UTIL_ASSERT_NOT_TRUE],
[
UTIL_ASSERT_STRING_NOT_EQUALS($1, true, $3)
])
###############################################################################
# Check if a list of space-separated words are selected only from a list of
# space-separated legal words. Typical use is to see if a user-specified
# set of words is selected from a set of legal words.
#
# Sets the specified variable to list of non-matching (offending) words, or to
# the empty string if all words are matching the legal set.
#
# $1: result variable name
# $2: list of values to check
# $3: list of legal values
AC_DEFUN([UTIL_GET_NON_MATCHING_VALUES],
[
# grep filter function inspired by a comment to http://stackoverflow.com/a/1617326
# Notice that the original variant fails on SLES 10 and 11
# Some grep versions (at least bsd) behaves strangely on the base case with
# no legal_values, so make it explicit.
values_to_check=`$ECHO $2 | $TR ' ' '\n'`
legal_values=`$ECHO $3 | $TR ' ' '\n'`
if test -z "$legal_values"; then
$1="$2"
else
result=`$GREP -Fvx "$legal_values" <<< "$values_to_check" | $GREP -v '^$'`
$1=${result//$'\n'/ }
fi
])
###############################################################################
# Check if a list of space-separated words contains any word(s) from a list of
# space-separated illegal words. Typical use is to see if a user-specified
# set of words contains any from a set of illegal words.
#
# Sets the specified variable to list of matching illegal words, or to
# the empty string if no words are matching the illegal set.
#
# $1: result variable name
# $2: list of values to check
# $3: list of illegal values
AC_DEFUN([UTIL_GET_MATCHING_VALUES],
[
# grep filter function inspired by a comment to http://stackoverflow.com/a/1617326
# Notice that the original variant fails on SLES 10 and 11
# Some grep versions (at least bsd) behaves strangely on the base case with
# no legal_values, so make it explicit.
values_to_check=`$ECHO $2 | $TR ' ' '\n'`
illegal_values=`$ECHO $3 | $TR ' ' '\n'`
if test -z "$illegal_values"; then
$1=""
else
result=`$GREP -Fx "$illegal_values" <<< "$values_to_check" | $GREP -v '^$'`
$1=${result//$'\n'/ }
fi
])
###############################################################################
# Converts an ISO-8601 date/time string to a unix epoch timestamp. If no
# suitable conversion method was found, an empty string is returned.
#
# Sets the specified variable to the resulting list.
#
# $1: result variable name
# $2: input date/time string
AC_DEFUN([UTIL_GET_EPOCH_TIMESTAMP],
[
timestamp=$($DATE --utc --date=$2 +"%s" 2> /dev/null)
if test "x$timestamp" = x; then
# GNU date format did not work, try BSD date options
timestamp=$($DATE -j -f "%F %T" "$2" "+%s" 2> /dev/null)
if test "x$timestamp" = x; then
# Perhaps the time was missing
timestamp=$($DATE -j -f "%F %T" "$2 00:00:00" "+%s" 2> /dev/null)
# If this did not work, we give up and return the empty string
fi
fi
$1=$timestamp
])
###############################################################################
# Sort a space-separated list, and remove duplicates.
#
# Sets the specified variable to the resulting list.
#
# $1: result variable name
# $2: list of values to sort
AC_DEFUN([UTIL_SORT_LIST],
[
values_to_sort=`$ECHO $2 | $TR ' ' '\n'`
result=`$SORT -u <<< "$values_to_sort" | $GREP -v '^$'`
$1=${result//$'\n'/ }
])
###############################################################################
# Test if $1 is a valid argument to $3 (often is $JAVA passed as $3)
# If so, then append $1 to $2 \
# Also set JVM_ARG_OK to true/false depending on outcome.
AC_DEFUN([UTIL_ADD_JVM_ARG_IF_OK],
[
$ECHO "Check if jvm arg is ok: $1" >&AS_MESSAGE_LOG_FD
$ECHO "Command: $3 $1 -version" >&AS_MESSAGE_LOG_FD
OUTPUT=`$3 $1 $USER_BOOT_JDK_OPTIONS -version 2>&1`
FOUND_WARN=`$ECHO "$OUTPUT" | $GREP -i warn`
FOUND_VERSION=`$ECHO $OUTPUT | $GREP " version \""`
if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
$2="[$]$2 $1"
JVM_ARG_OK=true
else
$ECHO "Arg failed:" >&AS_MESSAGE_LOG_FD
$ECHO "$OUTPUT" >&AS_MESSAGE_LOG_FD
JVM_ARG_OK=false
fi
])
###############################################################################
# Register a --with argument but mark it as deprecated
# $1: The name of the with argument to deprecate, not including --with-
AC_DEFUN([UTIL_DEPRECATED_ARG_WITH],
[
AC_ARG_WITH($1, [AS_HELP_STRING([--with-$1],
[Deprecated. Option is kept for backwards compatibility and is ignored])],
[AC_MSG_WARN([Option --with-$1 is deprecated and will be ignored.])])
])
###############################################################################
# Register a --enable argument but mark it as deprecated
# $1: The name of the with argument to deprecate, not including --enable-
AC_DEFUN([UTIL_DEPRECATED_ARG_ENABLE],
[
AC_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1],
[Deprecated. Option is kept for backwards compatibility and is ignored])],
[AC_MSG_WARN([Option --enable-$1 is deprecated and will be ignored.])])
])
###############################################################################
# Register an --enable-* argument as an alias for another argument.
# $1: The name of the enable argument for the new alias, not including --enable-
# $2: The full name of the argument of which to make this an alias, including
# --enable- or --with-.
AC_DEFUN([UTIL_ALIASED_ARG_ENABLE],
[
AC_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1], [alias for $2])], [
# Use m4 to strip initial -- from target ($2), convert - to _, prefix enable_
# to new alias name, and create a shell variable assignment,
# e.g.: enable_old_style="$enable_new_alias"
m4_translit(m4_bpatsubst($2, --), -, _)="$[enable_]m4_translit($1, -, _)"
])
])
###############################################################################
# Creates a command-line option using the --enable-* pattern. Will return a
# value of 'true' or 'false' in the RESULT variable, depending on whether the
# option was enabled or not by the user. The option can not be turned on if it
# is not available, as specified by AVAILABLE and/or AVAILABLE_CHECK.
#
# Arguments:
# NAME: The base name of this option (i.e. what follows --enable-). Required.
# RESULT: The name of the variable to set to the result. Defaults to
# <NAME in uppercase>_RESULT.
# DEFAULT: The default value for this option. Can be true, false or auto.
# Defaults to true.
# AVAILABLE: If true, this option is allowed to be selected. Defaults to true.
# DESC: A description of this option. Defaults to a generic and unhelpful
# string.
# DEFAULT_DESC: A message describing the default value, for the help. Defaults
# to the literal value of DEFAULT.
# CHECKING_MSG: The message to present to user when checking this option.
# Defaults to a generic message.
# CHECK_AVAILABLE: An optional code block to execute to determine if the
# option should be available. Must set AVAILABLE to 'false' if not.
# IF_GIVEN: An optional code block to execute if the option was given on the
# command line (regardless of the value).
# IF_NOT_GIVEN: An optional code block to execute if the option was not given
# on the command line (regardless of the value).
# IF_ENABLED: An optional code block to execute if the option is turned on.
# IF_DISABLED: An optional code block to execute if the option is turned off.
#
UTIL_DEFUN_NAMED([UTIL_ARG_ENABLE],
[*NAME RESULT DEFAULT AVAILABLE DESC DEFAULT_DESC CHECKING_MSG
CHECK_AVAILABLE IF_GIVEN IF_NOT_GIVEN IF_ENABLED IF_DISABLED], [$@],
[
##########################
# Part 1: Set up m4 macros
##########################
# If DEFAULT is not specified, set it to 'true'.
m4_define([ARG_DEFAULT], m4_if(ARG_DEFAULT, , true, ARG_DEFAULT))
# If AVAILABLE is not specified, set it to 'true'.
m4_define([ARG_AVAILABLE], m4_if(ARG_AVAILABLE, , true, ARG_AVAILABLE))
# If DEFAULT_DESC is not specified, calculate it from DEFAULT.
m4_define([ARG_DEFAULT_DESC], m4_if(ARG_DEFAULT_DESC, , m4_if(ARG_DEFAULT, true, enabled, m4_if(ARG_DEFAULT, false, disabled, ARG_DEFAULT)), ARG_DEFAULT_DESC))
# If RESULT is not specified, set it to 'ARG_NAME[_ENABLED]'.
m4_define([ARG_RESULT], m4_if(ARG_RESULT, , m4_translit(ARG_NAME, [a-z-], [A-Z_])[_ENABLED], ARG_RESULT))
# Construct shell variable names for the option
m4_define(ARG_OPTION, [enable_]m4_translit(ARG_NAME, [-], [_]))
m4_define(ARG_GIVEN, m4_translit(ARG_NAME, [a-z-], [A-Z_])[_GIVEN])
# If DESC is not specified, set it to a generic description.
m4_define([ARG_DESC], m4_if(ARG_DESC, , [Enable the ARG_NAME feature], m4_normalize(ARG_DESC)))
# If CHECKING_MSG is not specified, set it to a generic description.
m4_define([ARG_CHECKING_MSG], m4_if(ARG_CHECKING_MSG, , [for --enable-ARG_NAME], ARG_CHECKING_MSG))
# If the code blocks are not given, set them to the empty statements to avoid
# tripping up bash.
m4_define([ARG_CHECK_AVAILABLE], m4_if(ARG_CHECK_AVAILABLE, , :, ARG_CHECK_AVAILABLE))
m4_define([ARG_IF_GIVEN], m4_if(ARG_IF_GIVEN, , :, ARG_IF_GIVEN))
m4_define([ARG_IF_NOT_GIVEN], m4_if(ARG_IF_NOT_GIVEN, , :, ARG_IF_NOT_GIVEN))
m4_define([ARG_IF_ENABLED], m4_if(ARG_IF_ENABLED, , :, ARG_IF_ENABLED))
m4_define([ARG_IF_DISABLED], m4_if(ARG_IF_DISABLED, , :, ARG_IF_DISABLED))
##########################
# Part 2: Set up autoconf shell code
##########################
# Check that DEFAULT has a valid value
if test "[x]ARG_DEFAULT" != xtrue && test "[x]ARG_DEFAULT" != xfalse && \
test "[x]ARG_DEFAULT" != xauto ; then
AC_MSG_ERROR([Internal error: Argument DEFAULT to [UTIL_ARG_ENABLE] can only be true, false or auto, was: 'ARG_DEFAULT'])
fi
# Check that AVAILABLE has a valid value
if test "[x]ARG_AVAILABLE" != xtrue && test "[x]ARG_AVAILABLE" != xfalse; then
AC_MSG_ERROR([Internal error: Argument AVAILABLE to [UTIL_ARG_ENABLE] can only be true or false, was: 'ARG_AVAILABLE'])
fi
AC_ARG_ENABLE(ARG_NAME, AS_HELP_STRING([--enable-]ARG_NAME,
[ARG_DESC [ARG_DEFAULT_DESC]]), [ARG_GIVEN=true], [ARG_GIVEN=false])
# Check if the option is available
AVAILABLE=ARG_AVAILABLE
# Run the available check block (if any), which can overwrite AVAILABLE.
ARG_CHECK_AVAILABLE
# Check if the option should be turned on
AC_MSG_CHECKING(ARG_CHECKING_MSG)
if test x$ARG_GIVEN = xfalse; then
if test ARG_DEFAULT = auto; then
# If not given, and default is auto, set it to true iff it's available.
ARG_RESULT=$AVAILABLE
REASON="from default 'auto'"
else
ARG_RESULT=ARG_DEFAULT
REASON="default"
fi
else
if test x$ARG_OPTION = xyes; then
ARG_RESULT=true
REASON="from command line"
elif test x$ARG_OPTION = xno; then
ARG_RESULT=false
REASON="from command line"
elif test x$ARG_OPTION = xauto; then
if test ARG_DEFAULT = auto; then
# If both given and default is auto, set it to true iff it's available.
ARG_RESULT=$AVAILABLE
else
ARG_RESULT=ARG_DEFAULT
fi
REASON="from command line 'auto'"
else
AC_MSG_ERROR([Option [--enable-]ARG_NAME can only be 'yes', 'no' or 'auto'])
fi
fi
if test x$ARG_RESULT = xtrue; then
AC_MSG_RESULT([enabled, $REASON])
if test x$AVAILABLE = xfalse; then
AC_MSG_ERROR([Option [--enable-]ARG_NAME is not available])
fi
else
AC_MSG_RESULT([disabled, $REASON])
fi
# Execute result payloads, if present
if test x$ARG_GIVEN = xtrue; then
ARG_IF_GIVEN
else
ARG_IF_NOT_GIVEN
fi
if test x$ARG_RESULT = xtrue; then
ARG_IF_ENABLED
else
ARG_IF_DISABLED
fi
])
###############################################################################
# Test that variable $1 denoting a program is not empty. If empty, exit with an error.
# $1: variable to check
AC_DEFUN([UTIL_CHECK_NONEMPTY],
[
if test "x[$]$1" = x; then
AC_MSG_ERROR([Could not find required tool for $1])
fi
])
###############################################################################
# Setup a tool for the given variable. If correctly specified by the user,
# use that value, otherwise search for the tool using the supplied code snippet.
# $1: variable to set
# $2: code snippet to call to look for the tool
# $3: code snippet to call if variable was used to find tool
AC_DEFUN([UTIL_SETUP_TOOL],
[
# Publish this variable in the help.
AC_ARG_VAR($1, [Override default value for $1])
if [[ -z "${$1+x}" ]]; then
# The variable is not set by user, try to locate tool using the code snippet
$2
else
# The variable is set, but is it from the command line or the environment?
# Try to remove the string !$1! from our list.
try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!$1!/}
if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
# If it failed, the variable was not from the command line. Ignore it,
# but warn the user (except for BASH, which is always set by the calling BASH).
if test "x$1" != xBASH; then
AC_MSG_WARN([Ignoring value of $1 from the environment. Use command line variables instead.])
fi
# Try to locate tool using the code snippet
$2
else
# If it succeeded, then it was overridden by the user. We will use it
# for the tool.
# First remove it from the list of overridden variables, so we can test
# for unknown variables in the end.
CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
tool_override=[$]$1
AC_MSG_NOTICE([User supplied override $1="$tool_override"])
# Check if we try to supply an empty value
if test "x$tool_override" = x; then
AC_MSG_CHECKING([for $1])
AC_MSG_RESULT([disabled])
else
# Split up override in command part and argument part
tool_and_args=($tool_override)
[ tool_command=${tool_and_args[0]} ]
[ unset 'tool_and_args[0]' ]
[ tool_args=${tool_and_args[@]} ]
# Check if the provided tool contains a complete path.
tool_basename="${tool_command##*/}"
if test "x$tool_basename" = "x$tool_command"; then
# A command without a complete path is provided, search $PATH.
AC_MSG_NOTICE([Will search for user supplied tool "$tool_basename"])
AC_PATH_PROG($1, $tool_basename)
if test "x[$]$1" = x; then
AC_MSG_ERROR([User supplied tool $1="$tool_basename" could not be found])
fi
else
# Otherwise we believe it is a complete path. Use it as it is.
AC_MSG_NOTICE([Will use user supplied tool "$tool_command"])
AC_MSG_CHECKING([for $tool_command])
if test ! -x "$tool_command" && test ! -x "$tool_command.exe"; then
AC_MSG_RESULT([not found])
AC_MSG_ERROR([User supplied tool $1="$tool_command" does not exist or is not executable])
fi
$1="$tool_command"
AC_MSG_RESULT([found])
fi
if test "x$tool_args" != x; then
# If we got arguments, re-append them to the command after the fixup.
$1="[$]$1 $tool_args"
fi
fi
fi
$3
fi
])
###############################################################################
# Call UTIL_SETUP_TOOL with AC_PATH_PROGS to locate the tool
# $1: variable to set
# $2: executable name (or list of names) to look for
# $3: [path]
AC_DEFUN([UTIL_PATH_PROGS],
[
UTIL_SETUP_TOOL($1, [AC_PATH_PROGS($1, $2, , $3)])
])
###############################################################################
# Call UTIL_SETUP_TOOL with AC_CHECK_TOOLS to locate the tool
# $1: variable to set
# $2: executable name (or list of names) to look for
AC_DEFUN([UTIL_CHECK_TOOLS],
[
UTIL_SETUP_TOOL($1, [AC_CHECK_TOOLS($1, $2)])
])
###############################################################################
# Like UTIL_PATH_PROGS but fails if no tool was found.
# $1: variable to set
# $2: executable name (or list of names) to look for
# $3: [path]
AC_DEFUN([UTIL_REQUIRE_PROGS],
[
UTIL_PATH_PROGS($1, $2, , $3)
UTIL_CHECK_NONEMPTY($1)
])
###############################################################################
# Like UTIL_SETUP_TOOL but fails if no tool was found.
# $1: variable to set
# $2: autoconf macro to call to look for the special tool
AC_DEFUN([UTIL_REQUIRE_SPECIAL],
[
UTIL_SETUP_TOOL($1, [$2])
UTIL_CHECK_NONEMPTY($1)
])
###############################################################################
# Like UTIL_REQUIRE_PROGS but also allows for bash built-ins
# $1: variable to set
# $2: executable name (or list of names) to look for
# $3: [path]
AC_DEFUN([UTIL_REQUIRE_BUILTIN_PROGS],
[
UTIL_SETUP_TOOL($1, [AC_PATH_PROGS($1, $2, , $3)])
if test "x[$]$1" = x; then
AC_MSG_NOTICE([Required tool $2 not found in PATH, checking built-in])
if command -v $2 > /dev/null 2>&1; then
AC_MSG_NOTICE([Found $2 as shell built-in. Using it])
$1="$2"
else
AC_MSG_ERROR([Required tool $2 also not found as built-in.])
fi
fi
UTIL_CHECK_NONEMPTY($1)
])

232
make/autoconf/util_paths.m4 Normal file
View File

@@ -0,0 +1,232 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# Appends a string to a path variable, only adding the : when needed.
AC_DEFUN([UTIL_APPEND_TO_PATH],
[
if test "x$2" != x; then
if test "x[$]$1" = x; then
$1="$2"
else
$1="[$]$1:$2"
fi
fi
])
# Prepends a string to a path variable, only adding the : when needed.
AC_DEFUN([UTIL_PREPEND_TO_PATH],
[
if test "x$2" != x; then
if test "x[$]$1" = x; then
$1="$2"
else
$1="$2:[$]$1"
fi
fi
])
################################################################################
# This will make a path absolute. Assumes it's already a unix path. Also
# resolves ~ to homedir.
AC_DEFUN([UTIL_ABSOLUTE_PATH],
[
if test "x[$]$1" != x; then
new_path="[$]$1"
# Use eval to expand a potential ~. This technique does not work if there
# are spaces in the path (which is valid at this point on Windows), so only
# try to apply it if there is an actual ~ first in the path.
if [ [[ "$new_path" = "~"* ]] ]; then
eval new_path="$new_path"
if test ! -f "$new_path" && test ! -d "$new_path"; then
AC_MSG_ERROR([The new_path of $1, which resolves as "$new_path", is not found.])
fi
fi
if test -d "$new_path"; then
$1="`cd "$new_path"; $THEPWDCMD -L`"
else
dir="`$DIRNAME "$new_path"`"
base="`$BASENAME "$new_path"`"
$1="`cd "$dir"; $THEPWDCMD -L`/$base"
fi
fi
])
###############################################################################
# This will make sure the given variable points to a full and proper
# path. This means:
# 1) There will be no spaces in the path. On unix platforms,
# spaces in the path will result in an error. On Windows,
# the path will be rewritten using short-style to be space-free.
# 2) The path will be absolute, and it will be in unix-style (on
# cygwin).
# $1: The name of the variable to fix
AC_DEFUN([UTIL_FIXUP_PATH],
[
# Only process if variable expands to non-empty
if test "x[$]$1" != x; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
UTIL_FIXUP_PATH_CYGWIN($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
UTIL_FIXUP_PATH_MSYS($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
UTIL_FIXUP_PATH_WSL($1)
else
# We're on a unix platform. Hooray! :)
path="[$]$1"
has_space=`$ECHO "$path" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([The path of $1, which resolves as "$path", is invalid.])
AC_MSG_ERROR([Spaces are not allowed in this path.])
fi
UTIL_ABSOLUTE_PATH(path)
$1="$path"
fi
fi
])
###############################################################################
# This will make sure the given variable points to a executable
# with a full and proper path. This means:
# 1) There will be no spaces in the path. On unix platforms,
# spaces in the path will result in an error. On Windows,
# the path will be rewritten using short-style to be space-free.
# 2) The path will be absolute, and it will be in unix-style (on
# cygwin).
# Any arguments given to the executable is preserved.
# If the input variable does not have a directory specification, then
# it need to be in the PATH.
# $1: The name of the variable to fix
AC_DEFUN([UTIL_FIXUP_EXECUTABLE],
[
# Only process if variable expands to non-empty
if test "x[$]$1" != x; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
UTIL_FIXUP_EXECUTABLE_CYGWIN($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
UTIL_FIXUP_EXECUTABLE_MSYS($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
UTIL_FIXUP_EXECUTABLE_WSL($1)
else
# We're on a unix platform. Hooray! :)
# First separate the path from the arguments. This will split at the first
# space.
complete="[$]$1"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
# Cannot rely on the command "which" here since it doesn't always work.
is_absolute_path=`$ECHO "$path" | $GREP ^/`
if test -z "$is_absolute_path"; then
# Path to executable is not absolute. Find it.
IFS_save="$IFS"
IFS=:
for p in $PATH; do
if test -f "$p/$path" && test -x "$p/$path"; then
new_path="$p/$path"
break
fi
done
IFS="$IFS_save"
else
# This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
if test "x$new_path" = x; then
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([This might be caused by spaces in the path, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
# Now join together the path and the arguments once again
if test "x$arguments" != xEOL; then
new_complete="$new_path ${arguments% *}"
else
new_complete="$new_path"
fi
if test "x$complete" != "x$new_complete"; then
$1="$new_complete"
AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
fi
fi
])
###############################################################################
AC_DEFUN([UTIL_REMOVE_SYMBOLIC_LINKS],
[
if test "x$OPENJDK_BUILD_OS" != xwindows; then
# Follow a chain of symbolic links. Use readlink
# where it exists, else fall back to horribly
# complicated shell code.
if test "x$READLINK_TESTED" != yes; then
# On MacOSX there is a readlink tool with a different
# purpose than the GNU readlink tool. Check the found readlink.
READLINK_ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
# If READLINK_ISGNU is empty, then it's a non-GNU readlink. Don't use it.
READLINK_TESTED=yes
fi
if test "x$READLINK" != x && test "x$READLINK_ISGNU" != x; then
$1=`$READLINK -f [$]$1`
else
# Save the current directory for restoring afterwards
STARTDIR=$PWD
COUNTER=0
sym_link_dir=`$DIRNAME [$]$1`
sym_link_file=`$BASENAME [$]$1`
cd $sym_link_dir
# Use -P flag to resolve symlinks in directories.
cd `$THEPWDCMD -P`
sym_link_dir=`$THEPWDCMD -P`
# Resolve file symlinks
while test $COUNTER -lt 20; do
ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
if test "x$ISLINK" == x; then
# This is not a symbolic link! We are done!
break
fi
# Again resolve directory symlinks since the target of the just found
# link could be in a different directory
cd `$DIRNAME $ISLINK`
sym_link_dir=`$THEPWDCMD -P`
sym_link_file=`$BASENAME $ISLINK`
let COUNTER=COUNTER+1
done
cd $STARTDIR
$1=$sym_link_dir/$sym_link_file
fi
fi
])

View File

@@ -0,0 +1,443 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
AC_DEFUN([UTIL_REWRITE_AS_UNIX_PATH],
[
windows_path="[$]$1"
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
unix_path=`$CYGPATH -u "$windows_path"`
$1="$unix_path"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
$1="$unix_path"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
# wslpath does not check the input, only call if an actual windows path was
# given.
if $ECHO "$windows_path" | $GREP -q ["^[a-zA-Z]:[\\\\/]"]; then
unix_path=`$WSLPATH -u "$windows_path"`
$1="$unix_path"
fi
fi
])
AC_DEFUN([UTIL_REWRITE_AS_WINDOWS_MIXED_PATH],
[
unix_path="[$]$1"
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
windows_path=`$CYGPATH -m "$unix_path"`
$1="$windows_path"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
windows_path=`cmd //c echo $unix_path`
$1="$windows_path"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
windows_path=`$WSLPATH -m "$unix_path"`
$1="$windows_path"
fi
])
# Helper function which possibly converts a path using DOS-style short mode.
# If so, the updated path is stored in $new_path.
# $1: The path to check
AC_DEFUN([UTIL_MAKE_WINDOWS_SPACE_SAFE_CYGWIN],
[
input_path="$1"
# Check if we need to convert this using DOS-style short mode. If the path
# contains just simple characters, use it. Otherwise (spaces, weird characters),
# take no chances and rewrite it.
# Note: m4 eats our [], so we need to use @<:@ and @:>@ instead.
has_forbidden_chars=`$ECHO "$input_path" | $GREP @<:@^-._/a-zA-Z0-9@:>@`
if test "x$has_forbidden_chars" != x; then
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
shortmode_path=`$CYGPATH -s -m -a "$input_path"`
path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
# Going to short mode and back again did indeed matter. Since short mode is
# case insensitive, let's make it lowercase to improve readability.
shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
# Now convert it back to Unix-style (cygpath)
input_path=`$CYGPATH -u "$shortmode_path"`
new_path="$input_path"
fi
fi
test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
if test "x$test_cygdrive_prefix" = x; then
# As a simple fix, exclude /usr/bin since it's not a real path.
if test "x`$ECHO $1 | $GREP ^/usr/bin/`" = x; then
# The path is in a Cygwin special directory (e.g. /home). We need this converted to
# a path prefixed by /cygdrive for fixpath to work.
new_path="$CYGWIN_ROOT_PATH$input_path"
fi
fi
])
# Helper function which possibly converts a path using DOS-style short mode.
# If so, the updated path is stored in $new_path.
# $1: The path to check
AC_DEFUN([UTIL_MAKE_WINDOWS_SPACE_SAFE_MSYS],
[
input_path="$1"
# Check if we need to convert this using DOS-style short mode. If the path
# contains just simple characters, use it. Otherwise (spaces, weird characters),
# take no chances and rewrite it.
# Note: m4 eats our [], so we need to use @<:@ and @:>@ instead.
has_forbidden_chars=`$ECHO "$input_path" | $GREP @<:@^-_/:a-zA-Z0-9@:>@`
if test "x$has_forbidden_chars" != x; then
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
fi
])
# Helper function which possibly converts a path using DOS-style short mode.
# If so, the updated path is stored in $new_path.
# $1: The path to check
AC_DEFUN([UTIL_MAKE_WINDOWS_SPACE_SAFE_WSL],
[
input_path="$1"
# Check if we need to convert this using DOS-style short mode. If the path
# contains just simple characters, use it. Otherwise (spaces, weird characters),
# take no chances and rewrite it.
# Note: m4 eats our [], so we need to use @<:@ and @:>@ instead.
has_forbidden_chars=`$ECHO "$input_path" | $GREP [[^-_/:a-zA-Z0-9\\.]]`
if test "x$has_forbidden_chars" != x; then
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
TOPDIR_windows="$TOPDIR"
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([TOPDIR_windows])
# First convert to Windows path to make input valid for cmd
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([input_path])
# Reset PATH since it can contain a mix of WSL/linux paths and Windows paths from VS,
# which, in combination with WSLENV, will make the WSL layer complain
old_path="$PATH"
PATH=
new_path=`$CMD /c $TOPDIR_windows/make/scripts/windowsShortName.bat "$input_path" \
| $SED -e 's|\r||g' \
| $TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
# Rewrite back to unix style
PATH="$old_path"
UTIL_REWRITE_AS_UNIX_PATH([new_path])
fi
])
# FIXME: The UTIL_FIXUP_*_CYGWIN/MSYS is most likely too convoluted
# and could probably be heavily simplified. However, all changes in this
# area tend to need lot of testing in different scenarios, and in lack of
# proper unit testing, cleaning this up has not been deemed worth the effort
# at the moment.
AC_DEFUN([UTIL_FIXUP_PATH_CYGWIN],
[
# Input might be given as Windows format, start by converting to
# unix format.
path="[$]$1"
new_path=`$CYGPATH -u "$path"`
UTIL_ABSOLUTE_PATH(new_path)
# Cygwin tries to hide some aspects of the Windows file system, such that binaries are
# named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
# the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
# "foo.exe" is OK but "foo" is an error.
#
# This test is therefore slightly more accurate than "test -f" to check for file precense.
# It is also a way to make sure we got the proper file name for the real test later on.
test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
if test "x$test_shortpath" = x; then
AC_MSG_NOTICE([The path of $1, which resolves as "$path", is invalid.])
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
UTIL_MAKE_WINDOWS_SPACE_SAFE_CYGWIN([$new_path])
if test "x$path" != "x$new_path"; then
$1="$new_path"
AC_MSG_NOTICE([Rewriting $1 to "$new_path"])
fi
])
AC_DEFUN([UTIL_FIXUP_PATH_MSYS],
[
path="[$]$1"
has_colon=`$ECHO $path | $GREP ^.:`
new_path="$path"
if test "x$has_colon" = x; then
# Not in mixed or Windows style, start by that.
new_path=`cmd //c echo $path`
fi
UTIL_ABSOLUTE_PATH(new_path)
UTIL_MAKE_WINDOWS_SPACE_SAFE_MSYS([$new_path])
UTIL_REWRITE_AS_UNIX_PATH(new_path)
if test "x$path" != "x$new_path"; then
$1="$new_path"
AC_MSG_NOTICE([Rewriting $1 to "$new_path"])
fi
# Save the first 10 bytes of this path to the storage, so fixpath can work.
all_fixpath_prefixes=("${all_fixpath_prefixes@<:@@@:>@}" "${new_path:0:10}")
])
AC_DEFUN([UTIL_FIXUP_PATH_WSL],
[
# Input might be given as Windows format, start by converting to
# unix format.
new_path="[$]$1"
UTIL_REWRITE_AS_UNIX_PATH([new_path])
UTIL_ABSOLUTE_PATH(new_path)
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
UTIL_MAKE_WINDOWS_SPACE_SAFE_WSL([$new_path])
if test "x$path" != "x$new_path"; then
$1="$new_path"
AC_MSG_NOTICE([Rewriting $1 to "$new_path"])
fi
])
AC_DEFUN([UTIL_FIXUP_EXECUTABLE_CYGWIN],
[
# First separate the path from the arguments. This will split at the first
# space.
complete="[$]$1"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
# Input might be given as Windows format, start by converting to
# unix format.
new_path=`$CYGPATH -u "$path"`
# Now try to locate executable using which
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
if test "x$new_path" = x; then
# Oops. Which didn't find the executable.
# The splitting of arguments from the executable at a space might have been incorrect,
# since paths with space are more likely in Windows. Give it another try with the whole
# argument.
path="$complete"
arguments="EOL"
new_path=`$CYGPATH -u "$path"`
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([You might be mixing spaces in the path and extra arguments, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
# Cygwin tries to hide some aspects of the Windows file system, such that binaries are
# named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
# the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
# "foo.exe" is OK but "foo" is an error.
#
# This test is therefore slightly more accurate than "test -f" to check for file presence.
# It is also a way to make sure we got the proper file name for the real test later on.
test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
if test "x$test_shortpath" = x; then
# Short path failed, file does not exist as specified.
# Try adding .exe or .cmd
if test -f "${new_path}.exe"; then
input_to_shortpath="${new_path}.exe"
elif test -f "${new_path}.cmd"; then
input_to_shortpath="${new_path}.cmd"
else
AC_MSG_NOTICE([The path of $1, which resolves as "$new_path", is invalid.])
AC_MSG_NOTICE([Neither "$new_path" nor "$new_path.exe/cmd" can be found])
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
else
input_to_shortpath="$new_path"
fi
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
new_path="$input_to_shortpath"
UTIL_MAKE_WINDOWS_SPACE_SAFE_CYGWIN([$input_to_shortpath])
# remove trailing .exe if any
new_path="${new_path/%.exe/}"
])
AC_DEFUN([UTIL_FIXUP_EXECUTABLE_MSYS],
[
# First separate the path from the arguments. This will split at the first
# space.
complete="[$]$1"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
# Input might be given as Windows format, start by converting to
# unix format.
new_path="$path"
UTIL_REWRITE_AS_UNIX_PATH(new_path)
# Now try to locate executable using which
new_path=`$WHICH "$new_path" 2> /dev/null`
if test "x$new_path" = x; then
# Oops. Which didn't find the executable.
# The splitting of arguments from the executable at a space might have been incorrect,
# since paths with space are more likely in Windows. Give it another try with the whole
# argument.
path="$complete"
arguments="EOL"
new_path="$path"
UTIL_REWRITE_AS_UNIX_PATH(new_path)
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not always considered executable in MSYS causing which
# to not find them
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path="$path"
UTIL_REWRITE_AS_UNIX_PATH(new_path)
fi
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([You might be mixing spaces in the path and extra arguments, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
# Now new_path has a complete unix path to the binary
if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
# Keep paths in /bin as-is, but remove trailing .exe if any
new_path="${new_path/%.exe/}"
# Do not save /bin paths to all_fixpath_prefixes!
else
# Not in mixed or Windows style, start by that.
new_path=`cmd //c echo $new_path`
UTIL_MAKE_WINDOWS_SPACE_SAFE_MSYS([$new_path])
# Output is in $new_path
UTIL_REWRITE_AS_UNIX_PATH(new_path)
# remove trailing .exe if any
new_path="${new_path/%.exe/}"
# Save the first 10 bytes of this path to the storage, so fixpath can work.
all_fixpath_prefixes=("${all_fixpath_prefixes@<:@@@:>@}" "${new_path:0:10}")
fi
])
AC_DEFUN([UTIL_FIXUP_EXECUTABLE_WSL],
[
# First separate the path from the arguments. This will split at the first
# space.
complete="[$]$1"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
# Input might be given as Windows format, start by converting to
# unix format.
new_path="$path"
UTIL_REWRITE_AS_UNIX_PATH([new_path])
# Now try to locate executable using which
new_path_bak="$new_path"
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not considered executable in WSL
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path="$new_path_back"
fi
if test "x$new_path" = x; then
# Oops. Which didn't find the executable.
# The splitting of arguments from the executable at a space might have been incorrect,
# since paths with space are more likely in Windows. Give it another try with the whole
# argument.
path="$complete"
arguments="EOL"
new_path="$path"
UTIL_REWRITE_AS_UNIX_PATH([new_path])
new_path_bak="$new_path"
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not considered executable in WSL
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path="$new_path_bak"
fi
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([You might be mixing spaces in the path and extra arguments, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
# In WSL, suffixes must be present for Windows executables
if test ! -f "$new_path"; then
# Try adding .exe or .cmd
if test -f "${new_path}.exe"; then
input_to_shortpath="${new_path}.exe"
elif test -f "${new_path}.cmd"; then
input_to_shortpath="${new_path}.cmd"
else
AC_MSG_NOTICE([The path of $1, which resolves as "$new_path", is invalid.])
AC_MSG_NOTICE([Neither "$new_path" nor "$new_path.exe/cmd" can be found])
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
else
input_to_shortpath="$new_path"
fi
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
new_path="$input_to_shortpath"
UTIL_MAKE_WINDOWS_SPACE_SAFE_WSL([$input_to_shortpath])
])

View File

@@ -26,19 +26,19 @@
# Default version, product, and vendor information to use,
# unless overridden by configure
DEFAULT_VERSION_FEATURE=14
DEFAULT_VERSION_FEATURE=15
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=0
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2020-03-17
DEFAULT_VERSION_CLASSFILE_MAJOR=58 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_DATE=2020-09-15
DEFAULT_VERSION_CLASSFILE_MAJOR=59 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="13 14"
DEFAULT_JDK_SOURCE_TARGET_VERSION=14
DEFAULT_PROMOTED_VERSION_PRE=
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="14 15"
DEFAULT_JDK_SOURCE_TARGET_VERSION=15
DEFAULT_PROMOTED_VERSION_PRE=ea
LAUNCHER_NAME=openjdk
PRODUCT_NAME=OpenJDK

View File

@@ -43,7 +43,7 @@ $(eval $(call IncludeCustomExtension, common/FindTests.gmk))
TEST_BASEDIRS += $(TOPDIR)/test $(TOPDIR)
# JTREG_TESTROOTS might have been set by a custom extension
JTREG_TESTROOTS += $(addprefix $(TOPDIR)/test/, hotspot/jtreg jdk langtools nashorn jaxp)
JTREG_TESTROOTS += $(addprefix $(TOPDIR)/test/, hotspot/jtreg jdk langtools jaxp)
# Extract the names of the Jtreg group files from the TEST.ROOT files. The
# TEST.ROOT files being properties files can be interpreted as makefiles so
@@ -52,9 +52,11 @@ JTREG_TESTROOTS += $(addprefix $(TOPDIR)/test/, hotspot/jtreg jdk langtools nash
JTREG_ROOT_FILES := $(addsuffix /TEST.ROOT, $(JTREG_TESTROOTS))
JTREG_GROUP_FILES :=
$(foreach root, $(JTREG_TESTROOTS), \
$(eval include $(root)/TEST.ROOT) \
$(eval $(root)_JTREG_GROUP_FILES := $$(addprefix $(root)/, $$(groups))) \
$(eval JTREG_GROUP_FILES += $$($(root)_JTREG_GROUP_FILES)) \
$(if $(wildcard $(root)/TEST.ROOT), \
$(eval include $(root)/TEST.ROOT) \
$(eval $(root)_JTREG_GROUP_FILES := $$(addprefix $(root)/, $$(groups))) \
$(eval JTREG_GROUP_FILES += $$($(root)_JTREG_GROUP_FILES)) \
) \
)
# Cache the expensive to calculate test names in a generated makefile.

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -23,10 +23,6 @@
# questions.
#
# When you read this source. Remember that $(sort ...) has the side effect
# of removing duplicates. It is actually this side effect that is
# desired whenever sort is used below!
ifndef _JAVA_COMPILATION_GMK
_JAVA_COMPILATION_GMK := 1
@@ -39,30 +35,22 @@ endif
include JarArchive.gmk
include ZipArchive.gmk
# Setup make rules for defining a Java compiler, which is needed to compile
# Java code. This rule generates no output.
#
# Parameter 1 is the name of the compiler definition. This name needs to be
# passed to SetupJavaCompilation. This name is used as variable prefix.
#
# Remaining parameters are named arguments. These include:
# JVM:=The jvm used to run the javac command
# JAVAC:=The javac jar and bootstrap classpath changes, or just bin/javac if JVM is left out
# FLAGS:=Flags to be supplied to javac
# SERVER_DIR:=Use a javac server (-XDserver) and store the server related files here
# SERVER_JVM:=Use this JVM for the server. Defaults to the JVM above.
# DISABLE_SJAVAC:=Set to true if this setup does not support sjavac
SetupJavaCompiler = $(NamedParamsMacroTemplate)
define SetupJavaCompilerBody
# The port file contains the tcp/ip on which the server listens
# and the cookie necessary to talk to the server.
$1_SJAVAC_PORTFILE:=$$($1_SERVER_DIR)/server.port
# You can use a different JVM to run the background javac server.
ifeq ($$($1_SERVER_JVM),)
# It defaults to the same JVM that is used to start the javac command.
$1_SERVER_JVM:=$$($1_JVM)
endif
endef
###
### Definitions for common release targets
###
# Create classes that can run on the bootjdk
TARGET_RELEASE_BOOTJDK := $(BOOT_JDK_SOURCETARGET)
# Create classes that can be used in (or be a part of) the new jdk we're building
TARGET_RELEASE_NEWJDK := -source $(JDK_SOURCE_TARGET_VERSION) -target $(JDK_SOURCE_TARGET_VERSION)
# Create classes that can be used in JDK 8, for legacy support
TARGET_RELEASE_JDK8 := --release 8
# Create classes for the new jdk, relying only on the modules of the new jdk
TARGET_RELEASE_NEWJDK_UPGRADED := $(TARGET_RELEASE_NEWJDK) \
--upgrade-module-path $(JDK_OUTPUTDIR)/modules --system none
define add_file_to_copy
# param 1 = BUILD_MYPACKAGE
@@ -76,7 +64,7 @@ define add_file_to_copy
$1_COPY_$$($2_TARGET) := 1
# Now we can setup the dependency that will trigger the copying.
$$($1_BIN)$$($1_MODULE_SUBDIR)$$($2_TARGET) : $2
$$(call LogInfo, Copying $$(patsubst $(OUTPUTDIR)/%,%, $$@))
$$(call LogInfo, Copying $$(patsubst $$(OUTPUTDIR)/%,%, $$@))
$$(install-file)
$(CHMOD) -f ug+w $$@
@@ -86,10 +74,7 @@ define add_file_to_copy
endef
# This macro is used only for properties files that are to be
# copied over to the classes directory in cleaned form:
# Previously this was inconsistently done in different repositories.
# This is the new clean standard. Though it is to be superseded by
# a standard annotation processor from with sjavac.
# copied over to the classes directory in cleaned form.
#
# An empty echo ensures that the input to sed always ends with a newline.
# Certain implementations (e.g. Solaris) will skip the last line without
@@ -120,12 +105,12 @@ define add_file_to_clean
ifneq ($$($1_CLEAN_$$($2_TARGET)), 1)
$1_CLEAN_$$($2_TARGET) := 1
$$($1_BIN)$$($1_MODULE_SUBDIR)$$($2_TARGET) : $2
$$(call LogInfo, Cleaning $$(patsubst $(OUTPUTDIR)/%,%, $$@))
$$(call LogInfo, Cleaning $$(patsubst $$(OUTPUTDIR)/%,%, $$@))
$$(call MakeTargetDir)
( $(CAT) $$< && $(ECHO) "" ) \
| $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' \
-e 's/\([^\\]\)!/\1\\!/g' -e 's/^[ ]*#.*/#/g' \
| $(SED) -f "$(TOPDIR)/make/common/support/unicode2x.sed" \
| $(SED) -f "$$(TOPDIR)/make/common/support/unicode2x.sed" \
| $(SED) -e '/^#/d' -e '/^$$$$/d' \
-e :a -e '/\\$$$$/N; s/\\\n//; ta' \
-e 's/^[ ]*//;s/[ ]*$$$$//' \
@@ -151,9 +136,13 @@ endef
# The target for public API digest is returned in $1_API_TARGET.
#
# Remaining parameters are named arguments. These include:
# SETUP:=must point to a previously setup java compiler, for example: SETUP:=BOOTJAVAC
# JVM:=path to ..bin/java
# ADD_JAVAC_FLAGS:=javac flags to append to the default ones.
# SMALL_JAVA:=set to false to run javac as a "big" java app
# COMPILER:=bootjdk or interim, the latter is default
# TARGET_RELEASE:=javac flags to set the targeted jdk release (-source/-target or --release)
# Defaults to $(TARGET_RELEASE_NEWJDK).
# JAVAC_FLAGS:=javac flags to append to the default ones.
# JAVA_FLAGS:=flags to be appended to the java launching the compiler
# DISABLED_WARNINGS:=list of Xlint warnings that should be disabled
# SRC:=one or more directories to search for sources. The order of the source roots
# is significant. The first found file of a certain name has priority.
# BIN:=store classes here
@@ -173,14 +162,12 @@ endef
# specify files that need to be generated by other rules first.
# HEADERS:=path to directory where all generated c-headers are written.
# DEPENDS:=Extra dependecy
# DISABLE_SJAVAC:=Explicitly disable the use of sjavac for this compilation unit.
# KEEP_DUPS:=Do not remove duplicate file names from different source roots.
# FAIL_NO_SRC:=Set to false to not fail the build if no source files are found,
# default is true.
# DEBUG_SYMBOLS:=Set to false to disable generation of debug symbols.
# CREATE_API_DIGEST:=Set to true to use a javac plugin to generate a public API
# hash which can be used for down stream dependencies to only rebuild
# when the API changes. Implicitly used in sjavac.
# when the API changes.
# KEEP_ALL_TRANSLATIONS:=Set to true to skip translation filtering
SetupJavaCompilation = $(NamedParamsMacroTemplate)
define SetupJavaCompilationBody
@@ -190,23 +177,84 @@ define SetupJavaCompilationBody
$$(error Must specify BIN (in $1))
endif
# Extract the info from the java compiler setup.
$1_JVM := $$($$($1_SETUP)_JVM)
$1_JAVAC := $$($$($1_SETUP)_JAVAC)
$1_FLAGS :=
ifneq ($$($1_DEBUG_SYMBOLS), false)
$1_FLAGS := -g
ifeq ($$($1_SMALL_JAVA), )
# If unspecified, default to true
$1_SMALL_JAVA := true
endif
$1_FLAGS += $$($$($1_SETUP)_FLAGS) $$($1_ADD_JAVAC_FLAGS) $(JAVAC_FLAGS)
ifeq ($$($1_COMPILER), )
# If unspecified, default to interim compiler
$1_COMPILER := interim
endif
ifeq ($$($1_COMPILER), bootjdk)
# Javac server is not available when using the bootjdk compiler.
$1_JAVAC_CMD := $$(JAVAC)
ifeq ($$($1_SMALL_JAVA), true)
$1_FLAGS += $$(addprefix -J, $$(JAVA_FLAGS_SMALL))
endif
ifeq ($$($1_JAVA_FLAGS), true)
$1_FLAGS += $$(addprefix -J, $$($1_JAVA_FLAGS))
endif
ifeq ($$($1_TARGET_RELEASE), )
# If unspecified, default to the new jdk we're building
$1_TARGET_RELEASE := $$(TARGET_RELEASE_BOOTJDK)
endif
else ifeq ($$($1_COMPILER), interim)
# Use java server if it is enabled, and the user does not want a specialized
# class path.
ifeq ($$(ENABLE_JAVAC_SERVER)+$$($1_CLASSPATH), true+)
$1_JAVAC := $$(INTERIM_LANGTOOLS_ARGS) -m jdk.compiler.interim/com.sun.tools.sjavac.Main
# How to launch the server. This must use JAVA_DETACH, which is the "big" java
# with an ability to detach from fixpath (on Windows)
# This will be executed by the client, if needed.
$1_JAVAC_SERVER_CMD := $$(JAVA_DETACH) $$($1_JAVA_FLAGS) $$($1_JAVAC)
$1_ESCAPED_CMD := $$(subst $$(SPACE),%20,$$(subst $$(COMMA),%2C,$$(strip $$($1_JAVAC_SERVER_CMD))))
# The port file contains the tcp/ip on which the server listens
# and the cookie necessary to talk to the server.
$1_JAVA_SERVER_FLAGS := --server:portfile=$$(JAVAC_SERVER_DIR)/server.port,sjavac=$$($1_ESCAPED_CMD)
# Always use small to launch client
$1_JAVAC_CMD := $$(JAVA_SMALL) $$($1_JAVA_FLAGS) $$($1_JAVAC) $$($1_JAVA_SERVER_FLAGS)
else
# No javac server
$1_JAVAC := $$(INTERIM_LANGTOOLS_ARGS) -m jdk.compiler.interim/com.sun.tools.javac.Main
ifeq ($$($1_SMALL_JAVA), true)
$1_JAVAC_CMD := $$(JAVA_SMALL) $$($1_JAVA_FLAGS) $$($1_JAVAC)
else
$1_JAVAC_CMD := $$(JAVA) $$($1_JAVA_FLAGS) $$($1_JAVAC)
endif
endif
ifeq ($$($1_TARGET_RELEASE), )
# If unspecified, default to the new jdk we're building
$1_TARGET_RELEASE := $$(TARGET_RELEASE_NEWJDK)
endif
else
$$(error Invalid value for COMPILER in SetupJavaCompilation for $1: '$$($1_COMPILER)')
endif
# Allow overriding on the command line
JAVA_WARNINGS_ARE_ERRORS ?= -Werror
# Tell javac to do exactly as told and no more
PARANOIA_FLAGS := -implicit:none -Xprefer:source -XDignore.symbol.file=true -encoding ascii
$1_FLAGS += -g -Xlint:all --doclint-format html5 $$($1_TARGET_RELEASE) $$(PARANOIA_FLAGS) $$(JAVA_WARNINGS_ARE_ERRORS)
$1_FLAGS += $$($1_JAVAC_FLAGS)
ifneq ($$($1_DISABLED_WARNINGS), )
$1_FLAGS += -Xlint:$$(call CommaList, $$(addprefix -, $$($1_DISABLED_WARNINGS)))
endif
ifneq ($$($1_CLASSPATH), )
$1_FLAGS += -cp $$(call PathList, $$($1_CLASSPATH))
endif
ifeq ($$($1_JAVAC),)
$$(error The Java compilation $1 refers to a non-existant java compiler setup $$($1_SETUP))
endif
$1_SJAVAC_PORTFILE := $$($$($1_SETUP)_SJAVAC_PORTFILE)
$1_SERVER_JVM := $$($$($1_SETUP)_SERVER_JVM)
$1_DISABLE_SJAVAC := $$($$($1_SETUP)_DISABLE_SJAVAC)
ifneq ($$($1_MODULE), )
$1_MODULE_SUBDIR := /$$($1_MODULE)
@@ -257,13 +305,10 @@ define SetupJavaCompilationBody
# Remove duplicate source files by keeping the first found of each duplicate.
# This allows for automatic overrides with custom or platform specific versions
# source files.
#
# For the smart javac wrapper case, add each removed file to an extra exclude
# file list to prevent sjavac from finding duplicate sources.
$1_SRCS := $$(strip $$(foreach s, $$($1_SRCS), \
$$(eval relative_src := $$(call remove-prefixes, $$($1_SRC), $$(s))) \
$$(if $$($1_$$(relative_src)), \
$$(eval $1_SJAVAC_EXCLUDE_FILES += $$(s)), \
, \
$$(eval $1_$$(relative_src) := 1) $$(s))))
endif
@@ -336,92 +381,17 @@ define SetupJavaCompilationBody
# and remove .java at the end.
$1_REWRITE_INTO_CLASSES:=$$(foreach i,$$($1_SRC),-e 's|$$i/||g') -e 's|/|.|g' -e 's|.java$$$$||g'
# Create SJAVAC variable from JAVAC variable. Expects $1_JAVAC to be
# "bootclasspathprepend -cp .../javac.jar com.sun.tools.javac.Main"
# and javac is simply replaced with sjavac.
$1_SJAVAC:=$$(subst com.sun.tools.javac.Main,com.sun.tools.sjavac.Main,$$($1_JAVAC))
# Set the $1_REMOTE to spawn a background javac server.
$1_REMOTE:=--server:portfile=$$($1_SJAVAC_PORTFILE),id=$1,sjavac=$$(subst \
$$(SPACE),%20,$$(subst $$(COMMA),%2C,$$(strip $$($1_SERVER_JVM) $$($1_SJAVAC))))
$1_COMPILE_TARGET := $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1_batch
$1_FILELIST := $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1_batch.filelist
$1_API_TARGET := $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1_pubapi
ifeq ($$($1_DISABLE_SJAVAC)x$$(ENABLE_SJAVAC),xyes)
# Using sjavac to compile.
# Put headers in a temp dir to filter out those that actually
# changed before copying them to the real header dir.
ifneq (,$$($1_HEADERS))
$1_HEADERS_ARG := -h $$($1_HEADERS).$1.tmp
# Create the sjavac wrapper command line. Sjavac doesn't handle patterns that
# match the absolute path, only the part inside each src dir. Instead -i and
# -x flags apply only to the next -src arg on the command line.
$1_EXCLUDE_FILES_ABS := $$(filter /%, $$($1_EXCLUDE_FILES)) $$($1_SJAVAC_EXCLUDE_FILES)
$1_EXCLUDE_FILES_REL := $$(filter-out /%, $$($1_EXCLUDE_FILES))
$1_SJAVAC_ARGS_STRING := $$(foreach s, $$(patsubst %/, %, $$($1_SRC)), \
$$(addprefix -x ,$$(addsuffix /**,$$($1_EXCLUDES))) \
$$(addprefix -i ,$$(addsuffix /**,$$($1_INCLUDES))) \
$$(addprefix -x **,$$(strip $$($1_EXCLUDE_FILES_REL))) \
$$(addprefix -i **,$$(strip $$($1_INCLUDE_FILES))) \
$$(addprefix -x , $$(strip $$(patsubst $$(s)/%, %, $$(filter $$(s)/%, $$($1_EXCLUDE_FILES_ABS))))) \
-src $$(s))
ifneq ($$(word 20, $$($1_SJAVAC_ARGS_STRING)), )
$1_SJAVAC_ARGS_FILE := $$($1_BIN)/_the.$1_args
$1_SJAVAC_ARGS := @$$($1_SJAVAC_ARGS_FILE)
else
$1_SJAVAC_ARGS := $$($1_SJAVAC_ARGS_STRING)
endif
ifneq (,$$($1_HEADERS))
$1_HEADERS_ARG := -h $$($1_HEADERS)
endif
$1_VARDEPS := $$($1_JVM) $$($1_SJAVAC) $$($1_SJAVAC_ARGS_STRING) $$($1_FLAGS) \
$$($1_HEADERS_ARG) $$($1_BIN) $$($1_EXCLUDES) $$($1_INCLUDES) \
$$($1_EXCLUDE_FILES) $$($1_INCLUDE_FILES)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1.vardeps)
$$($1_COMPILE_TARGET): $$($1_SRCS) $$($1_DEPENDS) $$($1_VARDEPS_FILE)
$$(call MakeDir, $$(@D) $$(dir $$($1_SJAVAC_PORTFILE)))
$$(eval $$(call ListPathsSafely,$1_SRCS, $$@.tmp))
ifneq ($$($1_SJAVAC_ARGS_FILE), )
$$(eval $$(call ListPathsSafely,$1_SJAVAC_ARGS_STRING, $$($1_SJAVAC_ARGS_FILE)))
endif
$$(call LogWarn, Compiling $1)
$$(call ExecuteWithLog, $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$$($1_SAFE_NAME)_batch, \
$$($1_JVM) $$($1_SJAVAC) \
$$($1_REMOTE) \
-j 1 \
--permit-unidentified-artifacts \
--permit-sources-without-package \
--compare-found-sources $$@.tmp \
--log=$(LOG_LEVEL) \
--state-dir=$$($1_BIN)$$($1_MODULE_SUBDIR) \
$$($1_SJAVAC_ARGS) \
$$($1_FLAGS) \
$$($1_HEADERS_ARG) \
-d $$($1_BIN)) && \
$(MV) $$@.tmp $$@
# Create a pubapi file that only changes when the pubapi changes. Dependent
# compilations can use this file to only get recompiled when pubapi has changed.
# Grep returns 1 if no matching lines are found. Do not fail for this.
$(GREP) -e "^I" $$($1_BIN)$$($1_MODULE_SUBDIR)/javac_state \
> $$($1_API_TARGET).tmp || test "$$$$?" = "1"
if [ ! -f $$($1_API_TARGET) ] \
|| [ "`$(DIFF) $$($1_API_TARGET) $$($1_API_TARGET).tmp`" != "" ]; then \
$(MV) $$($1_API_TARGET).tmp $$($1_API_TARGET); \
fi
else
# Using plain javac to batch compile everything.
# When building in batch, put headers in a temp dir to filter out those that actually
# changed before copying them to the real header dir.
ifneq (,$$($1_HEADERS))
$1_HEADERS_ARG := -h $$($1_HEADERS).$1.tmp
$$($1_HEADERS)/_the.$1_headers: $$($1_COMPILE_TARGET)
$$($1_HEADERS)/_the.$1_headers: $$($1_COMPILE_TARGET)
$$(call MakeTargetDir)
if [ -d "$$($1_HEADERS).$1.tmp" ]; then \
for f in `$(CD) $$($1_HEADERS).$1.tmp && $(FIND) . -type f`; do \
@@ -435,44 +405,42 @@ define SetupJavaCompilationBody
$(RM) -r $$($1_HEADERS).$1.tmp
$(TOUCH) $$@
$1_HEADER_TARGETS := $$($1_HEADERS)/_the.$1_headers
endif
$1_VARDEPS := $$($1_JVM) $$($1_JAVAC) $$($1_FLAGS) $$($1_BIN) \
$$($1_HEADERS_ARG) $$($1_EXCLUDES) $$($1_INCLUDES) \
$$($1_EXCLUDE_FILES) $$($1_INCLUDE_FILES)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1.vardeps)
ifeq ($$($1_DISABLE_SJAVAC)x$(ENABLE_JAVAC_SERVER), xyes)
$1_JAVAC_CMD := $$($1_SJAVAC) $$($1_REMOTE)
else
$1_JAVAC_CMD := $$($1_JAVAC)
endif
ifeq ($$($1_CREATE_API_DIGEST), true)
$1_API_DIGEST_FLAGS := \
-classpath $(BUILDTOOLS_OUTPUTDIR)/depend \
-Xplugin:"depend $$($1_API_TARGET)" \
#
$1_EXTRA_DEPS := $(BUILDTOOLS_OUTPUTDIR)/depend/_the.COMPILE_DEPEND_batch
endif
# When not using sjavac, pass along all sources to javac using an @file.
$$($1_COMPILE_TARGET): $$($1_SRCS) $$($1_DEPENDS) $$($1_VARDEPS_FILE) \
$$($1_EXTRA_DEPS)
$$(call MakeDir, $$(@D))
$$(eval $$(call ListPathsSafely,$1_SRCS, $$@.tmp))
$$(call LogWarn, Compiling $$(words $$($1_SRCS)) files for $1)
$$(call ExecuteWithLog, $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$$($1_SAFE_NAME)_batch, \
$$($1_JVM) $$($1_JAVAC_CMD) $$($1_FLAGS) \
-implicit:none \
$$($1_API_DIGEST_FLAGS) \
-d $$($1_BIN) $$($1_HEADERS_ARG) @$$@.tmp) && \
$(MV) $$@.tmp $$@
$1_HEADER_TARGETS := $$($1_HEADERS)/_the.$1_headers
endif
$1_VARDEPS := $$($1_JAVAC_CMD) $$($1_FLAGS) $$($1_BIN) \
$$($1_HEADERS_ARG) $$($1_EXCLUDES) $$($1_INCLUDES) \
$$($1_EXCLUDE_FILES) $$($1_INCLUDE_FILES)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1.vardeps)
ifeq ($$($1_CREATE_API_DIGEST), true)
$1_API_DIGEST_FLAGS := \
-classpath $$(BUILDTOOLS_OUTPUTDIR)/depend \
-Xplugin:"depend $$($1_API_TARGET)" \
#
$1_EXTRA_DEPS := $$(BUILDTOOLS_OUTPUTDIR)/depend/_the.COMPILE_DEPEND_batch
endif
# Create a file with all sources, to pass to javac in an @file.
# $$($1_VARDEPS_FILE) is used as dependency to track changes in set of
# list of files.
$$($1_FILELIST): $$($1_SRCS) $$($1_VARDEPS_FILE)
$$(call MakeDir, $$(@D))
$$(call LogWarn, Compiling $$(words $$($1_SRCS)) files for $1)
$$(eval $$(call ListPathsSafely, $1_SRCS, $$($1_FILELIST)))
# Do the actual compilation
$$($1_COMPILE_TARGET): $$($1_SRCS) $$($1_FILELIST) $$($1_DEPENDS) \
$$($1_VARDEPS_FILE) $$($1_EXTRA_DEPS)
$$(call MakeDir, $$(@D))
$$(call ExecuteWithLog, $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$$($1_SAFE_NAME)_batch, \
$$($1_JAVAC_CMD) $$($1_FLAGS) \
$$($1_API_DIGEST_FLAGS) \
-d $$($1_BIN) $$($1_HEADERS_ARG) @$$($1_FILELIST)) && \
$(TOUCH) $$@
# Add all targets to main variable
$1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1_COMPILE_TARGET) \
$$($1_HEADER_TARGETS)
@@ -499,7 +467,6 @@ define SetupJavaCompilationBody
EXTRA_MANIFEST_ATTR:=$$($1_EXTRA_MANIFEST_ATTR), \
JARINDEX:=$$($1_JARINDEX), \
HEADERS:=$$($1_HEADERS), \
SETUP:=$$($1_SETUP), \
))
# Add jar to target list

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -261,33 +261,7 @@ MakeTargetDir = \
################################################################################
# All install-file and related macros automatically call DecodeSpace when needed.
ifeq ($(call isTargetOs, solaris), true)
# On Solaris, if the target is a symlink and exists, cp won't overwrite.
# Cp has to operate in recursive mode to allow for -P flag, to preserve soft links. If the
# name of the target file differs from the source file, rename after copy.
# If the source and target parent directories are the same, recursive copy doesn't work
# so we fall back on regular copy, which isn't preserving symlinks.
define install-file
$(call MakeTargetDir)
$(RM) '$(call DecodeSpace, $@)'
if [ '$(call DecodeSpace, $(dir $(call EncodeSpace, $@)))' != \
'$(call DecodeSpace, $(dir $(call EncodeSpace, $<)))' ]; then \
$(CP) -f -r -P '$(call DecodeSpace, $<)' \
'$(call DecodeSpace, $(dir $(call EncodeSpace, $@)))'; \
if [ '$(call DecodeSpace, $(notdir $(call EncodeSpace, $@)))' != \
'$(call DecodeSpace, $(notdir $(call EncodeSpace, $(<))))' ]; then \
$(MV) '$(call DecodeSpace, $(dir $(call EncodeSpace, $@))/$(notdir $(call EncodeSpace, $<)))' \
'$(call DecodeSpace, $@)'; \
fi; \
else \
if [ -L '$(call DecodeSpace, $<)' ]; then \
$(ECHO) "Source file is a symlink and target is in the same directory: $< $@" ; \
exit 1; \
fi; \
$(CP) -f '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'; \
fi
endef
else ifeq ($(call isTargetOs, macosx), true)
ifeq ($(call isTargetOs, macosx), true)
# On mac, extended attributes sometimes creep into the source files, which may later
# cause the creation of ._* files which confuses testing. Clear these with xattr if
# set. Some files get their write permissions removed after being copied to the
@@ -465,8 +439,13 @@ endif
# This is normally not needed since we use the FIXPATH prefix for command lines,
# but might be needed in certain circumstances.
ifeq ($(call isTargetOs, windows), true)
FixPath = \
ifeq ($(call isBuildOsEnv, windows.wsl), true)
FixPath = \
$(shell $(WSLPATH) -m $1)
else
FixPath = \
$(shell $(CYGPATH) -m $1)
endif
else
FixPath = \
$1
@@ -525,15 +504,16 @@ DependOnVariableFileName = \
# Param 2 - (optional) name of file to store value in
DependOnVariableHelper = \
$(strip \
$(eval -include $(call DependOnVariableFileName, $1, $2)) \
$(eval $1_filename := $(call DependOnVariableFileName, $1, $2)) \
$(if $(wildcard $($1_filename)), $(eval include $($1_filename))) \
$(if $(call equals, $(strip $($1)), $(strip $($1_old))),,\
$(call MakeDir, $(dir $(call DependOnVariableFileName, $1, $2))) \
$(call MakeDir, $(dir $($1_filename))) \
$(if $(findstring $(LOG_LEVEL), trace), \
$(info NewVariable $1: >$(strip $($1))<) \
$(info OldVariable $1: >$(strip $($1_old))<)) \
$(call WriteFile, $1_old:=$(call DoubleDollar,$(call EscapeHash,$($1))), \
$(call DependOnVariableFileName, $1, $2))) \
$(call DependOnVariableFileName, $1, $2) \
$($1_filename))) \
$($1_filename) \
)
# Main macro

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -112,7 +112,6 @@ PLATFORM_MODULES += \
jdk.jsobject \
jdk.localedata \
jdk.naming.dns \
jdk.scripting.nashorn \
jdk.security.auth \
jdk.security.jgss \
jdk.xml.dom \
@@ -123,14 +122,9 @@ ifeq ($(call isTargetOs, windows), true)
PLATFORM_MODULES += jdk.crypto.mscapi
endif
ifeq ($(call isTargetOs, solaris), true)
PLATFORM_MODULES += jdk.crypto.ucrypto
endif
JRE_TOOL_MODULES += \
jdk.jdwp.agent \
jdk.incubator.jpackage \
jdk.scripting.nashorn.shell \
#
################################################################################
@@ -171,8 +165,7 @@ DOCS_MODULES += \
jdk.naming.dns \
jdk.naming.rmi \
jdk.net \
jdk.rmic \
jdk.scripting.nashorn \
jdk.nio.mapmode \
jdk.sctp \
jdk.security.auth \
jdk.security.jgss \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -204,6 +204,67 @@ DEPENDENCY_TARGET_SED_PATTERN := \
-e 's/$$$$/ :/' \
#
################################################################################
# When absolute paths are not allowed in the output, and the compiler does not
# support any options to avoid it, we need to rewrite compile commands to use
# relative paths. By doing this, the __FILE__ macro will resolve to relative
# paths. The relevant input paths on the command line are the -I flags and the
# path to the source file itself.
#
# The macro MakeCommandRelative is used to rewrite the command line like this:
# 'CD $(WORKSPACE_ROOT) && <cmd>'
# and changes all paths in cmd to be relative to the workspace root. This only
# works properly if the build dir is inside the workspace root. If it's not,
# relative paths are still calculated, but depending on the distance between the
# dirs, paths in the build dir may end up as essentially absolute anyway.
#
# The fix-deps-file macro is used to adjust the contents of the generated make
# dependency files to contain paths compatible with make.
#
ifeq ($(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT)-$(FILE_MACRO_CFLAGS), false-)
# Need to handle -I flags as both '-Ifoo' and '-I foo'.
MakeCommandRelative = \
$(CD) $(WORKSPACE_ROOT) && \
$(foreach o, $1, \
$(if $(filter $(WORKSPACE_ROOT)/% $(OUTPUTDIR)/%, $o), \
$(call RelativePath, $o, $(WORKSPACE_ROOT)) \
, \
$(if $(filter -I$(WORKSPACE_ROOT)/%, $o), \
-I$(call RelativePath, $(patsubst -I%, %, $o), $(WORKSPACE_ROOT)) \
, \
$o \
) \
) \
)
# When compiling with relative paths, the deps file comes out with relative
# paths.
define fix-deps-file
$(SED) -e 's|^\([ ]*\)|\1$(WORKSPACE_ROOT)|' $1.tmp > $1
endef
else
# By default the MakeCommandRelative macro does nothing.
MakeCommandRelative = $1
# No adjustment is needed.
define fix-deps-file
$(MV) $1.tmp $1
endef
endif
################################################################################
# GetEntitlementsFile
# Find entitlements file for executable when signing on macosx. If no
# specialized file is found, returns the default file.
# $1 Executable to find entitlements file for.
ENTITLEMENTS_DIR := $(TOPDIR)/make/data/macosxsigning
DEFAULT_ENTITLEMENTS_FILE := $(ENTITLEMENTS_DIR)/default.plist
GetEntitlementsFile = \
$(foreach f, $(ENTITLEMENTS_DIR)/$(strip $(notdir $1)).plist, \
$(if $(wildcard $f), $f, $(DEFAULT_ENTITLEMENTS_FILE)) \
)
################################################################################
# Create the recipe needed to compile a single native source file.
#
@@ -214,7 +275,6 @@ DEPENDENCY_TARGET_SED_PATTERN := \
# Remaining parameters are named arguments:
# FILE - The full path of the source file to compiler
# BASE - The name of the rule for the entire binary to build ($1)
# DISABLE_THIS_FILE_DEFINE - Set to true to disable the THIS_FILE define.
#
SetupCompileNativeFile = $(NamedParamsMacroTemplate)
define SetupCompileNativeFileBody
@@ -236,12 +296,6 @@ define SetupCompileNativeFileBody
# This is the definite source file to use for $1_FILENAME.
$1_SRC_FILE := $$($1_FILE)
ifneq ($$($1_DEFINE_THIS_FILE), false)
ifneq ($$($$($1_BASE)_DEFINE_THIS_FILE), false)
$1_THIS_FILE = -DTHIS_FILE='"$$($1_FILENAME)"'
endif
endif
ifeq ($$($1_OPTIMIZATION), )
$1_OPT_CFLAGS := $$($$($1_BASE)_OPT_CFLAGS)
$1_OPT_CXXFLAGS := $$($$($1_BASE)_OPT_CXXFLAGS)
@@ -284,13 +338,13 @@ define SetupCompileNativeFileBody
ifneq ($$(filter %.c, $$($1_FILENAME)), )
# Compile as a C file
$1_FLAGS := $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) $$($1_BASE_CFLAGS) \
$$($1_OPT_CFLAGS) $$($1_CFLAGS) $$($1_THIS_FILE) -c
$$($1_OPT_CFLAGS) $$($1_CFLAGS) -c
$1_COMPILER := $$($$($1_BASE)_CC)
$1_DEP_FLAG := $(C_FLAG_DEPS)
else ifneq ($$(filter %.m, $$($1_FILENAME)), )
# Compile as an Objective-C file
$1_FLAGS := -x objective-c $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) \
$$($1_BASE_CFLAGS) $$($1_OPT_CFLAGS) $$($1_CFLAGS) $$($1_THIS_FILE) -c
$$($1_BASE_CFLAGS) $$($1_OPT_CFLAGS) $$($1_CFLAGS) -c
$1_COMPILER := $$($$($1_BASE)_CC)
$1_DEP_FLAG := $(C_FLAG_DEPS)
else ifneq ($$(filter %.s %.S, $$($1_FILENAME)), )
@@ -301,7 +355,7 @@ define SetupCompileNativeFileBody
else ifneq ($$(filter %.cpp %.cc %.mm, $$($1_FILENAME)), )
# Compile as a C++ or Objective-C++ file
$1_FLAGS := $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) $$($1_BASE_CXXFLAGS) \
$$($1_OPT_CXXFLAGS) $$($1_CXXFLAGS) $$($1_THIS_FILE) -c
$$($1_OPT_CXXFLAGS) $$($1_CXXFLAGS) -c
$1_COMPILER := $$($$($1_BASE)_CXX)
$1_DEP_FLAG := $(CXX_FLAG_DEPS)
else
@@ -341,21 +395,17 @@ define SetupCompileNativeFileBody
$$(call LogInfo, Compiling $$($1_FILENAME) (for $$($$($1_BASE)_BASENAME)))
$$(call MakeDir, $$(@D))
ifneq ($(TOOLCHAIN_TYPE), microsoft)
ifeq ($(TOOLCHAIN_TYPE)$$(filter %.s, $$($1_FILENAME)), solstudio)
# The Solaris studio compiler doesn't output the full path to the
# object file in the generated deps files. Fixing it with sed. If
# compiling assembly, don't try this.
$$(call ExecuteWithLog, $$@, \
$$($1_COMPILER) $$($1_DEP_FLAG) $$($1_DEPS_FILE).tmp $$($1_COMPILE_OPTIONS))
$(SED) 's|^$$(@F):|$$@:|' $$($1_DEPS_FILE).tmp > $$($1_DEPS_FILE)
else
$$(call ExecuteWithLog, $$@, \
$$($1_COMPILER) $$($1_DEP_FLAG) $$($1_DEPS_FILE) $$($1_COMPILE_OPTIONS))
endif
# Create a dependency target file from the dependency file.
# Solution suggested by http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_COMPILER) $$($1_DEP_FLAG) \
$$(addsuffix .tmp, $$($1_DEPS_FILE)) \
$$($1_COMPILE_OPTIONS)))
ifneq ($$($1_DEPS_FILE), )
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEPS_FILE) > $$($1_DEPS_TARGETS_FILE)
$$(call fix-deps-file, $$($1_DEPS_FILE))
# Create a dependency target file from the dependency file.
# Solution suggested by:
# http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEPS_FILE) \
> $$($1_DEPS_TARGETS_FILE)
endif
else
# The Visual Studio compiler lacks a feature for generating make
@@ -365,8 +415,8 @@ define SetupCompileNativeFileBody
# Keep as much as possible on one execution line for best performance
# on Windows. No need to save exit code from compilation since
# pipefail is always active on Windows.
$$(call ExecuteWithLog, $$@, \
$$($1_COMPILER) -showIncludes $$($1_COMPILE_OPTIONS)) \
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_COMPILER) -showIncludes $$($1_COMPILE_OPTIONS))) \
| $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \
-e "^$$($1_FILENAME)$$$$" || test "$$$$?" = "1" ; \
$(ECHO) $$@: \\ > $$($1_DEPS_FILE) ; \
@@ -410,7 +460,6 @@ endef
# RC_FLAGS flags for RC.
# EMBED_MANIFEST if true, embed manifest on Windows.
# MAPFILE mapfile
# REORDER reorder file
# USE_MAPFILE_FOR_SYMBOLS if true and this is a STATIC_BUILD, just copy the
# mapfile for the output symbols file
# CC the compiler to use, default is $(CC)
@@ -430,7 +479,6 @@ endef
# STRIPFLAGS Optionally change the flags given to the strip command
# PRECOMPILED_HEADER Header file to use as precompiled header
# PRECOMPILED_HEADER_EXCLUDE List of source files that should not use PCH
# DEFINE_THIS_FILE Set to false to not set the THIS_FILE preprocessor macro
#
# After being called, some variables are exported from this macro, all prefixed
# with parameter 1 followed by a '_':
@@ -649,11 +697,6 @@ define SetupNativeCompilationBody
$1_EXTRA_ASFLAGS += $$(ASFLAGS_DEBUG_SYMBOLS)
endif
ifneq ($$($1_REORDER), )
$1_EXTRA_CFLAGS += $$(C_FLAG_REORDER)
$1_EXTRA_CXXFLAGS += $$(C_FLAG_REORDER)
endif
# Pass the library name for static JNI library naming
ifeq ($$($1_TYPE), STATIC_LIBRARY)
$1_EXTRA_CFLAGS += -DLIBRARY_NAME=$$($1_NAME)
@@ -687,7 +730,6 @@ define SetupNativeCompilationBody
ifeq ($$($1_WARNINGS_AS_ERRORS_$(TOOLCHAIN_TYPE)), true)
$1_EXTRA_CFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
$1_EXTRA_CXXFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
$1_EXTRA_LDFLAGS += $(LDFLAGS_WARNINGS_ARE_ERRORS)
endif
ifeq (NONE, $$($1_OPTIMIZATION))
@@ -734,7 +776,6 @@ define SetupNativeCompilationBody
FILE := $$($1_GENERATED_PCH_SRC), \
BASE := $1, \
EXTRA_CXXFLAGS := -Fp$$($1_PCH_FILE) -Yc$$(notdir $$($1_PRECOMPILED_HEADER)), \
DEFINE_THIS_FILE := false, \
))
$1_USE_PCH_FLAGS := \
@@ -769,7 +810,8 @@ define SetupNativeCompilationBody
$$($1_PCH_FILE): $$($1_PRECOMPILED_HEADER) $$($1_COMPILE_VARDEPS_FILE)
$$(call LogInfo, Generating precompiled header)
$$(call MakeDir, $$(@D))
$$(call ExecuteWithLog, $$@, $$($1_PCH_COMMAND) $$< -o $$@)
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_PCH_COMMAND) $$< -o $$@))
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_PCH_DEPS_FILE) \
> $$($1_PCH_DEPS_TARGETS_FILE)
@@ -825,9 +867,9 @@ define SetupNativeCompilationBody
$$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE)
$$(call LogInfo, Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$($1_BASENAME)))
$$(call MakeDir, $$(@D) $$($1_OBJECT_DIR))
$$(call ExecuteWithLog, $$@, \
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_RC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \
$$($1_VERSIONINFO_RESOURCE) 2>&1 )
$$($1_VERSIONINFO_RESOURCE) 2>&1 ))
# Windows RC compiler does not support -showIncludes, so we mis-use CL
# for this. Filter out RC specific arguments that are unknown to CL.
# For some unknown reason, in this case CL actually outputs the show
@@ -879,17 +921,6 @@ define SetupNativeCompilationBody
ifneq ($(DISABLE_MAPFILES), true)
$1_REAL_MAPFILE := $$($1_MAPFILE)
ifeq ($(call isTargetOs, windows), false)
ifneq ($$($1_REORDER), )
$1_REAL_MAPFILE := $$($1_OBJECT_DIR)/mapfile
$$($1_REAL_MAPFILE) : $$($1_MAPFILE) $$($1_REORDER)
$$(call MakeDir, $$(@D))
$$(CP) $$($1_MAPFILE) $$@.tmp
$$(SED) -e 's=OUTPUTDIR=$$($1_OBJECT_DIR)=' $$($1_REORDER) >> $$@.tmp
$$(MV) $$@.tmp $$@
endif
endif
endif
# Pickup extra OPENJDK_TARGET_OS_TYPE and/or OPENJDK_TARGET_OS dependent variables
@@ -917,10 +948,13 @@ define SetupNativeCompilationBody
ifeq ($(call isTargetOs, windows), true)
$1_EXTRA_LDFLAGS += -debug "-pdb:$$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).pdb" \
"-map:$$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).map"
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
$1_EXTRA_LDFLAGS += "-pdbstripped:$$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).stripped.pdb"
endif
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).pdb \
$$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).map
else ifeq ($(call isTargetOs, linux solaris), true)
else ifeq ($(call isTargetOs, linux), true)
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
# Setup the command line creating debuginfo files, to be run after linking.
# It cannot be run separately since it updates the original target file
@@ -983,7 +1017,7 @@ define SetupNativeCompilationBody
endif
ifeq ($$($1_TYPE), STATIC_LIBRARY)
$1_VARDEPS := $$($1_AR) $$($1_ARFLAGS) $$($1_LIBS) \
$1_VARDEPS := $$($1_AR) $$(ARFLAGS) $$($1_ARFLAGS) $$($1_LIBS) \
$$($1_EXTRA_LIBS)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
@@ -1001,7 +1035,7 @@ define SetupNativeCompilationBody
$$(call LogInfo, Building static library $$($1_BASENAME))
$$(call MakeDir, $$($1_OUTPUT_DIR) $$($1_SYMBOLS_DIR))
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
$$($1_AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_ALL_OBJS) \
$$($1_AR) $$(ARFLAGS) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_ALL_OBJS) \
$$($1_RES))
ifeq ($(STATIC_BUILD), true)
ifeq ($$($1_USE_MAPFILE_FOR_SYMBOLS), true)
@@ -1047,7 +1081,7 @@ define SetupNativeCompilationBody
endif
$1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
$$(GLOBAL_LIBS) $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \
$$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \
$$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \
$$($1_STRIP_CMD)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
@@ -1106,7 +1140,7 @@ define SetupNativeCompilationBody
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
$(LD_OUT_OPTION)$$($1_TARGET) $$($1_LD_OBJ_ARG) $$($1_RES) $$(GLOBAL_LIBS) \
$(LD_OUT_OPTION)$$($1_TARGET) $$($1_LD_OBJ_ARG) $$($1_RES) \
$$($1_LIBS) $$($1_EXTRA_LIBS)) \
| $(GREP) -v "^ Creating library .*\.lib and object .*\.exp" || \
test "$$$$?" = "1" ; \
@@ -1116,7 +1150,7 @@ define SetupNativeCompilationBody
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
$$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
$(LD_OUT_OPTION)$$($1_TARGET) $$($1_LD_OBJ_ARG) $$($1_RES) $$(GLOBAL_LIBS) \
$(LD_OUT_OPTION)$$($1_TARGET) $$($1_LD_OBJ_ARG) $$($1_RES) \
$$($1_LIBS) $$($1_EXTRA_LIBS)) ; \
$$($1_CREATE_DEBUGINFO_CMDS)
$$($1_STRIP_CMD)
@@ -1130,7 +1164,7 @@ define SetupNativeCompilationBody
# silently fail otherwise.
ifneq ($(CODESIGN), )
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp --options runtime \
--entitlements $(TOPDIR)/make/data/macosxsigning/entitlements.plist $$@
--entitlements $$(call GetEntitlementsFile, $$@) $$@
endif
endif

Some files were not shown because too many files have changed in this diff Show More