Compare commits

...

2010 Commits

Author SHA1 Message Date
Sergey Bylokhov
a83d9303d5 8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7
Reviewed-by: phh
Backport-of: 1017a2c2d7
2024-08-26 23:56:50 +00:00
Amos Shi
c67fe36b5f 8325022: Incorrect error message on client authentication
Backport-of: fe78c0f191
2024-08-26 18:48:10 +00:00
Amos Shi
3df18523ab 8210338: Better output for GenerationTests.java
Backport-of: a5f7028279
2024-08-26 16:16:55 +00:00
Amos Shi
9ba9dd276c 8224081: SOCKS v4 tests require IPv4
Backport-of: acad8d1d68
2024-08-26 16:16:32 +00:00
Amos Shi
d3ce405a14 8206440: Remove javac -source/-target 6 from jdk regression tests
Backport-of: d2de786263
2024-08-26 16:14:45 +00:00
Amos Shi
828d645208 8314614: jdk/jshell/ImportTest.java failed with "InternalError: Failed remote listen"
8312140: jdk/jshell tests failed with JDI socket timeouts

Backport-of: 14193a049e
2024-08-21 23:19:47 +00:00
Andrew Lu
cd4ae8cc89 8316973: GC: Make TestDisableDefaultGC use createTestJvm
Reviewed-by: mbaesken
Backport-of: 5f4be8cea9
2024-08-21 08:57:30 +00:00
Matthias Baesken
cd9e6cb584 8334166: Enable binary check
8332008: Enable issuestitle check

Reviewed-by: mdoerr
Backport-of: 108c2e4986
2024-08-20 08:12:25 +00:00
Zdenek Zambersky
3caf5017a1 8336928: GHA: Bundle artifacts removal broken
Backport-of: 98562166e4
2024-08-15 14:17:54 +00:00
Andrew Lu
d8632eda29 8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already in use error
Backport-of: 8785737ba5
2024-08-14 09:14:47 +00:00
Andrew Lu
30f532b4b1 7156347: javax/swing/JList/6462008/bug6462008.java fails
Backport-of: a5b7bc50d4
2024-08-14 09:10:30 +00:00
Andrew Lu
fa64c0e345 8316285: Opensource JButton manual tests
Backport-of: 9f5d2b947f
2024-08-14 09:10:10 +00:00
Andrew Lu
3f2d6f0378 8332113: Update nsk.share.Log to be always verbose
Backport-of: 8464ce6db5
2024-08-14 01:56:53 +00:00
Andrew Lu
3c43b2f623 8315965: Open source various AWT applet tests
Backport-of: 3b397c8552
2024-08-14 01:56:28 +00:00
Adam Farley
f7217d7595 8286601: Mac Aarch: Excessive warnings to be ignored for build jdk
Backport-of: 461fb320bc
2024-08-13 15:57:51 +00:00
Matthias Baesken
73dc9e8999 8292044: HttpClient doesn't handle 102 or 103 properly
Reviewed-by: mdoerr
Backport-of: 1000028639
2024-08-09 14:06:15 +00:00
Christoph Langer
648e8f0189 8330523: Reduce runtime and improve efficiency of KeepAliveTest
Backport-of: 98038b3dfd
2024-08-07 15:05:33 +00:00
Matthias Baesken
3acdebea85 8229822: ThrowingPushPromises tests sometimes fail due to EOF
SocketTube is fixed to cater for errors caused by pausing/resuming events on an asynchronously closed connection, from within the selector's manager thread. Http2Connection and Stream are fixed to prevent sending a DataFrame on a stream after Reset has been sent.

Backport-of: 77c46ea911
2024-08-06 07:05:56 +00:00
Andrew Lu
c5d2cc138f 8336301: test/jdk/java/nio/channels/AsyncCloseAndInterrupt.java leaves around a FIFO file upon test completion
Backport-of: ae9f318fc3
2024-08-06 02:13:49 +00:00
Andrew Lu
7d34693612 8317358: G1: Make TestMaxNewSize use createTestJvm
Backport-of: 1a098356dd
2024-08-06 02:13:24 +00:00
Andrew Lu
1daafddfd0 8317343: GC: Make TestHeapFreeRatio use createTestJvm
Backport-of: c64bd3d671
2024-08-05 02:13:33 +00:00
Alexander Pepin
8ef848219b 8334711: [TEST_BUG] Compilation failed of MimeFormatsTest/MimeFormatsTest.java
Reviewed-by: yan
2024-08-01 09:47:01 +00:00
Andrew Lu
7547abf0d3 8255913: Decrease number of iterations in TestMaxCachedBufferSize
Backport-of: d6f0940400
2024-08-01 02:20:19 +00:00
Andrew Lu
ee57792bba 8259274: Increase timeout duration in sun/nio/ch/TestMaxCachedBufferSize.java
Backport-of: 2659bc449c
2024-08-01 02:19:51 +00:00
Andrew Lu
d668844b66 8298873: Update IllegalRecordVersion.java for changes to TLS implementation
8301189: validate-source fails after JDK-8298873

Backport-of: 28adafcb52
2024-08-01 02:19:26 +00:00
SendaoYan
95c0b97bc2 8244966: Add .vscode to .hgignore and .gitignore
Add .vscode to .hgignore and .gitignore

Reviewed-by: phh
Backport-of: d3e0c4ce9c
2024-07-30 15:01:25 +00:00
Andrew Lu
de90ed01e1 8317228: GC: Make TestXXXHeapSizeFlags use createTestJvm
Reviewed-by: mbaesken
Backport-of: 7ca0ae9415
2024-07-30 07:51:14 +00:00
Matthias Baesken
7416eeeb46 8253207: enable problemlists jcheck's check
Reviewed-by: clanger
Backport-of: d38c97dd52
2024-07-29 11:12:07 +00:00
Alexey Bakhtin
6c7ee264af 8335803: SunJCE cipher throws NPE for un-extractable RSA keys
Reviewed-by: phh
2024-07-26 19:10:29 +00:00
Andrew Lu
b6cd51ab08 8249772: (ch) Improve sun/nio/ch/TestMaxCachedBufferSize.java
Reviewed-by: mbaesken
Backport-of: d6035a522e
2024-07-26 08:17:05 +00:00
Andrew Lu
461e1b2049 8266154: mark hotspot compiler/oracle tests which ignore VM flags
Reviewed-by: mbaesken
Backport-of: eb72950cfd
2024-07-26 08:16:44 +00:00
Andrew Lu
e6beead5e0 8266150: mark hotspot compiler/arguments tests which ignore VM flags
Reviewed-by: mbaesken
Backport-of: eeddb30344
2024-07-26 08:16:12 +00:00
Matthias Baesken
a049bf1104 8334418: Update IANA Language Subtag Registry to Version 2024-06-14
Reviewed-by: rschmelter
Backport-of: 861aefcafa
2024-07-26 07:18:48 +00:00
Andrew Lu
e74a76a224 8249826: 5 javax/net/ssl/SSLEngine tests use @ignore w/o bug-id
Backport-of: bf9a8ce0bb
2024-07-24 09:13:06 +00:00
Andrew Lu
3b0f78bfe5 8266149: mark hotspot compiler/startup tests which ignore VM flags
Backport-of: feb18d292f
2024-07-24 09:12:41 +00:00
Andrew Lu
9fe50deebb 8255969: Improve java/io/BufferedInputStream/LargeCopyWithMark.java using jtreg tags
Backport-of: 727a69f537
2024-07-24 09:12:23 +00:00
Andrew Lu
1943345ad2 8275851: Deproblemlist open/test/jdk/javax/swing/JComponent/6683775/bug6683775.java
Backport-of: 485d65865e
2024-07-24 09:09:50 +00:00
Andrew Lu
92df183fbd 8266153: mark hotspot compiler/onSpinWait tests which ignore VM flags
Backport-of: 30b1354085
2024-07-24 09:09:31 +00:00
Matthias Baesken
54949eb4d1 8332424: Update IANA Language Subtag Registry to Version 2024-05-16
Reviewed-by: lucy
Backport-of: 6dac8d6452
2024-07-24 09:07:27 +00:00
Matthias Baesken
d51bb43313 8327631: Update IANA Language Subtag Registry to Version 2024-03-07
Backport-of: 7cabe84d83
2024-07-23 06:27:51 +00:00
Matthias Baesken
b423f0148d 8299058: AssertionError in sun.net.httpserver.ServerImpl when connection is idle
Backport-of: 00b764c976
2024-07-22 10:49:47 +00:00
Matthias Baesken
e655a2f14e 8332898: failure_handler: log directory of commands
Backport-of: 7f0ad513c3
2024-07-22 10:49:27 +00:00
Matthias Baesken
bc4a5255bc 8315422: getSoTimeout() would be in try block in SSLSocketImpl
Reviewed-by: lucy
Backport-of: 2264667bba
2024-07-22 08:07:42 +00:00
Matthias Baesken
b254771f86 8303216: Prefer ArrayList to LinkedList in sun.net.httpserver.ServerImpl
Backport-of: 881517586d
2024-07-19 07:26:17 +00:00
Andrew Lu
278f506837 8249097: test/lib/jdk/test/lib/util/JarBuilder.java has a bad copyright
Reviewed-by: mbaesken
Backport-of: 9f0bafe6ad
2024-07-19 07:21:06 +00:00
Andrew Lu
5f1ed563ea 8328273: sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java failed with java.rmi.server.ExportException: Port already in use
Backport-of: a85c8493ae
2024-07-19 07:20:43 +00:00
Andrew Lu
5587a9642c 8317316: G1: Make TestG1PercentageOptions use createTestJvm
Backport-of: d8cd60588a
2024-07-19 07:20:13 +00:00
Andrew Lu
6a2cce7354 8316211: Open source several manual applet tests
Reviewed-by: mbaesken
Backport-of: 2f311d59dc
2024-07-19 07:19:56 +00:00
Alexander Zvegintsev
163309f854 8307779: Relax the java.awt.Robot specification
Reviewed-by: phh, prr
Backport-of: 42eb684707287a41a9922519de6b08aff1d83eae
2024-07-18 12:18:40 +00:00
Matthias Baesken
1784030096 8294310: compare.sh fails on macos after JDK-8293550
Reviewed-by: mdoerr
Backport-of: b9eeec2b6b
2024-07-18 08:06:18 +00:00
Matthias Baesken
f27e8c8108 8317039: Enable specifying the JDK used to run jtreg
8317807: JAVA_FLAGS removed from jtreg running in JDK-8317039

Backport-of: b186446511
2024-07-17 13:03:24 +00:00
Justin Lu
3134d7eb74 8330416: Update system property for Java SE specification maintenance version
Reviewed-by: lancea, iris
Backport-of: 22fe35f286c71e01945cacc95ef090cadf1c3d99
2024-07-17 07:31:12 +00:00
Christoph Langer
5647fbfc51 Merge 2024-07-16 21:56:25 +00:00
SendaoYan
c87a410bd5 8331466: Problemlist serviceability/dcmd/gc/RunFinalizationTest.java on generic-all
Reviewed-by: phh
Backport-of: 61e2dba500
2024-07-16 15:38:34 +00:00
Andrew Lu
697d8566b1 8329559: Test javax/swing/JFrame/bug4419914.java failed because The End and Start buttons are not placed correctly and Tab focus does not move as expected
Backport-of: 7c1fad4fb6
2024-07-16 06:41:42 +00:00
Matthias Baesken
716621da68 8320602: Lock contention in SchemaDVFactory.getInstance()
Backport-of: 0678253bff
2024-07-16 06:35:49 +00:00
Matthias Baesken
78fd6b9769 8330063: Upgrade jQuery to 3.7.1
Reviewed-by: lucy
Backport-of: 7ae015fdf1
2024-07-12 12:10:34 +00:00
George Adams
32d271316f 8309934: Update GitHub Actions to use JDK 17 for building jtreg
Backport-of: 8aad881e80
2024-07-12 11:54:16 +00:00
Andrew Lu
9bf121ddee 8255898: Test java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.java fails on Mac OS
Backport-of: 947d52c4c3
2024-07-12 02:13:34 +00:00
Andrew Lu
c7b9769d61 8328158: Convert java/awt/Choice/NonFocusablePopupMenuTest to automatic main test
8328269: NonFocusablePopupMenuTest.java should be marked as headful

Reviewed-by: mbaesken
Backport-of: b8dfeafdfd
2024-07-12 02:13:12 +00:00
Andrew Lu
236ce175d7 8328238: Convert few closed manual applet tests to main
Reviewed-by: mbaesken
Backport-of: 68170ae222
2024-07-11 02:03:14 +00:00
Andrew Lu
4c626c80a2 8316306: Open source and convert manual Swing test
Reviewed-by: mbaesken
Backport-of: d3e8218386
2024-07-11 02:02:53 +00:00
Matthias Baesken
b05f58e9ec 8334653: ISO 4217 Amendment 177 Update
Backport-of: 42f9791b8d
2024-07-10 11:59:13 +00:00
Matthias Baesken
5375248aa5 8332524: Instead of printing "TLSv1.3," it is showing "TLS13"
Backport-of: e681b4e9b3
2024-07-10 11:34:27 +00:00
Christoph Langer
ff537af466 8335973: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.24
Reviewed-by: mbaesken
2024-07-09 10:41:55 +02:00
Antonio Vieiro
82e28669e7 8318039: GHA: Bump macOS and Xcode versions
Reviewed-by: andrew
Backport-of: 605c976729
2024-07-09 08:22:32 +00:00
Martin Balao
e3e776509a 8320548: Improved loop handling
Backport-of: 72eed2f709caa48c82f58fe75c7e94d2c45947e1
2024-07-09 08:20:10 +02:00
Martin Balao
69ee1d0005 8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL
Reviewed-by: roland
Backport-of: cc894d849a
2024-07-09 08:20:10 +02:00
Martin Balao
89fd88ed81 8327413: Enhance compilation efficiency
Reviewed-by: andrew
Backport-of: eb1f33f525846e6020185cbc5d6e48cbc760dbb2
2024-07-09 08:19:42 +02:00
Yuri Nesterenko
3d25b4a34a 8324559: Improve 2D image handling
Reviewed-by: mbalao
Backport-of: 1a5a44019871c411148ca85d0491cc68d2256e4e
2024-07-09 08:12:41 +02:00
Alexei Voitylov
0533bad7db 8323390: Enhance mask blit functionality
Reviewed-by: mbalao
Backport-of: 895893f2fbf1c521d4a263d505f0ecbda8d2eeea
2024-07-09 08:12:41 +02:00
Martin Balao
806882b1c8 8323231: Improve array management
Reviewed-by: mbaesken
Backport-of: cf20364d0cb3f182880ee91c7fb023615e27becf
2024-07-09 08:12:41 +02:00
Alexey Bakhtin
4efcece1f8 8322106: Enhance Pack 200 loading
Reviewed-by: mbalao
2024-07-09 08:12:41 +02:00
Yuri Nesterenko
31035f07d3 8320097: Improve Image transformations
Reviewed-by: mbalao
Backport-of: 1401634b21b76db90291011bcae68c461742e687
2024-07-09 08:12:41 +02:00
Alexei Voitylov
c08f0f66c0 8325600: Better symbol storage
Reviewed-by: mbalao
Backport-of: da06689bf6fde7b6dd8efc2f0c39fc95adcdb69d
2024-07-09 08:12:41 +02:00
Alexei Voitylov
fcfbef7f66 8319859: Better symbol storage
Reviewed-by: yan, mbalao
Backport-of: f7857e9106841f402ade56bad0338fc53159fb9a
2024-07-09 08:12:41 +02:00
Alexei Voitylov
6fb5b8a3d2 8314794: Improve UTF8 String supports
Co-authored-by: Ekaterina Vergizova <evergizova@openjdk.org>
Reviewed-by: mbalao
Backport-of: ab2532d858de8d855529b6f2491f94c499f94009
2024-07-09 08:09:35 +02:00
Andrew Lu
b005573d17 8331798: Remove unused arg of checkErgonomics() in TestMaxHeapSizeTools.java
Reviewed-by: mbaesken
Backport-of: c6f611cfe0
2024-07-09 02:10:56 +00:00
Andrew Lu
e3ff295d65 8333804: java/net/httpclient/ForbiddenHeadTest.java threw an exception with 0 failures
Backport-of: ec1664e8c9
2024-07-09 02:10:36 +00:00
Andrew Lu
9b44a2a410 8222884: ConcurrentClassDescLookup.java times out intermittently
Backport-of: bd046d9b9e
2024-07-08 02:05:46 +00:00
Andrew Lu
cdfb4e7d6c 8231427: Warning cleanup in tests of java.io.Serializable
Backport-of: 942402bab8
2024-07-04 02:27:38 +00:00
Jaroslav Bachorik
91cdddf6d1 8329103: assert(!thread->in_asgct()) failed during multi-mode profiling
Backport-of: 6b1b0e9d45
2024-07-03 13:47:01 +00:00
Sergey Bylokhov
a30852a3af 8327007: javax/swing/JSpinner/8008657/bug8008657.java fails
Backport-of: b7540df6a4
2024-07-03 11:45:31 +00:00
Andrew Lu
7fd48f5cec 8260633: [macos] java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.html test failed
Backport-of: 6f7ddbec7d
2024-07-03 01:58:01 +00:00
Matthias Baesken
d88cf4f48b 8326140: src/jdk.accessibility/windows/native/libjavaaccessbridge/AccessBridgeJavaEntryPoints.cpp ReleaseStringChars might be missing in early returns
Backport-of: d9ef16dbb6
2024-07-02 13:56:12 +00:00
Matthias Baesken
99435be84b 8325876: crashes in docker container tests on Linuxppc64le Power8 machines
Backport-of: ba8db1f6d7
2024-07-02 13:51:04 +00:00
Matthias Baesken
2bbdc8c5e4 8325862: set -XX:+ErrorFileToStderr when executing java in containers for some container related jtreg tests
Backport-of: 9f4ec21f47
2024-07-02 13:47:55 +00:00
Andrew Lu
3c9e960e2e 8279337: The MToolkit is still referenced in a few places
Backport-of: f203723fc7
2024-07-01 02:00:56 +00:00
Martin Doerr
468d6a746e 8222005: ClassRedefinition crashes with: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
Remove optimizations from class redefinition that cause the guarantee hit

Reviewed-by: mbaesken
Backport-of: 2ff9f53a44
2024-06-28 09:28:49 +00:00
Martin Doerr
2a5a4d7c55 8078725: method adjustments can be done just once for all classes involved into redefinition
Walk all classes at the end of redefinition and adjust method entries and clean MethodData

Reviewed-by: mbaesken
Backport-of: 351280bbb8
2024-06-28 09:16:20 +00:00
Martin Doerr
3702e902b1 8276036: The value of full_count in the message of insufficient codecache is wrong
Backport-of: 61cb4bc6b0
2024-06-28 09:14:27 +00:00
Amos Shi
f9d7601e29 8328110: Allow simultaneous use of PassFailJFrame with split UI and additional windows
Backport-of: 11a3673d42
2024-06-27 19:58:23 +00:00
Dhamoder Nalla
db9e3139dc 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: mdoerr
Backport-of: c0dce25756
2024-06-27 16:30:24 +00:00
Martin Balao
8578e12c42 8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL
Reviewed-by: roland
Backport-of: cc894d849a
2024-06-27 15:35:11 +00:00
Antonio Vieiro
6547a1687d 8227122: [TESTBUG] Create Docker sidecar test cases
Created test cases for container sidecar pattern

Reviewed-by: sgehwolf
Backport-of: 94c38c4cc1
2024-06-27 08:05:05 +00:00
Christoph Langer
25d6e19de5 Merge 2024-06-26 18:15:20 +00:00
Martin Doerr
e61adf68ee 8261433: Better pkcs11 performance for libpkcs11:C_EncryptInit/libpkcs11:C_DecryptInit
Backport-of: d3c1ad3437
2024-06-26 12:39:02 +00:00
Soumadipta Roy
59cd1a45b1 8324755: Enable parallelism in vmTestbase/gc/gctests/LargeObjects tests
Backport-of: 003e86fe38
2024-06-26 11:28:44 +00:00
Amos Shi
569c669891 8305079: Remove finalize() from compiler/c2/Test719030
Backport-of: 84df74ca39
2024-06-25 16:01:10 +00:00
Amos Shi
724477cfe4 8305081: Remove finalize() from test/hotspot/jtreg/compiler/runtime/Test8168712
Backport-of: 39dc40fed4
2024-06-25 16:00:43 +00:00
Antonio Vieiro
cc42090c32 8306466: Open source more AWT Drag & Drop related tests
Backport-of: 418a82551a
2024-06-25 12:12:46 +00:00
Antonio Vieiro
8489b52f1d 8316462: sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java ignores VM flags
Backport-of: d6679031e0
2024-06-25 12:11:05 +00:00
SendaoYan
f8e87dfef3 8268906: gc/g1/mixedgc/TestOldGenCollectionUsage.java assumes that GCs take 1ms minimum
Backport-of: a0f32cb140
2024-06-25 12:09:19 +00:00
Andrew Lu
3b4f583617 8269428: java/util/concurrent/ConcurrentHashMap/ToArray.java timed out
Reviewed-by: mdoerr
Backport-of: 570ad67204
2024-06-25 05:43:20 +00:00
Andrew Lu
7198ea1be8 8299487: Test java/net/httpclient/whitebox/SSLTubeTestDriver.java timed out
Backport-of: 81083a0e10
2024-06-25 05:42:56 +00:00
SendaoYan
1e3e6877d5 8334441: Mark tests in jdk_security_infra group as manual
Reviewed-by: mdoerr
Backport-of: 8e1d2b091c
2024-06-25 03:56:01 +00:00
Andrew Lu
2a5ba0a6d9 8328115: Convert java/awt/font/TextLayout/TestJustification.html applet test to main
Reviewed-by: mdoerr
Backport-of: 0204aacb03
2024-06-24 09:36:24 +00:00
Antonio Vieiro
7e1e23978d 8315898: Open source swing JMenu tests
Backport-of: fecd2fd8f2
2024-06-24 08:55:56 +00:00
Antonio Vieiro
4a28ac00f3 8306060: Open source few AWT Insets related tests
Backport-of: 9a68d1d952
2024-06-24 08:55:29 +00:00
Antonio Vieiro
b0ad1672fa 8306850: Open source AWT Modal related tests
Backport-of: 41ba05e450
2024-06-24 08:54:58 +00:00
Andrew Lu
e726fe7255 8332936: Test vmTestbase/metaspace/gc/watermark_70_80/TestDescription.java fails with no GC's recorded
Backport-of: 5ed0d52c84
2024-06-24 02:15:07 +00:00
Andrew Lu
9f5812103e 8328560: java/awt/event/MouseEvent/ClickDuringKeypress/ClickDuringKeypress.java imports Applet
Backport-of: e81374e050
2024-06-24 02:14:40 +00:00
Andrew Lu
e541cbdd98 8320079: The ArabicBox.java test has no control buttons
Reviewed-by: mdoerr
Backport-of: 792fc9d114
2024-06-24 02:14:22 +00:00
Andrew Lu
0e74e1b63a 8327137: Add test for ConcurrentModificationException in BasicDirectoryModel
Reviewed-by: mdoerr
Backport-of: 9731b1c8b0
2024-06-24 02:12:48 +00:00
Amos Shi
cc54dc6ee6 8331063: Some HttpClient tests don't report leaks
Backport-of: e4ed7ced75
2024-06-23 23:49:54 +00:00
Sergey Bylokhov
ddeb60205d 8327840: Automate javax/swing/border/Test4129681.java
Reviewed-by: mdoerr
Backport-of: 177b8a241c
2024-06-22 22:59:27 +00:00
Andrew Lu
b39666590c 8328011: Convert java/awt/Frame/GetBoundsResizeTest/GetBoundsResizeTest.java applet test to main
Backport-of: df909e2f9c
2024-06-21 02:13:52 +00:00
Martin Doerr
fcff4a9a11 8334335: [TESTBUG] Backport of 8279164 to 11u & 17u includes elements of JDK-8163327
Backport-of: 5c3fc1d795
2024-06-20 12:01:43 +00:00
Martin Doerr
b0a09bf9c4 8276306: jdk/jshell/CustomInputToolBuilder.java fails intermittently on storage acquisition
Backport-of: 75adf54bdc
2024-06-20 12:01:29 +00:00
Antonio Vieiro
582159a1ed 8306432: Open source several AWT Text Component related tests
Backport-of: 485a0691f4
2024-06-18 15:13:16 +00:00
Martin Doerr
ef08f4ebff 8320570: NegativeArraySizeException decoding >1G UTF8 bytes with non-ascii characters
Reviewed-by: mbaesken
Backport-of: fc01ffe952
2024-06-18 09:13:01 +00:00
Sergey Bylokhov
f6e838dcd8 8327787: Convert javax/swing/border/Test4129681.java applet test to main
Reviewed-by: mdoerr
Backport-of: ad0f329493
2024-06-17 20:09:22 +00:00
Antonio Vieiro
6059f56a5d 8306489: Open source AWT List related tests
Backport-of: 82a8e91ef7
2024-06-17 15:17:37 +00:00
Antonio Vieiro
9b67f2ff70 8306566: Open source several clipboard AWT tests
Backport-of: 136dad7197
2024-06-17 15:17:15 +00:00
Martin Doerr
f874da3cfd 8328953: JEditorPane.read throws ChangedCharSetException
Backport-of: 245514da51
2024-06-17 09:26:41 +00:00
Sruthy Jayan
014fe94ef0 8308184: Launching java with large number of jars in classpath with java.protocol.handler.pkgs system property set can lead to StackOverflowError
Reviewed-by: mdoerr
Backport-of: 0a4f92603b
2024-06-17 08:59:01 +00:00
Aleksey Shipilev
667bbd3f53 8205076: [17u] Inet6AddressImpl.c: lookupIfLocalHost accesses int InetAddress.preferIPv6Address as a boolean
Backport-of: 3eb15b02b5
2024-06-17 08:58:44 +00:00
Sergey Bylokhov
7d4ef49f0b 8329510: Update ProblemList for JFileChooser/8194044/FileSystemRootTest.java
Backport-of: 747582484c
2024-06-14 18:10:06 +00:00
Martin Doerr
2e4179b911 8325179: Race in BasicDirectoryModel.validateFileCache
8238169: BasicDirectoryModel getDirectories and DoChangeContents.run can deadlock

Backport-of: e66788c165
2024-06-14 16:31:00 +00:00
Andrew Lu
f08e5e8793 8316240: Open source several add/remove MenuBar manual tests
Backport-of: 3809d69ac4
2024-06-14 02:13:38 +00:00
Andrew Lu
39016332b5 8280392: java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java failed with "RuntimeException: Test failed."
Backport-of: 3f2e849c54
2024-06-14 02:13:25 +00:00
Martin Doerr
dff2d60d05 8323670: A few client tests intermittently throw ConcurrentModificationException
Backport-of: 70e7cdcb9e
2024-06-13 09:45:33 +00:00
Martin Doerr
5dddf69319 8279164: Disable TLS_ECDH_* cipher suites
Reviewed-by: mbaesken
Backport-of: 7bc22f7c55
2024-06-13 08:01:23 +00:00
Martin Doerr
be6c6212ff 8305072: Win32ShellFolder2.compareTo is inconsistent
Backport-of: 2fcb816858
2024-06-13 08:00:44 +00:00
Andrew Lu
9a2a828299 8315437: Enable parallelism in vmTestbase/nsk/monitoring/stress/classload tests
Backport-of: dd214d0f95
2024-06-13 07:33:39 +00:00
Andrew Lu
46b15b96dd 8315442: Enable parallelism in vmTestbase/nsk/monitoring/stress/thread tests
Backport-of: 9013b03244
2024-06-13 07:33:11 +00:00
SendaoYan
c9cc14b565 8333837: [11u] HexPrinterTest.java javac compile fails illegal start of expression
Reviewed-by: mdoerr, shade
2024-06-12 08:08:39 +00:00
SendaoYan
f343625a0b 8333839: [11u] LingeredAppTest.java fails Can't find source file: LingeredApp.java
Reviewed-by: mdoerr
2024-06-12 08:08:14 +00:00
Sergey Bylokhov
316cd2f606 7124313: [macosx] Swing Popups should overlap taskbar
Backport-of: 532a6ec7e3
2024-06-12 07:30:24 +00:00
Andrew Lu
54bf5228bc 8307091: A few client tests intermittently throw ConcurrentModificationException
Backport-of: 465bdd9e41
2024-06-12 07:20:19 +00:00
Neethu Prasad
2ded016d40 8329995: Restricted access to /proc can cause JFR initialization to crash
Reviewed-by: shade
Backport-of: a92ad03946
2024-06-11 18:26:53 +00:00
Andrew Lu
bf56996048 8316104: Open source several Swing SplitPane and RadioButton related tests
Backport-of: f52e500f80
2024-06-11 07:59:58 +00:00
Andrew Lu
2f7954cc76 8294148: Support JSplitPane for instructions and test UI
Backport-of: b419e95173
2024-06-11 07:59:43 +00:00
Andrew Lu
f36ba5a1b0 8328218: Delete test java/awt/Window/FindOwner/FindOwner.html
Backport-of: 09439374ed
2024-06-11 02:00:23 +00:00
Andrew Lu
b5cbf8d632 8328561: test java/awt/Robot/ManualInstructions/ManualInstructions.java isn't used
Backport-of: bc546c21a5
2024-06-11 02:00:06 +00:00
Andrew Lu
aa0bba2c9a 8328234: Remove unused nativeUtils files
Backport-of: dec68d7e36
2024-06-11 01:59:51 +00:00
Thomas Fitzsimmons
e4fb2286c9 8286781: Replace the deprecated/obsolete gethostbyname and inet_addr calls
Reviewed-by: andrew
Backport-of: d7298245d6
2024-06-08 09:39:40 +00:00
SendaoYan
e72f491950 8333724: Problem list security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java#teliasonerarootcav1
Backport-of: 8ffc35d117
2024-06-07 10:10:58 +00:00
Sergey Bylokhov
d659ff6a39 8316328: Test jdk/jfr/event/oldobject/TestSanityDefault.java times out for some heap sizes
Backport-of: 9b1d6d66b8
2024-06-06 23:59:28 +00:00
Martin Doerr
69b6e6d2ad 8329004: Update Libpng to 1.6.43
Backport-of: 4e4229438a
2024-06-06 11:01:55 +00:00
Martin Doerr
bc8aeb6496 8328999: Update GIFlib to 5.2.2
Backport-of: 6969a9e0b2
2024-06-06 11:01:31 +00:00
Martin Doerr
f010fe0026 8305825: getBounds API returns wrong value resulting in multiple Regression Test Failures on Ubuntu 23.04
Backport-of: ab84520d73
2024-06-06 11:01:10 +00:00
Martin Doerr
ee370edfc4 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

Backport-of: 184b433630
2024-06-06 09:48:05 +00:00
Christoph Langer
48cf5a3fb5 Merge 2024-06-06 08:06:26 +00:00
Kimura Yukihiro
d3bd5ae28a 8331750: [11u] JDK-8259530 is not backported correctly to 11u
Reviewed-by: phh
2024-06-06 04:45:12 +00:00
Sergey Bylokhov
f45455e134 8322330: JavadocHelperTest.java OOMEs with Parallel GC and ZGC
Backport-of: 52c7ff1d81
2024-06-06 00:00:14 +00:00
Sergey Bylokhov
07ea0f1a52 8331746: Create a test to verify that the cmm id is not ignored
Backport-of: 7c750fd95b
2024-06-05 18:10:58 +00:00
Andrew Lu
a51a9dd260 8315804: Open source several Swing JTabbedPane JTextArea JTextField tests
Backport-of: 24c3d86f32
2024-06-05 07:32:23 +00:00
Andrew Lu
0bacea4c51 8310201: Reduce verbose locale output in -XshowSettings launcher option
Reviewed-by: mdoerr
Backport-of: f6e23ae451
2024-06-05 07:31:00 +00:00
Andrew Lu
8a233081db 8320945: problemlist tests failing on latest Windows 11 update
Reviewed-by: mdoerr
Backport-of: ea6e92ed0d
2024-06-05 07:30:25 +00:00
Sergey Bylokhov
f7e83e84de 8311666: Disabled tests in test/jdk/sun/java2d/marlin
Backport-of: b285ed72ae
2024-06-04 23:33:55 +00:00
Varada M
b11a980042 8305906: HttpClient may use incorrect key when finding pooled HTTP/2 connection for IPv6 address
Reviewed-by: jpai, phh
Backport-of: 43956686c9
2024-06-03 10:43:23 +00:00
Antonio Vieiro
69f4ac1e0d 8240226: DeflateIn_InflateOut.java test incorrectly assumes size of compressed file
Backport-of: b38f3cf3bd
2024-06-03 10:35:25 +00:00
Andrew Lu
4556aa9d5e 8317288: [macos] java/awt/Window/Grab/GrabTest.java: Press on the outside area didn't cause ungrab
Backport-of: db5613af89
2024-06-03 05:23:02 +00:00
Amos Shi
7b377ac0ba 8329013: StackOverflowError when starting Apache Tomcat with signed jar
Reviewed-by: mbaesken
Backport-of: 925d82931c
2024-06-03 04:14:44 +00:00
Sergey Bylokhov
31a780d851 8276819: javax/print/PrintServiceLookup/FlushCustomClassLoader.java fails to free
Backport-of: 7c2c58587d
2024-06-02 09:54:52 +00:00
Martin Doerr
15c9397e45 8326643: JDK server does not send a dummy change_cipher_spec record after HelloRetryRequest message
Reviewed-by: phh, mbaesken
Backport-of: cacc30b77c
2024-05-31 10:33:01 +00:00
Christoph Langer
c35d30d6fe 8331263: Bump update version for OpenJDK: jdk-11.0.25
Reviewed-by: mdoerr, sgehwolf
2024-05-29 08:51:15 +00:00
Elif Aslan
47fd86ca1c 8273153: Consolidate file_exists into os:file_exists
Backport-of: 9732fbe428
2024-05-28 19:17:28 +00:00
SendaoYan
8a489e58b3 8293887: AArch64 build failure with GCC 12 due to maybe-uninitialized warning in libfdlibm k_rem_pio2.c
Reviewed-by: aph, phh
Backport-of: 02ea338177
2024-05-28 05:17:24 +00:00
Andrew Lu
35333744a8 8312194: test/hotspot/jtreg/applications/ctw/modules/jdk_crypto_ec.java cannot handle empty modules
Backport-of: e7c83ea948
2024-05-23 09:20:57 +00:00
María Arias de Reyna
b7596f3f9d 8316138: Add GlobalSign 2 TLS root certificates
Reviewed-by: mdoerr, sgehwolf
Backport-of: 4083255440
2024-05-22 09:55:15 +00:00
Sonia Zaldana Calles
b8ee2aa15a 8326591: New test JmodExcludedFiles.java fails on Windows when --with-external-symbols-in-bundles=public is used
Reviewed-by: mdoerr
Backport-of: 43c6f0b588
2024-05-21 20:45:54 +00:00
Andrew Lu
1d6965fd4e 8267796: vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/TestDescription.java fails with NoClassDefFoundError
Reviewed-by: mdoerr
Backport-of: f12200cd11
2024-05-17 08:06:56 +00:00
Christoph Langer
2a804f54aa 8297082: Remove sun/tools/jhsdb/BasicLauncherTest.java from problem list
Reviewed-by: mbaesken
Backport-of: e552509bcb
2024-05-16 10:19:02 +00:00
Robert Toyonaga
ece9b2cd3b 8326521: JFR: CompilerPhase event test fails on windows 32 bit
Backport-of: 96530bcc07
2024-05-16 09:46:21 +00:00
Andrew Lu
2ff4d4edfb 8318322: Update IANA Language Subtag Registry to Version 2023-10-16
Backport-of: 3460807ba6
2024-05-16 07:31:50 +00:00
Andrew Lu
59224f7ddf 8299023: TestPLABResize.java and TestPLABPromotion.java are failing intermittently
Backport-of: f50df10591
2024-05-16 02:03:18 +00:00
Amit Kumar
42f70422f1 8326201: [S390] Need to bailout cleanly if creation of stubs fails when code cache is out of space
Reviewed-by: lucy
Backport-of: d5f3d5c8cc
2024-05-14 16:24:14 +00:00
SendaoYan
270f3cfb3d 8321925: sun/security/mscapi/KeytoolChangeAlias.java fails with "Alias <246810> does not exist"
Reviewed-by: mdoerr
Backport-of: b6233c3de7
2024-05-14 08:30:15 +00:00
SendaoYan
4714685d6e 8328825: Google CAInterop test failures
Backport-of: 70a15c7363
2024-05-13 19:53:55 +00:00
Alexandru C. Moraru
6d3a41fec7 8316142: Enable parallelism in vmTestbase/nsk/monitoring/stress/lowmem tests
Backport-of: 4421951d8f
2024-05-10 12:41:10 +00:00
Andrew Lu
4b67c4ecd5 8042380: Test javax/swing/JFileChooser/4524490/bug4524490.java fails with InvocationTargetException
Backport-of: 510003cfe3
2024-05-10 07:09:59 +00:00
Christoph Langer
91fe4e6a39 8331790: [11u] Remove problemlist entries after backport of JDK-8228649
Reviewed-by: mbaesken
2024-05-10 05:29:01 +00:00
Amos Shi
665e1cd4f9 8269258: java/net/httpclient/ManyRequestsLegacy.java failed with connection timeout
Reviewed-by: rrich
Backport-of: 37921e3080
2024-05-08 06:01:42 +00:00
Amos Shi
4c81a1ca38 8283349: Robustness improvements to java/util/prefs/AddNodeChangeListener.jar
Backport-of: 656cba7af3
2024-05-08 06:00:30 +00:00
Amos Shi
6b225d5a63 8253980: javax/swing/plaf/synth/7158712/bug7158712.java fails on windows
Reviewed-by: mbaesken
Backport-of: bdd5782a67
2024-05-08 06:00:14 +00:00
Andrew Lu
b9cb5721c9 8313702: Update IANA Language Subtag Registry to Version 2023-08-02
Backport-of: 62e6dfafc8
2024-05-08 01:58:14 +00:00
Christoph Langer
c542dc913a 8325579: Inconsistent behavior in com.sun.jndi.ldap.Connection::createSocket
Reviewed-by: mbaesken
Backport-of: 32bf1f4169
2024-05-07 08:42:00 +00:00
Christoph Langer
4202063c1b 8293563: [macos-aarch64] SA core file tests failing with sun.jvm.hotspot.oops.UnknownOopException
Reviewed-by: mbaesken
Backport-of: 5eeb41a729
2024-05-07 08:38:12 +00:00
Christoph Langer
b7822c39d3 8331643: [11u]: Bump GHA bootstrap JDK to 11.0.23
Reviewed-by: sgehwolf
2024-05-06 08:40:24 +00:00
Andrew Lu
3f636f30f9 8310818: Refactor more Locale tests to use JUnit
Reviewed-by: lucy
Backport-of: 989e0bfe59
2024-05-06 07:41:24 +00:00
Andrew Lu
1da8fd845c 8295343: sun/security/pkcs11 tests fail on Linux RHEL 8.6 and newer
8231351: Add notes for PKCS11 tests in the test doc

Reviewed-by: lucy
Backport-of: 6ce0ebb858
2024-05-06 07:41:05 +00:00
Robert Toyonaga
cabaf74826 8305931: jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java failed with "Expected chains but found none"
Backport-of: 65be5e0c54
2024-04-30 16:57:16 +00:00
Andrew Lu
137a8b9dcf 8308021: Update IANA Language Subtag Registry to Version 2023-05-11
Backport-of: b96339f5e3
2024-04-29 07:07:29 +00:00
Amos Shi
d42634bdac 8263940: NPE when creating default file system when default file system provider is packaged as JAR file on class path
Reviewed-by: lucy, goetz
Backport-of: 717792c3b7
2024-04-29 06:20:18 +00:00
Sergey Bylokhov
93630950c2 8328194: Add a test to check default rendering engine
Backport-of: c013fa1811
2024-04-29 04:15:10 +00:00
Amos Shi
81f2413af5 8318809: java/util/concurrent/ConcurrentLinkedQueue/WhiteBox.java shows intermittent failures on linux ppc64le and aarch64
Backport-of: 50d1839d54
2024-04-28 21:51:45 +00:00
Amos Shi
f7d05223d2 8315889: Open source several Swing HTMLDocument related tests
Backport-of: 8f46abc938
2024-04-28 21:51:19 +00:00
Amos Shi
1e1688a32a 8294137: Review running times of java.math tests
Backport-of: 51035a75e4
2024-04-28 21:51:01 +00:00
Amos Shi
d8b297fa7b 8306067: Open source AWT Graphics,GridBagLayout related tests
8306838: GetGraphicsTest needs to be headful

Backport-of: cb32c8221a
2024-04-28 21:50:44 +00:00
Amos Shi
9df5688e87 8327136: javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java fails on libgraal
Backport-of: 8f0fb27dec
2024-04-28 21:50:23 +00:00
Amos Shi
f29aa4d62c 8324733: [macos14] Problem list tests which fail due to macOS bug described in JDK-8322653
Backport-of: d1e676360d
2024-04-28 21:48:29 +00:00
Amos Shi
ac43e680dd 8255031: Update java/util/prefs/AddNodeChangeListener.java to report more failure info
Backport-of: 8afdcaee1c
2024-04-28 21:16:52 +00:00
Sonia Zaldana Calles
7c047564b1 8159927: Add a test to verify JMOD files created in the images do not have debug symbols
Reviewed-by: lucy
Backport-of: 6c0bebccb0
2024-04-28 20:12:29 +00:00
Andrew Lu
f3d0f2bac0 8306031: Update IANA Language Subtag Registry to Version 2023-04-13
Reviewed-by: lucy
Backport-of: 261e45a973
2024-04-26 05:50:42 +00:00
Amos Shi
dabf4d16a1 8220202: Simplify/standardize method naming for HtmlTree
Reviewed-by: lucy
Backport-of: 1b9db9b7a1
2024-04-25 15:31:02 +00:00
Amos Shi
decacb83b2 8282017: sun/net/www/protocol/https/HttpsURLConnection/B6216082.java fails with "SocketException: Unexpected end of file from server"
Reviewed-by: lucy
Backport-of: cd9a3cf05b
2024-04-25 15:28:13 +00:00
Amos Shi
1ea18523ec 8187759: Background not refreshed when painting over a transparent JFrame
Backport-of: 04d43c435d
2024-04-25 15:27:48 +00:00
Amos Shi
6cce290c1f 8318854: [macos14] Running any AWT app prints Secure coding warning
Backport-of: 940f67c1a6
2024-04-25 15:11:48 +00:00
Amos Shi
533b45835f 8293965: Code signing warnings after JDK-8293550
Backport-of: f91762f56e
2024-04-23 07:19:43 +00:00
Amos Shi
e73d88f982 8315609: Open source few more swing text/html tests
Backport-of: a04c6c1ac6
2024-04-23 07:19:26 +00:00
Amos Shi
ff1b975997 8315071: Modify TrayIconScalingTest.java, PrintLatinCJKTest.java to use new PassFailJFrame's builder pattern usage
Backport-of: 31e26814db
2024-04-23 07:19:00 +00:00
Amos Shi
f1687ea796 8306634: Open source AWT Event related tests
Backport-of: 9ed456fac8
2024-04-23 07:18:40 +00:00
Amos Shi
4ca2d02974 8305874: Open source AWT Key, Text Event related tests
Backport-of: d6cf4aa155
2024-04-23 07:18:20 +00:00
Amos Shi
7491ed45bb 8302069: javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java update
Backport-of: 1c7b09bc23
2024-04-23 07:17:49 +00:00
Amos Shi
295a8cd371 8163921: HttpURLConnection default Accept header is malformed according to HTTP/1.1 RFC
Backport-of: 28796cbd1d
2024-04-23 07:17:17 +00:00
Amos Shi
3f12da52ab 8315741: Open source few swing JFormattedTextField and JPopupMenu tests
Backport-of: bfbc41c1f1
2024-04-23 07:16:15 +00:00
Amos Shi
e1662fb927 8316154: Opensource JTextArea manual tests
Backport-of: 33c62e4fff
2024-04-23 07:14:20 +00:00
Amos Shi
0be4705eef 8315824: Open source several Swing Text/HTML related tests
Backport-of: c11f8352e9
2024-04-23 07:13:51 +00:00
Amos Shi
00f8277e96 8316242: Opensource SwingGraphics manual test
Backport-of: a57b9dab6c
2024-04-23 07:13:32 +00:00
Amos Shi
358a35a6a9 8326006: Allow TEST_VM_FLAGLESS to set flagless mode
Backport-of: d10f277bd3
2024-04-23 07:13:06 +00:00
Andrew Lu
7af75fb400 8304761: Update IANA Language Subtag Registry to Version 2023-03-22
Backport-of: ae3aa7289a
2024-04-23 07:04:50 +00:00
Andrew Lu
cc2313975c 8302512: Update IANA Language Subtag Registry to Version 2023-02-14
Backport-of: 8210811b19
2024-04-22 07:38:48 +00:00
Matthias Baesken
215cf9b9a9 8322783: prioritize /etc/os-release over /etc/SuSE-release in hs_err/info output
Reviewed-by: stuefe
Backport-of: 33af090834
2024-04-19 11:02:12 +00:00
Andrew Lu
a33a174ae7 8297449: Update JInternalFrame Metal Border code
Reviewed-by: lucy
Backport-of: 09629570f5
2024-04-19 10:12:42 +00:00
Andrew Lu
6499067051 8318599: HttpURLConnection cache issues leading to crashes in JGSS w/ native GSS introduced by 8303809
Backport-of: f1a24f6d48
2024-04-19 10:10:15 +00:00
Andrew Lu
583477f96f 8316017: Refactor timeout handler in PassFailJFrame
Backport-of: 3abd772672
2024-04-18 01:06:54 +00:00
Andrew Lu
85d891b819 8316164: Opensource JMenuBar manual test
Backport-of: 8f4dfc443b
2024-04-18 01:05:53 +00:00
Goetz Lindenmaier
e090f5c87b Merge 2024-04-17 12:53:32 +00:00
Robert Toyonaga
8b8774d1c6 8326529: JFR: Test for CompilerCompile events fails due to time out
Backport-of: 4dd6c44cbd
2024-04-16 15:11:46 +00:00
Goetz Lindenmaier
b39a4d24c5 8256660: Disable DTLS 1.0
Reviewed-by: mbaesken
Backport-of: 16744b3449
2024-04-16 12:01:12 +00:00
Matthias Baesken
06cca199fe 8324598: use mem_unit when working with sysinfo memory and swap related information
Backport-of: 7a798d3ceb
2024-04-16 11:53:21 +00:00
Andrew Lu
f9a672abaf 8328540: test javax/swing/JSplitPane/4885629/bug4885629.java fails on windows hidpi
Backport-of: fa823bd21c
2024-04-16 01:57:38 +00:00
Matthias Baesken
8e6a71d9ba 8299858: [Metrics] Swap memory limit reported incorrectly when too large
Backport-of: 64ddf9536f
2024-04-15 07:41:24 +00:00
Soumadipta Roy
4941b84aa1 8316608: Enable parallelism in vmTestbase/gc/vector tests
Backport-of: f61499c73f
2024-04-11 07:09:48 +00:00
Amos Shi
4daa077a4f 8315834: Open source several Swing JSpinner related tests
Backport-of: 4a63eb0522
2024-04-09 18:22:28 +00:00
Amos Shi
7d0de463c1 8061729: Update java/net tests to eliminate dependency on sun.net.www.MessageHeader and some other internal APIs
Reviewed-by: lucy
Backport-of: 0f3d3ac32c
2024-04-09 18:18:11 +00:00
Amos Shi
dd927ede30 8305645: System Tray icons get corrupted when Windows primary monitor changes
Backport-of: 6cd370e04b
2024-04-09 18:16:02 +00:00
Amos Shi
21f04a2a46 8218917: KeyEvent.getModifiers() returns inconsistent values for ALT keys
Backport-of: 2044245c90
2024-04-09 18:13:20 +00:00
Andrew Lu
aa16bfe549 8319128: sun/security/pkcs11 tests fail on OL 7.9 aarch64
8319136: Skip pkcs11 tests on linux-aarch64

Reviewed-by: lucy
Backport-of: 1f9b03e597
2024-04-09 08:40:37 +00:00
Christoph Langer
7a356988b1 8329837: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.23
Reviewed-by: goetz
2024-04-08 07:38:38 +02:00
Sergey Nazarkin
2e46aad2d2 8268974: GetJREPath() JLI function fails to locate libjava.so if not standard Java launcher is used
Reviewed-by: yan
Backport-of: 984003d5c9
2024-04-05 05:27:56 +00:00
Andrew Lu
eca369614c 8310923: Refactor Currency tests to use JUnit
Reviewed-by: lucy
Backport-of: e848d9471f
2024-04-05 02:01:58 +00:00
Andrew Lu
2f285fd96a 8323994: gtest runner repeats test name for every single gtest assertion
8158048: Fix failure message from jtreg gtest wrapper
8263659: Reflow GTestResultParser for better readability

Reviewed-by: lucy
Backport-of: 1aae980c54
2024-04-05 02:01:40 +00:00
Paul Hohensee
9ac4063d14 8299677: Formatter.format might take a long time to format an integer or floating-point
Reviewed-by: mdoerr, shade
Backport-of: 33412c102c
2024-04-04 22:08:01 +00:00
Martin Balao
4597cc3525 8319851: Improve exception logging
Reviewed-by: mbaesken
Backport-of: 87dfeeb14fdd0fa1648a8bec91b5b713cc2c1b83
2024-04-03 17:01:22 +02:00
Suchismith Roy
6808c5c89d 8320005: Allow loading of shared objects with .a extension on AIX
Backport-of: e85355ada4
2024-04-03 08:00:56 +00:00
Andrew Lu
910eb0ef1b 8306714: Open source few Swing event and AbstractAction tests
Backport-of: 31a73b0d70
2024-04-02 04:39:19 +00:00
Andrew Lu
1bbf93c51e 8305943: Open source few AWT Focus related tests
Backport-of: 64ed816ad9
2024-04-02 04:38:53 +00:00
Andrew Lu
8e46e3714e 8305942: Open source several AWT Focus related tests
Backport-of: 8346ae2bc1
2024-04-02 04:37:41 +00:00
Andrew Lu
fa8f02ece8 8318727: Enable parallelism in vmTestbase/vm/gc/concurrent tests
Backport-of: 29d462a072
2024-04-02 04:37:18 +00:00
Goetz Lindenmaier
e922114fa7 8280546: Remove hard-coded 127.0.0.1 loopback address
Backport-of: b5de2cc9d3
2024-04-01 16:26:32 +00:00
Andrew Lu
d27c9ba7c8 8328812: Update and move siphash license
Backport-of: ce7ebaa606
2024-04-01 01:56:53 +00:00
Andrew Lu
b05024a199 8310380: Handle problems in core-related tests on macOS when codesign tool does not work
Reviewed-by: lucy
Backport-of: 39c104df44
2024-04-01 01:55:44 +00:00
Goetz Lindenmaier
00736021bc 8297798: Timeout with DTLSOverDatagram test template
Reviewed-by: mbaesken
Backport-of: 23457a664c
2024-03-30 15:11:56 +00:00
Goetz Lindenmaier
979daf54de 8264152: javax/net/ssl/DTLS/RespondToRetransmit.java timed out
Reviewed-by: lucy
Backport-of: 79adc16fd8
2024-03-30 09:08:37 +00:00
Andrew John Hughes
5d4de366d7 8286705: GCC 12 reports use-after-free potential bugs
Reviewed-by: phh
Backport-of: 0e4bece5b5
2024-03-29 16:45:59 +00:00
Goetz Lindenmaier
741b3400f1 8243010: Test support: Customizable Hex Printer
Reviewed-by: mbaesken
Backport-of: bdf672659c
2024-03-28 10:26:48 +00:00
Andrew Lu
518e79717d 8326661: sun/java2d/cmm/ColorConvertOp/ColConvTest.java assumes profiles were generated by LCMS
Backport-of: 1f43fa0f8b
2024-03-28 08:00:27 +00:00
Andrew Lu
29a08f77e8 8210988: Improved handling of compiler warnings in the build
Reviewed-by: lucy
Backport-of: 09a967ab81
2024-03-28 02:08:38 +00:00
Ben Taylor
4117953453 8273831: PrintServiceLookup spawns 2 threads in the current classloader, getting orphaned
Backport-of: 687567822a
2024-03-27 17:22:15 +00:00
Martin Balao
c6b1d04179 8317507: C2 compilation fails with "Exceeded _node_regs array"
Reviewed-by: roland, andrew
Backport-of: a5818972c1
2024-03-27 08:02:40 +01:00
Martin Balao
a57f289f7d 8322122: Enhance generation of addresses
Co-authored-by: Andrew Brygin <bae@openjdk.org>
Reviewed-by: bae
Backport-of: 1a4a46e102a2bc282fcbec571169867d715f4ade
2024-03-27 07:52:03 +01:00
Martin Balao
44165ab678 8322114: Improve Pack 200 handling
Co-authored-by: Alexey Bakhtin <abakhtin@openjdk.org>
Reviewed-by: fferrari, abakhtin, mbalao
2024-03-27 07:51:15 +01:00
Alexey Bakhtin
ab21b1e989 8318340: Improve RSA key implementations
Reviewed-by: mbalao
Backport-of: 62d9cec1d6b804a70381bfb8ac902b6bb649f8ae
2024-03-27 07:23:07 +01:00
Martin Balao
d98b4607e7 8317507: C2 compilation fails with "Exceeded _node_regs array"
Reviewed-by: roland, andrew
Backport-of: a5818972c1
2024-03-27 03:22:33 +00:00
Yuri Nesterenko
4d72038fbc 8315708: Enhance HTTP/2 client usage
Reviewed-by: mbalao
Backport-of: 4bd9637dfe12d330afd7409c27c5778b28a24cf4
2024-03-26 22:45:48 +01:00
Ben Taylor
b7f78a39c2 8319436: Proxy.newProxyInstance throws NPE if loader is null and interface not visible from class loader
Backport-of: 8eb6f617b3
2024-03-25 23:27:02 +00:00
Aleksey Shipilev
37cfd4808d 8328705: GHA: Cross-compilation jobs do not require build JDK
Backport-of: 29ba4b7d1e
2024-03-25 18:10:50 +00:00
Goetz Lindenmaier
6aa721649d 8324632: Update Zlib Data Compression Library to Version 1.3.1
8315117: Update Zlib Data Compression Library to Version 1.3
8326351: Update the Zlib version in open/src/java.base/share/legal/zlib.md to 1.3.1

Backport-of: 6359b2843f
2024-03-25 17:54:42 +00:00
Andrew Lu
f8225a424f 8313206: PKCS11 tests silently skip execution
Reviewed-by: lucy
Backport-of: 7c4aaec0dc
2024-03-25 08:46:24 +00:00
Andrew Lu
8c18317ef8 8270199: Most SA tests are skipped on macosx-aarch64 because all executables are signed
8241951: SA core file tests failed to find core file for signed binaries on OSX 10.15

Reviewed-by: lucy
Backport-of: 16e0ad0ad0
2024-03-25 07:40:08 +00:00
Andrew Lu
c782d4c9cd 8312383: Log X509ExtendedKeyManager implementation class name in TLS/SSL connection
Reviewed-by: lucy
Backport-of: bdd1aebea3
2024-03-25 07:25:53 +00:00
Andrew Lu
12a28633d2 8315663: Open source misc awt tests
Backport-of: a36f5a54ab
2024-03-22 02:12:04 +00:00
Goetz Lindenmaier
50d0503294 8314495: Update to use jtreg 7.3.1
Reviewed-by: shade, lucy
Backport-of: 75e14419d2
2024-03-21 12:30:08 +00:00
Andrew Lu
6bcb8ac9f9 8248194: Need better support for running SA tests on core files
Reviewed-by: lucy
Backport-of: db2d4e8f5a
2024-03-21 03:07:18 +00:00
Goetz Lindenmaier
a46d4440ee Merge 2024-03-20 10:27:11 +00:00
Goetz Lindenmaier
44825a003b 8328524: [x86] StringRepeat.java failure on linux-x86: Could not reserve enough space for 2097152KB object heap
Backport-of: eebcc2181f
2024-03-20 09:01:31 +00:00
Goetz Lindenmaier
ac9d090a99 8015739: Background of JInternalFrame is located out of JInternalFrame
Reviewed-by: lucy
Backport-of: 7fb1fb0fa6
2024-03-20 09:00:37 +00:00
Martin Doerr
c5ba4b5c3e 8326101: [PPC64] Need to bailout cleanly if creation of stubs fails when code cache is out of space
Reviewed-by: mbaesken
Backport-of: e3ae81eeeee8e2b0063a576a90624dd927b512f0
2024-03-20 08:58:52 +00:00
Martin Doerr
74822988a3 8325326: [PPC64] Don't relocate in case of allocation failure
Backport-of: 4388095cde
2024-03-20 08:57:32 +00:00
Goetz Lindenmaier
cb1b9a6487 8292717: Clean up checking of testing requirements in configure
Reviewed-by: shade, mdoerr
Backport-of: 16593cf51c
2024-03-19 14:10:20 +00:00
Goetz Lindenmaier
bd29eb6eec 8327391: Add SipHash attribution file
Backport-of: fcf48ab3d3
2024-03-15 08:51:04 +00:00
Amos Shi
7ed3c3ef2c 8320943: Files/probeContentType/Basic.java fails on latest Windows 11 - content type mismatch
Backport-of: 27cf2f4048
2024-03-15 08:25:01 +00:00
Goetz Lindenmaier
d1bdb25574 8322239: [macos] a11y : java.lang.NullPointerException is thrown when focus is moved on the JTabbedPane
Backport-of: 3b1062d45d
2024-03-14 20:18:18 +00:00
Goetz Lindenmaier
2921ad6bb8 8321489: Update LCMS to 2.16
Backport-of: dc7d3b182d
2024-03-14 20:16:21 +00:00
Andrew Lu
0f09d0ba6c 8324238: [macOS] java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java fails with the shape has not been applied msg
Backport-of: 62c9530c05
2024-03-14 09:04:23 +00:00
Andrew Lu
1d102e8f8a 8248667: Need support for building native libraries located in the test/lib directory
Reviewed-by: lucy
Backport-of: 1356a0f1ac
2024-03-13 08:31:19 +00:00
Andrew Lu
7de6f3f6ac 8314283: Support for NSS tests on aarch64 platforms
Reviewed-by: lucy
Backport-of: 2a80160960
2024-03-13 08:31:03 +00:00
Andrew Lu
a097faa972 8320129: "top" command during jtreg failure handler does not display CPU usage on OSX
Backport-of: 8be3e39220
2024-03-13 08:22:27 +00:00
Amos Shi
1b3c570c60 8290203: ProblemList vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/TestDescription.java on linux-all
Backport-of: ce36f6ea85
2024-03-12 18:50:21 +00:00
Goetz Lindenmaier
5cf250f14f 8292716: Configure should check that jtreg is of the required version
8292763: JDK-8292716 breaks configure without jtreg

Reviewed-by: phh, shade
Backport-of: 9288072655
2024-03-12 13:41:30 +00:00
Andrew Lu
069fbd7770 8326891: Prefer RPATH over RUNPATH for $ORIGIN rpaths in internal JDK binaries
Backport-of: 721bfee53a
2024-03-12 09:24:43 +00:00
Andrew Lu
21b88dba7f 8320113: [macos14] : ShapeNotSetSometimes.java fails intermittently on macOS 14
Backport-of: f1b73350c2
2024-03-12 09:23:17 +00:00
Andrew Lu
84ff9b3d11 8320342: Use PassFailJFrame for TruncatedPopupMenuTest.java
Backport-of: 1f2922ad85
2024-03-12 02:22:56 +00:00
Jiawei Tang
29f300eb2a 8322511: [11u] JfrCheckpointThreadClosure::do_thread crashes when fetching thread_id
Reviewed-by: phh
2024-03-11 21:50:42 +00:00
Ekaterina Vergizova
c8ca55bafa 8314220: Configurable InlineCacheBuffer size
Reviewed-by: phh
Backport-of: a40d8d97e8
2024-03-11 12:48:27 +00:00
Amos Shi
e6cec8f1a8 8325137: com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java can fail in Xcomp with out of expected range
Backport-of: 91d8dac9cf
2024-03-11 12:21:05 +00:00
Amos Shi
eb5ef84294 8315677: Open source few swing JFileChooser and other tests
Backport-of: fe5ef5f20d
2024-03-11 12:17:55 +00:00
Amos Shi
cf9aa9be16 8306941: Open source several datatransfer and dnd AWT tests
Backport-of: 3d3eaed913
2024-03-11 12:17:08 +00:00
Amos Shi
9b4085619f 8317287: [macos14] InterJVMGetDropSuccessTest.java: Child VM: abnormal termination
Backport-of: cbfddf4e1d
2024-03-11 12:16:54 +00:00
Amos Shi
fbac37b73c 8307083: Open source some drag and drop tests 3
Backport-of: 1b154e4fd3
2024-03-11 12:16:35 +00:00
María Arias de Reyna
a26445db3b 8261404: Class.getReflectionFactory() is not thread-safe
Backport-of: 905b763942
2024-03-11 11:17:00 +00:00
Ao Qi
7b7fbdf615 8267938: (sctp) SCTP channel factory methods should check platform support
Backport-of: bd31653e6f
2024-03-07 20:07:14 +00:00
Andrew Lu
f3069d13d2 8325972: Add -x to bash for building with LOG=debug
Backport-of: 8668198c26
2024-03-07 08:07:57 +00:00
Andrew Lu
b425dff6bb 8320303: Allow PassFailJFrame to accept single window creator
Backport-of: 83ffc1ac94
2024-03-07 08:07:24 +00:00
Andrew Lu
bc14b9f12e 8326638: Crash in PhaseIdealLoop::remix_address_expressions due to unexpected Region instead of Loop
Backport-of: 9f0e7da64e
2024-03-07 08:06:50 +00:00
Andrew Lu
4ef8db8671 8318580: "javax/swing/MultiMonitor/MultimonVImage.java failing with Error. Can't find library: /open/test/jdk/java/awt/regtesthelpers" after JDK-8316053
Backport-of: e4803e0cbf
2024-03-07 08:04:09 +00:00
Zhang Quan
6c0a88d905 8271142: package help is not displayed for missing X11/extensions/Xrandr.h
Reviewed-by: clanger
Backport-of: b7f75c0a73
2024-03-06 11:50:41 +00:00
Goetz Lindenmaier
2a78f2f159 Merge 2024-03-06 09:30:23 +00:00
Sergey Bylokhov
5c5687d4ab 8322750: Test "api/java_awt/interactive/SystemTrayTests.html" failed because A blue ball icon is added outside of the system tray
Reviewed-by: phh
Backport-of: 5a988a5087
2024-03-05 15:10:13 +00:00
Jiawei Tang
a4a5c7fe66 8276125: RunThese24H.java SIGSEGV in JfrThreadGroup::thread_group_id
Reviewed-by: mgronlun
Backport-of: a885aab696
2024-03-04 14:48:13 +00:00
Aleksey Shipilev
f6e6eefcc1 8326938: [11u] JDK-8214908 broke two CTW tests
Reviewed-by: phh
2024-03-04 08:32:47 +00:00
Aleksey Shipilev
a582e1180c 8281507: Two javac tests have bad jtreg @clean tags
Reviewed-by: mbaesken
Backport-of: 86723d4892
2024-03-04 08:31:15 +00:00
Aleksey Shipilev
b183cd2399 8314552: Fix javadoc tests to work with jtreg 7
Reviewed-by: phh
Backport-of: e83046409d
2024-02-29 10:44:14 +00:00
Aleksey Shipilev
0ae93db126 8323717: Introduce test keyword for tests that need external dependencies
Reviewed-by: phh
Backport-of: 12b89cd2ee
2024-02-29 10:24:24 +00:00
Aleksey Shipilev
61164cef02 8305962: update jcstress to 0.16
Backport-of: 292ee630ae
2024-02-28 07:41:01 +00:00
Aleksey Shipilev
f2565a6c6f 8324723: GHA: Upgrade some actions to avoid deprecated Node 16
Reviewed-by: phh
Backport-of: 951b5f8ecb
2024-02-28 07:39:37 +00:00
Gui Cao
0e94be627d 8307955: Prefer to PTRACE_GETREGSET instead of PTRACE_GETREGS in method 'ps_proc.c::process_get_lwp_regs'
Reviewed-by: fyang, gli
Backport-of: 2f1c65486b
2024-02-28 07:14:00 +00:00
Andrew Lu
2dee6fbf2e 8294156: Allow PassFailJFrame.Builder to create test UI
Backport-of: 42b9ac8a07
2024-02-28 07:09:17 +00:00
Andrew Lu
c681c5aac4 8316053: Open some swing tests 3
Backport-of: a2391a92cd
2024-02-28 07:06:39 +00:00
Andrew Lu
e5cc20c35a 8315726: Open source several AWT applet tests
Reviewed-by: lucy
Backport-of: 1741d13b12
2024-02-28 07:04:46 +00:00
Andrew Lu
fe840ca3a2 8314830: runtime/ErrorHandling/ tests ignore external VM flags
Reviewed-by: lucy
Backport-of: 2c2b3726f9
2024-02-28 07:03:20 +00:00
Aleksey Shipilev
5045b5467d 8214400: Update hotspot application/jcstress jtreg tests wrappers to use jcstress 0.5
Backport-of: bbfe9d2168
2024-02-27 20:22:59 +00:00
Goetz Lindenmaier
6e296a01c2 8326801: Bump update version for OpenJDK: jdk-11.0.24
Reviewed-by: shade
2024-02-27 20:11:43 +00:00
Anton Bobrov
1bb3ed339b 8314164: java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java fails intermittently in timeout
Backport-of: fbaaac63d4
2024-02-27 12:21:58 +00:00
Aleksey Shipilev
d2d988af90 8292182: [TESTLIB] Enhance JAXPPolicyManager to setup required permissions for jtreg version 7 jar
Backport-of: aa5b718933
2024-02-27 10:28:55 +00:00
Aleksey Shipilev
64269a3c5a 8285756: clean up use of bad arguments for @clean in langtools tests
Backport-of: 3312d8c620
2024-02-27 10:20:22 +00:00
Amos Shi
7bed7f1b2d 8274122: java/io/File/createTempFile/SpecialTempFile.java fails in Windows 11
Reviewed-by: mbaesken
Backport-of: d6ad2f1715
2024-02-27 09:53:45 +00:00
Aleksey Shipilev
10f08844e5 8207855: Make applications/jcstress invoke tests in batches
Backport-of: 4805473049
2024-02-27 09:37:45 +00:00
Anton Bobrov
a855cab3e3 8308336: Test java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java failed: java.net.BindException: Address already in use
Backport-of: a48bcf3671
2024-02-27 09:26:38 +00:00
Sergey Bylokhov
a60a5c4305 8321151: JDK-8294427 breaks Windows L&F on all older Windows versions
Backport-of: f695ca5884
2024-02-26 18:20:14 +00:00
Anton Bobrov
93c5f7c50d 8326503: [11u] java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java fail because of package org.junit.jupiter.api does not exist
Reviewed-by: sgehwolf
2024-02-26 15:50:06 +00:00
Aleksey Shipilev
8dc28922c2 8323515: Create test alias "all" for all test roots
Reviewed-by: phh
Backport-of: 8b9bf75880
2024-02-26 08:53:41 +00:00
Andrew Lu
e075097dc8 8294158: HTML formatting for PassFailJFrame instructions
Backport-of: 14090ef603
2024-02-26 07:07:45 +00:00
Andrew John Hughes
ea06b5c966 8321480: ISO 4217 Amendment 176 Update
Reviewed-by: goetz
Backport-of: 223018a3aa
2024-02-23 17:20:35 +00:00
Andrew Lu
776f1e31a9 8294535: Add screen capture functionality to PassFailJFrame
Backport-of: dbb788f34d
2024-02-23 09:06:04 +00:00
Goetz Lindenmaier
6711fc8da7 8321408: Add Certainly roots R1 and E1
Reviewed-by: shade
Backport-of: e8f7eaeefe
2024-02-23 08:46:52 +00:00
Andrew Lu
43a56c89c6 8307299: Move more DnD tests to open
Backport-of: 950c5df859
2024-02-23 07:54:04 +00:00
Andrew Lu
fe8c20c8de 8306681: Open source more AWT DnD related tests
Backport-of: 05af487a2d
2024-02-23 02:29:30 +00:00
SendaoYan
30dfe8115d 8323640: [TESTBUG]testMemoryFailCount in jdk/internal/platform/docker/TestDockerMemoryMetrics.java always fail because OOM killed
Backport-of: 791b427f44
2024-02-22 18:04:31 +00:00
Anton Bobrov
1b207cc9cc 8054022: HttpURLConnection timeouts with Expect: 100-Continue and no chunking
Backport-of: 78839e9815
2024-02-22 09:53:46 +00:00
Amos Shi
f4cf239df1 8315602: Open source swing security manager test
Reviewed-by: rrich
Backport-of: fd6442c079
2024-02-22 07:53:30 +00:00
Andrew Lu
398f486c2a 8306812: Open source several AWT Miscellaneous tests
Backport-of: c494770ca0
2024-02-22 02:59:43 +00:00
Andrew Lu
aeb6381306 8306640: Open source several AWT TextArea related tests
Backport-of: 169a7c27a7
2024-02-22 02:56:17 +00:00
Andrew Lu
97241329cf 8306752: Open source several container and component AWT tests
Backport-of: 88d9ebf8e8
2024-02-22 02:55:56 +00:00
Andrew Lu
c9052141c1 8306755: Open source few Swing JComponent and AbstractButton tests
Backport-of: f3e8bd1d11
2024-02-22 02:55:28 +00:00
Andrew John Hughes
382942dffb 8326109: GCC 13 reports maybe-uninitialized warnings for jni.cpp with dtrace enabled
Reviewed-by: phh
2024-02-21 16:44:58 +00:00
Andrew Lu
de3ae6f265 8318468: compiler/tiered/LevelTransitionTest.java fails with -XX:CompileThreshold=100 -XX:TieredStopAtLevel=1
Backport-of: 61d0db3838
2024-02-19 09:34:42 +00:00
Amos Shi
38a60d78c4 8318983: Fix comment typo in PKCS12Passwd.java
Backport-of: 949846986f
2024-02-19 08:45:07 +00:00
Amos Shi
cc88c3ca4e 8317307: test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails with ConnectException: Connection timed out: no further information
Backport-of: b9b82631bf
2024-02-19 08:44:50 +00:00
Amos Shi
ccd4c98e39 8319668: Fixup of jar filename typo in BadFactoryTest.sh
Backport-of: 63ad868e18
2024-02-19 08:43:14 +00:00
Amos Shi
a5e6577c5b 8315680: java/lang/ref/ReachabilityFenceTest.java should run with -Xbatch
Backport-of: a290256bbf
2024-02-19 08:41:58 +00:00
Amos Shi
92cb5eb766 8319456: jdk/jfr/event/gc/collection/TestGCCauseWith[Serial|Parallel].java : GC cause 'GCLocker Initiated GC' not in the valid causes
Backport-of: 7c7f8ea30d
2024-02-19 08:41:41 +00:00
Johannes Bechberger
ddc3e41100 8318736: com/sun/jdi/JdwpOnThrowTest.java failed with "transport error 202: bind failed: Address already in use"
Reviewed-by: mbaesken
Backport-of: 28e1a33856
2024-02-19 08:37:57 +00:00
Amos Shi
6ecf198c7c 8316001: GC: Make TestArrayAllocatorMallocLimit use createTestJvm
Backport-of: 86dde5e02b
2024-02-19 08:36:41 +00:00
Amos Shi
f7cd14cc2b 8307123: Fix deprecation warnings in DPrinter
Backport-of: b76f320e76
2024-02-19 08:35:20 +00:00
Sergey Bylokhov
8af22e796a 8324347: Enable "maybe-uninitialized" warning for FreeType 2.13.1
Backport-of: 781f368d42
2024-02-17 11:26:43 +00:00
Goetz Lindenmaier
10894a07f0 8304314: StackWalkTest.java fails after CODETOOLS-7903373
Backport-of: d5a150706e
2024-02-16 09:56:50 +00:00
Sergey Bylokhov
1047521856 8318603: Parallelize sun/java2d/marlin/ClipShapeTest.java
Reviewed-by: phh
Backport-of: 6c7029ffd4
2024-02-16 04:49:34 +00:00
Jonathan Dowland
1f516f62f2 8324307: [11u] hotspot fails to build with GCC 12 and newer (non-static data member initializers)
Reviewed-by: sgehwolf
2024-02-15 21:50:46 +00:00
Jonathan Dowland
bcdad92ce0 8249087: Always initialize _body[0..1] in Symbol constructor
Reviewed-by: sgehwolf
Backport-of: 112bbcb396
2024-02-15 21:50:29 +00:00
Johannes Bechberger
daf393a3fa 8304725: AsyncGetCallTrace can cause SIGBUS on M1
Reviewed-by: phh, jbachorik
Backport-of: d8af7a6014
2024-02-15 17:08:28 +00:00
Jonathan Dowland
621048ac87 8247818: GCC 10 warning stringop-overflow with symbol code
Reviewed-by: andrew, stuefe
Backport-of: ed31b661d3
2024-02-15 09:06:29 +00:00
Dan Lutker
a60fb5a71d 8325150: (tz) Update Timezone Data to 2024a
Reviewed-by: phh
Backport-of: 917838e0a5
2024-02-09 18:52:12 +00:00
Elif Aslan
1f85c15d3b 8318608: Enable parallelism in vmTestbase/nsk/stress/threads tests
Backport-of: cee44a6255
2024-02-07 07:42:39 +00:00
Elif Aslan
5aa8538b17 8318607: Enable parallelism in vmTestbase/nsk/stress/jni tests
Backport-of: 43f31d7385
2024-02-07 07:42:18 +00:00
Aleksey Shipilev
54d1857208 8325096: Test java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java is failing
Backport-of: ac1cd31949
2024-02-07 07:37:42 +00:00
Amos Shi
4c25b228c9 8287113: JFR: Periodic task thread uses period for method sampling events
Backport-of: 8122466fbb
2024-02-06 08:07:21 +00:00
Andrew Lu
9be4891909 8323243: JNI invocation of an abstract instance method corrupts the stack
Backport-of: 71d9a83dec
2024-02-06 02:03:01 +00:00
Andrew Lu
77c0da4b01 8306683: Open source several clipboard and color AWT tests
Backport-of: 1c2dadc31e
2024-02-06 02:01:52 +00:00
Andrew Lu
38c11fd645 8315415: OutputAnalyzer.shouldMatchByLine() fails in some cases
Backport-of: 7b1e2bfe0f
2024-02-06 02:01:39 +00:00
Jonathan Dowland
0dc17ca068 8315731: Open source several Swing Text related tests
Reviewed-by: serb
Backport-of: d475f61fd5
2024-02-05 14:46:45 +00:00
Amos Shi
191b074a79 8315611: Open source swing text/html and tree test
Backport-of: ae08143d3d
2024-02-01 08:15:22 +00:00
Amos Shi
9276ded252 8309104: [JVMCI] compiler/unsafe/UnsafeGetStableArrayElement test asserts wrong values with Graal
Backport-of: 11fb5b2209
2024-02-01 08:13:51 +00:00
Amos Shi
433c10b07f 8265349: vmTestbase/../stress/compiler/deoptimize/Test.java fails with OOME due to CodeCache exhaustion.
Reviewed-by: lucy
Backport-of: 880c138b58
2024-01-31 13:09:51 +00:00
Andrew Lu
57e3a82b70 8314144: gc/g1/ihop/TestIHOPStatic.java fails due to extra concurrent mark with -Xcomp
Backport-of: 1925508425
2024-01-31 02:15:43 +00:00
Andrew Lu
54ada10524 8309778: java/nio/file/Files/CopyAndMove.java fails when using second test directory
Backport-of: cfae6ef2f6
2024-01-31 02:15:25 +00:00
Andrew Lu
6922a6035a 8156889: ListKeychainStore.sh fails in some virtualized environments
Backport-of: 82c8b28f40
2024-01-31 02:15:08 +00:00
Andrew Lu
9379be4e03 8309870: Using -proc:full should be considered requesting explicit annotation processing
Backport-of: 3ce1240ca1
2024-01-31 02:13:58 +00:00
Amos Shi
4fe0b836be 8315986: [macos14] javax/swing/JMenuItem/4654927/bug4654927.java: component must be showing on the screen to determine its location
Backport-of: e7486e8cfc
2024-01-30 13:03:25 +00:00
Amos Shi
46e4ad2b60 8310807: java/nio/channels/DatagramChannel/Connect.java timed out
Backport-of: 570dffb104
2024-01-30 13:03:11 +00:00
Amos Shi
54a1c84ff2 8316106: Open source few swing JInternalFrame and JMenuBar tests
Backport-of: 0775bf2f03
2024-01-30 13:01:03 +00:00
Amos Shi
80b00ca639 8209595: MonitorVmStartTerminate.java timed out
Backport-of: a045258ae2
2024-01-30 13:00:50 +00:00
Amos Shi
3a0c82028a 8311081: KeytoolReaderP12Test.java fail on localized Windows platform
Backport-of: b4b2fecb42
2024-01-30 12:59:16 +00:00
Amos Shi
b1bdadd5f7 8315600: Open source few more headless Swing misc tests
Backport-of: b05198a4f3
2024-01-30 12:59:02 +00:00
Amos Shi
34ea901038 8289764: gc/lock tests failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects"
Reviewed-by: mdoerr
Backport-of: 7b81a9c75d
2024-01-30 12:57:25 +00:00
Amos Shi
c97f19a4bf 8272552: mark hotspot runtime/cds tests which ignore external VM flags
Reviewed-by: mdoerr
Backport-of: 989f39f810
2024-01-30 12:57:11 +00:00
Amos Shi
a4d416e819 8272335: runtime/cds/appcds/MoveJDKTest.java doesn't check exit codes
Reviewed-by: phh
Backport-of: 75a06421e5
2024-01-30 12:55:36 +00:00
Amos Shi
c9a30d0fe0 8246222: Rename javac test T6395981.java to be more informative
Reviewed-by: mdoerr
Backport-of: be278bc564
2024-01-30 12:54:11 +00:00
Goetz Lindenmaier
6360095a2f 8315034: File.mkdirs() occasionally fails to create folders on Windows shared folder
Backport-of: 7ad700596f
2024-01-30 12:00:09 +00:00
Andrew John Hughes
26d795d794 8324184: Windows VS2010 build failed with "error C2275: 'int64_t'"
Reviewed-by: serb
Backport-of: 4f80edfae1
2024-01-29 14:13:35 +00:00
Aleksey Shipilev
82a1501ee4 8324659: GHA: Generic jtreg errors are not reported
Backport-of: c313d451a5
2024-01-29 09:12:01 +00:00
Andrew Lu
b4f61779a0 8315761: Open source few swing JList and JMenuBar tests
Backport-of: bb6b3f2486
2024-01-29 08:24:36 +00:00
Goetz Lindenmaier
fbc6005986 8318971: Better Error Handling for Jar Tool When Processing Non-existent Files
Backport-of: 8ae309ebac
2024-01-29 07:46:58 +00:00
Andrew Lu
ec4e75d81a 8308245: Add -proc:full to describe current default annotation processing policy
Backport-of: 42ecc8a37f
2024-01-29 02:03:32 +00:00
Andrew Lu
bee8d326bf 8316947: Write a test to check textArea triggers MouseEntered/MouseExited events properly
Backport-of: 00ef9f9c32
2024-01-26 02:17:11 +00:00
Christoph Langer
d3675a033f 8253739: java/awt/image/MultiResolutionImage/MultiResolutionImageObserverTest.java fails
Backport-of: 928da494a8
2024-01-25 15:54:23 +00:00
Goetz Lindenmaier
3f42f4c59a 8244679: JVM/TI GetCurrentContendedMonitor/contmon001 failed due to "(IsSameObject#3) unexpected monitor object: 0x000000562336DBA8"
Backport-of: c5fe2c1fcb
2024-01-25 10:18:23 +00:00
Andrew Lu
6e850f3f99 8310238: [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails
Backport-of: 2cf5c2f4b6
2024-01-25 02:25:42 +00:00
Kimura Yukihiro
1c12d16a76 8318410: jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh fails on Japanese Windows
Backport-of: 4144ef36bc
2024-01-24 14:03:46 +00:00
Goetz Lindenmaier
cb3c6ca3e7 8319124: Update XML Security for Java to 3.0.3
Reviewed-by: mbaesken
Backport-of: 6b5655a651
2024-01-23 09:04:06 +00:00
Andrew Lu
03cd88522e 8169475: WheelModifier.java fails by timeout
Backport-of: 613d32c282
2024-01-22 08:42:49 +00:00
Goetz Lindenmaier
ef24634151 8305972: Update XML Security for Java to 3.0.2
Reviewed-by: mbaesken
Backport-of: f0aebc8141
2024-01-19 15:47:32 +00:00
Goetz Lindenmaier
dc028f28d1 8323008: filter out harmful -std* flags added by autoconf from CXX
Backport-of: 68c4286026
2024-01-18 15:12:16 +00:00
Matthias Baesken
51d944e570 8318955: Add ReleaseIntArrayElements in Java_sun_awt_X11_XlibWrapper_SetBitmapShape XlbWrapper.c to early return
Backport-of: 81db1721d4
2024-01-18 08:03:48 +00:00
Andrew Lu
0e8244bd42 8315594: Open source few headless Swing misc tests
Backport-of: 806ef0897b
2024-01-18 07:52:03 +00:00
Goetz Lindenmaier
0f1f65652c Merge 2024-01-18 07:08:49 +00:00
Andrew Lu
573f6b3f2e 8286969: Add a new test library API to execute kinit in SecurityTools.java
Backport-of: dbda0e2bda
2024-01-17 08:53:06 +00:00
Andrew Lu
cc6fab36bc 8276796: gc/TestSystemGC.java large pages subtest fails with ZGC
8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest

Reviewed-by: mbaesken
Backport-of: 91bb0d658b
2024-01-17 08:52:48 +00:00
Andrew Lu
621a5e5b59 8318154: Improve stability of WheelModifier.java test
Backport-of: 668d4b077f
2024-01-17 08:46:21 +00:00
Andrew Lu
499e1c14cf 8320208: Update Public Suffix List to b5bf572
Backport-of: ae0716100a
2024-01-16 09:59:04 +00:00
Goetz Lindenmaier
ff6e6d74e0 8322883: [BACKOUT] 8225377: type annotations are not visible to javac plugins across compilation boundaries
Reviewed-by: mdoerr
Backport-of: ea6fc21471
2024-01-16 09:03:38 +00:00
Sergey Bylokhov
1f3c7d58c1 8309462: [AIX] vmTestbase/nsk/jvmti/RunAgentThread/agentthr001/TestDescription.java crashing due to empty while loop
Backport-of: cf9e6353cc
2024-01-16 04:47:27 +00:00
Andrew Lu
8aa5509891 8307381: Open Source JFrame, JIF related Swing Tests
Backport-of: 4386d42d31
2024-01-15 09:25:05 +00:00
Andrew Lu
3bb03ee32c 8306871: Open source more AWT Drag & Drop tests
Backport-of: b5a48277ab
2024-01-15 09:24:26 +00:00
Liang Mao
7262e7deb1 8280007: Enable Neoverse N1 optimizations for Arm Neoverse V1 & N2
Reviewed-by: aph
Backport-of: f823bed043
2024-01-12 13:07:35 +00:00
Andrew Lu
e7f17f1bf7 8306076: Open source AWT misc tests
Backport-of: f7d45b85a5
2024-01-12 02:02:56 +00:00
Goetz Lindenmaier
e55aac2bf7 8259801: Enable XML Signature secure validation mode by default
Backport-of: baf46bac41
2024-01-11 16:11:50 +00:00
Andrew Lu
bcfabe3ce2 8290909: MemoryPoolMBean/isUsageThresholdExceeded tests failed with "isUsageThresholdExceeded() returned false, and is still false, while threshold = MMMMMMM and used peak = NNNNNNN"
Backport-of: 3601e30df7
2024-01-10 08:33:08 +00:00
Andrew Lu
9ee3b1cf5d 8306652: Open source AWT MenuItem related tests
Backport-of: ed1ebd242a
2024-01-10 08:32:49 +00:00
Andrew Lu
61c0718e4c 8306409: Open source AWT KeyBoardFocusManger, LightWeightComponent related tests
Backport-of: 732179ca84
2024-01-10 08:32:07 +00:00
Andrew Lu
8a1e29df72 8274621: NullPointerException because listenAddress[0] is null
Backport-of: 5bbc8d3cb2
2024-01-10 08:31:46 +00:00
Andrew Lu
c360cd5e25 8306753: Open source several container AWT tests
Backport-of: b372f28ad4
2024-01-10 08:29:48 +00:00
Ichiroh Takiguchi
224f0f30bd 6928542: Chinese characters in RTF are not decoded
Reviewed-by: phh
Backport-of: a26f7c03c7
2024-01-10 01:08:35 +00:00
Christoph Langer
e3a18fafec 8322772: Clean up code after JDK-8322417
Backport-of: bfd23aeae1
2024-01-09 21:44:15 +00:00
Christoph Langer
6739881b2f 8323423: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.22
Reviewed-by: goetz
2024-01-09 22:19:49 +01:00
Dan Lutker
58b154e971 8322725: (tz) Update Timezone Data to 2023d
Reviewed-by: shade
Backport-of: 2a9c3589d9
2024-01-09 17:24:20 +00:00
Roland Westrelin
e059fc7575 8314307: Improve loop handling
Reviewed-by: mbalao, fferrari
Backport-of: 62ac93d145ca9fa1ab0c040533c62c42c202703a
2024-01-09 17:13:59 +01:00
Alexey Bakhtin
a9145c7a19 8317547: Enhance TLS connection support
Reviewed-by: mbalao
Backport-of: 066482f9686ca81068f9386322afda8e73323f5e
2024-01-09 17:13:24 +01:00
Aleksei Voitylov
4ec94b1aa7 8316976: Improve signature handling
Reviewed-by: mbalao
Backport-of: ed1269b7410759e8fa0d97d85328f20d11ae8d9a
2024-01-09 17:11:33 +01:00
Yuri Nesterenko
4576161fb3 8314468: Improve Compiler loops
Reviewed-by: mbalao
Backport-of: 2621f68c06
2024-01-09 17:11:03 +01:00
Martin Balao
6944c16100 8314295: Enhance verification of verifier
Reviewed-by: yan
Backport-of: 08980a0a60
2024-01-09 17:10:38 +01:00
Martin Balao
8fe2b2959e 8314284: Enhance Nashorn performance
Co-authored-by: Francisco Ferrari Bihurriet <fferrari@redhat.com>
Co-authored-by: Martin Balao Alonso <mbalao@redhat.com>
Reviewed-by: andrew
2024-01-09 17:10:09 +01:00
Alexey Bakhtin
89e0f9baae 8308204: Enhanced certificate processing
Reviewed-by: mbalao
Backport-of: ef0ea85bf1398b73bd308ba2b395c917b449aa3b
2024-01-09 17:09:22 +01:00
Goetz Lindenmaier
666bf87ed3 8321215: Incorrect x86 instruction encoding for VSIB addressing mode
Reviewed-by: shade, sviswanathan
Backport-of: 027b5dbb6a
2024-01-09 15:38:28 +00:00
Goetz Lindenmaier
c759b2e569 8309119: [17u/11u] Redo JDK-8297951: C2: Create skeleton predicates for all If nodes in loop predication
Backport-of: a6ef655b6f
2024-01-09 15:32:52 +00:00
Amos Shi
c342a032be 8313643: Update HarfBuzz to 8.2.2
Reviewed-by: mbaesken
Backport-of: 0bc91f60d2
2024-01-09 15:30:52 +00:00
Amos Shi
3c732a61bf 8281377: Remove vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Deadlock/JavaDeadlock001/TestDescription.java from problemlist.
Backport-of: 1dfc94dd56
2024-01-08 10:55:59 +00:00
Amos Shi
de6ccb964a 8294402: Add diagnostic logging to VMProps.checkDockerSupport
Backport-of: 03d613bbab
2024-01-08 10:50:18 +00:00
Amos Shi
f6ddc4b4a4 8296083: javax/swing/JTree/6263446/bug6263446.java fails intermittently on a VM
Reviewed-by: phh
Backport-of: 728dc4de17
2024-01-08 10:45:51 +00:00
Amos Shi
94bf6db8ed 8202790: DnD test DisposeFrameOnDragTest.java does not clean up
Backport-of: 102a305f73
2024-01-08 10:43:40 +00:00
Goetz Lindenmaier
8ca3b77e67 8322417: Console read line with zero out should zero out when throwing exception
Reviewed-by: mbaesken
Backport-of: ddc909d6a4
2024-01-08 09:19:48 +00:00
Andrew Lu
4031a889b7 8239801: [macos] java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java fails
8237222: [macos] java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java fails

Reviewed-by: mdoerr
Backport-of: b6dddf4ce6
2024-01-08 08:51:02 +00:00
Andrew Lu
9a16bee409 8310551: vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java timed out due to missing prompt
Backport-of: c84866ac0d
2024-01-08 02:12:42 +00:00
Amos Shi
ed37e2d384 8208243: vmTestbase/gc/lock/jni/jnilock002/TestDescription.java fails in jdk/hs nightly
Reviewed-by: mbaesken
Backport-of: 5899ef11fb
2024-01-06 11:04:35 +00:00
Andrew Lu
e3b6c5085c 8311585: Add JRadioButtonMenuItem to bug8031573.java
Backport-of: 4f90abaf17
2024-01-05 08:04:53 +00:00
Andrew Lu
78ca5ec70f 8202931: [macos] java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java fails
Backport-of: f80faced6e
2024-01-05 07:58:57 +00:00
Sergey Bylokhov
888837a141 8315042: NPE in PKCS7.parseOldSignedData
Backport-of: 8c0d026d0f
2024-01-05 02:50:21 +00:00
Matthias Baesken
93d1dc760a 8315499: build using devkit on Linux ppc64le RHEL puts path to devkit into libsplashscreen
Backport-of: ed2b4673de
2024-01-03 16:24:58 +00:00
Andrew Lu
2a96f76919 8271829: mark hotspot runtime/Throwable tests which ignore external VM flags
Reviewed-by: mbaesken
Backport-of: 659498a07f
2024-01-03 13:32:09 +00:00
Andrew Lu
5fc2f4cbe5 8271828: mark hotspot runtime/classFileParserBug tests which ignore external VM flags
Reviewed-by: mbaesken
Backport-of: e49b7d958c
2024-01-03 13:31:46 +00:00
Andrew Lu
b29ef197c9 8271890: mark hotspot runtime/Dictionary tests which ignore external VM flags
Reviewed-by: mbaesken
Backport-of: cdf3d55c82
2024-01-03 13:31:25 +00:00
Andrew Lu
cf74d9d86a 8058176: [mlvm] tests should not allow code cache exhaustion
Reviewed-by: mbaesken
Backport-of: 4c83d24f0a
2024-01-03 13:31:04 +00:00
Andrew Lu
325fc37c9b 8264135: UnsafeGetStableArrayElement should account for different JIT implementation details
Reviewed-by: mbaesken
Backport-of: 5a930c42de
2024-01-03 13:30:38 +00:00
Andrew Lu
a0fe96ea70 8166275: vm/mlvm/meth/stress/compiler/deoptimize keeps timeouting
8233453: MLVM deoptimize stress test timed out

Reviewed-by: mbaesken
Backport-of: 0501511825
2024-01-03 13:28:31 +00:00
Sergey Bylokhov
c241718949 8320937: support latest VS2022 MSC_VER in abstract_vm_version.cpp
Backport-of: eb44bafe77
2024-01-02 20:19:20 +00:00
Amos Shi
2da1ac7463 8308116: jdk.test.lib.compiler.InMemoryJavaCompiler.compile does not close files
Reviewed-by: mbaesken
Backport-of: e9320f31dc
2023-12-30 11:03:42 +00:00
Amos Shi
4f91f8fe3d 8301377: adjust timeout for JLI GetObjectSizeIntrinsicsTest.java subtest again
8302607: increase timeout for ContinuousCallSiteTargetChange.java
8305502: adjust timeouts in three more M&M tests

Reviewed-by: mbaesken
Backport-of: 4b23bef51d
2023-12-30 08:54:47 +00:00
Amos Shi
d94b3f84b6 8301846: Invalid TargetDataLine after screen lock when using JFileChooser or COM library
Reviewed-by: mbaesken
Backport-of: 613a3cc689
2023-12-30 08:53:17 +00:00
Jaroslav Bachorik
e55ee09e5e 8322752: [11u] GetStackTraceAndRetransformTest.java is failing assert
Reviewed-by: goetz
2023-12-29 17:47:41 +00:00
Amos Shi
96057c1c1b 8308043: Deadlock in TestCSLocker.java due to blocking GC while allocating
Reviewed-by: mbaesken
Backport-of: 285c833ffa
2023-12-29 11:05:30 +00:00
Andrew Lu
a6fc00a02e 8269025: jsig/Testjsig.java doesn't check exit code
Backport-of: 60389eedb3
2023-12-29 02:22:49 +00:00
Andrew Lu
43d4c50b8c 8271094: runtime/duplAttributes/DuplAttributesTest.java doesn't check exit code
Backport-of: 4812e53791
2023-12-29 02:22:34 +00:00
Andrew Lu
823b65adc0 8271224: runtime/EnclosingMethodAttr/EnclMethodAttr.java doesn't check exit code
Backport-of: 68dd828088
2023-12-29 02:22:14 +00:00
Andrew Lu
234d2f066d 8316028: Update FreeType to 2.13.2
Backport-of: 3b65b8797a
2023-12-29 02:20:46 +00:00
Andrew Lu
b31ee7faad 8253820: Save test images and dumps with timestamps from client sanity suite
Backport-of: e32a4ea4ef
2023-12-29 02:20:25 +00:00
Alexey Bakhtin
31a6a53973 8320597: RSA signature verification fails on signed data that does not encode params correctly
Reviewed-by: mbalao
Backport-of: 11e4a925be
2023-12-28 08:13:35 +01:00
Alexey Bakhtin
abed94cca6 8302017: Allocate BadPaddingException only if it will be thrown
Reviewed-by: mbalao
Backport-of: 334b977259
2023-12-28 08:09:57 +01:00
Amos Shi
f308f3e586 8198668: MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001/TestDescription.java still failing
Reviewed-by: mdoerr
Backport-of: d1249aa5cb
2023-12-26 11:27:35 +00:00
Amos Shi
d232723866 8285867: Convert applet manual tests SelectionVisible.java to Frame and automate
Reviewed-by: mdoerr
Backport-of: 44a60ce172
2023-12-26 11:24:20 +00:00
Andrew Lu
879f7cf814 8253543: sanity/client/SwingSet/src/ButtonDemoScreenshotTest.java failed with "AssertionError: All pixels are not black"
Backport-of: ffc97ba585
2023-12-26 03:17:13 +00:00
Amos Shi
483bbff748 8232839: JDI AfterThreadDeathTest.java failed due to "FAILED: Did not get expected IllegalThreadStateException on a StepRequest.enable()"
Reviewed-by: mdoerr
Backport-of: 84184f9473
2023-12-25 18:16:29 +00:00
Amos Shi
6201dcc14e 8193543: Regression automated test '/open/test/jdk/java/awt/TrayIcon/SystemTrayInstance/SystemTrayInstanceTest.java' fails
Reviewed-by: mdoerr
Backport-of: 08024d9583
2023-12-25 18:14:54 +00:00
Amos Shi
98cbef8d88 8272551: mark hotspot runtime/modules tests which ignore external VM flags
Reviewed-by: mdoerr
Backport-of: fe72197102
2023-12-25 18:14:32 +00:00
Amos Shi
d7eeb39084 8272291: mark hotspot runtime/logging tests which ignore external VM flags
Reviewed-by: mdoerr
Backport-of: 05d64da7f3
2023-12-25 18:12:42 +00:00
Amos Shi
b8e0b5653c 8226910: make it possible to use jtreg's -match via run-test framework
Reviewed-by: mdoerr
Backport-of: b97433e763
2023-12-25 18:11:04 +00:00
Amos Shi
b714f1e8f1 8208278: [mlvm] [TESTBUG] vm.mlvm.mixed.stress.java.findDeadlock.INDIFY_Test Deadlocked threads are not always detected
Reviewed-by: mdoerr
Backport-of: 1d5674ab33
2023-12-24 10:22:41 +00:00
Amos Shi
b90b1d226d 8318889: C2: add bailout after assert Bad graph detected in build_loop_late
Backport-of: 83eb20651f
2023-12-23 11:16:48 +00:00
Amos Shi
73e40c99d0 8317327: Remove JT_JAVA dead code in jib-profiles.js
Backport-of: 69489427e9
2023-12-23 11:14:51 +00:00
Amos Shi
6a5a8ee56b 8308232: nsk/jdb tests don't pass -verbose flag to the debuggee
Backport-of: c6f20db945
2023-12-23 11:14:30 +00:00
Amos Shi
1583c4e705 8308223: failure handler missed jcmd.vm.info command
Backport-of: 563152f32d
2023-12-23 11:12:46 +00:00
Amos Shi
5571faf986 8300727: java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java failed with "List wasn't garbage collected"
Backport-of: f835aaafc7
2023-12-23 11:12:26 +00:00
Amos Shi
9cff0d457f 8302109: Trivial fixes to btree tests
Backport-of: 97d0c8720d
2023-12-23 11:10:54 +00:00
Amos Shi
92534aaaf5 8289948: Improve test coverage for XPath functions: Node Set Functions
Reviewed-by: mdoerr
Backport-of: 57bf603b73
2023-12-23 11:09:23 +00:00
Jaroslav Bachorik
53824e5822 8313816: Accessing jmethodID might lead to spurious crashes
Reviewed-by: phh
Backport-of: cdd1a6e851
2023-12-22 11:18:42 +00:00
Amos Shi
b6e6d381e8 8067651: LevelTransitionTest.java, fix trivial methods levels logic
Make test method really trivial, adjust trivial logic, make logic independent of background compilation.

Backport-of: 3c276ce1fe
2023-12-21 16:56:35 +00:00
Andrew Lu
140e4d03c5 8313082: Enable CreateCoredumpOnCrash for testing in makefiles
Backport-of: ba645da97b
2023-12-21 10:50:34 +00:00
Andrew Lu
b0257bdbe1 8166554: Avoid compilation blocking in OverloadCompileQueueTest.java
Backport-of: 2cceeedfe1
2023-12-21 10:50:10 +00:00
Andrew Lu
43834126e7 8257505: nsk/share/test/StressOptions stressTime is scaled in getter but not when printed
Backport-of: 9de283b891
2023-12-21 10:46:41 +00:00
Andrew Lu
a2696023e0 8255743: Relax SIGFPE match in in runtime/ErrorHandling/SecondaryErrorTest.java
Reviewed-by: stuefe
Backport-of: 6d36b4bb79
2023-12-21 10:46:21 +00:00
Amos Shi
3212030bdb 8180266: Convert sun/security/provider/KeyStore/DKSTest.sh to Java Jtreg Test
Backport-of: 7f313b0cef
2023-12-18 23:19:54 +00:00
Amos Shi
950590649d 8207211: [TESTBUG] Remove excessive output from CDS/AppCDS tests
Changed the value of the property test.cds.copy.child.stdout to false so that stdout of child processes are logged in files. Each stdout and stderr file will have a unique name.

Reviewed-by: phh
Backport-of: c3adb5f87d
2023-12-18 23:13:14 +00:00
Liam Miller-Cushon
02df756f4f 8320001: javac crashes while adding type annotations to the return type of a constructor
Reviewed-by: vromero
Backport-of: 5e24aaf4f7
2023-12-18 23:04:39 +00:00
Tabata Daishi
995d620423 8237834: com/sun/jndi/ldap/LdapDnsProviderTest.java failing with LDAP response read timeout
Backport-of: 3f505750ed
2023-12-18 22:58:20 +00:00
Goetz Lindenmaier
93f7a8c559 8320798: Console read line with zero out should zero out underlying buffer
Reviewed-by: mdoerr
Backport-of: 48c847836e
2023-12-18 11:27:36 +00:00
Amos Shi
dc374f6df6 8322178: Error. can't find jdk.testlibrary.SimpleSSLContext in test directory or libraries
Move SimpleSSLContext.java and testkeys to test/lib/jdk/test/lib/net

Reviewed-by: goetz
Backport-of: 4fe2edae59
2023-12-16 19:05:09 +00:00
Alexey Bakhtin
4470c0a7be 8320597: RSA signature verification fails on signed data that does not encode params correctly
Reviewed-by: mbalao
Backport-of: 11e4a925be
2023-12-15 22:30:41 +00:00
Liam Miller-Cushon
bd5ef736d6 8225377: type annotations are not visible to javac plugins across compilation boundaries
Reviewed-by: phh
Backport-of: de6667cf11
2023-12-15 15:06:20 +00:00
Amos Shi
f06fe1c0cd 8318951: Additional negative value check in JPEG decoding
Backport-of: 75ce02fe74
2023-12-15 15:04:09 +00:00
Amos Shi
0107cb254d 8307311: Timeouts on one macOS 12.6.1 host of two Swing JTableHeader tests
Backport-of: b3cb82b859
2023-12-15 15:02:04 +00:00
Amos Shi
524353503e 8306996: Open source Swing MenuItem related tests
Backport-of: 73491fa452
2023-12-15 14:57:48 +00:00
Amos Shi
da4bfa7620 8307130: Open source few Swing JMenu tests
Backport-of: d9052b9466
2023-12-15 14:55:47 +00:00
Amos Shi
57abf9771f 8305505: NPE in javazic compiler
Backport-of: 544bd260b6
2023-12-15 14:53:28 +00:00
Amos Shi
1ed87b6e1c 8306072: Open source several AWT MouseInfo related tests
Backport-of: 44d9f55d0b
2023-12-15 14:51:09 +00:00
Amos Shi
50a1dc74fd 8302149: Speed up compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java
Backport-of: 2613b94f28
2023-12-15 14:39:02 +00:00
Amos Shi
f572042eb9 8296384: [TESTBUG] sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java intermittently timeout
Backport-of: 82561de722
2023-12-15 14:36:42 +00:00
Amos Shi
8f5b522200 8293819: sun/util/logging/PlatformLoggerTest.java failed with "RuntimeException: Retrieved backing PlatformLogger level null is not the expected CONFIG"
Backport-of: 11e7d53b23
2023-12-15 14:34:38 +00:00
Amos Shi
6dd9ab1f0b 8285785: CheckCleanerBound test fails with PasswordCallback object is not released
Backport-of: b9d1e85151
2023-12-15 14:30:34 +00:00
Amos Shi
d54d7d6c5b 8251349: Add TestCaseImpl to OverloadCompileQueueTest.java's build dependencies
Backport-of: 714db70bf3
2023-12-15 14:22:27 +00:00
Amos Shi
0a8a628c64 8231585: java/lang/management/ThreadMXBean/MaxDepthForThreadInfoTest.java fails with java.lang.NullPointerException
Backport-of: db8757ad12
2023-12-15 14:20:26 +00:00
Amos Shi
e3a4caa0b8 8216408: XMLStreamWriter setDefaultNamespace(null) throws NullPointerException
Backport-of: 1ebe11a28d
2023-12-15 14:18:17 +00:00
Amos Shi
4543378d0f 8213927: G1 ignores AlwaysPreTouch when UseTransparentHugePages is enabled
With UseTransparentHugePages we always need to pretouch on small page size as the underlying memory could currently be allocated as either small or large pages.

Backport-of: fc8795984a
2023-12-15 14:16:12 +00:00
Amos Shi
0c9de02017 8211978: Move testlibrary/jdk/testlibrary/SimpleSSLContext.java and testkeys to network testlibrary
Move SimpleSSLContext.java and testkeys to test/lib/jdk/test/lib/net

Reviewed-by: mdoerr
Backport-of: 4fe2edae59
2023-12-15 11:39:47 +00:00
Andrew Lu
9ad2741b80 8294254: [macOS] javax/swing/plaf/aqua/CustomComboBoxFocusTest.java failure
Backport-of: 358ac07255
2023-12-15 08:35:14 +00:00
Alexey Bakhtin
1a3385e438 8302017: Allocate BadPaddingException only if it will be thrown
Reviewed-by: mbalao
Backport-of: 334b977259
2023-12-15 04:26:38 +00:00
Amos Shi
aa03b6f50c 8211438: [Testbug] runtime/XCheckJniJsig/XCheckJSig.java looks for libjsig in wrong location
Remove the os_arch string and JRE path from the test.  Also add JNIEXPORT to libjsig symbols so dlsym can find them

Reviewed-by: mbaesken
Backport-of: d872314ef3
2023-12-14 09:44:20 +00:00
Amos Shi
3a961da0f7 8209946: [TESTBUG] CDS tests should use "@run driver"
Reviewed-by: mbaesken
Backport-of: 568e8beda6
2023-12-14 08:06:12 +00:00
Amos Shi
dec947af51 8209549: remove VMPropsExt from TEST.ROOT
Reviewed-by: mbaesken
Backport-of: 610dfb22d3
2023-12-14 08:05:55 +00:00
Andrew Lu
1adabcd6b2 8307683: Loop Predication should not hoist range checks with trap on success projection by negating their condition
Reviewed-by: lucy
Backport-of: dfd3da3f52
2023-12-14 01:54:02 +00:00
Amos Shi
b3d7b57a73 8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit
Reviewed-by: mbaesken
Backport-of: e30e356442
2023-12-13 17:22:34 +00:00
Amos Shi
ccc74bb7cf 8208623: [TESTBUG] runtime/LoadClass/LongBCP.java fails in AUFS file system
Limit the maximal file name length to 242 for AUFS file system

Reviewed-by: mbaesken
Backport-of: 03d6ab3b09
2023-12-13 17:22:10 +00:00
Amos Shi
7d85ecfd2f 8202282: [TESTBUG] appcds TestCommon.makeCommandLineForAppCDS() can be removed
Removed the unnecessary makeCommandLineForAppCDS() method and its usage

Reviewed-by: rrich
Backport-of: 5108d2e1dd
2023-12-13 16:01:19 +00:00
Andrew Lu
7833ea8054 8219585: [TESTBUG] sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java passes trivially when it shouldn't
Backport-of: 77832350f1
2023-12-13 09:13:47 +00:00
Andrew Lu
878c10792b 8300269: The selected item in an editable JComboBox with titled border is not visible in Aqua LAF
Reviewed-by: lucy
Backport-of: ef6200c727
2023-12-13 09:13:26 +00:00
Andrew Lu
9761bc9c98 8286846: test/jdk/javax/swing/plaf/aqua/CustomComboBoxFocusTest.java fails on mac aarch64
Backport-of: d7341ae42e
2023-12-13 09:13:05 +00:00
tabata-d
04b1f4c2de 8238274: (sctp) JDK-7118373 is not fixed for SctpChannel
Reviewed-by: phh
Backport-of: d91e227abb
2023-12-12 18:58:02 +00:00
Andrew Lu
5be448f903 8299494: Test vmTestbase/nsk/stress/except/except011.java failed: ExceptionInInitializerError: target class not found
Backport-of: bbde2158d1
2023-12-12 08:56:07 +00:00
Andrew Lu
8b61278e00 8054572: [macosx] JComboBox paints the border incorrectly
Backport-of: 8082c24a0d
2023-12-12 08:53:22 +00:00
Matthias Baesken
d08a3d072e 8314883: Java_java_util_prefs_FileSystemPreferences_lockFile0 write result errno in missing case
Backport-of: 97b94cb1cd
2023-12-11 11:59:26 +00:00
Andrew Lu
0ce4c5e4cb 7132796: [macosx] closed/javax/swing/JComboBox/4517214/bug4517214.java fails on MacOS
Backport-of: 81d7475d20
2023-12-11 07:55:41 +00:00
Andrew Lu
420a68e876 7148092: [macosx] When Alt+down arrow key is pressed, the combobox popup does not appear.
Backport-of: c42ef70a45
2023-12-11 07:55:20 +00:00
Andrew Lu
05bb69d483 8290399: [macos] Aqua LAF does not fire an action event if combo box menu is displayed
Backport-of: 93f96d8c9e
2023-12-11 07:53:40 +00:00
Andrew Lu
ad68a72131 8310106: sun.security.ssl.SSLHandshake.getHandshakeProducer() incorrectly checks handshakeConsumers
Backport-of: db133dbc02
2023-12-11 07:53:22 +00:00
Sergey Bylokhov
af09671bd4 8301310: The SendRawSysexMessage test may cause a JVM crash
Backport-of: d725b73df0
2023-12-08 18:04:35 +00:00
Andrew Lu
325a93fc8f 8292946: GC lock/jni/jnilock001 test failed "assert(gch->gc_cause() == GCCause::_scavenge_alot || !gch->incremental_collection_failed()) failed: Twice in a row"
Reviewed-by: phh
Backport-of: 9833c025fd
2023-12-08 08:48:51 +00:00
Andrew Lu
ed2dbacb21 8068225: nsk/jdi/EventQueue/remove_l/remove_l005 intermittently times out
Backport-of: 9bc10ee9bf
2023-12-08 08:46:48 +00:00
Andrew Lu
e63499d66d 8217475: Unexpected StackOverflowError in "process reaper" thread
Backport-of: a376fb7720
2023-12-08 02:10:37 +00:00
Paul Hohensee
3ea286a3d6 8313081: MonitoringSupport_lock should be unconditionally initialized after 8304074
Reviewed-by: simonis
Backport-of: a9d21c61fb
2023-12-07 21:16:04 +00:00
Paul Hohensee
31064b1cca 8304074: [JMX] Add an approximation of total bytes allocated on the Java heap by the JVM
Reviewed-by: simonis
Backport-of: 3eced01f9e
2023-12-07 16:20:14 +00:00
Amos Shi
8a390c878c 8281717: Cover logout method for several LoginModule
8284090: com/sun/security/auth/module/AllPlatforms.java fails to compile

Backport-of: 4f4e0426a1
2023-12-07 11:48:29 +00:00
Amos Shi
a9536ae000 8226905: unproblem list applications/ctw/modules/* tests on windows
Reviewed-by: goetz
Backport-of: cac96b1b58
2023-12-07 11:46:17 +00:00
Amos Shi
c77e5383de 8251904: vmTestbase/nsk/sysdict/vm/stress/btree/btree010/btree010.java fails with ClassNotFoundException: nsk.sysdict.share.BTree0LLRLRLRRLR
Backport-of: 7ca053de21
2023-12-07 08:10:57 +00:00
Amos Shi
050bbdbb03 8225471: Test utility jdk.test.lib.util.FileUtils.areAllMountPointsAccessible needs to tolerate duplicates
Backport-of: f4f7dbd54c
2023-12-07 08:07:56 +00:00
Andrew Lu
c0575b899f 8237777: "Dumping core ..." is shown despite claiming that "# No core dump will be written."
Remove the unneeded and possibly misleading message.

Backport-of: 1f31afd855
2023-12-07 01:55:58 +00:00
Andrew Lu
8191f62199 8316030: Update Libpng to 1.6.40
Backport-of: 158293d251
2023-12-07 01:54:06 +00:00
Sonia Zaldana Calles
db1d94441f 8281149: (fs) java/nio/file/FileStore/Basic.java fails with java.lang.RuntimeException: values differ by more than 1GB
Backport-of: a5343fa605
2023-12-06 23:55:59 +00:00
Shruthi.Shruthi1
2d7dd473f5 8207214: Broken links in JDK API serialized-form page
Backport-of: 955ce37d60
2023-12-06 11:51:32 +00:00
Goetz Lindenmaier
e4504a4ccd Merge 2023-12-06 10:16:36 +00:00
Andrew Lu
e793bdd174 8234309: LFGarbageCollectedTest.java fails with parse Exception
LFGarbageCollectedTest.java fails with parse Exception

Backport-of: 984abfeb3f
2023-12-06 02:00:30 +00:00
Andrew Lu
082fb9cbfa 8219612: [TESTBUG] compiler.codecache.stress.Helper.TestCaseImpl can't be defined in different runtime package as its nest host
Test rewritten to use top level classes rather then nested ones

Backport-of: 3f0955154d
2023-12-06 02:00:00 +00:00
Andrew Lu
3b2d165d74 8186610: move ModuleUtils to top-level testlibrary
Backport-of: 7014d0bdf8
2023-12-06 01:59:37 +00:00
Andrew Lu
10802588f4 8218754: JDK-8068225 regression in JDIBreakpointTest
Backport-of: 5d0ff15a58
2023-12-06 01:57:43 +00:00
Sonia Zaldana Calles
04d2033be9 8273803: Zero: Handle "zero" variant in CommandLineOptionTest.java
Backport-of: 2d13fb21af
2023-12-05 17:58:42 +00:00
Amos Shi
7dfd132081 8226706: (se) Reduce the number of outer loop iterations on Windows in java/nio/channels/Selector/RacyDeregister.java
Backport-of: 4d1ff6a295
2023-12-04 15:02:46 +00:00
Amos Shi
d4fcded47a 8282665: [REDO] ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y)
Backport-of: d07f7c76c5
2023-12-04 11:27:34 +00:00
Amos Shi
4245e3c042 8255277: randomDelay in DrainDeadlockT and LoggingDeadlock do not randomly delay
Backport-of: a93841ac9c
2023-12-04 11:01:23 +00:00
Amos Shi
5c92da0e57 8255546: Missing coverage for javax.smartcardio.CardPermission and ResponseAPDU
Backport-of: 90f9a7053a
2023-12-04 10:58:40 +00:00
Amos Shi
b88668b905 8213926: WB_EnqueueInitializerForCompilation requests compilation for NULL
Backport-of: 6b0d1af7fa
2023-12-04 10:56:21 +00:00
Amos Shi
4b88beb33a 8213622: Windows VS2013 build failure - "'snprintf': identifier not found"
Replace snprintf with strlen and memcpy

Backport-of: d7d4bc9fdd
2023-12-04 10:54:02 +00:00
Amos Shi
b9b01c91ae 8192864: defmeth tests can hide failures
Add a call to addFailureCount() to record previously hidden failures.

Backport-of: 67d76fe937
2023-12-04 10:49:30 +00:00
Amos Shi
ca2290ba26 8208705: [TESTBUG] The -Xlog:cds,cds+hashtables vm option is not always required for appcds tests
Only include the CDS logging option in the tests which require it

Backport-of: 5858a507f4
2023-12-04 10:46:48 +00:00
Amos Shi
ae6b8d0afe 8208704: runtime/appcds/MultiReleaseJars.java timed out often in hs-tier7 testing
Increase timout to 2400 and reduce the amount of output

Backport-of: 6f046a9f27
2023-12-04 10:44:21 +00:00
Matthias Baesken
bc48a48de1 8311511: Improve description of NativeLibrary JFR event
Backport-of: 848abd2831
2023-12-04 08:26:31 +00:00
Matthias Baesken
1df80ba48c 8313164: src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp GetRGBPixels adjust releasing of resources
Backport-of: b7545a69a2
2023-12-04 08:24:29 +00:00
Matthias Baesken
229dddeffb 8313252: Java_sun_awt_windows_ThemeReader_paintBackground release resources in early returns
Backport-of: 3671d83c87
2023-12-04 08:24:10 +00:00
Martin Doerr
360bab8a08 8320363: ppc64 TypeEntries::type_unknown logic looks wrong, missed optimization opportunity
Backport-of: 6aa197667a
2023-12-01 08:44:01 +00:00
Amos Shi
39880548c6 8208699: remove unneeded imports from runtime tests
Backport-of: 940ac1cddc
2023-11-30 19:20:46 +00:00
Andrew Lu
09b402a6bc 8319187: Add three eMudhra emSign roots
Reviewed-by: lucy
Backport-of: 0bda467f6e
2023-11-30 11:18:45 +00:00
Sonia Zaldana Calles
4ddc5d74c5 8315606: Open source few swing text/html tests
Reviewed-by: aph, andrew
Backport-of: 4127fbb9ed
2023-11-29 15:34:12 +00:00
Sonia Zaldana Calles
ac1764dcd1 8289511: Improve test coverage for XPath Axes: child
Reviewed-by: aph, andrew
Backport-of: cfe9026fe0
2023-11-29 15:33:40 +00:00
Andrew Lu
3a3efef150 8227438: [TESTLIB] Determine if file exists by Files.exists in function FileUtils.deleteFileIfExistsWithRetry
Backport-of: 2169215b29
2023-11-29 12:41:07 +00:00
Andrew Lu
cf544e0d42 8214915: CtwRunner misses export for jdk.internal.access
Backport-of: 0c874a3d5d
2023-11-29 12:38:35 +00:00
Andrew Lu
9d4da7c1df 8214908: add ctw tests for jdk.jfr and jdk.management.jfr modules
Reviewed-by: phh
Backport-of: 4a87a423d3
2023-11-29 12:36:36 +00:00
Shruthi.Shruthi1
9591e123c6 8219475: javap man page needs to be updated
Reviewed-by: clanger
Backport-of: 9d7777e585
2023-11-29 10:52:19 +00:00
Goetz Lindenmaier
0e29291a90 8320884: Bump update version for OpenJDK: jdk-11.0.23
Reviewed-by: shade, lucy
2023-11-29 07:47:00 +00:00
Sonia Zaldana Calles
be01e6e792 8263530: sun.awt.X11.ListHelper.removeAll() should use clear()
Backport-of: 7b4aefe9e1
2023-11-28 13:49:42 +00:00
Sonia Zaldana Calles
40ee106645 8282143: Objects.requireNonNull should be ForceInline
Backport-of: fc52a2182a
2023-11-28 13:49:19 +00:00
Sonia Zaldana Calles
a3661a5857 8231556: Wrong font ligatures used when 2 versions of same font used
Backport-of: d86eb1de69
2023-11-28 13:46:23 +00:00
Kangcheng Xu
f65058efd6 8053479: (dc) DatagramChannel.read() throws exception instead of discarding data when buffer too small
Backport-of: 6ef474a4f4
2023-11-28 13:43:24 +00:00
Soumadipta Roy
a956ba6a82 8315692: Parallelize gc/stress/TestStressRSetCoarsening.java test
Reviewed-by: phh
Backport-of: a564d436c7
2023-11-28 11:42:56 +00:00
Andrew Lu
911c3597a2 8249812: java/net/DatagramSocket/PortUnreachable.java still fails intermittently with SocketTimeoutException
8232513: java/net/DatagramSocket/PortUnreachable.java still fails intermittently with BindException

Fixed the test to reenable its retry logic

Reviewed-by: lucy
Backport-of: 9f23c2c159
2023-11-28 11:39:52 +00:00
Andrew Lu
bd7420a71c 8224035: Replace wildcard address with loopback or local host in tests - part 9
Backport-of: 57d319210a
2023-11-28 11:37:34 +00:00
Andrew Lu
f9bedac07d 8218178: vmTestbase/vm/mlvm/mixed/stress/regression/b6969574/INDIFY_Test.java fails with -Xcomp
Backport-of: 103b6b2d69
2023-11-28 11:33:21 +00:00
Andrew Lu
345122d7ad 8067250: [mlvm] vm/mlvm/mixed/stress/regression/b6969574 fails and perf regression
Backport-of: 2b003cb4aa
2023-11-28 11:31:13 +00:00
Andrew Lu
1f4decf7a7 8318759: Add four DigiCert root certificates
Reviewed-by: mbaesken
Backport-of: 0ea58048f9
2023-11-28 11:18:47 +00:00
Martin Doerr
6321d3eaf1 8316746: Top of lock-stack does not match the unlocked object
Reviewed-by: rrich
Backport-of: 7d8adfa855
2023-11-27 09:57:31 +00:00
Andrew John Hughes
24205922cd 8312126: NullPointerException in CertStore.getCRLs after 8297955
Backport-of: 3c743cfea0
2023-11-24 15:06:46 +00:00
Andrew Lu
a72d0b2894 8240754: Instrument FlowTest.java to provide more debug traces.
Backport-of: 5c8f935641
2023-11-23 13:08:59 +00:00
Andrew Lu
fca62cfa50 8289077: Add manual tests to open
Reviewed-by: goetz
Backport-of: 787e16bb44
2023-11-23 10:13:28 +00:00
Andrew Lu
250d7a8ad9 8214694: cleanup rawtypes warnings in open jndi tests
Backport-of: aba017fa70
2023-11-22 11:47:40 +00:00
Andrew Lu
fac59555ce 8238740: java/net/httpclient/whitebox/FlowTestDriver.java should not specify a TLS protocol
Backport-of: edaf548beb
2023-11-22 11:45:28 +00:00
Severin Gehwolf
f2488a31e0 8317374: Add Let's Encrypt ISRG Root X2
Reviewed-by: goetz
Backport-of: e6f46a4326
2023-11-21 14:45:09 +00:00
Pushkar Kulkarni
78141024c2 8244508: JFR: FlightRecorderOptions reset date format
Reviewed-by: clanger
Backport-of: f3519016c7
2023-11-20 14:50:23 +00:00
Andrew Lu
10ddd51b43 8275329: ZGC: vmTestbase/gc/gctests/SoftReference/soft004/soft004.java fails with assert(_phases->length() <= 1000) failed: Too many recored phases?
Backport-of: 6b833db3f9
2023-11-20 10:47:42 +00:00
Andrew Lu
45e3cbf6ed 8294427: Check boxes and radio buttons have rendering issues on Windows in High DPI env
Reviewed-by: lucy
Backport-of: a63afa4aa6
2023-11-20 10:45:17 +00:00
Sonia Zaldana Calles
046b213712 8268916: Tests for AffirmTrust roots
Reviewed-by: phh, sgehwolf
Backport-of: 8c1bb2b280
2023-11-17 14:50:38 +00:00
Andrew Lu
5a7b227193 8168408: Test java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java fails intermittentently on windows
8265678: Test java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java fails intermittentently on windows

Backport-of: 45c474a04c
2023-11-13 08:42:55 +00:00
Goetz Lindenmaier
1b6ff86666 8260035: Deproblemlist few problemlisted test
Reviewed-by: lucy
Backport-of: 7f7166dbc8
2023-11-13 08:40:34 +00:00
Andrew Lu
4aa3196d4e 8258914: javax/net/ssl/DTLS/RespondToRetransmit.java timed out
Backport-of: b575dd80b6
2023-11-13 08:38:34 +00:00
Andrew Lu
5d14b134c6 8275333: Print count in "Too many recored phases?" assert
Backport-of: 45ebf85ca9
2023-11-13 08:36:16 +00:00
Andrew Lu
27bfce0473 8210265: Crash in HSpaceCounters::update_used()
Guard call to update HSpaceCounters with flag

Reviewed-by: phh
Backport-of: a7d4df53fa
2023-11-10 17:02:44 +00:00
Sonia Zaldana Calles
2b9d54a022 8306134: Open source some AWT tests relating to Button and a few other classes
Backport-of: fdb4bafa31
2023-11-09 16:11:27 +00:00
Sonia Zaldana Calles
a2ef2482c4 6381945: (cal) Japanese calendar unit test system should avoid multiple static imports
Backport-of: f79b3d42f0
2023-11-09 16:04:36 +00:00
Sonia Zaldana Calles
6038e04bf2 8289584: (fs) Print size values in java/nio/file/FileStore/Basic.java when they differ by > 1GiB
Backport-of: e291a67e96
2023-11-09 16:01:57 +00:00
Sonia Zaldana Calles
623fd8ebe5 8212997: [TESTBUG] Remove defmeth tests for class file versions 50 and 51
Remove the unneeded tests.  Keep the tests for class file versions 49 and 52.

Backport-of: 71637b00c7
2023-11-09 15:57:27 +00:00
Sonia Zaldana Calles
8f7589fce8 8211045: [Testbug] Fix for 8144279 didn't define a test case!
Add missing file from original commit

Backport-of: bc6fb26d02
2023-11-09 15:55:01 +00:00
Sonia Zaldana Calles
2bbab16d08 8185531: [TESTBUG] Improve test configuration for shared strings
Added extra test configurations to the tests

Backport-of: 8a5467b9c2
2023-11-09 15:52:38 +00:00
Andrew Lu
c54521b236 8314263: Signed jars triggering Logger finder recursion and StackOverflowError
8315696: SignedLoggerFinderTest.java test failed
8316087: Test SignedLoggerFinderTest.java is still failing

Reviewed-by: lucy
Backport-of: 7daae1fb42
2023-11-09 11:27:55 +00:00
Ludovic Henry
416c48e9d3 8310265: (process) jspawnhelper should not use argv[0]
Backport-of: cd6cb730c9
2023-11-08 17:10:12 +00:00
Goetz Lindenmaier
34cc0891f2 8298905: Test "java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java" fails because the frames of instruction does not display
Backport-of: d1026720d3
2023-11-08 08:40:04 +00:00
Goetz Lindenmaier
b773f56744 6445283: ProgressMonitorInputStream not large file aware (>2GB)
Backport-of: a17fce7507
2023-11-08 08:16:33 +00:00
Goetz Lindenmaier
799a7c8d4c 8292683: Remove BadKeyUsageTest.java from Problem List
Backport-of: df5209e70f
2023-11-08 08:14:30 +00:00
Goetz Lindenmaier
0bc8b22218 8230858: Replace wildcard address with loopback or local host in tests - part 23
Add new traces for better diagnosis, refrain binding to the wildcard address when possible.

Backport-of: e9eaba3d53
2023-11-08 08:10:35 +00:00
Severin Gehwolf
3592b70aea 8317373: Add Telia Root CA v2
Reviewed-by: phh
Backport-of: d3ebb4a155
2023-11-07 17:08:38 +00:00
Matthias Baesken
75daf18555 8315214: Do not run sun/tools/jhsdb tests concurrently
Reviewed-by: clanger
Backport-of: 1e7e2bcf35
2023-11-07 12:48:01 +00:00
Johannes Bechberger
662f3bde53 8317920: JDWP-agent sends broken exception event with onthrow option
Reviewed-by: phh
2023-11-07 10:30:06 +00:00
Goetz Lindenmaier
68807aa7c7 8314242: Update applications/scimark/Scimark.java to accept VM flags
Backport-of: 6bf4a33593
2023-11-07 10:26:06 +00:00
Goetz Lindenmaier
5754eb1009 8290469: Add new positioning options to PassFailJFrame test framework
Backport-of: 62140e249c
2023-11-07 10:23:51 +00:00
Goetz Lindenmaier
2aca53f88e 8026393: jarsigner never shows a warning in badKeyUsage case
Reviewed-by: lucy
2023-11-07 10:21:39 +00:00
Goetz Lindenmaier
ff19eeb90b 8285687: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PageRangesDlgTest.java
Reviewed-by: lucy
Backport-of: fc3edf2412
2023-11-07 09:20:56 +00:00
Goetz Lindenmaier
2f3fc25050 8232135: Add diagnostic output to test java/util/ProcessBuilder/Basic.java
Backport-of: 3af3b5de61
2023-11-07 09:12:44 +00:00
Goetz Lindenmaier
48f1f39821 8230435: Replace wildcard address with loopback or local host in tests - part 22
Fixes tests to use the loopback address whenever possible. It also fixes some safe publishing issues, or add diagnostics in some of the tests.

Reviewed-by: lucy
Backport-of: f71db3074c
2023-11-07 09:06:42 +00:00
Ralf Schmelter
b64a1acb21 8293166: jdk/jfr/jvm/TestDumpOnCrash.java fails on Linux ppc64le and Linux aarch64
Reviewed-by: aph, stuefe
Backport-of: 5551cb66ba
2023-11-06 12:35:24 +00:00
Ralf Schmelter
80d3bb46c0 8289745: JfrStructCopyFailed uses heap words instead of bytes for object sizes
Reviewed-by: phh
Backport-of: 7f0e9bd632
2023-11-06 12:35:01 +00:00
Frederic Thevenet
1f67ffb029 8318669: Target OS detection in 'test-prebuilt' makefile target is incorrect when running on MSYS2
Backport-of: 202c0137b8
2023-11-06 08:34:17 +00:00
Sonia Zaldana Calles
f6bdbe8966 8317967: Enhance test/jdk/javax/net/ssl/TLSCommon/SSLEngineTestCase.java to handle default cases
Backport-of: 9728e21db1
2023-11-06 08:31:41 +00:00
Andrew Lu
feb051fa69 8316906: Clarify TLABWasteTargetPercent flag
Reviewed-by: mbaesken
Backport-of: 77fac0f4c6
2023-11-06 08:29:12 +00:00
Andrew Lu
9abfddecff 8314063: The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection
Reviewed-by: mbaesken
Backport-of: f2383b3cbd
2023-11-06 08:27:06 +00:00
Sonia Zaldana Calles
18d616d6da 8306280: Open source several choice AWT tests
Backport-of: d03128d0e5
2023-11-06 08:24:40 +00:00
Sonia Zaldana Calles
f993ef52fb 8284331: Add sanity check for signal handler modification warning.
Backport-of: 116763cb5d
2023-11-06 08:22:35 +00:00
Goetz Lindenmaier
92c5062578 8289238: Refactoring changes to PassFailJFrame Test Framework
Reviewed-by: phh
Backport-of: 8204dfab76
2023-11-06 08:11:28 +00:00
Goetz Lindenmaier
d90b9ac9d0 8285612: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ClippedImages.java
Reviewed-by: mbaesken
Backport-of: 0c551b6c01
2023-11-06 07:46:25 +00:00
Goetz Lindenmaier
33771273d3 8183374: Refactor java/lang/Runtime shell tests to java
Reviewed-by: mdoerr
Backport-of: ec383abc1d
2023-11-06 07:44:23 +00:00
Goetz Lindenmaier
c73323bae6 8240604: Rewrite sun/management/jmxremote/bootstrap/CustomLauncherTest.java test to make binaries from source file
Reviewed-by: mdoerr
Backport-of: cd7d175001
2023-11-06 07:42:31 +00:00
Goetz Lindenmaier
569ecf4e7f 8226825: Replace wildcard address with loopback or local host in tests - part 19
Replace use of wildcard by the loopback address, or possibly the local host address, wherever possible, to improve test stability.

Backport-of: c45f932cc5
2023-11-06 07:40:40 +00:00
Goetz Lindenmaier
ef475f7654 8224204: Replace wildcard address with loopback or local host in tests - part 10
Fixed intermittently failing tests

Backport-of: a974268f17
2023-11-06 07:38:19 +00:00
Goetz Lindenmaier
4ebccd61a4 8223145: Replace wildcard address with loopback or local host in tests - part 1
Replaces binding to wildacard with alternative less susceptible to intermittent failure in some intermittently failing tests.

Reviewed-by: mbaesken, phh
Backport-of: 7d4520c109
2023-11-06 07:33:21 +00:00
Goetz Lindenmaier
d0045daa83 8220083: Remove hard-coded 127.0.0.1 loopback address in JDK networking tests
Tests that hardcode "127.0.0.1" fail in an environment where only IPv6 is available and IPv4 is not.

Reviewed-by: mbaesken
Backport-of: ef9ce3be1e
2023-11-06 07:28:59 +00:00
Sonia Zaldana Calles
de9ae1eac4 8293811: Provide a reason for PassFailJFrame.forceFail
Reviewed-by: phh
Backport-of: 64b96e5cf5
2023-11-01 16:39:59 +00:00
yibo.yl
32e63eb87f 8312065: Socket.connect does not timeout when profiling
Reviewed-by: phh
Backport-of: 1ce12c4f33
2023-10-31 15:16:39 +00:00
Goetz Lindenmaier
2fbb4b92bd 8318705: [macos] ProblemList java/rmi/registry/multipleRegistries/MultipleRegistries.java
Backport-of: 37c40a11a7
2023-10-30 10:45:53 +00:00
Goetz Lindenmaier
910e2c463e 8308910: Allow executeAndLog to accept running process
Backport-of: fc288568f2
2023-10-30 10:38:17 +00:00
Goetz Lindenmaier
46ce8cb44a 8306765: Some client related jtreg problem list entries are malformed
Backport-of: f02d01934c
2023-10-30 10:11:30 +00:00
Goetz Lindenmaier
9f74d2622e 8286707: JFR: Don't commit JFR internal jdk.JavaMonitorWait events
Reviewed-by: mbaesken
Backport-of: fc889577ea
2023-10-30 10:09:02 +00:00
Goetz Lindenmaier
53acd95dc3 8251177: [macosx] The text "big" is truncated in JTabbedPane
Backport-of: 16ebe40a1b
2023-10-30 10:06:32 +00:00
t.ogata
dd1994ee51 8231931: [TESTBUG] serviceability/sa/TestUniverse.java looks for wrong string with Shenandoah
Backport-of: f412bfc34e
2023-10-30 10:04:32 +00:00
Matthias Baesken
cf13e82c56 8313691: use close after failing os::fdopen in vmError and ciEnv
Backport-of: 96304f37f8
2023-10-30 08:14:34 +00:00
t.ogata
b9936cdf6b 8221396: Clean up serviceability/sa/TestUniverse.java
Reviewed-by: phh
Backport-of: 229d923b27
2023-10-30 00:06:18 +00:00
Ralf Schmelter
9be4d3fceb 8289917: Metadata for regionsRefilled of G1EvacuationStatistics event is wrong
Backport-of: 728157fa03
2023-10-28 14:19:41 +00:00
sunguoyun
35000fb1c2 8213898: CDS dumping of springboot asserts in G1ArchiveAllocator::alloc_new_region
HeapRegionManager::find_highest_free needs to check if the region obtained from the HeapRegionManager::_regions is available.

Backport-of: 14b7467279
2023-10-27 06:50:07 +00:00
Goetz Lindenmaier
a4080b94a8 8217329: JTREG: Clean up, remove unused imports in gc folder
Reviewed-by: lucy
Backport-of: 2aa7590846
2023-10-26 18:21:13 +00:00
Kangcheng Xu
a6ee5aa738 8240235: jdk.test.lib.util.JarUtils updates jar files incorrectly
Backport-of: 2a79146791
2023-10-25 15:19:58 +00:00
Goetz Lindenmaier
365daccf24 8309095: Remove UTF-8 character from TaskbarPositionTest.java
Backport-of: 07f2070411
2023-10-25 08:20:28 +00:00
Goetz Lindenmaier
f6a05cf85a 8307165: java/awt/dnd/NoFormatsDropTest/NoFormatsDropTest.java timed out
Backport-of: 14df5c130e
2023-10-25 08:17:04 +00:00
amosshi
c922821cfc 8301167: Update VerifySignedJar to actually exercise and test verification
Reviewed-by: phh
Backport-of: 05ea083b05
2023-10-25 08:12:27 +00:00
Goetz Lindenmaier
a28f66b456 8288415: java/awt/PopupMenu/PopupMenuLocation.java is unstable in MacOS machines
Backport-of: a2f67660f0
2023-10-25 08:09:42 +00:00
Kangcheng Xu
ce38b3ee60 8273804: Platform.isTieredSupported should handle the no-compiler case
Backport-of: 46af82e5b0
2023-10-25 08:03:23 +00:00
Goetz Lindenmaier
2835c6a1a6 8254711: Add java.security.Provider.getService JFR Event
8294673: JFR: Add SecurityProviderService#threshold to TestActiveSettingEvent.java

Reviewed-by: mbaesken
Backport-of: bc2af47e1e
2023-10-25 08:00:28 +00:00
Goetz Lindenmaier
129e856762 8266249: javax/swing/JPopupMenu/7156657/bug7156657.java fails on macOS
Backport-of: 9b76955024
2023-10-25 07:58:35 +00:00
Andrew Lu
c12421376a 8153090: TAB key cannot change input focus after the radio button in the Color Selection dialog
Backport-of: b5e162200b
2023-10-24 07:32:47 +00:00
Andrew Lu
fb8676a9b5 8223788: [macos] JSpinner buttons in JColorChooser dialog may capture focus using TAB Key.
Backport-of: 861e1addda
2023-10-24 07:30:46 +00:00
amosshi
639afbe61a 8255548: Missing coverage for javax.xml.crypto.dom.DOMCryptoContext
Reviewed-by: goetz
Backport-of: 76cda9f44a
2023-10-19 09:32:32 +00:00
Andrew Lu
abeacbfa20 8299255: Unexpected round errors in FreetypeFontScaler
Backport-of: 26868c1ac4
2023-10-19 09:27:39 +00:00
amosshi
d439c4a3f6 8297296: java/awt/Mouse/EnterExitEvents/DragWindowTest.java fails with "No MouseReleased event on label!"
Reviewed-by: goetz
Backport-of: 0ed6d0b456
2023-10-19 09:22:19 +00:00
Andrew Lu
0b60ec791a 8297640: Increase buffer size for buf (insert_features_names) in Abstract_VM_Version::insert_features_names
Backport-of: 2f83b5c487
2023-10-19 09:17:33 +00:00
Amos
21536b0fff 8278456: Define jtreg jdk_desktop test group time-based sub-tasks for use by headful testing.
Reviewed-by: goetz
Backport-of: 81c56c700a
2023-10-19 09:15:30 +00:00
Goetz Lindenmaier
281a51feef Merge 2023-10-18 11:40:35 +00:00
Aleksey Shipilev
92a47bc702 8315062: [GHA] get-bootjdk action should return the abolute path
Backport-of: 99ea8bf2b9
2023-10-17 08:32:20 +00:00
amosshi
fbc8bed3f8 8302525: Write a test to check various components send Events while mouse and key are used simultaneously
Backport-of: c7517b3dec
2023-10-17 07:54:26 +00:00
amosshi
5247b7208d 8300259: Add test coverage for processing of pending block files in signed JARs
Backport-of: c129ce4660
2023-10-17 07:51:49 +00:00
amosshi
701f3e225f 8301570: Test runtime/jni/nativeStack/ needs to detach the native thread
Backport-of: d269ebbad2
2023-10-17 07:49:12 +00:00
amosshi
9752bedf01 8300272: Improve readability of the test JarWithOneNonDisabledDigestAlg
Backport-of: cf46004f27
2023-10-17 07:46:26 +00:00
amosshi
7be6fc22f3 8296275: Write a test to verify setAccelerator method of JMenuItem
Backport-of: b005013a00
2023-10-17 07:35:20 +00:00
Matthias Baesken
3ba3e88b91 8310549: avoid potential leaks in KeystoreImpl.m related to JNU_CHECK_EXCEPTION early returns
Backport-of: 7da3f1999f
2023-10-17 07:28:05 +00:00
Matthias Baesken
855efc413d 8311285: report some fontconfig related environment variables in hs_err file
Backport-of: 0ef03f1228
2023-10-17 07:24:28 +00:00
Andrew Lu
c780db754e 8259266: com/sun/jdi/JdbOptions.java failed with "RuntimeException: 'prop[boo] = >foo 2<' missing from stdout/stderr"
8260431: com/sun/jdi/JdbOptions.java failed with "RuntimeException: 'prop[boo] = >foo<' missing from stdout/stderr"

Reviewed-by: goetz
Backport-of: d63388c00c
2023-10-15 10:16:24 +00:00
Mat Carter
94d3648be1 8303607: SunMSCAPI provider leaks memory and keys
Backport-of: a393f25817
2023-10-12 22:04:58 +00:00
Amos
363855d9dc 8233000: Mark vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize test as stress test
Reviewed-by: clanger
Backport-of: db24eb1e6a
2023-10-12 19:55:03 +00:00
amosshi
84bc2528c1 8289547: Update javax/swing/Popup/TaskbarPositionTest.java
Backport-of: d73fc70ea2
2023-10-11 09:24:09 +00:00
amosshi
efc3f4aa44 8041447: Test javax/swing/dnd/7171812/bug7171812.java fails with java.lang.RuntimeException: Test failed, scroll on drag doesn't work
Backport-of: 2c52cf0746
2023-10-11 09:23:34 +00:00
amosshi
4780287574 8252713: jtreg time out of CtrlASCII.java seems to hang the Xserver.
Backport-of: 6d6046b379
2023-10-11 09:21:24 +00:00
amosshi
75b7c7946f 8300405: Screen capture for test JFileChooserSetLocationTest.java, failure case
Backport-of: db8fa1be05
2023-10-11 09:20:47 +00:00
amosshi
6e34daa288 8282404: DrawStringWithInfiniteXform.java failed with "RuntimeException: drawString with InfiniteXform transform takes long time"
Backport-of: a53be204cb
2023-10-11 09:18:18 +00:00
amosshi
2a39b98459 8197825: [Test] Intermittent timeout with javax/swing JColorChooser Test
Backport-of: c0084100bc
2023-10-11 09:16:15 +00:00
Andrew Lu
8336e3e256 8312573: Failure during CompileOnly parsing leads to ShouldNotReachHere
Reviewed-by: phh
Backport-of: 6f76b65ace
2023-10-11 08:27:12 +00:00
Andrew Lu
a75f34ff00 8232933: Javac inferred type does not conform to equality constraint
Backport-of: 7a85441a85
2023-10-11 08:24:43 +00:00
Andrew Lu
b017f76f34 8210168: JCK test .vm.classfmt.ins.code__002.code__00201m1.code__00201m1 hangs with -noverify
Check for 'bc_length > 0' to handle lengths of -1.

Backport-of: d36066fdad
2023-10-11 08:21:48 +00:00
Christoph Langer
c4faab6693 8308592: Framework for CA interoperability testing
Reviewed-by: mbaesken
Backport-of: cb535e2d52
2023-10-11 07:28:28 +00:00
Soumadipta Roy
df5ff37ba2 8315683: Parallelize java/util/concurrent/tck/JSR166TestCase.java
Reviewed-by: phh
Backport-of: 4415261688
2023-10-09 18:49:49 +00:00
Christoph Langer
0aba9b7b5c 8316710: Exclude java/awt/font/Rotate/RotatedTextTest.java
Backport-of: 31422d70d0
2023-10-06 09:04:17 +00:00
Christoph Langer
a046767fe0 8317644: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.21
Reviewed-by: goetz
2023-10-06 07:33:33 +02:00
Yuri Nesterenko
9bdeff7a46 8317040: Exclude cleaner test failing on older releases
Reviewed-by: mbalao, andrew, clanger
2023-10-06 07:15:49 +02:00
Yuri Nesterenko
cac0ab2c8e 8286503: Enhance security classes
Reviewed-by: mbalao
Backport-of: 7f5e120a631ffda3e6d5efc03bae572b21877b69
2023-10-06 06:13:51 +02:00
Yuri Nesterenko
56463890dd 8284910: Buffer clean in PasswordCallback
Reviewed-by: mbalao
Backport-of: 89fd6d34f8
2023-10-06 05:50:23 +02:00
Yuri Nesterenko
43a93ccce9 8242330: Arrays should be cloned in several JAAS Callback classes
Reviewed-by: clanger
Backport-of: 8cd9241448
2023-10-06 05:19:10 +02:00
Aleksey Shipilev
682bcf2231 8316514: Better diagnostic header for VtableStub
Backport-of: 6c61bc1950
2023-10-05 12:31:01 +00:00
Yuri Nesterenko
059f73cf90 8242330: Arrays should be cloned in several JAAS Callback classes
Reviewed-by: clanger
Backport-of: 8cd9241448
2023-10-05 11:24:32 +00:00
Soumadipta Roy
96e3db73bc 8315937: Enable parallelism in vmTestbase/nsk/stress/numeric tests
Backport-of: eb1f67b160
2023-10-04 21:07:19 +00:00
Alexey Bakhtin
e60621f7f8 8309966: Enhanced TLS connections
Reviewed-by: mbalao
Backport-of: d25ee81f56d67f2c51ba8b8c59f470c6f88ae47f
2023-10-04 21:27:49 +02:00
Alexei Voitylov
e994cb9079 8297856: Improve handling of Bidi characters
Reviewed-by: mbalao
Backport-of: 244b89fc786894cb8cca742f91875ebb98b603ff
2023-10-04 20:00:30 +02:00
Aleksei Voitylov
ead65b47fe 8296581: Better system proxy support
Reviewed-by: mbalao
Backport-of: 111811e64245ae720a0617b7de0c52c60bb2bac1
2023-10-04 19:28:21 +02:00
Soumadipta Roy
fb7e6e3899 8315766: Parallelize gc/stress/TestStressIHOPMultiThread.java test
Backport-of: edd454b502
2023-10-04 15:54:08 +00:00
Goetz Lindenmaier
ac0bc1b81c 8306883: Thread stacksize is reported with wrong units in os::create_thread logging
Backport-of: 27c5c1070a
2023-10-03 20:10:56 +00:00
Goetz Lindenmaier
51a80ddd92 8293466: libjsig should ignore non-modifying sigaction calls
Backport-of: b1ed40a87a
2023-10-03 19:58:15 +00:00
amosshi
a4b30272bc 8271519: java/awt/event/SequencedEvent/MultipleContextsFunctionalTest.java failed with "Total [200] - Expected [400]"
Backport-of: 9f94cbec51
2023-09-29 15:54:07 +00:00
amosshi
cf722df2a4 8267860: Off-by-one bug when searching arrays in AlpnGreaseTest
Backport-of: 2adef6a1f8
2023-09-29 15:52:16 +00:00
Goetz Lindenmaier
0beae37693 8280004: DCmdArgument<jlong>::parse_value() should handle NULL input
Backport-of: 55f180fb7d
2023-09-29 09:54:35 +00:00
Soumadipta Roy
166adaacab 8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with -XX:-VerifyDependencies
Backport-of: 877731d2a2
2023-09-28 15:18:34 +00:00
Goetz Lindenmaier
ffef09805d 8290067: Show stack dimensions in UL logging when attaching threads
Reviewed-by: lucy
Backport-of: 7ff19694df
2023-09-28 14:03:17 +00:00
Andrew Lu
f530f34944 8313792: Verify 4th party information in src/jdk.internal.le/share/legal/jline.md
Backport-of: 87a6acbeee
2023-09-28 09:20:04 +00:00
Andrew Lu
c2ac5e2f52 8301065: Handle control characters in java_lang_String::print
Backport-of: 41d6be4d80
2023-09-27 08:53:17 +00:00
Andrew Lu
bcac47f00a 8313657: com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors
Backport-of: e56d3bc2da
2023-09-27 08:50:55 +00:00
Goetz Lindenmaier
e7b20779fe 8316206: Test StretchedFontTest.java fails for Baekmuk font
Ignore broken fonts, i.e. the fonts for which
GlyphVector(TEXT).getVisualBounds().isEmpty() returns true

Backport-of: 00f585bd22
2023-09-27 08:21:35 +00:00
Goetz Lindenmaier
2513c89a03 8288325: [windows] Actual and Preferred Size of AWT Non-resizable frame are different
Reviewed-by: phh
Backport-of: eca9749da0
2023-09-27 08:07:43 +00:00
Aleksey Shipilev
b2a6484503 8316178: Better diagnostic header for CodeBlobs
Backport-of: d575968b4b
2023-09-22 15:48:18 +00:00
Kimura Yukihiro
cdc33dc948 8313815: The exception messages printed by jcmd ManagementAgent.start are corrupted on Japanese Windows
Backport-of: 7286bb8518
2023-09-22 07:09:33 +00:00
Andrew Lu
72d97e05d4 8307079: Update test java/awt/Choice/DragOffNoSelect.java
Backport-of: 89711f3767
2023-09-22 07:07:30 +00:00
Andrew Lu
cd3c64fbfc 8306430: Open source some AWT tests related to TextComponent and Toolkit
Backport-of: 36ec05d52a
2023-09-22 07:03:30 +00:00
Goetz Lindenmaier
ce1602d1eb 8265586: [windows] last button is not shown in AWT Frame with BorderLayout and MenuBar set.
8288993: Make AwtFramePackTest generic by removing @requires tag

Backport-of: d2045f9cfa
2023-09-22 06:46:33 +00:00
Aleksey Shipilev
70862e011b 8315863: [GHA] Update checkout action to use v4
Reviewed-by: clanger
Backport-of: b74805d383
2023-09-20 13:57:35 +00:00
Goetz Lindenmaier
d0038240d3 Merge 2023-09-20 13:45:51 +00:00
Christoph Langer
d52e9ed182 8316380: [11u] Backport 8170089: nsk/jdi/EventSet/resume/resume008: ERROR: suspendCounts don't match for : Common-Cleaner
Reviewed-by: mbaesken
2023-09-20 10:37:04 +00:00
Andrew Lu
723c0c0163 8195589: T6587786.java failed after JDK-8189997
Backport-of: 21b62fef33
2023-09-18 15:04:26 +00:00
Goetz Lindenmaier
f356adbff9 8312555: Ideographic characters aren't stretched by AffineTransform.scale(2, 1)
Ignore bitmaps embedded into fonts for non-uniform scales

Reviewed-by: phh
Backport-of: 62610203f1
2023-09-15 10:47:19 +00:00
Ao Qi
6fe81727d8 8315020: The macro definition for LoongArch64 zero build is not accurate.
Reviewed-by: fyang
Backport-of: 725ec0ce1b
2023-09-15 07:45:21 +00:00
Christoph Langer
de3589ca47 8205467: javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java possible deadlock
Backport-of: f243b281ea
2023-09-14 15:37:00 +00:00
Christoph Langer
94c048f909 8314094: java/lang/ProcessHandle/InfoTest.java fails on Windows when run as user with Administrator privileges
Backport-of: 69c9ec92d0
2023-09-14 15:34:53 +00:00
Christoph Langer
22dd2d3801 8207166: jdk/jshell/JdiHangingLaunchExecutionControlTest.java - launch timeout
Backport-of: c4612c12e6
2023-09-14 15:34:14 +00:00
Christoph Langer
5c7ec0dea6 8315862: [11u] Backport 8227337: javax/management/remote/mandatory/connection/ReconnectTest.java NoSuchObjectException no such object in table
Reviewed-by: mdoerr
2023-09-14 15:31:56 +00:00
Goetz Lindenmaier
269224c81b Merge 2023-09-14 06:28:37 +00:00
Andrew Lu
3dd87610f9 8306575: Clean up and open source four Dialog related tests
Reviewed-by: mdoerr
Backport-of: 8d696aea9e
2023-09-13 20:57:09 +00:00
Chad Rakoczy
470789a62a 8311813: C1: Uninitialized PhiResolver::_loop field
Reviewed-by: shade
Backport-of: 489a32fe40
2023-09-13 20:55:20 +00:00
Andrew Lu
0d9a364d00 8306135: Clean up and open source some AWT tests
Reviewed-by: mdoerr
Backport-of: 4ad3ac6317
2023-09-13 20:54:29 +00:00
Fei Yang
0713dbb1ce 8292713: Unsafe.allocateInstance should be intrinsified without UseUnalignedAccesses
Reviewed-by: phh
Backport-of: c0623972cf
2023-09-12 01:06:42 +00:00
Christoph Langer
d4254d5edf 8315529: [11u] Exclude some failing Z-GC tests
Reviewed-by: mdoerr
2023-09-11 13:22:35 +00:00
Christoph Langer
0fd1ce3eea 8233847: (sctp) Flx link-local IPv6 scope handling and test cleanup.
Backport-of: 76e5a32c52
2023-09-11 13:22:08 +00:00
Martin Doerr
d77215acdd 8299658: C1 compilation crashes in LinearScan::resolve_exception_edge
Reviewed-by: mbaesken
Backport-of: cf2d33ca2e
2023-09-07 13:26:25 +00:00
Andrew Lu
bcce7afba4 8306372: Open source AWT CardLayout and Checkbox tests
Backport-of: 781d6d793a
2023-09-07 08:04:48 +00:00
Christoph Langer
423e9698c0 Merge 2023-09-07 06:26:28 +00:00
Andrew John Hughes
50074a04e6 8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
Backport-of: e47a84f23d
2023-09-05 20:48:42 +00:00
Aleksey Shipilev
765f6af915 8313626: C2 crash due to unexpected exception control flow
Backport-of: f8203cb272
2023-09-05 09:50:14 +00:00
Aleksey Shipilev
3eb7a82fef 8314730: GHA: Drop libfreetype6-dev transitional package in favor of libfreetype-dev
Reviewed-by: fyang
Backport-of: 69d900d2ce
2023-09-05 09:48:20 +00:00
Martin Doerr
d4e7c76744 8314960: Add Certigna Root CA - 2
Backport-of: a44f8b0598
2023-09-04 08:37:48 +00:00
Aleksey Shipilev
5327f67b9e 8313707: GHA: Bootstrap sysroots with --variant=minbase
Backport-of: 29f1d8ef50
2023-09-04 06:40:50 +00:00
Sergey Bylokhov
72018a19cc 8313576: GCC 7 reports compiler warning in bundled freetype 2.13.0
Backport-of: 8248e351d0
2023-09-01 16:34:16 +00:00
Fei Yang
dc47d1fd38 8292407: Improve Weak CAS VarHandle/Unsafe tests resilience under spurious failures
Reviewed-by: shade
Backport-of: 6e6202c14d
2023-09-01 13:22:13 +00:00
Aleksey Shipilev
1bbbad1d2f 8315480: [11u] Harmonize GHA cross-compilation block with mainline
Reviewed-by: fyang
2023-09-01 13:03:49 +00:00
Aleksey Shipilev
7ce927107a 8314262: GHA: Cut down cross-compilation sysroots deeper
Backport-of: 38687f1a3e
2023-09-01 13:03:13 +00:00
Sergey Bylokhov
caa05aca91 8294281: Allow warnings to be disabled on a per-file basis
Backport-of: e45f3d5176
2023-08-31 16:32:06 +00:00
Aleksey Shipilev
4cd3ad9c71 8299330: Minor improvements in MSYS2 Workflow handling
Backport-of: cf00d09c8c
2023-08-31 15:04:12 +00:00
Aleksey Shipilev
373be4349c 8294956: GHA: qemu-debootstrap is deprecated, use the regular one
Backport-of: c5f462e83b
2023-08-31 15:03:36 +00:00
Aleksey Shipilev
f5eb11f381 8294941: GHA: Cut down cross-compilation sysroots
Backport-of: a1747ef81a
2023-08-31 15:02:55 +00:00
Sergey Bylokhov
121c997e02 8312535: MidiSystem.getSoundbank() throws unexpected SecurityException
Backport-of: 87298d2ade
2023-08-31 04:21:35 +00:00
Volker Simonis
14fa970e61 8315135: Memory leak in the native implementation of Pack200.Unpacker.unpack()
Backport-of: b77c161e75
2023-08-30 19:26:54 +00:00
Andrei Pangin
d76e6ea25e 8237858: PlainSocketImpl.socketAccept() handles EINTR incorrectly
PlainSocketImpl.socketAccept() handles EINTR incorrectly

Reviewed-by: phh
Backport-of: 955aee3bfa
2023-08-30 15:20:51 +00:00
Volker Simonis
b77c161e75 8315135: Memory leak in the native implementation of Pack200.Unpacker.unpack()
Co-authored-by: Yakov Shafranovich <yakovsh@amazon.com>
Reviewed-by: clanger, stuefe
2023-08-30 15:16:47 +00:00
Aleksey Shipilev
b984b0a293 8293107: GHA: Bump to Ubuntu 22.04
8293098: GHA: Harmonize GCC version handling for host and cross builds
8293361: GHA: dump config.log in case of configure failure
8295213: Run GHA manually with user-specified make and configure arguments
8295885: GHA: Bump gcc versions
8313428: GHA: Bump GCC versions for July 2023 updates

Reviewed-by: clanger
Backport-of: d7536588b3
2023-08-30 08:47:03 +00:00
Goetz Lindenmaier
c86ba43b8e 8312972: Bump update version for OpenJDK: jdk-11.0.22
Reviewed-by: serb
2023-08-30 08:11:06 +00:00
Taizo Kurashige
39986e07ed 8314086: [11u] A typo in the fix for JDK-8312462 is causing test failure in ChildAlwaysOnTopTest.java
Reviewed-by: phh
2023-08-30 07:56:51 +00:00
Christoph Langer
749ecd5063 Merge 2023-08-29 11:43:54 +00:00
Matthias Baesken
89a88f0545 8276651: java/lang/ProcessHandle tests fail with "RuntimeException: Input/output error" in java.lang.ProcessHandleImpl$Info.info0
Backport-of: d24b7b7026
2023-08-29 07:21:58 +00:00
Christoph Langer
e1b839e7ee 8302182: Update Public Suffix List to 88467c9
Backport-of: ec2abc2d82
2023-08-28 13:09:55 +00:00
t.ogata
81806b786e 8217850: CompressedClassSpaceSizeInJmapHeap fails after JDK-8217612
Backport-of: 49c91b7f95
2023-08-28 09:31:02 +00:00
Alexander Scherbatiy
2bfbe31fbc 8295737: macOS: Print content cut off when width > height with portrait orientation
Backport-of: d00a767047
2023-08-28 05:29:47 +00:00
t.ogata
2b9f562967 8217612: (CL)HSDB cannot show some JVM flags
Backport-of: d6a75a0f86
2023-08-25 18:46:09 +00:00
Lutz Schmidt
c844a55f2f 8306881: Update FreeType to 2.13.0
Reviewed-by: mdoerr
Backport-of: 723582c524
2023-08-25 10:08:32 +00:00
Andrew Lu
eeec20f4c8 8307080: Open source some more JComboBox jtreg tests
Backport-of: b8de39431d
2023-08-24 17:03:22 +00:00
Andrew Lu
e65fbde33a 8306718: Optimize and opensource some old AWT tests
Backport-of: 9beae21864
2023-08-24 17:02:42 +00:00
Andrew Lu
094cd261ae 8307078: Opensource and clean up five more AWT Focus related tests
Backport-of: 6d6f726b74
2023-08-24 17:01:58 +00:00
Zhengyu Gu
cde3cd2a94 8314950: CMS may miss NMT tag after mark stack expansion
Reviewed-by: shade, mbaesken
2023-08-24 15:49:08 +00:00
Ben Taylor
fffaff3d5e 8313765: Invalid CEN header (invalid zip64 extra data field size)
Reviewed-by: simonis
Backport-of: 13f6450e2e
2023-08-23 05:22:04 +00:00
Ben Taylor
1b3c516eff 8314678: Bump update version for OpenJDK: jdk-11.0.20.1
Reviewed-by: simonis, goetz
2023-08-22 15:02:45 +00:00
Alexander Scherbatiy
d0f6931ab7 8311033: [macos] PrinterJob does not take into account Sides attribute
Backport-of: a3d67231a7
2023-08-22 13:33:06 +00:00
Ben Taylor
399633c223 8313765: Invalid CEN header (invalid zip64 extra data field size)
Reviewed-by: andrew, serb
Backport-of: 13f6450e2e
2023-08-21 16:22:15 +00:00
Nagata, Haruhito
a7dab960a4 8302161: Upgrade jQuery UI to version 1.13.2
8293180: JQuery UI license file not updated

Reviewed-by: phh
Backport-of: 404d5bddb9
2023-08-18 18:54:10 +00:00
Ben Taylor
3c9dc44bff 8313796: AsyncGetCallTrace crash on unreadable interpreter method pointer
Reviewed-by: phh
Backport-of: 0e2c72d7a5
2023-08-18 18:50:49 +00:00
Andrew John Hughes
ee128b2f6c 8284772: GHA: Use GCC Major Version Dependencies Only
Reviewed-by: serb, simonis
Backport-of: 62defc3dfc4b9ba5adfe3189f34fe8b3f59b94a0
2023-08-18 17:32:33 +00:00
Lutz Schmidt
cb392e6bac 8301269: Update Commons BCEL to Version 6.7.0
Reviewed-by: mdoerr
Backport-of: 6a44120a16
2023-08-18 08:27:33 +00:00
Matthias Baesken
95a42a8831 8309088: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails
Backport-of: 4c2e54fb05
2023-08-16 11:30:54 +00:00
Andrew Lu
de64492682 8306133: Open source few AWT Drag & Drop related tests
8307135: java/awt/dnd/NotReallySerializableTest/NotReallySerializableTest.java failed

Reviewed-by: phh
Backport-of: ec5c7926f3
2023-08-16 09:19:29 +00:00
Matthias Baesken
e9ac2bc80c 8271838: AmazonCA.java interop test fails
Backport-of: 512db0ff31
2023-08-16 08:57:17 +00:00
Andrew Lu
9eadce369e 8306955: Open source several JComboBox jtreg tests
Backport-of: 1f689241cf
2023-08-15 11:49:05 +00:00
Andrew Lu
ba86e9dbad 8307133: Open source some JTable jtreg tests
Backport-of: 5ca0b08a75
2023-08-15 11:48:26 +00:00
Andrew Lu
026e328252 8306954: Open source five Focus related tests
Backport-of: 6d6d00b69c
2023-08-15 11:47:43 +00:00
Matthias Baesken
2411c887b3 8238157: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java test failures because of revocation date
Backport-of: 0df797de94
2023-08-14 13:13:33 +00:00
Matthias Baesken
00f3931961 8239333: Mark test AmazonCA.java with intermittent key
Backport-of: 7f3bbc3f20
2023-08-14 13:03:38 +00:00
Christoph Langer
6faea22b52 8313878: Exclude two compiler/rtm/locking tests on ppc64le
Reviewed-by: mdoerr
2023-08-09 14:35:04 +00:00
Christoph Langer
d24c7dff21 8313803: [11u] Exclude jdk/jfr/event/sampling/TestStackFrameLineNumbers.java
Reviewed-by: stuefe
2023-08-08 12:08:11 +00:00
Christoph Langer
06772f1d0c 8269091: javax/sound/sampled/Clip/SetPositionHang.java failed with ArrayIndexOutOfBoundsException: Array index out of range: -4
Backport-of: b6a5d20828
2023-08-08 12:07:38 +00:00
Christoph Langer
daeb36203d 8181383: com/sun/jdi/OptionTest.java fails intermittently with bind failed: Address already in use
Backport-of: f16ddb2c3d
2023-08-08 12:05:27 +00:00
Thomas Stuefe
9d15f3e653 8243210: ClhsdbScanOops fails with NullPointerException in FileMapHeader.inCopiedVtableSpace
Reviewed-by: clanger
Backport-of: 7f634155b5
2023-08-07 18:13:43 +00:00
ktakakuri
f5f17ec7c3 8248001: javadoc generates invalid HTML pages whose ftp:// links are broken
Reviewed-by: phh
Backport-of: bb95dda0ac
2023-08-07 14:04:40 +00:00
Andrew Lu
2c547273fe 8299713: Test javax/swing/JTableHeader/6889007/bug6889007.java failed: Wrong type of cursor
Backport-of: b54c4a33c6
2023-08-04 09:42:10 +00:00
Tyler Steele
0416d4cc8a 8307603: [AIX] Broken build after JDK-8307301
Reviewed-by: stuefe
Backport-of: bb3e44d8b6
2023-08-01 17:06:48 +00:00
sendaoYan
440eea1747 8275234: java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java is entered twice in ProblemList
Reviewed-by: serb
Backport-of: 1e0184d142
2023-08-01 16:23:59 +00:00
Dhamoder Nalla
adc74777b3 8305763: Parsing a URI with an underscore goes through a silent exception, negatively impacting performance
Backport-of: 749d480193
2023-08-01 14:40:37 +00:00
Andrew Lu
7cf5b10c21 8307128: Open source some drag and drop tests 4
8307799: Newly added java/awt/dnd/MozillaDnDTest.java has invalid jtreg `@requires` clause

Reviewed-by: phh
Backport-of: 98294242a9
2023-08-01 08:09:54 +00:00
Andrew Lu
894613f86f 8268464: Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests
Reviewed-by: phh
Backport-of: 7621fa37ef
2023-08-01 08:08:02 +00:00
i556354
6e8a66adb0 8270331: [TESTBUG] Error: Not a test or directory containing tests: java/awt/print/PrinterJob/InitToBlack.java
Reviewed-by: lucy
Backport-of: 2ef9767aae
2023-07-27 21:14:18 +00:00
Goetz Lindenmaier
514c0eb836 8313159: [11u] Fix test SSLEngineKeyLimit.java after Merge error
Reviewed-by: mbaesken
2023-07-26 13:39:31 +00:00
Lutz Schmidt
910f35e111 6176679: Application freezes when copying an animated gif image to the system clipboard
Backport-of: 6c71859ac2
2023-07-26 08:03:36 +00:00
i556354
c029177a52 8229481: sun/net/www/protocol/https/ChunkedOutputStream.java failed with a SSLException
The test is updated to ignore plain text connections

Reviewed-by: phh
Backport-of: e81ee784d3
2023-07-26 06:22:58 +00:00
Lutz Schmidt
e10b8874dc 8286481: Exception printed to stdout on Windows when storing transparent image in clipboard
Backport-of: 5264881a15
2023-07-25 10:55:08 +00:00
Lutz Schmidt
b49e8b282c 8229147: Linux os::create_thread() overcounts guardpage size with newer glibc (>=2.27)
Reviewed-by: goetz, stuefe
Backport-of: 9ebcda2165
2023-07-25 10:53:19 +00:00
Lutz Schmidt
7051296f46 8257993: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine/TestDescription.java crash intermittently
Reviewed-by: mdoerr
Backport-of: 0a3e446ad9
2023-07-25 07:53:47 +00:00
Goetz Lindenmaier
6747c786ea 8297923: java.awt.ScrollPane broken after multiple scroll up/down
8310054: ScrollPane insets are incorrect
8311689: Wrong visible amount in Adjustable of ScrollPane

Backport-of: f18ecea50f
2023-07-24 09:12:31 +00:00
Goetz Lindenmaier
93419e59b7 8295894: Remove SECOM certificate that is expiring in September 2023
Backport-of: b40b1ca1f6
2023-07-23 09:10:25 +00:00
Sergey Bylokhov
f0b10f2314 8297681: Unnecessary color conversion during 4BYTE_ABGR_PRE to INT_ARGB_PRE blit
Backport-of: 8ffed34e1d
2023-07-21 16:28:07 +00:00
Taizo Kurashige
864baf7fe5 8222323: ChildAlwaysOnTopTest.java fails with "RuntimeException: Failed to unset alwaysOnTop"
Reviewed-by: phh
Backport-of: 837928ba79
2023-07-20 13:32:58 +00:00
Goetz Lindenmaier
c06d7485cc 8277353: java/security/MessageDigest/ThreadSafetyTest.java test times out
Backport-of: f22d157e55
2023-07-20 09:50:51 +00:00
Goetz Lindenmaier
581b34f573 8305766: ProblemList runtime/CompressedOops/CompressedClassPointers.java
Backport-of: f45b01f883
2023-07-19 10:15:13 +00:00
i556354
35ec241ae0 8228341: SignTwice.java fails intermittently on Windows
Reviewed-by: phh
Backport-of: 78c7364c17
2023-07-19 06:43:43 +00:00
Goetz Lindenmaier
977465389a Merge 2023-07-19 06:31:58 +00:00
Kimura Yukihiro
f8d6c54bab 8312138: jcmd VM.metaspace vslist has no newline character before the Class: label.
Reviewed-by: phh
2023-07-18 13:09:48 +00:00
Goetz Lindenmaier
540be49431 8275303: sun/java2d/pipe/InterpolationQualityTest.java fails with D3D basic render driver
Backport-of: bc0379ea1a
2023-07-18 09:09:49 +00:00
i556354
65e7759e78 8220410: sun/security/tools/jarsigner/warnings/NoTimestampTest.java failed with missing expected output
Using the same timezone for jar verifying and date formatting

Reviewed-by: goetz
Backport-of: 3c34b7a261
2023-07-17 07:54:07 +00:00
Ningsheng Jian
32e16aefa9 8307572: AArch64: Vector registers are clobbered by some macroassemblers
Reviewed-by: aph
Backport-of: 33d9a85730
2023-07-12 08:49:02 +00:00
Goetz Lindenmaier
161a941a86 8225012: sanity/client/SwingSet/src/ToolTipDemoTest.java fails on Windows
Backport-of: 1f521a1204
2023-07-12 06:24:31 +00:00
i556354
8e971f59db 8305421: Work around JDK-8305420 in CDSJDITest.java
Reviewed-by: goetz
Backport-of: 9ce5fdc962
2023-07-11 10:44:24 +00:00
Man Cao
e24312905b 8310176: JDK 11 G1 crash during full GC with +UseStringDeduplication
Reviewed-by: phh, rrich
2023-07-10 19:58:26 +00:00
i556354
3fdf183988 8306636: Disable compiler/c2/Test6905845.java with -XX:TieredStopAtLevel=3
Backport-of: 4900517479
2023-07-10 16:30:48 +00:00
Goetz Lindenmaier
96cc4c0a4f 8306137: Open source several AWT ScrollPane related tests
Backport-of: 4becb7bcb6
2023-07-10 14:38:21 +00:00
Alexey Bakhtin
667acaf9e3 8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit
Reviewed-by: phh
Backport-of: 26b111d714
2023-07-10 04:37:06 +00:00
Goetz Lindenmaier
548c802505 8305074: ProblemList javax/net/ssl/DTLS/RespondToRetransmit.java
Reviewed-by: lucy
2023-07-07 05:35:20 +00:00
Goetz Lindenmaier
6f0efc4c6c 8292297: Fix up loading of override java.security properties file
Reviewed-by: mbaesken
Backport-of: 4be52ee572
2023-07-07 05:30:50 +00:00
Nagata, Haruhito
edbe574492 8274606: Fix jaxp/javax/xml/jaxp/unittest/transform/SurrogateTest.java test
Backport-of: 7eb0372e55
2023-07-06 21:20:50 +00:00
Lutz Schmidt
1a99b6e5c4 8300659: Refactor TestMemoryAwareness to use WhiteBox api for host values
Reviewed-by: sgehwolf
Backport-of: 3c61d5aa48
2023-07-06 12:40:00 +00:00
Roman Marchenko
b9a29eb4cf 8297437: javadoc cannot link to old docs (with old style anchors)
Reviewed-by: phh
Backport-of: 15a1488401
2023-07-05 17:47:02 +00:00
Lutz Schmidt
dbf8820d60 8300098: java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3
Reviewed-by: mdoerr
Backport-of: ecf8842cd2
2023-07-05 12:52:42 +00:00
Goetz Lindenmaier
750387bec7 8297887: Update Siphash
Backport-of: bacf652311
2023-07-05 11:34:39 +00:00
Goetz Lindenmaier
2854320bda 8306638: Open source some AWT tests related to datatransfer and Toolkit
Backport-of: 2210e06788
2023-07-05 11:30:14 +00:00
Goetz Lindenmaier
9fecfb3e29 8305950: Have -XshowSettings option display tzdata version
Backport-of: d27e56e6d7
2023-07-05 11:21:43 +00:00
Goetz Lindenmaier
6b84480e9f 8304054: Linux: NullPointerException from FontConfiguration.getVersion in case no fonts are installed
Backport-of: 3c7ab80501
2023-07-05 11:15:37 +00:00
Christoph Langer
532fbe9c3c 8291444: GHA builds/tests won't run manually if disabled from automatic running
Backport-of: 17744caa87
2023-07-05 09:17:08 +00:00
Lutz Schmidt
6b77069a17 8291830: jvmti/RedefineClasses/StressRedefine failed: assert(!is_null(v)) failed: narrow klass value can never be zero
Reviewed-by: mdoerr
Backport-of: fb6fd03233
2023-07-05 08:08:25 +00:00
Lutz Schmidt
b3417d8c8a 8293657: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 failed with "SSLHandshakeException: Remote host terminated the handshake"
Reviewed-by: mbaesken
Backport-of: f6d78cda85
2023-07-05 08:07:43 +00:00
Christoph Langer
a829804de5 8311465: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.20
Reviewed-by: goetz
2023-07-05 09:22:24 +02:00
Goetz Lindenmaier
a975a1e0b2 8286620: Create regression test for verifying setMargin() of JRadioButton
Reviewed-by: lucy
Backport-of: 67f1bd7ff1
2023-07-05 06:59:45 +00:00
Andrew Haley
d61a4b4ee7 8308682: Enhance AES performance
Reviewed-by: adinn
Backport-of: ff9eac237d434b51e22ae55cf95595731a2e676c
2023-07-04 23:18:14 +02:00
Martin Balao
18939b7625 8305312: Enhanced path handling
Reviewed-by: yan
Backport-of: cb7cef2b85264c2bd2d00f1c0e5010969aa618d3
2023-07-04 23:00:14 +02:00
Martin Balao
5ba24640f6 8304468: Better array usages
Reviewed-by: mbaesken
Backport-of: cb7cef2b85264c2bd2d00f1c0e5010969aa618d3
2023-07-04 22:57:15 +02:00
Aleksei Voitylov
e3b68c57d8 8303376: Better launching of JDI
Reviewed-by: yan, mbalao
Backport-of: 96cae3b3bc39898a60071369f8264e8503df32a0
2023-07-04 21:17:19 +02:00
Yuri Nesterenko
bc9d1298e7 8302483: Enhance ZIP performance
Reviewed-by: mbalao
Backport-of: 05661fdcb4ced0c7c2e9eab3464c2447f38c94c3
2023-07-04 11:18:33 +02:00
Ekaterina Vergizova
bf301e2476 8302475: Enhance HTTP client file downloading
Reviewed-by: mbalao
Backport-of: 1d26da2ef83de0c76f3c4b85c98c6c30d2e3aaf3
2023-07-04 11:02:05 +02:00
Alexei Voitylov
b0bc8aef0c 8300596: Enhance Jar Signature validation
Reviewed-by: yan, mbalao
Backport-of: a099d8bf015950db7f0b0ca792e4a9dc951a15cf
2023-07-04 10:45:16 +02:00
Goetz Lindenmaier
842f8ae089 8307301: Update HarfBuzz to 7.2.0
Backport-of: d8b230c384
2023-07-04 07:59:40 +00:00
Goetz Lindenmaier
c99f1e012f 8307604: gcc12 based Alpine build broken build after JDK-8307301
Reviewed-by: mdoerr
Backport-of: d2e0e534d7
2023-07-04 07:51:13 +00:00
Goetz Lindenmaier
c4fb98d7bd 8307569: Build with gcc8 is broken after JDK-8307301
Reviewed-by: mdoerr
Backport-of: 64c0962866
2023-07-04 07:42:53 +00:00
Goetz Lindenmaier
985c7a10ae 8209398: sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failed with "PKCS11Exception: CKR_ATTRIBUTE_SENSITIVE"
Backport-of: 75a911cea0
2023-07-04 07:40:35 +00:00
Goetz Lindenmaier
f321deb7c9 8232840: java/math/BigInteger/largeMemory/SymmetricRangeTests.java fails due to "OutOfMemoryError: Requested array size exceeds VM limit"
8232922: Add java/math/BigInteger/largeMemory/SymmetricRangeTests.java to ProblemList-Xcomp

Backport-of: cfd41c0c1d
2023-07-04 07:38:25 +00:00
Goetz Lindenmaier
8528c520a0 8244078: ProcessTools executeTestJvm and createJavaProcessBuilder have inconsistent handling of test.*.opts
Reviewed-by: lucy
Backport-of: 81597d9f8f
2023-07-04 07:34:33 +00:00
Goetz Lindenmaier
003bdbb4d4 8168261: Use server cipher suites preference by default
Backport-of: 2eb8492163
2023-07-04 07:30:45 +00:00
Matthias Baesken
e5d679320a 8304867: Explicitly disable dtrace for ppc builds
Reviewed-by: lucy
Backport-of: ff368d504e
2023-07-04 07:05:56 +00:00
Goetz Lindenmaier
da6c1c7848 8252530: Fix inconsistencies in hotspot whitebox
Reviewed-by: lucy
Backport-of: ab17be2835
2023-07-03 18:52:01 +00:00
Alexei Voitylov
c0abfab0d9 8300285: Enhance TLS data handling
Reviewed-by: yan, mbalao
Backport-of: 3d6dc4022049fb83b92ba94150ba2c073de88892
2023-07-02 23:14:48 +02:00
Sergey Bylokhov
be15767c61 8298676: Enhanced Look and Feel
Reviewed-by: mbalao
Backport-of: 932ee4043e4a4a262a4c0b747f1367858f55198e
2023-07-02 23:08:35 +02:00
Kimura Yukihiro
9c97b37e1b 8265980: Fix systemDictionary and loaderConstraints printing
Reviewed-by: phh
Backport-of: e4be9680cb
2023-06-30 13:55:48 +00:00
Goetz Lindenmaier
339518e283 8306484: Open source several AWT Choice jtreg tests
Backport-of: b5362dadc5
2023-06-30 07:48:39 +00:00
Goetz Lindenmaier
aa54ef1e5a 8306682: Open source a few more AWT Choice tests
Backport-of: f39641ccbd
2023-06-30 07:46:05 +00:00
Goetz Lindenmaier
54cb972718 8298974: Add ftcolor.c to imported freetype sources
Backport-of: 05f9e7676e
2023-06-30 07:45:20 +00:00
Goetz Lindenmaier
abfab03e69 8228403: SignTwice.java failed with java.io.FileNotFoundException: File name too long
Backport-of: 804e840856
2023-06-30 07:43:13 +00:00
Goetz Lindenmaier
142d467c03 8298921: Create a regression test for JDK-8139581
Backport-of: 834e50e9ef
2023-06-30 06:09:36 +00:00
Goetz Lindenmaier
d45544d87f 8241097: java/math/BigInteger/largeMemory/SymmetricRangeTests.java requires -XX:+CompactStrings
Backport-of: 44eca823aa
2023-06-30 06:07:44 +00:00
Goetz Lindenmaier
186d04cc61 8221372: Test vmTestbase/nsk/jvmti/GetThreadState/thrstat001/TestDescription.java times out
Update test to get rid of unneeded MethodEntry/MethodExit events

Backport-of: 5df8729406
2023-06-30 06:06:06 +00:00
Goetz Lindenmaier
b2d9d44667 8299424: containers/docker/TestMemoryWithCgroupV1.java fails on SLES12 ppc64le when testing Memory and Swap Limit
Backport-of: 95d4db3a92
2023-06-27 15:18:27 +00:00
Goetz Lindenmaier
729838bad5 8296084: javax/swing/JSpinner/4788637/bug4788637.java fails intermittently on a VM
Backport-of: 2aaf3c5b01
2023-06-27 15:16:25 +00:00
Goetz Lindenmaier
a6d63040fe 8223783: sun/net/www/http/HttpClient/MultiThreadTest.java sometimes detect threads+1 connections
Backport-of: 8effaa8f1f
2023-06-27 15:15:48 +00:00
Goetz Lindenmaier
b837a7703f 8285635: javax/swing/JRootPane/DefaultButtonTest.java failed with Default Button not pressed for L&F: com.sun.java.swing.plaf.motif.MotifLookAndFeel
Backport-of: 79c0092125
2023-06-27 15:13:20 +00:00
Goetz Lindenmaier
a0b46148c2 8286172: Create an automated test for JDK-4516019
Backport-of: e72742eeb5
2023-06-27 15:12:08 +00:00
Goetz Lindenmaier
b6ffc252f3 8284524: Create an automated test for JDK-4422362
Backport-of: b9de0a7556
2023-06-27 15:11:23 +00:00
Goetz Lindenmaier
e8c9452d7c 8284767: Create an automated test for JDK-4422535
Backport-of: 5ae4320921
2023-06-27 14:48:51 +00:00
Goetz Lindenmaier
79d01850bf 8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java
Backport-of: 1c5de8b86b
2023-06-27 14:46:52 +00:00
Goetz Lindenmaier
dccbde750d 8247895: SHA1PRNGReseed.java is calling setSeed(0)
Backport-of: 5a51d70987
2023-06-27 14:44:53 +00:00
Goetz Lindenmaier
e986452eeb 8263970: Manual test javax/swing/JTextField/JapaneseReadingAttributes/JapaneseReadingAttributes.java failed
Backport-of: 75b039a43c
2023-06-27 14:44:28 +00:00
Xiaolin Zheng
398f413eed 8292443: Weak CAS VarHandle/Unsafe tests should test always-failing cases
Reviewed-by: phh
Backport-of: e8bc87956a
2023-06-27 13:29:54 +00:00
Xiaolin Zheng
480b23dc75 8218471: generate-unsafe-access-tests.sh does not correctly invoke build.tools.spp.Spp
Reviewed-by: phh
Backport-of: 8512c3117d
2023-06-27 13:26:14 +00:00
Christoph Langer
08e0d08de3 8310620: [11u] Problemlist failing aot tests on macos x64
Reviewed-by: phh
2023-06-27 12:13:04 +00:00
Pooja.D.P
770c1f65c5 8293562: KeepAliveCache Blocks Threads while Closing Connections
Reviewed-by: sgehwolf
Backport-of: 03f25a9c69
2023-06-27 11:37:34 +00:00
luchenlin
ccbb92851c 8260878: com/sun/jdi/JdbOptions.java fails without jfr
Backport-of: a47befc86f
2023-06-27 07:31:52 +00:00
i556354
193dc76cbf 8259796: timed CompletableFuture.get may swallow InterruptedException
Reviewed-by: goetz
Backport-of: f7b96d347a
2023-06-27 07:31:05 +00:00
i556354
97c07a1254 8234808: jdb quoted option parsing broken
Reviewed-by: phh
Backport-of: d1f9b8a8b5
2023-06-26 05:08:24 +00:00
i556354
5506ecf31e 8254350: CompletableFuture.get may swallow InterruptedException
Backport-of: 43dc3f7992
2023-06-26 04:58:54 +00:00
Goetz Lindenmaier
cc88f4c77e 8303511: C2: assert(get_ctrl(n) == cle_out) during unrolling
Backport-of: 04eb720d03
2023-06-25 12:26:14 +00:00
Goetz Lindenmaier
4dd85cb08c 8297587: Upgrade JLine to 3.22.0
8304498: JShell does not switch to raw mode when there is no /bin/test

Backport-of: d5a23099f5
2023-06-25 12:24:35 +00:00
Goetz Lindenmaier
e0b98bc11b 8292033: Move jdk.X509Certificate event logic to JCA layer
Reviewed-by: lucy
Backport-of: 102b2b32fe
2023-06-25 12:22:43 +00:00
Goetz Lindenmaier
b2e04df744 8289508: Improve test coverage for XPath Axes: ancestor, ancestor-or-self, preceding, and preceding-sibling
Reviewed-by: phh
Backport-of: caae53f4da
2023-06-25 12:20:39 +00:00
Goetz Lindenmaier
7f1047edba 8297955: LDAP CertStore should use LdapName and not String for DNs
8224768: Test ActalisCA.java fails

Reviewed-by: lucy
Backport-of: 96adf07356
2023-06-25 12:12:50 +00:00
sendaoYan
4a7557e3b0 8236045: [TESTBUG] MismatchedWhiteBox test fails with missing WhiteBox$WhiteBoxPermission.class
Reviewed-by: phh
Backport-of: 924720f6fc
2023-06-23 14:27:38 +00:00
Goetz Lindenmaier
513732dc24 8260934: java/lang/StringBuilder/HugeCapacity.java fails without Compact Strings
Reviewed-by: phh
Backport-of: ad54d8dd83
2023-06-23 07:50:58 +00:00
Goetz Lindenmaier
817254db3c 8249699: java/io/ByteArrayOutputStream/MaxCapacity.java should use @requires instead of @ignore
Use @requires os.maxMemory in order to run the test only if memory requirements are satisfied as opposed to ignoring it

Backport-of: 737ae7742a
2023-06-23 07:49:08 +00:00
Goetz Lindenmaier
77837e303a 8251517: [TESTBUG] com/sun/net/httpserver/bugs/B6393710.java does not scale socket timeout
Backport-of: fb300a3ff3
2023-06-23 07:47:21 +00:00
Goetz Lindenmaier
e30705e577 8247968: test/jdk/javax/crypto/SecretKeyFactory/security.properties has wrong header
Wrong copyright header removed

Backport-of: a953a0f4ab
2023-06-23 07:39:26 +00:00
Goetz Lindenmaier
30f0493263 8239007: java/math/BigInteger/largeMemory/ tests should be disabled on 32-bit platforms
Backport-of: 1ef862d03d
2023-06-23 07:37:56 +00:00
Goetz Lindenmaier
114bb9a8e6 8239537: cgroup MetricsTester testMemorySubsystem fails sometimes when testing memory.kmem.tcp.usage_in_bytes
Backport-of: ed94c0af10
2023-06-23 07:37:24 +00:00
Goetz Lindenmaier
5506f90ab1 8231516: network QuickAckTest.java failed due to "SocketException: maximum number of DatagramSockets reached"
Fix the test to run in /othervm mode

Backport-of: ba7b8e9558
2023-06-23 07:35:54 +00:00
Goetz Lindenmaier
ffe80b29db 8237183: Bug ID missing for test in patch which fixed JDK-8230665
Backport-of: a91ec31636
2023-06-23 07:35:21 +00:00
Goetz Lindenmaier
50f876c05a 8232101: (sctp) Add minimal sanity tests for SCTP
Backport-of: 262d5f1790
2023-06-23 07:32:43 +00:00
Goetz Lindenmaier
ef1e4fa517 8224729: Cleanups in sun/security/provider/certpath/ldap/LDAPCertStoreImpl.java
Backport-of: 64462e484f
2023-06-23 07:32:07 +00:00
Goetz Lindenmaier
6e12eba9a9 Merge 2023-06-21 07:14:11 +00:00
Goetz Lindenmaier
20fe22f7ef 8289748: C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM
8301959: Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work

Reviewed-by: mdoerr
Backport-of: 2b5b9f5915
2023-06-20 20:39:22 +00:00
Goetz Lindenmaier
e6aba913a1 8229333: java/io/File/SetLastModified.java timed out
Backport-of: 17c057bd76
2023-06-20 20:25:57 +00:00
Goetz Lindenmaier
defa0b27c2 8232195: Enable BigInteger tests: DivisionOverflow, SymmetricRangeTests and StringConstructorOverflow
Reviewed-by: clanger
Backport-of: b404ddd9a2
2023-06-20 20:25:20 +00:00
Goetz Lindenmaier
4452721160 8229338: clean up test/jdk/java/util/RandomAccess/Basic.java
General refactoring of code and increased test coverage

Backport-of: 0364ad244a
2023-06-20 20:02:04 +00:00
Goetz Lindenmaier
273987b5ca 8231357: sun/security/pkcs11/Cipher/TestKATForGCM.java fails on SLES11 using mozilla-nss-3.14
Backport-of: 09c012be4e
2023-06-20 20:01:37 +00:00
Goetz Lindenmaier
0eb4503cc2 8231037: java/net/InetAddress/ptr/Lookup.java fails intermittently due to reverse lookup failed
The test is updated to verify whether reverse lookup is altogether possible.

Backport-of: 8578ab1c23
2023-06-20 19:49:28 +00:00
Goetz Lindenmaier
dda5ed28bd 8226221: Update PKCS11 tests to use NSS 3.46 libs
Backport-of: dfe4ba5045
2023-06-20 19:47:40 +00:00
Goetz Lindenmaier
ade997313a 8230132: java/net/NetworkInterface/NetworkInterfaceRetrievalTests.java to skip Teredo Tunneling Pseudo-Interface
The test is updated to skip Teredo pseudo interfaces on windows.

Backport-of: 1f87cb017f
2023-06-20 19:47:11 +00:00
Shruthi.Shruthi1
64c9026d7f 8300751: [17u] Remove duplicate entry in javac.properties
Backport-of: a5c97d4ad7
2023-06-20 13:12:49 +00:00
Goetz Lindenmaier
2cc4596390 8293858: Change PKCS7 code to use default SecureRandom impl instead of SHA1PRNG
Backport-of: 2157145766
2023-06-19 07:04:17 +00:00
Goetz Lindenmaier
c1f759e9d0 8305815: Update Libpng to 1.6.39
Backport-of: 14874779ee
2023-06-19 07:03:38 +00:00
Goetz Lindenmaier
d981db830a 8255348: NPE in PKIXCertPathValidator event logging code
Backport-of: 18eb6d9e34
2023-06-16 11:22:40 +00:00
Goetz Lindenmaier
d5d3981855 8297523: Various GetPrimitiveArrayCritical miss result - NULL check
Reviewed-by: phh
Backport-of: 27b339d189
2023-06-16 11:20:12 +00:00
Goetz Lindenmaier
0b7efe44ad 8023980: JCE doesn't provide any class to handle RSA private key in PKCS#1
Reviewed-by: mbaesken
Backport-of: 68cf65d284
2023-06-16 11:18:11 +00:00
Lutz Schmidt
09685c8944 8155246: Throw error if default java.security file is missing
Reviewed-by: mdoerr
Backport-of: 9d7c13eb14
2023-06-15 10:05:42 +00:00
Lutz Schmidt
c1939dd34e 8260274: Cipher.init(int, key) does not use highest priority provider for random bytes
Reviewed-by: goetz, mdoerr
Backport-of: 434a399bea
2023-06-15 10:03:54 +00:00
Goetz Lindenmaier
d7701cd76a 8242897: KeyFactory.generatePublic( x509Spec ) failed with java.security.InvalidKeyException
Changed SunRsaSign provider to accept RSA signature oid in RSA key encoding for backward compatibility

Reviewed-by: mbaesken
Backport-of: 56b7960496
2023-06-15 08:42:21 +00:00
Nagata-Haruhito
ad283ae813 8268457: XML Transformer outputs Unicode supplementary character incorrectly to HTML
Reviewed-by: phh
Backport-of: 83bce94cc8
2023-06-14 14:45:43 +00:00
Zdenek Zambersky
c1bb926f4d 8309138: Fix container tests for jdks with symlinked conf dir
Backport-of: ec55539534
2023-06-14 14:33:35 +00:00
Goetz Lindenmaier
3bc72d04cb 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: mbaesken, mbalao
Backport-of: 080b3b83eb
2023-06-14 08:54:11 +00:00
Matthias Baesken
26652c8a41 8308156: VerifyCACerts.java misses blank in error output
Backport-of: 5a92aae1d9
2023-06-14 07:54:47 +00:00
i556354
c1b7fd2033 8223714: HTTPSetAuthenticatorTest could be made more resilient
HTTPTestServer (in the test infrastructure) will no longer stop accepting requests if a previous request processing failed

Reviewed-by: goetz
Backport-of: 6b2e444aa1
2023-06-14 07:13:40 +00:00
Christoph Langer
d286dded5f 8303465: KeyStore of type KeychainStore, provider Apple does not show all trusted certificates
Reviewed-by: mbaesken
Backport-of: ac41c03003
2023-06-14 07:12:24 +00:00
i556354
9fe6adec6c 8229912: [TESTBUG] java/net/Socks/SocksIPv6Test fails without IPv6
Reviewed-by: goetz
Backport-of: 84686488e8
2023-06-14 07:11:45 +00:00
i556354
0fdd6dd4d5 8224617: (fs) java/nio/file/FileStore/Basic.java found filesystem twice
Reviewed-by: goetz
Backport-of: 185be26580
2023-06-14 07:10:23 +00:00
i556354
d0252df66c 8229348: java/net/DatagramSocket/UnreferencedDatagramSockets.java fails intermittently
The test was observed blocking on receive and is updated to avoid using the wildcard address

Reviewed-by: goetz
Backport-of: 6d63995ada
2023-06-14 07:09:42 +00:00
i556354
7c6beb1050 8219628: [TESTBUG] javadoc/doclet/InheritDocForUserTags fails with -othervm
Reviewed-by: goetz
Backport-of: 6b79655b44
2023-06-14 07:07:49 +00:00
i556354
31fb083d52 8217395: Update langtools shell tests to use ${EXE_SUFFIX}
Reviewed-by: goetz
Backport-of: 6326bf224e
2023-06-14 07:05:50 +00:00
i556354
b11aa05ca8 8211343: nsk_jvmti_parseoptions should handle multiple suboptions
8216059: nsk_jvmti_parseoptions still has dependency on tilde separator

Reviewed-by: goetz
Backport-of: 32a5512763
2023-06-14 07:02:28 +00:00
Goetz Lindenmaier
db37a67ab1 Merge 2023-06-14 06:51:24 +00:00
Goetz Lindenmaier
16e40e448f 8201516: DebugNonSafepoints generates incorrect information
Reviewed-by: mdoerr
Backport-of: 94eda53d98
2023-06-14 05:50:35 +00:00
Goetz Lindenmaier
ad3a90f630 8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC
Reviewed-by: phh
Backport-of: 5ba0d09fe4
2023-06-14 05:43:12 +00:00
Christoph Langer
0770b1f04f 8309476: [11u] tools/jmod/hashes/HashesOrderTest.java fails intermittently
Reviewed-by: mdoerr
2023-06-13 06:30:25 +00:00
Goetz Lindenmaier
5067ea24d8 8239264: Clearup the legacy ObjectIdentifier constructor from int array
8240193: loadLibrary("osxsecurity") should not be removed

Reviewed-by: mbaesken, mbalao
Backport-of: 4e430ffbb6
2023-06-12 18:56:03 +00:00
Matthias Baesken
185ad54aac 8283756: (zipfs) ZipFSOutputStreamTest.testOutputStream should only check inflated bytes
Backport-of: 0c472c8a4f
2023-06-12 07:15:50 +00:00
Adam Farley
166078856a 8304291: [AIX] Broken build after JDK-8301998
Backport-of: 310aa93478
2023-06-12 06:55:51 +00:00
Goetz Lindenmaier
e3dd9ddf78 8223856: Replace wildcard address with loopback or local host in tests - part 8
Fixes some intermittent test failures by replacing wildcard with loopback - or retrying once.

Backport-of: cd9e3c1b13
2023-06-07 04:39:08 +00:00
i556354
7a357419ab 8158880: test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java fail with zh_CN locale
Backport-of: 9a217b9313
2023-06-06 07:22:17 +00:00
Matthias Baesken
3207e73397 8279536: jdk/nio/zipfs/ZipFSOutputStreamTest.java timed out
Backport-of: ff0cb98965
2023-06-06 06:58:58 +00:00
Goetz Lindenmaier
81bb36e57a 8301491: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument
Reviewed-by: mdoerr
Backport-of: 47ca5773a5
2023-06-05 16:32:16 +00:00
Goetz Lindenmaier
d917caaffe 8297730: C2: Arraycopy intrinsic throws incorrect exception
Reviewed-by: roland, mdoerr
Backport-of: 5a478ef775
2023-06-05 16:29:41 +00:00
Goetz Lindenmaier
3ba2a18ecd 8223573: Replace wildcard address with loopback or local host in tests - part 4
Makes a few intermittently failing tests more resilient to port reuse issues by ensuring they bind to the loopback address instead of the wildcard.

Backport-of: 205fd87f2d
2023-06-05 16:28:28 +00:00
Olga Mikhaltsova
3cdce91c91 8217237: HttpClient does not deal well with multi-valued WWW-Authenticate challenge headers
Backport-of: d089a4ae51
2023-06-05 16:25:55 +00:00
luchenlin
19bd319ae6 8212045: Add back the tests that were removed from HashesTest.java and AddExportsTest.java
Reviewed-by: goetz
Backport-of: 1226dcbcfe
2023-06-01 09:18:31 +00:00
Alexey Bakhtin
4267a37abd 8303809: Dispose context in SPNEGO NegotiatorImpl
Backport-of: 10f1674625
2023-05-31 22:37:36 +00:00
Goetz Lindenmaier
b2faa3567e 8309108: Bump update version for OpenJDK: jdk-11.0.21
Reviewed-by: mdoerr
2023-05-30 16:40:22 +00:00
Severin Gehwolf
1000b1c007 8308884: [17u/11u] Backout JDK-8297951
This reverts commit de8c37acea

Reviewed-by: shade
Backport-of: a93cf5f2b9
2023-05-30 16:03:17 +00:00
Goetz Lindenmaier
3613ae41b0 8287876: The recently de-problemlisted TestTitledBorderLeak test is unstable
Backport-of: bf439f8c93
2023-05-30 13:48:39 +00:00
Lutz Schmidt
398753e0b5 8269746: C2: assert(!in->is_CFG()) failed: CFG Node with no controlling input?
Backport-of: 8f798b8222
2023-05-30 12:41:48 +00:00
Lutz Schmidt
9eded68161 8246383: NullPointerException in JceSecurity.getVerificationResult when using Entrust provider
Removed the static SecureRandom object in JceSecurity whose instantion caused NPE

Backport-of: 03f2ab325d
2023-05-30 09:43:07 +00:00
Goetz Lindenmaier
1cbdcc996e 8300079: SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument
Reviewed-by: roland
Backport-of: 52324b55fb
2023-05-30 09:14:11 +00:00
Goetz Lindenmaier
b3d6981ea4 8299259: C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE
Reviewed-by: roland
Backport-of: 8b0133f276
2023-05-30 09:12:31 +00:00
Jiangli Zhou
8a0b64bf08 8307134: Add GTS root CAs
Reviewed-by: sgehwolf
Backport-of: 03030d47eb
2023-05-26 17:20:26 +00:00
Lutz Schmidt
5401f1248d 8287007: [cgroups] Consistently use stringStream throughout parsing code
Backport-of: e0baf012b1
2023-05-26 14:51:18 +00:00
Andrew John Hughes
5c4e744dab 8301119: Support for GB18030-2022
Reviewed-by: sgehwolf
Backport-of: a253b46021
2023-05-26 14:35:52 +00:00
Alexey Pavlyutkin
682728ef0a 8275233: Incorrect line number reported in exception stack trace thrown from a lambda expression
Backport-of: 9cb01207b3
2023-05-26 07:07:22 +00:00
Lutz Schmidt
2e01473e09 8278434: timeouts in test java/time/test/java/time/format/TestZoneTextPrinterParser.java
Reviewed-by: phh
Backport-of: 064ee6ae13
2023-05-25 14:59:13 +00:00
Lutz Schmidt
5fa213a8ab 8287246: DSAKeyValue should check for missing params instead of relying on KeyFactory provider
Backport-of: f235955eef
2023-05-25 12:53:24 +00:00
Lutz Schmidt
c0ae141679 8275735: [linux] Remove deprecated Metrics api (kernel memory limit)
Reviewed-by: sgehwolf
Backport-of: 6dbd5a68c7
2023-05-25 07:40:58 +00:00
Matthias Baesken
589894526d 8304760: Add 2 Microsoft TLS roots
Backport-of: f655ccd1c7
2023-05-23 07:37:17 +00:00
Martin Doerr
a9bb31fce5 8295974: jni_FatalError and Xcheck:jni warnings should print the native stack when there are no Java frames
Reviewed-by: phh
Backport-of: e7bac4235a
2023-05-22 09:58:07 +00:00
Jonathan Dowland
608eca15bf 8304350: Font.getStringBounds calculates wrong width for TextAttribute.TRACKING other than 0.0
Backport-of: 6b9b7d1d92
2023-05-22 09:03:50 +00:00
Matthias Baesken
6b4feb5e78 8305975: Add TWCA Global Root CA
Backport-of: 093f02aadb
2023-05-17 08:27:16 +00:00
Lutz Schmidt
31396660db 8243936: NonWriteable system properties are actually writeable
Backport-of: 686ca5ae49
2023-05-15 15:04:48 +00:00
Matthias Baesken
507a3927a2 8282201: Consider removal of expiry check in VerifyCACerts.java test
Reviewed-by: mdoerr
Backport-of: 5b43804b79
2023-05-15 13:57:08 +00:00
Zhengyu Gu
be0de41d42 8308006: Missing NMT memory tagging in CMS
Reviewed-by: phh
2023-05-15 13:35:51 +00:00
Matthias Baesken
2f6a287317 8303822: gtestMain should give more helpful output
Backport-of: 5296357fe2
2023-05-15 12:07:16 +00:00
Alexey Pavlyutkin
0ef2e112eb 8307811: [TEST] compilation of TimeoutInErrorHandlingTest fails after backport of JDK-8303861
Reviewed-by: clanger
2023-05-12 10:34:38 +00:00
Lutz Schmidt
ca62ba5f72 8214807: Improve handling of very old class files
Remove old version specific code in reflection.cpp

Reviewed-by: clanger
Backport-of: 145582dfa1
2023-05-12 10:02:55 +00:00
Justin Lu
b46e240275 8285497: Add system property for Java SE specification maintenance version
Reviewed-by: lancea, rriggs, naoto, iris
Backport-of: e5ac7a1b7e8df1e56a7e78bba6a2b9ed7fc297f1
2023-05-11 16:26:57 +00:00
Christoph Langer
9317eec06d 8282467: add extra diagnostics for JDK-8268184
Reviewed-by: mdoerr
Backport-of: 2903d59a90
2023-05-11 12:53:39 +00:00
Matthias Baesken
12093c04f6 8303576: addIdentitiesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return
Backport-of: a7e308ab6e
2023-05-11 11:01:09 +00:00
Matthias Baesken
f5da5da37e 8303354: addCertificatesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return
Backport-of: b51ea4204e
2023-05-11 10:58:43 +00:00
Naoto Sato
804ed8387c 8305682: Update the javadoc in the Character class to state support for GB 18030-2022 Implementation Level 2
Reviewed-by: lancea, iris, rriggs
Backport-of: 926910977080dda181ae3772293d2bc9bd458f2a
2023-05-10 18:17:46 +00:00
Naoto Sato
75c5063c72 8301401: Allow additional characters for GB18030-2022 support
Co-authored-by: Justin Lu <jlu@openjdk.org>
Reviewed-by: lancea, iris, rriggs
Backport-of: 0a700c6c3d150ed375c113b31b8e6185cbe57ae6
2023-05-10 17:03:27 +00:00
Goetz Lindenmaier
63cb8a1086 8301998: Update HarfBuzz to 7.0.1
8304295: harfbuzz build fails with GCC 7 after JDK-8301998

Reviewed-by: mbaesken
Backport-of: f969f811a7
2023-05-10 14:48:01 +00:00
Goetz Lindenmaier
d8f1a341eb 8296934: Write a test to verify whether Undecorated Frame can be iconified or not
Backport-of: 7845b0d7b4
2023-05-10 14:46:10 +00:00
Goetz Lindenmaier
7e93c80e26 8292206: TestCgroupMetrics.java fails as getMemoryUsage() is lower than expected
Backport-of: 6ccee83958
2023-05-10 14:42:39 +00:00
Goetz Lindenmaier
521833eecd 8282077: PKCS11 provider C_sign() impl should handle CKR_BUFFER_TOO_SMALL error
Backport-of: d7f31d0d53
2023-05-10 14:38:57 +00:00
Lutz Schmidt
2995d0813b 8209880: tzdb.dat is not reproducibly built
Reviewed-by: clanger
Backport-of: e71557a2d9
2023-05-10 14:00:06 +00:00
Lutz Schmidt
1f49004e6a 8248701: On Windows generated modules-deps.gmk can contain backslash-r (CR) characters
Backport-of: 0853b33004
2023-05-10 08:12:29 +00:00
Christoph Langer
7b2d5fca95 8257856: Make ClassFileVersionsTest.java robust to JDK version updates
Reviewed-by: mbaesken
Backport-of: 79aa7b15db
2023-05-10 06:21:42 +00:00
Christoph Langer
6a28ccb06e 8276880: Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary
Reviewed-by: mbaesken
Backport-of: fcc1cc626b
2023-05-10 06:20:36 +00:00
Goetz Lindenmaier
4548929ce5 8303476: Add the runtime version in the release file of a JDK image
Backport-of: 32247c336a
2023-05-10 06:13:55 +00:00
Alexey Pavlyutkin
1f601e90a5 8303861: Error handling step timeouts should never be blocked by OnError and others
Reviewed-by: phh
Backport-of: 345e370fed
2023-05-09 14:49:11 +00:00
Goetz Lindenmaier
8c243a33b2 8305400: ISO 4217 Amendment 175 Update
Backport-of: 7cf24d1c06
2023-05-08 08:53:08 +00:00
Goetz Lindenmaier
2c8069c6b6 8297450: ScaledTextFieldBorderTest.java fails when run with -show parameter
Backport-of: ea83cb960d
2023-05-08 08:24:32 +00:00
Goetz Lindenmaier
93d1d22da0 8287897: Augment src/jdk.internal.le/share/legal/jline.md with information on 4th party dependencies
Backport-of: bc28baeba9
2023-05-08 08:23:26 +00:00
Goetz Lindenmaier
5a574eabdb 8286398: Address possibly lossy conversions in jdk.internal.le
Backport-of: e534c133af
2023-05-08 08:13:33 +00:00
Sergey Bylokhov
ceb6793bf3 8298887: On the latest macOS+XCode the Robot API may report wrong colors
Reviewed-by: phh
Backport-of: 50120396b6
2023-05-05 18:24:27 +00:00
Goetz Lindenmaier
e537b9d740 8303564: C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi
Backport-of: 5e232cf0a9
2023-05-04 11:00:02 +00:00
Lutz Schmidt
a22373bf9e 8283059: Uninitialized warning in check_code.c with GCC 11.2
Reviewed-by: phh
Backport-of: beb2ca22c9
2023-05-04 08:59:26 +00:00
Christoph Langer
fc85d952d9 8289735: UTIL_LOOKUP_PROGS fails on pathes with space
8306976: UTIL_REQUIRE_SPECIAL warning on grep

Reviewed-by: mbaesken
Backport-of: bad6aa68e4
2023-04-28 15:50:15 +00:00
Sergey Bylokhov
26e3971485 8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped
Backport-of: 041ae20b10
2023-04-27 17:22:46 +00:00
Anton Kozlov
42ae833f36 8306768: CodeCache Analytics reports wrong threshold
Reviewed-by: phh
Backport-of: 243e643076
2023-04-27 12:25:00 +00:00
Christoph Langer
aed5d6fc2d 8306664: GHA: Update MSVC version to latest stepping
Reviewed-by: serb
2023-04-27 08:42:21 +00:00
Christoph Langer
c0cde47aed 8306658: GHA: MSVC installation could be optional since it might already be pre-installed
Reviewed-by: sgehwolf
Backport-of: d980cb4879
2023-04-25 16:46:49 +00:00
Masanori Yano
2991b2b016 8213531: Test javax/swing/border/TestTitledBorderLeak.java fails
Reviewed-by: phh
Backport-of: 07d24509a6
2023-04-25 14:36:12 +00:00
Goetz Lindenmaier
31c0528746 8215015: [TESTBUG] remove unneeded -Xfuture option from tests
Remove the option from the tests

Backport-of: 5a23b59ca0
2023-04-25 13:11:37 +00:00
Goetz Lindenmaier
24981ccee5 8214459: NSS source should be removed
Remove test/jdk/sun/security/pkcs11/nss/src

Backport-of: 3525e4e27f
2023-04-25 13:09:54 +00:00
Goetz Lindenmaier
f26efe7d4d 8171426: java/lang/ProcessBuilder/Basic.java failed with Stream closed
Backport-of: 53b849e17e
2023-04-25 13:01:41 +00:00
Goetz Lindenmaier
3eed850193 8187522: test/sun/net/ftp/FtpURLConnectionLeak.java timed out
Backport-of: 285fca70b4
2023-04-25 12:56:22 +00:00
Goetz Lindenmaier
b368809849 8209546: Make sun/security/tools/keytool/autotest.sh to support macosx
Refactor autotest.sh to java test and remove standard.sh

Reviewed-by: rrich
Backport-of: afe05800ac
2023-04-25 10:02:52 +00:00
Goetz Lindenmaier
6dc0712062 8209167: Use CLDR's time zone mappings for Windows
Reviewed-by: rrich
Backport-of: 009cd15a1b
2023-04-25 10:00:45 +00:00
Christoph Langer
3c8135263b 8306543: GHA: MSVC installation is failing
Backport-of: 5a00617b1b
2023-04-24 08:25:28 +00:00
Goetz Lindenmaier
c3e92e8830 Merge 2023-04-20 10:56:00 +00:00
Goetz Lindenmaier
2ccf28ed99 8304134: jib bootstrapper fails to quote filename when checking download filetype
Backport-of: 75168eaca3
2023-04-20 08:03:57 +00:00
Goetz Lindenmaier
e28b210d50 8303482: Update LCMS to 2.15
Backport-of: c073ef2ed5
2023-04-20 08:00:09 +00:00
Goetz Lindenmaier
f2186fb246 8302151: BMPImageReader throws an exception reading BMP images
Backport-of: aa10f0d3ee
2023-04-20 07:56:35 +00:00
Goetz Lindenmaier
aaedfb3455 8178806: Better exception logging in crypto code
Backport-of: b814cfc39d
2023-04-20 07:53:14 +00:00
Goetz Lindenmaier
691657a204 8277775: Fixup bugids in RemoveDropTargetCrashTest.java - add 4357905
Backport-of: 22347e46f7
2023-04-20 07:49:34 +00:00
Andrew John Hughes
7f30a6c7c1 8305113: (tz) Update Timezone Data to 2023c
Reviewed-by: phh
Backport-of: ed9592c6e8
2023-04-18 22:47:32 +00:00
Goetz Lindenmaier
9e2c1ef9d2 8297000: [jib] Add more friendly warning for proxy issues
Backport-of: 0d93ab9dff
2023-04-18 12:58:14 +00:00
Goetz Lindenmaier
1eb49413a9 8294906: Memory leak in PKCS11 NSS TLS server
Backport-of: 94caecbe57
2023-04-18 12:55:29 +00:00
Christoph Langer
229c712dc9 8300490: Spaces in name of MacOS Code Signing Identity are not correctly handled after JDK-8293550
Backport-of: 48d525946d
2023-04-18 08:59:41 +00:00
Thomas Stuefe
f0af8f996e 8305711: Arm: C2 always enters slowpath for monitorexit
Reviewed-by: phh
Backport-of: c67bbcea92
2023-04-17 06:26:28 +00:00
Joshua Cao
c8e66301f5 8305721: add make compile-commands artifacts to .gitignore
Reviewed-by: clanger
Backport-of: 9e20382311
2023-04-13 16:58:25 +00:00
Andrew John Hughes
b4caafe16f 8274864: Remove Amman/Cairo hacks in ZoneInfoFile
Backport-of: ec199072c5
2023-04-13 15:37:20 +00:00
Kimura Yukihiro
bb2e0d85b6 8305528: [11u] Backport of JDK-8259530 breaks build with JDK10 bootstrap VM
Reviewed-by: phh, clanger
2023-04-13 09:41:13 +00:00
Christoph Langer
2081c00707 8299596: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.19
Reviewed-by: goetz
2023-04-12 22:16:12 +02:00
Alexei Voitylov
3a3ab6ec3f 8299129: Enhance NameService lookups
Reviewed-by: mbalao
Backport-of: 1aef50354aaa0831b58de81db3d6bf30b9a277d1
2023-04-12 21:58:16 +02:00
Aleksei Voitylov
504887c927 8298667: Improved path handling
Reviewed-by: mbalao
Backport-of: 900abc284669d1aadeac8026ad618c9f1dc553a6
2023-04-12 21:55:57 +02:00
Alexey Bakhtin
4a4f5c528c 8298310: Enhance TLS session negotiation
Reviewed-by: mbalao
Backport-of: 9a14b363feaaa1a1831fcc8620d41b4db2e0110a
2023-04-12 18:30:29 +02:00
Paul Hohensee
780327d1de 8298191: Enhance object reclamation process
Reviewed-by: rkennke, bae
2023-04-12 17:59:44 +02:00
Martin Balao
db13ccf01e 8297371: Improve UTF8 representation redux
Reviewed-by: yan
Backport-of: a44eb133d3cdb190abb0210c201e315d94d09dc7
2023-04-12 17:12:59 +02:00
Yuri Nesterenko
91328b3285 8296832: Improve Swing platform support
Reviewed-by: mbalao
Backport-of: a81c810a76d91b79917417ed22e5e5aa530690ca
2023-04-12 16:54:20 +02:00
Ekaterina Vergizova
36871ab89c 8296692: Improve String platform support
Reviewed-by: mbalao
Backport-of: ed8643947e21263588cb6e9202efb3a30f450c4e
2023-04-12 16:48:02 +02:00
Olga Mikhaltsova
a5bdad69ee 8296684: Improve String platform support
Reviewed-by: mbalao
Backport-of: 9ae682726873de27cef4d3bd5523713f4ff98266
2023-04-12 16:39:17 +02:00
Martin Balao
2871c6e718 8296676: Improve String platform support
Reviewed-by: mbaesken
Backport-of: d083a3c21e8849ed2a8b79aba37b46d921886a05
2023-04-12 16:29:35 +02:00
Aleksei Voitylov
2d806d0e2f 8295304: Runtime support improvements
Reviewed-by: mbalao
Backport-of: 9c31d51bd5fc17e3914142c2461f3abfe71651d0
2023-04-12 16:22:39 +02:00
Martin Balao
432b9f03f6 8294474: Better AES support
Reviewed-by: mbaesken
Backport-of: 0c534f3309a308e89363ec69dee74d95fd9647a4
2023-04-12 16:16:38 +02:00
Martin Balao
f9ef046584 8288436: Improve Xalan supports
Reviewed-by: mbaesken
Backport-of: 6899dff264c9030a3016e292c3f3f6738bde97cc
2023-04-12 16:01:51 +02:00
Martin Balao
13b61e7ba1 8287404: Improve ping times
Reviewed-by: mbaesken
Backport-of: 5a054b372dbd751fe1b312375153f13e70d7131f
2023-04-12 15:54:15 +02:00
Kimura Yukihiro
3c8c45ef3e 8259530: Generated docs contain MIT/GPL-licenced works without reproducing the licence
Reviewed-by: phh
Backport-of: e9f3e325c2
2023-03-31 13:24:47 +00:00
Goetz Lindenmaier
6dedd8a22b 8291638: Keep-Alive timeout of 0 should close connection immediately
Backport-of: 26ac836636
2023-03-31 11:06:23 +00:00
Goetz Lindenmaier
00b7647f83 8275721: Name of UTC timezone in a locale changes depending on previous code
Backport-of: 543d1a8cf4
2023-03-31 10:56:52 +00:00
Goetz Lindenmaier
835f2cab1d 8291226: Create Test Cases to cover scenarios for JDK-8278067
Backport-of: 86ec158dfb
2023-03-29 07:27:06 +00:00
Goetz Lindenmaier
d8993e68ff 8291637: HttpClient default keep alive timeout not followed if server sends invalid value
Backport-of: b17a745d7f
2023-03-29 07:23:17 +00:00
Sergey Bylokhov
e12516d44c 8303102: jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN
Backport-of: a43931b79c
2023-03-24 19:16:56 +00:00
Sergey Bylokhov
88434e5c7b 8227257: javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError
Backport-of: 78b1686c15
2023-03-24 17:18:44 +00:00
Matthias Baesken
75fb8a99d6 8301170: perfMemory_windows.cpp add free_security_attr to early returns
Backport-of: 3330f9c2ad
2023-03-24 11:17:40 +00:00
Matthias Baesken
386addf905 8215575: C2 crash: assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded
Set InstanceKlass::loaded before adding classes to the subklass list, which can be read concurrently by the compiler.

Reviewed-by: rrich
Backport-of: cab9667f41
2023-03-23 08:53:54 +00:00
Matthias Baesken
1516012ebc 8300205: Swing test bug8078268 make latch timeout configurable
Backport-of: e82dc6935b
2023-03-23 08:38:33 +00:00
Goetz Lindenmaier
ab51b151a0 Merge 2023-03-22 08:31:39 +00:00
Goetz Lindenmaier
f1c92b472d 8304389: [11u] Crash on Windows in C2 compiled code after 8248238 and 8218431
Reviewed-by: dlong, mdoerr
2023-03-21 14:42:22 +00:00
Ravali Yatham
f4776fe17f 8302791: Add specific ClassLoader object to Proxy IllegalArgumentException message
Reviewed-by: mchung, phh
Backport-of: 9f9d678591
2023-03-17 20:08:54 +00:00
Andrey Turbanov
1ab869358a 8232853: AuthenticationFilter.Cache::remove may throw ConcurrentModificationException
Change implementation to use iterator instead of plain LinkedList

Reviewed-by: phh
Backport-of: d948bfd584
2023-03-17 18:17:10 +00:00
Christoph Langer
be64682e29 8265486: ProblemList javax/sound/midi/Sequencer/Recording.java on macosx-aarch64
Reviewed-by: phh
Backport-of: ab2240741c
2023-03-17 11:36:36 +00:00
Goetz Lindenmaier
362c2e3ee3 8294548: Problem list SA core file tests on macosx-x64 due to JDK-8294316
Reviewed-by: mbaesken
Backport-of: 545ded1a82
2023-03-17 07:23:07 +00:00
Pankaj Bansal
4b5fdd8854 8263420: Incorrect function name in NSAccessibilityStaticText native peer implementation
Backport-of: d896246a11
2023-03-16 21:34:20 +00:00
Autumn Capasso
41ad04794e 8264304: Create implementation for NSAccessibilityToolbar protocol peer
Reviewed-by: phh
Backport-of: 4d26f22b9a
2023-03-16 18:29:01 +00:00
Autumn Capasso
dd6421231d 8264290: Create implementation for NSAccessibilityComponentGroup protocol peer
Reviewed-by: phh
Backport-of: f07dcf471c
2023-03-15 16:22:12 +00:00
Christoph Langer
b8ac68dbdb 8220093: Change to GCC 8.2 for building on Linux at Oracle
Reviewed-by: mbaesken
Backport-of: 290bfe5f4c
2023-03-15 07:18:04 +00:00
Man Cao
97809afd1c 8303937: Corrupted heap dumps due to missing retries for os::write()
Reviewed-by: clanger
Backport-of: bf16b5b988
2023-03-15 07:17:01 +00:00
Sergey Bylokhov
c6f00859fd 8303440: The "ZonedDateTime.parse" may not accept the "UTC+XX" zone id
Backport-of: cfb0a25a4e
2023-03-13 19:06:35 +00:00
Zdenek Zambersky
939741c0a0 8293232: Fix race condition in pkcs11 SessionManager
Backport-of: 67f31bb90b
2023-03-13 14:13:18 +00:00
Zdenek Zambersky
e80528bf2b 8282600: SSLSocketImpl should not use user_canceled workaround when not necessary
Backport-of: eef3c9605e
2023-03-13 14:11:39 +00:00
Scott Gibbons
479ddb6e5c 8280703: CipherCore.doFinal(...) causes potentially massive byte[] allocations during decryption
Reviewed-by: clanger
Backport-of: 409382ba4b
2023-03-10 09:19:13 +00:00
Zdenek Zambersky
7d8991978b 8289301: P11Cipher should not throw out of bounds exception during padding
Backport-of: 2f7e673f52
2023-03-10 09:06:28 +00:00
Zdenek Zambersky
80615a6f39 8293815: P11PSSSignature.engineUpdate should not print debug messages during normal operation
Backport-of: 1743825077
2023-03-10 09:05:03 +00:00
Goetz Lindenmaier
0748e2abf3 8303432: Bump update version for OpenJDK: jdk-11.0.20
Reviewed-by: rrich
2023-03-07 20:30:14 +00:00
Autumn808
8a726afcdf 8264299: Create implementation of native accessibility peer for ScrollPane and ScrollBar Java Accessibility roles
Reviewed-by: phh
Backport-of: 6c107fdff2
2023-03-03 18:44:26 +00:00
Kumar Srinivasan
915ac570b5 8302000: [11u] A subtle race condition during jdk11u build
8218460: Test generation scripts do not invoke stream preprocessor correctly

Reviewed-by: clanger
2023-03-03 17:57:46 +00:00
Lance Andersen
125cf5ab2b 8295530: Update Zlib Data Compression Library to Version 1.2.13
Reviewed-by: phh
Backport-of: 6042c6b9bb
2023-03-03 15:19:32 +00:00
Goetz Lindenmaier
de6d2c9bd5 8190492: Remove SSLv2Hello and SSLv3 from default enabled TLS protocols
Reviewed-by: phh, mbaesken
Backport-of: 5fc46f3c50
2023-03-03 08:47:11 +00:00
Matthias Baesken
2405ca61a3 8299520: TestPrintXML.java output error messages in case compare fails
Backport-of: ea25a561c5
2023-03-02 16:43:31 +00:00
Goetz Lindenmaier
bd9c2fb385 8290197: test/jdk/java/nio/file/Files/probeContentType/Basic.java fails on some systems for the ".rar" extension
Backport-of: 44fb92e2aa
2023-03-01 14:45:46 +00:00
Goetz Lindenmaier
15bdc4dcc4 8235448: code cleanup in SSLContextImpl.java
Reviewed-by: mbaesken
Backport-of: baebce3d2f
2023-03-01 14:44:07 +00:00
Goetz Lindenmaier
5802a9a926 8245654: Add Certigna Root CA
Backport-of: c8ee076241
2023-02-28 11:58:20 +00:00
Goetz Lindenmaier
86b8ea8d20 8295777: java/net/httpclient/ConnectExceptionTest.java should not rely on system resolver
Backport-of: 65c84e0cf8
2023-02-28 11:56:25 +00:00
Goetz Lindenmaier
d21d985d00 8279941: sun/security/pkcs11/Signature/TestDSAKeyLength.java fails when NSS version detection fails
Backport-of: cddd6def9f
2023-02-28 11:54:35 +00:00
Goetz Lindenmaier
558eab220a 8292877: java/util/concurrent/atomic/Serial.java uses {Double,Long}Accumulator incorrectly
Backport-of: 251bff6bee
2023-02-28 11:52:54 +00:00
Goetz Lindenmaier
6ed8694766 8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX
Backport-of: c5c6058fd5
2023-02-28 11:50:02 +00:00
Goetz Lindenmaier
18c06bb11a 8279662: serviceability/sa/ClhsdbScanOops.java can fail due to unexpected GC
Backport-of: fe0118f804
2023-02-28 11:48:33 +00:00
Goetz Lindenmaier
cf58d59c8e 8277346: ProblemList 7 serviceability/sa tests on macosx-x64
8277351: ProblemList runtime/jni/checked/TestPrimitiveArrayCriticalWithBadParam.java on macosx-x64

Reviewed-by: phh
Backport-of: 86112cb089
2023-02-28 11:46:44 +00:00
Goetz Lindenmaier
64434da0a2 8254267: javax/xml/crypto/dsig/LogParameters.java failed with "RuntimeException: Unexpected log output:"
Backport-of: 40d69f0c41
2023-02-28 11:43:13 +00:00
Christoph Langer
cfb05cb26d 8302903: [11u] Add modified test snippet after backport of JDK-8221871
Reviewed-by: phh
2023-02-27 08:55:59 +00:00
Goetz Lindenmaier
83456c63be 8252532: use Utils.TEST_NATIVE_PATH instead of System.getProperty("test.nativepath")
Reviewed-by: phh
Backport-of: 4fe6a3da68
2023-02-27 08:09:23 +00:00
Shruthi.Shruthi1
efe44815b1 8266974: duplicate property key in java.sql.rowset resource bundle
Backport-of: e3d5c9e7c4
2023-02-24 21:34:38 +00:00
Goetz Lindenmaier
c8c63cb33b 8303075: [11u] Add CompileClassWithDebugTest to ProblemList for 8303074
Reviewed-by: phh
2023-02-24 20:13:52 +00:00
Goetz Lindenmaier
05db32270e 8270609: [TESTBUG] java/awt/print/Dialog/DialogCopies.java does not show instruction
Reviewed-by: phh
Backport-of: 4da45c4301
2023-02-24 20:12:06 +00:00
Goetz Lindenmaier
cb5d79c234 8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3
Backport-of: a561eac912
2023-02-24 20:10:01 +00:00
Goetz Lindenmaier
b3820b21ec 8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly
Backport-of: 09ecb11927
2023-02-24 20:08:30 +00:00
Goetz Lindenmaier
b396137eda 8257928: Test image build failure with clang-10 due to -Wmisleading-indentation
Backport-of: 4ea88512dd
2023-02-24 20:05:42 +00:00
Goetz Lindenmaier
411aaff4c2 8213265: fix missing newlines at end of files
Backport-of: 72bfdd96f1
2023-02-24 19:56:39 +00:00
Ekaterina Vergizova
c692aa9aad 8301842: JFR: increase checkpoint event size for stacktrace and string pool
Reviewed-by: phh
Backport-of: 7dfe75cf55
2023-02-24 12:39:18 +00:00
Goetz Lindenmaier
bc29f1eb26 8288332: Tier1 validate-source fails after 8279614
Backport-of: e90b579b29
2023-02-17 10:19:19 +00:00
Goetz Lindenmaier
183bb3604a 8271323: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -XX:TieredStopAtLevel=1
Backport-of: 9bc52afa48
2023-02-17 10:17:49 +00:00
Goetz Lindenmaier
363586ef0b 8262060: compiler/whitebox/BlockingCompilation.java timed out
Backport-of: 694e1cdcb8
2023-02-17 10:16:28 +00:00
Goetz Lindenmaier
2244467c81 8264200: java/nio/channels/DatagramChannel/SRTest.java fails intermittently
Backport-of: 784f1c1f74
2023-02-17 10:15:04 +00:00
Goetz Lindenmaier
ffac38fc95 8264512: jdk/test/jdk/java/util/prefs/ExportNode.java relies on default platform encoding
Backport-of: 104e925dfd
2023-02-17 10:13:42 +00:00
Goetz Lindenmaier
eb8c6f59aa 8261279: sun/util/resources/cldr/TimeZoneNamesTest.java timed out
Backport-of: becee6435b
2023-02-17 10:12:17 +00:00
Goetz Lindenmaier
5f998197a4 8261270: MakeMethodNotCompilableTest fails with -XX:TieredStopAtLevel={1,2,3}
Backport-of: 0e18634b6a
2023-02-17 10:10:58 +00:00
Goetz Lindenmaier
013aa4d85e 8259265: Refactor UncaughtExceptions shell test as java test.
Backport-of: 0ef93feb43
2023-02-17 10:08:37 +00:00
Goetz Lindenmaier
dbee8618f3 8260576: Typo in compiler/runtime/safepoints/TestRegisterRestoring.java
Backport-of: 54e7a642bb
2023-02-17 10:05:58 +00:00
Goetz Lindenmaier
169b3d24d3 8252401: Introduce Utils.TEST_NATIVE_PATH
Backport-of: e1d29cd6fb
2023-02-17 10:04:27 +00:00
Christoph Langer
272199168c 8302694: [11u] Update GHA Boot JDK to 11.0.18
Reviewed-by: mbaesken, sgehwolf
2023-02-17 09:57:25 +00:00
Goetz Lindenmaier
1ce9a65510 8249691: jdk/lambda/vm/StrictfpDefault.java file can be removed
Backport-of: 54490d30c8
2023-02-17 09:30:56 +00:00
Goetz Lindenmaier
b51ebf8c3d 8248306: gc/stress/gclocker/TestExcessGCLockerCollections.java does not compile
Update the test to use the method suggested in JDK-8244010.

Backport-of: 83fff05498
2023-02-17 09:29:41 +00:00
Goetz Lindenmaier
cdd3e0425f 8221168: java/util/concurrent/CountDownLatch/Basic.java fails
Backport-of: 064f69d6ab
2023-02-17 09:27:30 +00:00
Goetz Lindenmaier
43e53a32c7 8227422: sun/net/www/protocol/file/DirPermissionDenied.java failed on Windows 2016 because DirPermissionDenied directory has no read permission
Backport-of: 0518393598
2023-02-17 09:23:15 +00:00
Goetz Lindenmaier
98e3b0d08d 8202621: bad test with broken links needs to be updated
Backport-of: 17773c31b6
2023-02-17 09:20:14 +00:00
Goetz Lindenmaier
bfd05a6256 8302657: [11u] Add missing '(' in makefile after backport of 8218431
Reviewed-by: dsamersoff
2023-02-17 09:14:37 +00:00
Thomas Stuefe
1364140346 8284165: Add pid to process reaper thread name
Reviewed-by: phh
Backport-of: 9561b5e041
2023-02-16 16:18:27 +00:00
Christoph Langer
06ee0b67cd 8297963: Partially fix string expansion issues in UTIL_DEFUN_NAMED and related macros
Backport-of: 1a38e26e67
2023-02-16 12:45:37 +00:00
Christoph Langer
630c80ebea 8293550: Optionally add get-task-allow entitlement to macos binaries
Reviewed-by: phh
Backport-of: da6fca4d78
2023-02-16 12:44:38 +00:00
Goetz Lindenmaier
d942151552 8209774: Refactor shell test javax/xml/jaxp/common/8035437/run.sh to java
Backport-of: 4c54fa2274
2023-02-16 10:38:49 +00:00
Goetz Lindenmaier
131084c5a0 8035787: SourcePositions are wrong for Strings concatenated with '+' operator
Backport-of: 25642dd303
2023-02-16 10:34:27 +00:00
Goetz Lindenmaier
1d32290c27 8233462: serviceability/tmtools/jstat tests times out with -Xcomp
Backport-of: d7170782b5
2023-02-16 10:31:30 +00:00
Goetz Lindenmaier
5c1748a40e 8171405: java/net/URLConnection/ResendPostBody.java failed with "Error while cleaning up threads after test"
Test cleaned up to improve safe termination

Reviewed-by: clanger
Backport-of: 7b49c40ee9
2023-02-16 10:30:01 +00:00
Goetz Lindenmaier
22be06112b 8226917: jvmti/scenarios/contention/TC04/tc04t001/TestDescription.java fails on jvmti->InterruptThread (JVMTI_ERROR_THREAD_NOT_ALIVE)
Fix one more sync issue in the test

Backport-of: ff1f2fad6e
2023-02-16 10:28:23 +00:00
Goetz Lindenmaier
a3d867bbea 8226595: jvmti/scenarios/contention/TC04/tc04t001/TestDescription.java still fails due to wrong number of MonitorContendedEntered events
Fix one more sync issue in the test

Backport-of: 8cf8442085
2023-02-16 10:26:59 +00:00
Goetz Lindenmaier
3a2a0f9070 8223463: Replace wildcard address with loopback or local host in tests - part 2
Removes (or documents) some usages of the wildcard address in intermittently failing tests.

Backport-of: 1188188ee6
2023-02-16 10:25:30 +00:00
Goetz Lindenmaier
5685e581bf 8207248: Reduce incidence of compiler.warn.source.no.bootclasspath in javac tests
Reviewed-by: clanger, phh
Backport-of: a376d5dab4
2023-02-16 10:19:35 +00:00
Goetz Lindenmaier
0a9127402f 8282958: Rendering Issues with Borders on Windows High-DPI systems
Backport-of: 9911405e54
2023-02-15 14:51:44 +00:00
Goetz Lindenmaier
6678084b22 8279614: The left line of the TitledBorder is not painted on 150 scale factor
Backport-of: b42c1ad108
2023-02-15 13:56:59 +00:00
Goetz Lindenmaier
b096b9d92d 8289562: Change bugs.java.com and bugreport.java.com URL's to https
Reviewed-by: mbaesken
Backport-of: 1f484dae4e
2023-02-15 13:56:10 +00:00
Christoph Langer
d7a6e6ae49 8285093: Introduce UTIL_ARG_WITH
8285755: JDK-8285093 changed the default for --with-output-sync
8285919: Remove debug printout from JDK-8285093

Reviewed-by: mbaesken
Backport-of: 5b77b57468
2023-02-15 09:06:27 +00:00
Goetz Lindenmaier
1f0e77e8d1 8295116: C2: assert(dead->outcnt() == 0 && !dead->is_top()) failed: node must be dead
Backport-of: 94575d14f4
2023-02-14 20:31:23 +00:00
Goetz Lindenmaier
4c27fa0591 8231595: [TEST] develop a test case for SuspendThreadList including current thread
Extend test coverage for SuspendThreadList

Backport-of: 4091899994
2023-02-14 20:29:40 +00:00
Goetz Lindenmaier
8773d465b9 8223736: jvmti/scenarios/contention/TC04/tc04t001/TestDescription.java fails due to wrong number of MonitorContendedEntered events
Fix the synchronization issue in the test

Backport-of: fc6b87472c
2023-02-14 20:28:01 +00:00
Goetz Lindenmaier
6c6006eb49 8224024: java/util/concurrent/BlockingQueue/DrainToFails.java testBounded fails intermittently
Backport-of: 22a4313efc
2023-02-14 20:26:26 +00:00
Goetz Lindenmaier
c90bc806cf 8129315: java/net/Socket/LingerTest.java and java/net/Socket/ShutdownBoth.java timeout intermittently
Tests are updated to use the loopback address instead of the wildcard to avoid traffic being routed to a different server than what was intended by the test.

Backport-of: 72467d916c
2023-02-14 20:23:32 +00:00
Goetz Lindenmaier
3614fb27a4 8222430: Add tests for ElementKind predicates
Backport-of: 4a9f7612be
2023-02-14 20:18:31 +00:00
Goetz Lindenmaier
834e07259c 8221098: Run java/net/URL/HandlerLoop.java in othervm mode
Backport-of: defc86bd5b
2023-02-14 20:14:33 +00:00
Goetz Lindenmaier
88d8eb2222 8170705: sun/net/www/protocol/http/StackTraceTest.java fails intermittently with Invalid Http response
Backport-of: 1df787692a
2023-02-14 20:10:12 +00:00
Goetz Lindenmaier
a220aaf3c6 8195057: java/util/concurrent/CountDownLatch/Basic.java failed w/ Xcomp
Backport-of: 012c399c26
2023-02-14 20:04:49 +00:00
Goetz Lindenmaier
7d7aa61eb0 8218133: sun/net/www/protocol/http/ProtocolRedirect.java failed with "java.net.ConnectException"
Changed the test to use the loopback interface.

Backport-of: d176e20898
2023-02-14 20:01:20 +00:00
Goetz Lindenmaier
c58a06666d 8286030: Avoid JVM crash when containers share the same /tmp dir
Reviewed-by: phh
Backport-of: d52e18c92d
2023-02-14 09:33:43 +00:00
Goetz Lindenmaier
43a0015f22 8297489: Modify TextAreaTextEventTest.java as to verify the content change of TextComponent sends TextEvent
Backport-of: 7d20a60a98
2023-02-13 14:39:11 +00:00
Goetz Lindenmaier
d0984dfce4 8223716: sun/net/www/http/HttpClient/MultiThreadTest.java should be more resilient to unexpected traffic
Backport-of: e0a87ef8fc
2023-02-13 14:37:20 +00:00
Christoph Langer
2c47c45f07 8273497: building.md should link to both md and html
Backport-of: a10bb08a4c
2023-02-13 14:19:17 +00:00
Ekaterina Vergizova
816e53bad5 8298129: Let checkpoint event sizes grow beyond u4 limit
Reviewed-by: phh
Backport-of: ea108f504c
2023-02-13 11:48:06 +00:00
Goetz Lindenmaier
0c42ee4690 8295774: Write a test to verify List sends ItemEvent/ActionEvent
Backport-of: 2a79dfc1f9
2023-02-12 19:08:16 +00:00
Goetz Lindenmaier
08f86131bd 8296675: Exclude linux-aarch64 in NSS tests
Backport-of: fa8a8668a6
2023-02-10 08:43:49 +00:00
Yuri Nesterenko
faabe54e71 8301760: Fix possible leak in SpNegoContext dispose
Backport-of: 3f3356bcbd
2023-02-10 07:54:26 +00:00
Goetz Lindenmaier
b88cd771f0 8298073: gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java causes test task timeout on macosx
8241293: CompressedClassSpaceSizeInJmapHeap.java time out after 8 minutes

Reviewed-by: phh
Backport-of: 99a6c47855
2023-02-08 16:07:41 +00:00
Goetz Lindenmaier
9d7bb60136 8296912: C2: CreateExNode::Identity fails with assert(i < _max) failed: oob: i=1, _max=1
Reviewed-by: rrich
Backport-of: 502fa3eeea
2023-02-08 16:05:50 +00:00
Goetz Lindenmaier
65180f10d2 8290920: sspi_bridge.dll not built if BUILD_CRYPTO is false
Reviewed-by: phh
Backport-of: 5e1e449c11
2023-02-08 16:04:08 +00:00
Goetz Lindenmaier
7e74421cbc 8286962: java/net/httpclient/ServerCloseTest.java failed once with ConnectException
Backport-of: 13d4ddc35b
2023-02-08 16:01:26 +00:00
Kimura Yukihiro
ebac392d65 8300742: jstat's CGCT is 5 percent higher than the pause time in -Xlog:gc.
Reviewed-by: rrich
2023-02-06 13:38:45 +00:00
Goetz Lindenmaier
fc4b9de407 8218431: Improved platform checking in makefiles
Reviewed-by: mbaesken
Backport-of: 208c58c862
2023-02-06 11:24:38 +00:00
Sergey Bylokhov
6ffd006da0 8241806: The sun/awt/shell/FileSystemViewMemoryLeak.java is unstable
Backport-of: e730e8b691
2023-02-05 04:11:08 +00:00
Ichiroh Takiguchi
f5a04fbca5 8299194: CustomTzIDCheckDST.java may fail at future date
Backport-of: 5e2de89628
2023-02-04 04:51:50 +00:00
Victor Rudometov
acedbcbecb 8299296: Write a test to verify the components selection sends ItemEvent
Backport-of: 5ae6de859d
2023-02-03 18:48:38 +00:00
Goetz Lindenmaier
37a15a1002 8286800: Assert in PhaseIdealLoop::dump_real_LCA is too strong
Backport-of: decb1b79bc
2023-02-03 10:13:26 +00:00
Goetz Lindenmaier
8547c8040e 8300773: Address the inconsistency between the constant array and pool size
Backport-of: a34f2d3728
2023-02-01 10:10:17 +00:00
Goetz Lindenmaier
b10ad197bf 8282036: Change java/util/zip/ZipFile/DeleteTempJar.java to stop HttpServer cleanly in case of exceptions
Backport-of: 784fa0add7
2023-02-01 10:07:05 +00:00
Goetz Lindenmaier
54692ca250 8209935: Test to cover CodeSource.getCodeSigners()
Backport-of: 0cb0ecf443
2023-02-01 10:00:28 +00:00
Goetz Lindenmaier
a6d4402a74 8217730: Split up MakeBase.gmk
Reviewed-by: phh
Backport-of: 1627166982
2023-02-01 09:12:08 +00:00
Matthias Baesken
727ae39586 8295405: Add cause in a couple of IllegalArgumentException and InvalidParameterException shown by sun/security/pkcs11 tests
Reviewed-by: phh
Backport-of: d5d34241e2
2023-02-01 08:05:14 +00:00
Christoph Langer
64d7622f8b 8301397: [11u, 17u] Bump jtreg to fix issue with build JDK 11.0.18
Reviewed-by: goetz
Backport-of: 0e98d6a81a
2023-01-31 09:40:22 +00:00
Elif Aslan
271c46b8c8 7188098: TEST_BUG: closed/javax/sound/midi/Synthesizer/Receiver/bug6186488.java fails
Backport-of: c640fe42c2
2023-01-30 16:32:36 +00:00
Goetz Lindenmaier
d183dc25f7 8295685: Update Libpng to 1.6.38
Backport-of: b685fc2de4
2023-01-30 08:59:53 +00:00
Goetz Lindenmaier
4e13da9908 8230374: maxOutputSize, instead of javatest.maxOutputSize, should be used in TEST.properties
Backport-of: 04d8069bac
2023-01-30 08:57:12 +00:00
Sergey Bylokhov
644b50e0bc 8294705: Disable an assertion in test/jdk/java/util/DoubleStreamSums/CompensatedSums.java
Backport-of: c08ff2c7b8
2023-01-27 17:26:39 +00:00
Sergey Bylokhov
60d46cdce2 8192931: Regression test java/awt/font/TextLayout/CombiningPerf.java fails
Backport-of: 54a29a4470
2023-01-27 17:20:14 +00:00
Masanori Yano
08e09c52a5 8144030: [macosx] test java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java fails (again)
Reviewed-by: serb
Backport-of: e5041ae3d4
2023-01-26 20:31:10 +00:00
Victor Rudometov
e1ca75ab8d 8208077: File.listRoots performance degradation
Backport-of: 5b0af1a80b
2023-01-26 16:18:33 +00:00
Sergey Bylokhov
3c51c43731 8280048: Missing comma in copyright header
Backport-of: 9a18190a4f
2023-01-26 14:09:03 +00:00
Sergey Bylokhov
c02f7fea72 6528710: sRGB-ColorSpace to sRGB-ColorSpace Conversion
Backport-of: abeddab991
2023-01-25 17:33:45 +00:00
Severin Gehwolf
684a870e4f 8300119: CgroupMetrics.getTotalMemorySize0() can report invalid results on 32 bit systems
Backport-of: dea58efb62
2023-01-25 10:27:19 +00:00
Goetz Lindenmaier
de8c37acea 8297951: C2: Create skeleton predicates for all If nodes in loop predication
Backport-of: 0bd04a6589
2023-01-25 09:00:14 +00:00
Goetz Lindenmaier
5b349eaf93 8297264: C2: Cast node is not processed again in CCP and keeps a wrong too narrow type which is later replaced by top
Backport-of: ba023c6bf3
2023-01-25 08:58:23 +00:00
Goetz Lindenmaier
9ef11ac262 8295788: C2 compilation hits "assert((mode == ControlAroundStripMined && use == sfpt) || !use->is_reachable_from_root()) failed: missed a node"
Backport-of: 761a4f4852
2023-01-25 08:55:55 +00:00
Goetz Lindenmaier
f999efd282 8287180: Update IANA Language Subtag Registry to Version 2022-08-08
Backport-of: 40b5f15c33
2023-01-25 08:51:44 +00:00
Goetz Lindenmaier
d1fb7b25c8 8285690: CloneableReference subtest should not throw CloneNotSupportedException
Backport-of: 2d8d140214
2023-01-25 08:49:06 +00:00
Goetz Lindenmaier
f4c5bdf0a5 8272985: Reference discovery is confused about atomicity and degree of parallelism
Reviewed-by: phh
Backport-of: fb5b144eca
2023-01-25 08:40:44 +00:00
Goetz Lindenmaier
e4fdd03917 8209115: adjust libsplashscreen linux ppc64le builds for easier libpng update
Backport-of: 8044814e30
2023-01-25 08:35:17 +00:00
Autumn Capasso
c9ce60b9d0 8261352: Create implementation for component peer for all the components who should be ignored in a11y interactions
Backport-of: e543a50098
2023-01-23 21:08:21 +00:00
Goetz Lindenmaier
0422f0585a 8300642: [17u,11u] Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev
Reviewed-by: clanger
Backport-of: b3e16fc287
2023-01-19 21:24:06 +00:00
Goetz Lindenmaier
f4eccbe1c7 8296619: Upgrade jQuery to 3.6.1
Reviewed-by: mbaesken
Backport-of: ead308168e
2023-01-18 14:11:28 +00:00
Goetz Lindenmaier
01b213899c 8297088: Update LCMS to 2.14
Reviewed-by: mbaesken
Backport-of: f2c3f352bb
2023-01-18 14:06:59 +00:00
Goetz Lindenmaier
972ff6fb64 8280896: java/nio/file/Files/probeContentType/Basic.java fails on Windows 11
Backport-of: f9137cb7b7
2023-01-18 13:58:37 +00:00
Goetz Lindenmaier
ee89e430e1 Merge 2023-01-18 11:55:49 +00:00
Goetz Lindenmaier
c1dfd3ee8f 8300424: [11u] Chunk lost in backport of 8297569
Reviewed-by: sgehwolf
2023-01-18 11:08:52 +00:00
Matthias Baesken
465b4f2e58 8298093: improve cleanup and error handling of awt_parseColorModel in awt_parseImage.c
Backport-of: 98fa48c330
2023-01-18 08:17:10 +00:00
Matthias Baesken
014c5ae90a 8297480: GetPrimitiveArrayCritical in imageioJPEG misses result - NULL check
Backport-of: 2f8a5c2eca
2023-01-18 08:16:03 +00:00
Severin Gehwolf
edf4fb0a00 8295211: Fix autoconf 2.71 warning "AC_CHECK_HEADERS: you should use literals"
Reviewed-by: phh
Backport-of: c357b5908a
2023-01-17 17:25:46 +00:00
Autumn Capasso
15cb63e0ea 8261350: Create implementation for NSAccessibilityCheckBox protocol peer
Backport-of: 2b00367e11
2023-01-17 17:02:35 +00:00
Goetz Lindenmaier
8dd8122d0c 8296924: C2: assert(is_valid_AArch64_address(dest.target())) failed: bad address
Backport-of: abe532a89c
2023-01-17 15:54:23 +00:00
Goetz Lindenmaier
6c3d4dff58 8283719: java/util/logging/CheckZombieLockTest.java failing intermittently
Backport-of: 74835f7389
2023-01-17 15:52:01 +00:00
Goetz Lindenmaier
b52d8ad547 8283717: vmTestbase/nsk/jdi/ThreadStartEvent/thread/thread001 failed due to SocketTimeoutException
Backport-of: f9f439a19d
2023-01-17 07:31:59 +00:00
Goetz Lindenmaier
9c684a103e 8294947: Use 64bit atomics in patch_verified_entry on x86_64
Reviewed-by: rrich
Backport-of: d0fae43e89
2023-01-16 19:22:16 +00:00
Goetz Lindenmaier
71e89e121c 8297569: URLPermission constructor throws IllegalArgumentException: Invalid characters in hostname after JDK-8294378
Backport-of: 2f47f83add
2023-01-16 19:09:32 +00:00
Goetz Lindenmaier
84583683b2 8294378: URLPermission constructor exception when using tr locale
Backport-of: ff2c987669
2023-01-16 17:51:59 +00:00
Goetz Lindenmaier
6faa77c414 8285835: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work
Reviewed-by: phh
Backport-of: 3e7f840859
2023-01-16 17:47:15 +00:00
Goetz Lindenmaier
c20794cd45 8267038: Update IANA Language Subtag Registry to Version 2022-03-02
Backport-of: 19f4f229849e8c19ba20b6875b3c2d25c71e7142
2023-01-16 17:40:44 +00:00
Goetz Lindenmaier
466edc09df 8214445: [test] java/net/URL/HandlerLoop has illegal reflective access
Backport-of: c03797a5d0
2023-01-16 17:37:10 +00:00
Sergey Bylokhov
7bbb6ba0c8 8299789: Compilation of gtest causes build to fail if runtime libraries are in different dirs
Backport-of: c8a8388aba
2023-01-15 06:55:38 +00:00
Matthias Baesken
b3cf0cf9fc 8209023: fix 2 compiler tests to avoid JDK-8208690
Backport-of: 77204ca163
2023-01-13 07:54:00 +00:00
Autumn Capasso
ba60e61ca2 8261351: Create implementation for NSAccessibilityRadioButton protocol
Backport-of: 6badd22e66
2023-01-11 16:05:03 +00:00
Severin Gehwolf
9c3f547f78 8298271: java/security/SignedJar/spi-calendar-provider/TestSPISigned.java failing on Windows
Backport-of: cf93933e21
2023-01-10 10:30:51 +00:00
Severin Gehwolf
03555b1119 8298108: Add a regression test for JDK-8297684
Backport-of: 4da8411674
2023-01-10 09:53:00 +00:00
Christoph Langer
50b3039415 8299393: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.18
Reviewed-by: goetz
2023-01-10 09:32:35 +01:00
Goetz Lindenmaier
ca23550982 8295412: support latest VS2022 MSC_VER in abstract_vm_version.cpp
Backport-of: bca7ab3c11
2023-01-09 16:38:23 +00:00
Goetz Lindenmaier
e92b7c3e45 8290964: C2 compilation fails with assert "non-reduction loop contains reduction nodes"
Backport-of: 4bdd1c9148
2023-01-09 16:29:54 +00:00
Goetz Lindenmaier
369dedbaf5 8293996: C2: fix and simplify IdealLoopTree::do_remove_empty_loop
Backport-of: dd51f7e0b7
2023-01-09 16:24:27 +00:00
Goetz Lindenmaier
75f695f688 8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR
8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java

Backport-of: cf6c041bd8
2023-01-09 17:01:12 +01:00
Goetz Lindenmaier
80eecc50e6 8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR
8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java

Backport-of: cf6c041bd8
2023-01-09 15:58:23 +00:00
Goetz Lindenmaier
e1cba983e2 8296239: ISO 4217 Amendment 174 Update
Backport-of: fd83764981
2023-01-09 16:55:41 +01:00
Aleksey Shipilev
a288e74b70 8299616: [11u] Bootcycle build fails after JDK-8257679 backport
Reviewed-by: andrew, clanger
2023-01-09 15:28:05 +01:00
Alexei Voitylov
ba9a70cf12 8289350: Better media supports
Reviewed-by: mbalao
2023-01-09 15:25:28 +01:00
Autumn Capasso
dfcf7c1c29 8256111: Create implementation for NSAccessibilityStaticText protocol
Reviewed-by: phh
Backport-of: acbcde8c3c
2023-01-07 17:24:05 +00:00
Dhamoder Nalla
06f769a2f8 8292863: assert(_print_inlining_stream->size() > 0) failed: missing inlining msg
Reviewed-by: phh
2023-01-06 05:18:10 +00:00
Joshua Cao
1d78ce4d8a 8221351: Crash in KlassFactory::check_shared_class_file_load_hook
Reviewed-by: clanger
Backport-of: e2ffa15762
2023-01-05 23:26:47 +00:00
Goetz Lindenmaier
3c2763f9bc 8195716: BootstrapLoggerTest : Executor still alive
Make sure the test joins the active executor thread before waiting for the executor to be GC'ed.

Backport-of: 2aace6bd97
2023-01-05 21:15:30 +00:00
Goetz Lindenmaier
decfc86053 8217353: java/util/logging/LogManager/Configuration/updateConfiguration/HandlersOnComplexResetUpdate.java fails with Unexpected reference: java.lang.ref.WeakReference
Instrumented the test to relay the original exception as a suppressed exception of the secondary one, increased sleep time, adjusted iteration numbers according to timeout factor.

Backport-of: 4ca19585c3
2023-01-05 21:13:45 +00:00
Goetz Lindenmaier
dc5590f2e9 8213932: [TESTBUG] assertEquals is invoked with the arguments in the wrong order
Backport-of: d98fe57b18
2023-01-05 21:11:00 +00:00
Goetz Lindenmaier
1713cf1f44 8215759: [test] java/math/BigInteger/ModPow.java can throw an ArithmeticException
Backport-of: fedf0767fc
2023-01-05 21:03:20 +00:00
Goetz Lindenmaier
13eadde75b 8215372: test/jdk/java/nio/file/DirectoryStream/Basic.java not correct when using a glob
Backport-of: d1951aa97c
2023-01-05 21:00:32 +00:00
Goetz Lindenmaier
ff60b34881 8296239: ISO 4217 Amendment 174 Update
Backport-of: fd83764981
2023-01-05 07:54:00 +00:00
Aleksey Shipilev
60732964fd 8299616: [11u] Bootcycle build fails after JDK-8257679 backport
Reviewed-by: andrew, clanger
2023-01-04 21:57:28 +00:00
Martin Balao
9f00921b91 8295723: security/infra/wycheproof/RunWycheproof.java fails with Assertion Error
Reviewed-by: mbaesken
Backport-of: e94ca7d3fc9b5946d5b808f98e334529054c4f39
2023-01-04 14:48:04 +01:00
Martin Balao
25b2407a2a 8293554: Enhanced DH Key Exchanges
Reviewed-by: mbaesken
Backport-of: ca126c9025ad975d9086d5f967d35a76425c13ca
2023-01-04 14:28:31 +01:00
Goetz Lindenmaier
52737cd0da 8280401: [sspi] gss_accept_sec_context leaves output_token uninitialized
Backport-of: 6352c020c2
2023-01-04 10:30:21 +00:00
Goetz Lindenmaier
d8450efaca 8271506: Add ResourceHashtable support for deleting selected entries
Reviewed-by: mbaesken
Backport-of: 0b51fe2bce
2023-01-04 10:27:25 +00:00
Goetz Lindenmaier
d2c8326ac7 8210373: Deadlock in libj2gss.so when loading "j2gss" and "net" libraries in parallel.
Backport-of: 991f7c1303
2023-01-04 10:25:53 +00:00
Joshua Cao
62191cd7e1 8221621: FindTests.gmk cannot handle "=" in TEST.groups comments
Backport-of: 88db8649df
2023-01-03 17:46:05 +00:00
Roman Marchenko
f9f3fcb9e5 8299445: EndingDotHostname.java fails because of compilation errors
Reviewed-by: mdoerr
2023-01-03 10:16:25 +00:00
Goetz Lindenmaier
f6aef8aa14 8065097: [macosx] javax/swing/Popup/TaskbarPositionTest.java fails because Popup is one pixel off
Backport-of: 649f2d8835
2023-01-02 11:48:53 +00:00
Goetz Lindenmaier
d1f6bd1690 8285399: JNI exception pending in awt_GraphicsEnv.c:1432
Backport-of: c156bcc599
2023-01-02 11:44:49 +00:00
Goetz Lindenmaier
c898a3ed88 8284023: java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo
Backport-of: ec205f68a8
2023-01-02 11:41:52 +00:00
Goetz Lindenmaier
5971a6a725 8280391: NMT: Correct NMT tag on CollectedHeap
Backport-of: 44db4794d2
2023-01-02 11:40:07 +00:00
Goetz Lindenmaier
984e4565c0 8256934: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit
Backport-of: 9ad19f7838
2023-01-02 11:38:29 +00:00
Goetz Lindenmaier
d52365e876 8230731: SA tests fail with "Windbg Error: ReadVirtual failed"
Backport-of: c6c1f9bad9
2023-01-02 11:35:11 +00:00
Goetz Lindenmaier
ffc2cedb41 8212216: JGSS: Fix leak in exception cases in getJavaOID()
Backport-of: 10027304cd
2023-01-02 11:31:09 +00:00
Goetz Lindenmaier
4c2ff08466 8212165: JGSS: Fix cut/paste error in NativeUtil.c
Backport-of: 2a10506942
2023-01-02 11:29:17 +00:00
Sergey Bylokhov
7f2cea1626 8213130: Update ProblemList after verification of jtreg tests in Win 7
Backport-of: 04104ceaea
2022-12-30 08:16:34 +00:00
Sergey Bylokhov
4640c05b2d 8255710: Opensource unit/regression tests for CMM
Backport-of: 98ccfbf469
2022-12-29 21:31:42 +00:00
Sergey Bylokhov
a3f37e5b5c 8298027: Remove SCCS id's from awt jtreg tests
Backport-of: ba2d28e911
2022-12-29 12:59:57 +00:00
Sergey Bylokhov
96fded9518 8293767: AWT test TestSinhalaChar.java has old SCCS markings
Backport-of: 141d5f5dee
2022-12-29 12:59:03 +00:00
Alexei Voitylov
211530564c 8295687: Better BMP bounds
Reviewed-by: mbaesken, mbalao
Backport-of: 4df2fd2d1ca8ed73de6ac8b2f6a51ff93e3dac6d
2022-12-28 22:06:52 +01:00
Aleksei Voitylov
b46279bb15 8293742: Better Banking of Sounds
Reviewed-by: mbaesken, mbalao
Backport-of: f1de79f38fcff10ccaf232f79df0a94e84751ff7
2022-12-28 19:06:31 +01:00
Rui Li
5fd24c4c0b 8293734: Improve BMP image handling
Reviewed-by: mbaesken, mbalao
Backport-of: 40959ac32b81c333f04628be227107762b78a7da
2022-12-28 19:00:04 +01:00
Yuri Nesterenko
d351595b93 8293717: Objective view of ObjectView
Reviewed-by: mbaesken, mbalao
Backport-of: fb692840530fa07174f9ad5c9f77d593e503a155
2022-12-28 18:49:18 +01:00
Yuri Nesterenko
572639f779 8293598: Enhance InetAddress address handling
Reviewed-by: mbalao
Backport-of: a2668f58ccc3b7c7d74e2903128b08d97aac5798
2022-12-28 18:42:19 +01:00
Yuri Nesterenko
bf2d083f6f 8288516: Enhance font creation
Reviewed-by: mbaesken, mbalao
Backport-of: 4c7b057380d7656c8c275b526d1918de6a625cc4
2022-12-28 16:32:20 +01:00
Alexey Bakhtin
57f29406b9 8287411: Enhance DTLS performance
Reviewed-by: mbalao
Backport-of: 911c24564444096c0c98f6dc308220d48b42d6d3
2022-12-28 14:31:46 +01:00
Martin Balao
fde6e89f8b 8286496: Improve Thread labels
Reviewed-by: mbaesken, avoitylov
Backport-of: e733e55de88e63e129f15edefc602c050339b38a
2022-12-28 14:18:12 +01:00
Martin Balao
b9c29ca1fe 8286070: Improve UTF8 representation
Reviewed-by: mbaesken
Backport-of: 3c40771d02b34027b53c8f3097e124ac9eddd030
2022-12-28 14:09:57 +01:00
Goetz Lindenmaier
b5e97eebba Merge 2022-12-28 09:43:16 +00:00
Nagata, Haruhito
4895d4ce5e 8283606: Tests may fail with zh locale on MacOS
Reviewed-by: clanger
Backport-of: 7d545084f4
2022-12-27 22:05:55 +00:00
Karm Michal Babacek
ce10688829 8245245: WebSocket can lose the URL encoding of URI query parameters
8298588: WebSockets: HandshakeUrlEncodingTest unnecessarily depends on a response body

The fix updates jdk.internal.net.http.websocket.OpeningHandshake to avoid double encoding and decoding of URL

Reviewed-by: phh, sgehwolf
Backport-of: c07ce7eec7
2022-12-27 21:55:29 +00:00
Sergey Bylokhov
c46dcc56aa 8252715: Problem list java/awt/event/KeyEvent/KeyTyped/CtrlASCII.java on Linux
Backport-of: d0f4366a85
2022-12-26 23:16:48 +00:00
Severin Gehwolf
445ab52195 8280890: Cannot use '-Djava.system.class.loader' with class loader in signed JAR
Reviewed-by: clanger
Backport-of: a0f6f2409e
2022-12-23 10:32:01 +00:00
Christoph Langer
ca49dbf399 8298527: Cygwin's uname -m returns different string than before
Backport-of: 1da982b4f4
2022-12-23 08:46:16 +00:00
Christoph Langer
bcda0410a9 8256240: Reproducible builds should turn on the "deterministic" flag for Visual Studio
8281262: Windows builds in different directories are not fully reproducible

Reviewed-by: phh
Backport-of: b0485b9632
2022-12-23 08:28:28 +00:00
Christoph Langer
ffea91377b 8244592: Start supporting SOURCE_DATE_EPOCH
Reviewed-by: mbaesken
Backport-of: 1a16a4b628
2022-12-22 10:23:56 +00:00
Roman Marchenko
3e65a7c5d3 8282511: Use fixed certificate validation date in SSLExampleCert template
Backport-of: 268fa69318
2022-12-22 08:01:50 +00:00
Matthias Baesken
23aeca9be6 8296611: Problemlist several sun/security tests until JDK-8295343 is resolved
Backport-of: d6e2d0d03d
2022-12-21 12:56:13 +00:00
Roman Marchenko
a3d0522910 8282398: EndingDotHostname.java test fails because SSL cert expired
Backport-of: afd4bcbc1d
2022-12-21 10:57:43 +00:00
Goetz Lindenmaier
c356873bff Merge 2022-12-21 09:09:45 +00:00
Denghui Dong
6a4603f829 8283870: jdeprscan --help causes an exception when the locale is ja, zh_CN or de
Reviewed-by: clanger
Backport-of: ef25e189c7
2022-12-21 06:31:51 +00:00
Roman Marchenko
31b51844bc 8065422: Trailing dot in hostname causes TLS handshake to fail with SNI disabled
Backport-of: a95ee5ada2
2022-12-20 10:41:41 +00:00
Severin Gehwolf
2a5ae36da2 8289695: [TESTBUG] TestMemoryAwareness.java fails on cgroups v2 and crun
Backport-of: ac6be16519
2022-12-20 10:23:37 +00:00
Sergey Bylokhov
dba3022721 8238936: The crash in XRobotPeer when the custom GraphicsDevice is used
Backport-of: 9d0a4875d7
2022-12-20 08:53:38 +00:00
Sergey Bylokhov
1acc508f2e 8274939: Incorrect size of the pixel storage is used by the robot on macOS
Reviewed-by: clanger
Backport-of: eff5dafba9
2022-12-20 01:07:05 +00:00
Autumn Capasso
3990eb2507 8256110: Create implementation for NSAccessibilityStepper protocol
Backport-of: 5dc5d9401e
2022-12-19 21:50:51 +00:00
George Adams
674218b0b0 8287906: Rewrite of GitHub Actions (GHA) sanity tests
8288499: Restore cancel-in-progress in GHA

Reviewed-by: phh, clanger
Backport-of: 881ff368ce
2022-12-19 09:29:52 +00:00
Christoph Langer
8a4915e5e0 8296904: Improve handling of macos xcode toolchain
Reviewed-by: mbaesken
Backport-of: 57e6d92a6d
2022-12-19 09:12:15 +00:00
Sergey Bylokhov
5f4b38a490 8290899: java/lang/String/StringRepeat.java test requests too much heap on windows x86
Backport-of: 2bb727c4ea
2022-12-19 08:21:21 +00:00
Aleksei Voitylov
88954e1e81 8298737: 8296772 backport to jdk11u caused build error on sparc
Reviewed-by: goetz
2022-12-19 08:16:53 +00:00
Richard Reingruber
3f66b16257 8294580: frame::interpreter_frame_print_on() crashes if free BasicObjectLock exists in frame
Reviewed-by: mdoerr
Backport-of: bdb4ed0fb1
2022-12-15 08:23:30 +00:00
Matthias Baesken
01f5a19710 8287011: Improve container information
Backport-of: e60939850e
2022-12-15 07:54:11 +00:00
Andrew John Hughes
77d919a870 8297804: (tz) Update Timezone Data to 2022g
Backport-of: ce896731d3
2022-12-15 01:46:14 +00:00
Pankaj Bansal
12eca2f8ac 8256126: Create implementation for NSAccessibilityImage protocol peer
Backport-of: bbb93ca3c8
2022-12-14 18:58:31 +00:00
Christoph Langer
b3c7b287c3 8298459: Fix msys2 linking and handling out of tree build directory for source zip creation
Reviewed-by: mdoerr
Backport-of: d624debe23
2022-12-14 17:10:31 +00:00
Christoph Langer
604dd4d9c6 8179317: [TESTBUG] rewrite runtime shell tests in java
8247741: Test  test/hotspot/jtreg/runtime/7162488/TestUnrecognizedVmOption.java fails when -XX:+IgnoreUnrecognizedVMOptions is set

Converted shell tests to Java

Reviewed-by: mdoerr
Backport-of: ccb4ab5499
2022-12-14 16:56:36 +00:00
Christoph Langer
7d50d5199b 8259267: Refactor LoaderLeak shell test as java test.
8225648: [TESTBUG] java/lang/annotation/loaderLeak/Main.java fails with -Xcomp

Reviewed-by: mdoerr
Backport-of: 75aa15467e
2022-12-14 16:37:47 +00:00
Goetz Lindenmaier
e5c800c5ad Merge 2022-12-14 07:51:31 +00:00
Sergey Bylokhov
9197181f4e 8296878: Document Filter attached to JPasswordField and setText("") is not cleared instead inserted characters replaced with unicode null characters
Reviewed-by: phh
Backport-of: 87f00f4a1b
2022-12-12 09:25:42 +00:00
Christoph Langer
6400cdc724 8258005: JDK build fails with incorrect fixpath script
Reviewed-by: phh
Backport-of: 07399029d7
2022-12-09 17:36:57 +00:00
Goetz Lindenmaier
89f9f91d3a 8297257: Bump update version for OpenJDK: jdk-11.0.19
Reviewed-by: sgehwolf
2022-12-07 09:16:30 +00:00
Dan Lutker
07399029d7 8258005: JDK build fails with incorrect fixpath script
Backport-of: 0890620c94
2022-12-06 21:40:19 +00:00
Andrew John Hughes
87c8450c3e 8293834: Update CLDR data following tzdata 2022c update
Reviewed-by: sgehwolf
Backport-of: e10231248fc100f9dfa08468ac897f60b843857f
2022-12-06 16:45:50 +00:00
Andrew Haley
dbd378c4a1 8297656: AArch64: Enable AES/GCM Intrinsics
Reviewed-by: adinn
2022-12-02 12:13:50 +00:00
Matthias Baesken
5fdb254e0f 8297147: UnexpectedSourceImageSize test times out on slow machines when fastdebug is used
Backport-of: 88957a7ce8
2022-12-02 10:09:19 +00:00
Matthias Baesken
da9de48899 8296715: CLDR v42 update for tzdata 2022f
Reviewed-by: mdoerr, yan
Backport-of: b8e815b6fe0f4818628d8df05f398e92355e35fb
2022-12-02 08:34:57 +00:00
Victor Rudometov
dcc318c78d 8297481: Create a regression test for JDK-4424517
Backport-of: e2d71c0a0d
2022-12-01 16:01:52 +00:00
Matthias Baesken
0bf122c006 8292778: EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free
Backport-of: 996c0e9317
2022-12-01 13:54:47 +00:00
Sergey Bylokhov
31666ecc02 8296957: One more cast in SAFE_SIZE_NEW_ARRAY2
Backport-of: fb6c992f32
2022-12-01 10:34:01 +00:00
Sergey Bylokhov
f643709b39 8296496: Overzealous check in sizecalc.h prevents large memory allocation
Backport-of: 84e12244a4
2022-11-30 23:09:26 +00:00
Liam Miller-Cushon
09d50d9d92 8222091: Javadoc does not handle package annotations correctly on package-info.java
Reviewed-by: clanger
Backport-of: 4d08dd703e
2022-11-30 22:02:17 +00:00
Johannes Bechberger
13bcc231c5 8285794: AsyncGetCallTrace might acquire a lock via JavaThread::thread_from_jni_environment
Reviewed-by: phh
2022-11-30 17:13:26 +00:00
George Adams
b5555c1915 8280863: Update build README to reflect that MSYS2 is supported
Reviewed-by: clanger
Backport-of: 204e67a7ad
2022-11-25 18:41:16 +00:00
Zdenek Zambersky
178b400267 8295952: Problemlist existing compiler/rtm tests also on x86
Backport-of: 3f2f128af6
2022-11-25 16:01:45 +00:00
George Adams
bc704daea5 8268860: Windows-Aarch64 build is failing in GitHub actions
Reviewed-by: clanger
Backport-of: acc3d99535
2022-11-25 11:42:15 +00:00
George Adams
af27be332f 8287724: Fix various issues with msys2
Reviewed-by: clanger
Backport-of: 2e21c87fac
2022-11-25 11:41:24 +00:00
Zdenek Zambersky
99b722d797 8226236: win32: gc/metaspace/TestCapacityUntilGCWrapAround.java fails
Backport-of: 038f58d4f0
2022-11-25 11:35:08 +00:00
George Adams
7f440c2849 8259485: Document need for short paths when building on Windows
Backport-of: 2243a1703b
2022-11-25 08:49:49 +00:00
George Adams
40f4fc2da8 8257679: Improved unix compatibility layer in Windows build (winenv)
8260272: bash configure --prefix does not work after JDK-8257679

Reviewed-by: clanger
Backport-of: d29c78da19
2022-11-25 08:48:16 +00:00
Victor Rudometov
382ac6b955 8297241: Update sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java
8297153: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails again

Backport-of: 3c0949824e
2022-11-24 17:37:43 +00:00
Victor Rudometov
c488e046f3 8022403: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails
Backport-of: 65f7de2523
2022-11-22 20:30:13 +00:00
Victor Rudometov
597a8009de 8285604: closed sun/java2d/GdiRendering/ClipShapeRendering.java failed with "Incorrect color ffeeeeee instead of ff0000ff in pixel (100, 100)"
Backport-of: c56c69ed3e
2022-11-22 17:13:59 +00:00
Victor Rudometov
57111978d2 8178698: javax/sound/midi/Sequencer/MetaCallback.java failed with timeout
Reviewed-by: phh
Backport-of: 43ce047f9f
2022-11-22 17:12:40 +00:00
George Adams
18055b84a4 8287896: PropertiesTest.sh fail on msys2
Backport-of: f1dd559e20
2022-11-22 12:14:11 +00:00
George Adams
3bdd37064e 8287895: Some langtools tests fail on msys2
Backport-of: f7791ad0ea
2022-11-22 12:13:26 +00:00
George Adams
f27d48ec6e 8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows
Backport-of: 975316e3e5
2022-11-22 10:33:41 +00:00
Johannes Bechberger
7340e1bdc0 8287425: Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path
Reviewed-by: phh
Backport-of: b5a646ee6c
2022-11-22 10:29:00 +00:00
Victor Rudometov
7964440dd3 8286624: Regression Test CoordinateTruncationBug.java fails on OL8.3
Backport-of: c71d87e54c
2022-11-21 22:59:06 +00:00
Victor Rudometov
14592778b1 8296632: Write a test to verify the content change of TextArea sends TextEvent
Backport-of: 59a308b9d0
2022-11-21 22:43:02 +00:00
Aleksey Shipilev
5d9c09b8f1 8283199: Linux os::cpu_microcode_revision() stalls cold startup
Reviewed-by: stuefe
Backport-of: 1443f6b919
2022-11-21 08:44:39 +00:00
Severin Gehwolf
7e6c47dd9b 8294740: Add cgroups keyword to TestDockerBasic.java
Backport-of: ae79af2ad6
2022-11-18 13:44:12 +00:00
Severin Gehwolf
9eac68b4cc 8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts
Backport-of: 6d83482a6b
2022-11-18 13:06:26 +00:00
Severin Gehwolf
7706fa81f5 8293472: Incorrect container resource limit detection if manual cgroup fs mounts present
Backport-of: 8f3bbe950f
2022-11-18 10:55:52 +00:00
Goetz Lindenmaier
4ee685a92a 8029633: Raw inner class constructor ref should not perform diamond inference
Backport-of: 6707bfbc15
2022-11-18 09:22:16 +00:00
George Adams
1f17371681 8296652: Restore windows aarch64 fixpath patch that was removed in 8239708
Reviewed-by: clanger
2022-11-17 22:13:21 +00:00
Autumn Capasso
50437846be 8256109: Create implementation for NSAccessibilityButton protocol
Reviewed-by: phh
Backport-of: ae9187d757
2022-11-17 20:11:24 +00:00
Matthias Baesken
55354dde48 8264666: Change implementation of safeAdd/safeMult in the LCMSImageLayout class
Reviewed-by: phh
Backport-of: 3ef9ce6c02
2022-11-16 12:49:48 +00:00
Roland Westrelin
1549bb1ecf 8288302: Shenandoah: SIGSEGV in vm maybe related to jit compiling xerces
Backport-of: 5977ce5adf
2022-11-16 12:30:13 +00:00
Goetz Lindenmaier
b7b00f7fb4 8296108: (tz) Update Timezone Data to 2022f
Backport-of: 46c908b7f2d9778f4793fbf9c2261a6d41122743
2022-11-15 15:19:13 +00:00
Goetz Lindenmaier
e3eccbcbc2 8294307: ISO 4217 Amendment 173 Update
Backport-of: 4b60ed4d08d6e4cfb26bde2533b6f06b8bf3fa25
2022-11-15 15:17:14 +00:00
Goetz Lindenmaier
954a6e4834 8286872: Refactor add/modify notification icon (TrayIcon)
Backport-of: 9f562ef754
2022-11-15 15:15:18 +00:00
Goetz Lindenmaier
f2f7be92a0 8202836: [macosx] test java/awt/Graphics/TextAAHintsTest.java fails
Backport-of: f399ae558e
2022-11-15 12:58:16 +00:00
Goetz Lindenmaier
8a40a9cf54 8274029: Remove jtreg tag manual=yesno for java/awt/print/Dialog/DialogOrient.java
Backport-of: 296f8537f7
2022-11-15 10:19:31 +00:00
Goetz Lindenmaier
7e0603f2a8 8274456: Remove jtreg tag manual=yesno java/awt/print/PrinterJob/PageDialogTest.java
Backport-of: d57fb6f684
2022-11-15 08:57:47 +00:00
Zdenek Zambersky
5d28a71c1f 8295714: GHA ::set-output is deprecated and will be removed
Reviewed-by: phh
Backport-of: b35922be6d
2022-11-14 14:19:58 +00:00
Martin Doerr
d2af6538c0 8295872: [PPC64] JfrGetCallTrace: Need pc == nullptr check before frame constructor
Reviewed-by: phh
Backport-of: 3486bb2f8f
2022-11-14 07:55:06 +00:00
Goetz Lindenmaier
3b7f045cd4 8296480: java/security/cert/pkix/policyChanges/TestPolicy.java is failing
Backport-of: b6ea69c06a
2022-11-11 10:24:22 +00:00
Goetz Lindenmaier
338f9af9aa 8255439: System Tray icons get corrupted when Windows scaling changes
Backport-of: 8323787c07
2022-11-11 10:03:21 +00:00
William Kemper
03fa47127f 8277497: Last column cell in the JTable row is read as empty cell
Backport-of: 70bad89b01
2022-11-11 07:49:28 +00:00
Johannes Bechberger
7c664bcd82 8282306: os::is_first_C_frame(frame*) crashes on invalid link access
Reviewed-by: mdoerr
Backport-of: 999da9bfc5
2022-11-10 08:56:29 +00:00
Victor Rudometov
ca885ee2a7 8296485: BuildEEBasicConstraints.java test fails with SunCertPathBuilderException
Backport-of: 520db1eeb1
2022-11-09 17:40:32 +00:00
Christoph Langer
dde20e471d 8288132: Update test artifacts in QuoVadis CA interop tests
Backport-of: 3ee1e60595
2022-11-09 13:11:48 +00:00
Jan Kratochvil
6664437b46 8268361: Fix the infinite loop in next_line
Backport-of: 72672277e4
2022-11-09 08:33:48 +00:00
Matthias Baesken
c09c43375f 8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures
Reviewed-by: goetz
Backport-of: 699c42962e
2022-11-08 13:14:51 +00:00
Goetz Lindenmaier
03e1247274 8273685: Remove jtreg tag manual=yesno for java/awt/Graphics/LCDTextAndGraphicsState.java & show test instruction
Backport-of: 2a2e9190d4
2022-11-08 13:12:51 +00:00
Victor Rudometov
df9c46aef4 8261445: Use memory_order_relaxed for os::random().
Reviewed-by: phh
Backport-of: a25bae8239
2022-11-07 18:48:35 +00:00
Christoph Langer
8f5ae914eb 8277881: Missing SessionID in TLS1.3 resumption in compatibility mode
Backport-of: 9d99a377bf
2022-11-07 14:03:57 +00:00
Christoph Langer
f07e69187b 8277970: Test jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java fails with "tag mismatch"
Backport-of: d1252653b0
2022-11-07 14:00:26 +00:00
Goetz Lindenmaier
3e3f66552d 8293826: Closed test fails after JDK-8276108 on aarch64
11u backport of JDK-8278417

Reviewed-by: aph
Backport-of: 62eb5ae268
2022-11-07 12:39:23 +00:00
Goetz Lindenmaier
ca988a65c6 8273236: keytool does not accurately warn about algorithms that are disabled but have additional constraints
Reviewed-by: mbaesken
Backport-of: c9c8564d7c
2022-11-07 12:37:37 +00:00
Sergey Bylokhov
188ab5910f 8295554: Move the "sizecalc.h" to the correct location
Backport-of: 6673cd8577
2022-11-04 08:21:00 +00:00
Goetz Lindenmaier
f24340a8e0 8292682: Code change of JDK-8282730 not updated to reflect CSR update
Backport-of: 74d3330e10
2022-11-04 08:17:30 +00:00
Goetz Lindenmaier
6b2e6aef6f 8282730: LdapLoginModule throw NPE from logout method after login failure
Backport-of: 554f44ecb1
2022-11-04 07:57:11 +00:00
Goetz Lindenmaier
d403e0d02b 8284771: java/util/zip/CloseInflaterDeflaterTest.java failed with "AssertionError: Expected IOException to be thrown, but nothing was thrown"
Reviewed-by: mbaesken
Backport-of: 7891085a87
2022-11-04 07:55:30 +00:00
Goetz Lindenmaier
13c07e6218 8257722: Improve "keytool -printcert -jarfile" output
Reviewed-by: phh
Backport-of: de93b1d0e8
2022-11-04 07:54:10 +00:00
Goetz Lindenmaier
7c5f9c6831 8295429: Update harfbuzz md file
Backport-of: cb9289ed75
2022-11-03 16:08:19 +00:00
Goetz Lindenmaier
3b40d21343 8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950
Reviewed-by: phh
Backport-of: 77b0240d44
2022-11-03 15:26:16 +00:00
Goetz Lindenmaier
182173afe3 8280950: RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix
Reviewed-by: phh
Backport-of: 0e70d4504c
2022-11-03 15:02:25 +00:00
Goetz Lindenmaier
91f1538246 8280550: SplittableRandom#nextDouble(double,double) can return result >= bound
Reviewed-by: phh
Backport-of: 0c42e43f77
2022-11-03 14:12:29 +00:00
Joshua Cao
82c9cf2c3f 8199290: [TESTBUG] sun.hotspot.WhiteBox$WhiteBoxPermission is not copied
Reviewed-by: phh
Backport-of: 8b2453f93b
2022-11-02 17:11:54 +00:00
Victor Rudometov
5c454ae994 8287826: javax/accessibility/4702233/AccessiblePropertiesTest.java fails to compile
Backport-of: 005a330387
2022-11-01 17:33:27 +00:00
Ichiroh Takiguchi
b928a88fd5 8292899: CustomTzIDCheckDST.java testcase failed on AIX platform
Backport-of: 3464019d7e
2022-11-01 04:50:09 +00:00
Victor Rudometov
7067c7ccf5 8272123: Problem list 4 jtreg tests which regularly fail on macos-aarch64
Reviewed-by: serb
Backport-of: 2e9ef14ee4
2022-10-31 16:56:45 +00:00
Victor Rudometov
1f618ab43c 8285373: Create an automated test for JDK-4702233
8285373: Create an automated test for JDK-4702233

Backport-of: 6f526e1bc3
2022-10-31 15:53:45 +00:00
Joshua Cao
b9b5e526d6 8273578: javax/swing/JMenu/4515762/bug4515762.java fails on macOS 12
Reviewed-by: phh
Backport-of: 45adc9227a
2022-10-30 16:30:51 +00:00
Joshua Cao
429cbc4854 8295288: Some vm_flags tests associate with a wrong BugID
Backport-of: 3dbc38a2c9
2022-10-30 16:29:08 +00:00
Victor Rudometov
0b0529e6a1 8280948: Write a regression test for JDK-4659800
Backport-of: 66b2c3b66e
2022-10-29 22:44:49 +00:00
Victor Rudometov
0f08e3c46b 8282402: Create a regression test for JDK-4666101
Backport-of: 1581e3faa0
2022-10-29 22:43:27 +00:00
Victor Rudometov
5ecd16d284 8233648: [TESTBUG] DefaultMenuBarTest.java failing on macos
Backport-of: 46b5bfbc38
2022-10-29 22:39:22 +00:00
Christoph Langer
18631ef992 8280158: New test from JDK-8274736 failed with/without patch in JDK11u
Reviewed-by: djelinski, stuefe, mdoerr
2022-10-29 12:16:51 +00:00
Anton Kozlov
cb5e61162b 8222251: preflow visitor is not visiting lambda expressions
Backport-of: 40155b14cd
2022-10-28 09:09:12 +00:00
Goetz Lindenmaier
3c1e0cf887 8274296: Update or Problem List tests which may fail with uiScale=2 on macOS
Backport-of: c59f741276
2022-10-25 19:26:25 +00:00
Goetz Lindenmaier
d30cbebdb5 8261336: IGV: enhance default filters
Add filters to color and hide parts of the graph based on node categories or
estimated execution frequency, and simplify remaining filters.

Reviewed-by: phh
Backport-of: 16bd7d381f
2022-10-25 19:24:37 +00:00
Goetz Lindenmaier
19b9fde597 8228672: [TESTBUG] gc/metaspace/TestSizeTransitions.java fails on 32-bit platforms
Reviewed-by: phh
Backport-of: 1ed64c2a95
2022-10-25 18:58:28 +00:00
Alexey Pavlyutkin
70ddb1b025 8295322: Tests for JDK-8271459 were not backported to 11u
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: phh
2022-10-25 10:29:59 +00:00
Goetz Lindenmaier
8608557bd4 8227179: Test for new gc+metaspace=info output format
Backport-of: c0f6ce7c54
2022-10-25 10:18:52 +00:00
Sergey Bylokhov
87853b0194 8284690: [macos] VoiceOver : Getting java.lang.IllegalArgumentException: Invalid location on Editable JComboBox
Backport-of: ebfa27b9f0
2022-10-24 20:15:28 +00:00
Aleksey Shipilev
37d3bbd603 8295469: S390X: Optimized builds are broken
Backport-of: 7b2e83b395
2022-10-21 07:36:06 +00:00
William Kemper
a2b2a2292c 8288445: AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding
Reviewed-by: phh
Backport-of: b4490386fe
2022-10-20 16:01:15 +00:00
Goetz Lindenmaier
54651057b8 8295641: Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev
Reviewed-by: clanger
Backport-of: 2f2b914794
2022-10-19 08:23:11 +00:00
Goetz Lindenmaier
bd92c2fa02 Merge 2022-10-19 07:08:02 +00:00
Andrew John Hughes
f688a0ff9d 8295173: (tz) Update Timezone Data to 2022e
Backport-of: 21407dec01
2022-10-18 18:56:15 +00:00
Goetz Lindenmaier
62aee6f50e 8030121: java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java fails
Backport-of: 9a3cb93038
2022-10-18 11:58:03 +00:00
Goetz Lindenmaier
b919240d11 8266967: debug.cpp utility find() should print Java Object fields.
Reviewed-by: mdoerr
Backport-of: 5e557d8650
2022-10-18 09:54:28 +00:00
Martin Doerr
b092d77b37 8291461: assert(false) failed: bad AD file
Reviewed-by: goetz
2022-10-17 05:49:11 +00:00
Martin Doerr
7a90ff2800 8289043: C2: Vector constant materialization attempt
Reviewed-by: goetz
2022-10-17 05:47:26 +00:00
Goetz Lindenmaier
3dec4fc30b 8293672: Update freetype md file
Backport-of: fef345b19f
2022-10-16 18:10:03 +00:00
Goetz Lindenmaier
887eed36bb 8290529: C2: assert(BoolTest(btest).is_canonical()) failure
Reviewed-by: phh
Backport-of: 77e21c57ce
2022-10-16 18:08:22 +00:00
Goetz Lindenmaier
e8b7e77c8b 8227651: Tests fail with SSLProtocolException: Input record too big
8212096: javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch

Backport-of: 7b029ea6ba
2022-10-16 18:06:50 +00:00
Goetz Lindenmaier
9b7f3f930f 8282642: vmTestbase/gc/gctests/LoadUnloadGC2/LoadUnloadGC2.java fails intermittently with exit code 1
Reviewed-by: phh
Backport-of: 7db5abddd1
2022-10-14 15:55:04 +00:00
Goetz Lindenmaier
192179ee64 8169187: [macosx] Aqua: java/awt/image/multiresolution/MultiresolutionIconTest.java
Backport-of: 90257f9505
2022-10-14 15:52:49 +00:00
Goetz Lindenmaier
7655988ef4 8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph
Reviewed-by: mdoerr
Backport-of: 95497772e7
2022-10-14 15:50:29 +00:00
Goetz Lindenmaier
7a7b3df292 8286772: java/awt/dnd/DropTargetInInternalFrameTest/DropTargetInInternalFrameTest.html times out and fails in Windows
Backport-of: d76c1089ef
2022-10-14 15:49:04 +00:00
Goetz Lindenmaier
b77b0b535c 8285305: Create an automated test for JDK-4495286
Backport-of: 25e9901aea
2022-10-14 15:47:05 +00:00
Goetz Lindenmaier
bc2d8cc472 8285617: Fix java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java manual test
Reviewed-by: mdoerr
Backport-of: e7c3b9de64
2022-10-14 15:45:23 +00:00
Goetz Lindenmaier
243a55ef31 8273553: sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368
Reviewed-by: mbaesken, mbalao
Backport-of: 0b09f70a73
2022-10-14 15:43:37 +00:00
Goetz Lindenmaier
58ac9292a7 8254976: Re-enable swing jtreg tests which were broken due to samevm mode
Backport-of: 1b7ddebe46
2022-10-14 15:41:40 +00:00
Goetz Lindenmaier
6acfa07280 8244557: test/jdk/javax/swing/JTabbedPane/TestBackgroundScrollPolicy.java failed
Backport-of: f64bdedeac
2022-10-14 15:39:59 +00:00
Goetz Lindenmaier
1ff1f0c332 8172269: When checking the default behaviour for a scroll tab layout and checking the 'opaque' checkbox, the area behind tabs is not red.
Backport-of: eb91535be5
2022-10-14 15:13:30 +00:00
Nikita Gubarkov
7b3b204514 8287609: macOS: SIGSEGV at [CoreFoundation] CFArrayGetCount / sun.font.CFont.getTableBytesNative
Backport-of: 8c460b043e
2022-10-14 13:36:57 +00:00
Matthias Baesken
fb364dbe5f 8285921: serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java fails on Alpine
Reviewed-by: mdoerr
Backport-of: 0f62cb6fcc
2022-10-14 08:55:13 +00:00
Smita Kamath
8fadf3d010 8292158: AES-CTR cipher state corruption with AVX-512
Reviewed-by: sviswanathan, kvn
Backport-of: 9d76ac8a44
2022-10-13 19:41:40 +00:00
Goetz Lindenmaier
16a4bd3dcc 8288599: com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ...
Backport-of: f080430440
2022-10-12 09:47:22 +00:00
Goetz Lindenmaier
523ef55ae1 8282777: Create a Regression test for JDK-4515031
Backport-of: 523d553e13
2022-10-12 09:45:38 +00:00
Goetz Lindenmaier
957a888428 8286663: Resolve IDE warnings in WTrayIconPeer and SystemTray
Backport-of: a9b9831f2a
2022-10-12 09:42:10 +00:00
Goetz Lindenmaier
e864cfc563 8282778: Create a regression test for JDK-4699544
Backport-of: cfdbde11f0
2022-10-12 09:40:29 +00:00
Goetz Lindenmaier
74bc485165 8287091: aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn
Backport-of: 593d2b7dab
2022-10-12 09:38:27 +00:00
Goetz Lindenmaier
31d178b6a6 8281297: TestStressG1Humongous fails with guarantee(is_range_uncommitted)
Backport-of: 1ce72eabe5
2022-10-12 09:35:13 +00:00
Goetz Lindenmaier
c064dcea3f 8274597: Some of the dnd tests time out and fail intermittently
8028998: [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java failed

Backport-of: 669ac611b2
2022-10-12 09:32:55 +00:00
Johannes Bechberger
9ffc4b3bef 8284752: Zero does not build on Mac OS X due to missing os::current_thread_enable_wx implementation
Backport-of: bc12e8616d
2022-10-12 09:07:09 +00:00
Goetz Lindenmaier
fb08d9d220 8282937: Write a regression test for JDK-4820080
Backport-of: 849b19523a
2022-10-12 09:05:19 +00:00
Goetz Lindenmaier
1d9108f4f7 8282345: handle latest VS2022 in abstract_vm_version
Reviewed-by: mbaesken
Backport-of: 735e86b0f7
2022-10-12 09:03:13 +00:00
Goetz Lindenmaier
81e900a4db 8233557: [TESTBUG] DoubleClickTitleBarTest.java fails on macOs
Backport-of: 7b1916efda
2022-10-12 09:00:09 +00:00
Goetz Lindenmaier
64a3b18bb2 8244010: Simplify usages of ProcessTools.createJavaProcessBuilder in our tests
Reviewed-by: mbaesken
Backport-of: 35af52dd4f
2022-10-12 08:48:47 +00:00
Victor Rudometov
605e3907e0 8281296: Create a regression test for JDK-4515999
Backport-of: f5d8cebbb6
2022-10-11 20:40:20 +00:00
David Alvarez
f67b4de8a0 8294357: (tz) Update Timezone Data to 2022d
Reviewed-by: phh
Backport-of: f01573368f
2022-10-11 20:04:39 +00:00
Joshua Cao
4566c88572 8233558: [TESTBUG] WindowOwnedByEmbeddedFrameTest.java fails on macos
Backport-of: d1e3ca4ee3
2022-10-11 15:12:11 +00:00
Joshua Cao
4be6963e54 8159599: [TEST_BUG] java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java
Backport-of: f5beafa53f
2022-10-11 15:11:14 +00:00
Goetz Lindenmaier
dde80ab85a 8129827: [TEST_BUG] Test java/awt/Robot/RobotWheelTest/RobotWheelTest.java fails
Backport-of: a1efb95536
2022-10-11 11:35:38 +00:00
Goetz Lindenmaier
380cbc801e 8284521: Write an automated regression test for RFE 4371575
Backport-of: 447c2d13d0
2022-10-11 11:32:27 +00:00
Goetz Lindenmaier
a6fafe89d7 8284884: Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java
Backport-of: 53580b336a
2022-10-11 11:30:23 +00:00
Johannes Bechberger
01d99fa2a2 8284732: FFI_GO_CLOSURES macro not defined but required for zero build on Mac OS X
Backport-of: cafde7fe00
2022-10-11 11:23:14 +00:00
Goetz Lindenmaier
fbaf2f2841 8282640: Create a test for JDK-4740761
Backport-of: fad3b94786
2022-10-11 11:21:12 +00:00
Goetz Lindenmaier
01cc71f355 8284294: Create an automated regression test for RFE 4138746
Backport-of: 0a67d68670
2022-10-11 11:19:27 +00:00
Goetz Lindenmaier
910546f704 8283422: Create a new test for JDK-8254790
Reviewed-by: clanger
Backport-of: ad83ec7e28
2022-10-11 11:17:22 +00:00
Goetz Lindenmaier
0910bdb1ae 8282046: Create a regression test for JDK-8000326
Backport-of: 97c7298a39
2022-10-11 11:15:48 +00:00
Goetz Lindenmaier
ec5041eba3 8282936: Write a regression test for JDK-4615365
Backport-of: c3d903a55a
2022-10-11 11:13:38 +00:00
Goetz Lindenmaier
5a3e86c2d0 7001973: java/awt/Graphics2D/CopyAreaOOB.java fails
Backport-of: 22b7295e75
2022-10-11 11:08:43 +00:00
Goetz Lindenmaier
f614119493 8279695: [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also
Backport-of: 86d0abb66b
2022-10-11 11:05:22 +00:00
Goetz Lindenmaier
df6d5f8fbc 4819544: SwingSet2 JTable Demo throws NullPointerException
Reviewed-by: phh, mbaesken
Backport-of: 64d18d45ef
2022-10-11 11:00:02 +00:00
Goetz Lindenmaier
53092b3439 8264593: debug.cpp utilities should be available in product builds.
Reviewed-by: mdoerr
Backport-of: e325a750ac
2022-10-11 10:58:20 +00:00
Goetz Lindenmaier
84e52a3837 8263871: On sem_destroy() failing we should assert
Backport-of: 5b8233ba0a
2022-10-11 10:56:45 +00:00
Goetz Lindenmaier
eb0b0ac0af 8261758: [TESTBUG] gc/g1/TestGCLogMessages.java fails if ergonomics detect too small InitialHeapSize
Backport-of: c7885eb1c5
2022-10-11 10:53:37 +00:00
Goetz Lindenmaier
52c940e4f3 8254874: ZGC: JNIHandleBlock verification failure in stack watermark processing
Backport-of: 672f56695e
2022-10-11 10:46:19 +00:00
Victor Rudometov
9ddc8b02fa 6829250: Reg test: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java fails in Windows
Backport-of: f56396f168
2022-10-10 17:05:29 +00:00
Victor Rudometov
34b1178caa 8290711: assert(false) failed: infinite loop in PhaseIterGVN::optimize
Backport-of: 6354a57b5c
2022-10-10 16:23:39 +00:00
Christoph Langer
69ce82b96f 8295057: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.17
Reviewed-by: goetz
2022-10-10 17:03:28 +02:00
Goetz Lindenmaier
18d8559d8e 8293816: CI: ciBytecodeStream::get_klass() is not consistent
Backport-of: 746f5f589d
2022-10-10 09:35:00 +00:00
Martin Balao
1d94bc4e27 8286918: Better HttpServer service
Reviewed-by: andrew
Backport-of: 5a9dc12e012f69b9c32788dec5b6ecdb065f791f
2022-10-10 11:29:02 +02:00
Oli Gillespie
bdd901737c 8286519: Better memory handling
Reviewed-by: mbalao
Backport-of: adfc2b195a84867fc2a66e00fad7f3c95693bc3b
2022-10-10 11:22:17 +02:00
Goetz Lindenmaier
3622c42c15 8293044: C1: Missing access check on non-accessible class
Reviewed-by: mdoerr
Backport-of: 005b49bb78
2022-10-10 09:17:44 +00:00
Sergey Bylokhov
cf0812d6f1 8286511: Improve macro allocation
Reviewed-by: mbalao
Backport-of: 4ab7ce961a95d7ba350b1cbca584a8e698186047
2022-10-10 11:04:41 +02:00
Goetz Lindenmaier
094ca7153a 8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points
Backport-of: b6876649a8
2022-10-10 08:56:16 +00:00
Goetz Lindenmaier
57c1b21928 8079267: [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails
Backport-of: 6f35eede45
2022-10-10 08:53:34 +00:00
Goetz Lindenmaier
df5f253ac6 8274032: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java & show test UI
Backport-of: 7dc2db4aac
2022-10-10 08:45:07 +00:00
Goetz Lindenmaier
3b9e482145 8211002: test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values
Backport-of: 1362e09479
2022-10-10 08:39:51 +00:00
Goetz Lindenmaier
b6bf677123 8269873: serviceability/sa/Clhsdb tests are using a C2 specific VMStruct field
Backport-of: 999ced03cc
2022-10-10 08:35:20 +00:00
Goetz Lindenmaier
a84c7736f7 8263326: Remove ReceiverTypeData check from serviceability/sa/TestPrintMdo.java
Backport-of: ecfa712c1d
2022-10-10 08:21:06 +00:00
Goetz Lindenmaier
f7e6d0d93f 8198343: Test java/awt/print/PrinterJob/TestPgfmtSetMPA.java may fail w/o printer
Backport-of: cb127a4bb5
2022-10-10 08:09:12 +00:00
Goetz Lindenmaier
c9d5eb3e22 8253877: gc/g1/TestGCLogMessages.java fails - missing "Evacuation failure" message
Backport-of: cd66e0f25f
2022-10-10 07:59:19 +00:00
Goetz Lindenmaier
4b2941d010 8194126: Regression automated Test '/open/test/jdk/javax/swing/JColorChooser/Test7194184.java' fails
Backport-of: 0b3e6c51ba
2022-10-10 07:45:25 +00:00
Goetz Lindenmaier
a48bd87348 8249694: java/lang/StringBuffer/HugeCapacity.java and j/l/StringBuilder/HugeCapacity.java tests shouldn't be @ignore-d
Remove @ignore since @requires os.maxMemory is enough to ensure tests will not be executed if memory requirements are not satisfied

Reviewed-by: clanger
Backport-of: 0dadf81e14
2022-10-10 07:37:08 +00:00
Goetz Lindenmaier
3ce188ba7d 8243565: some gc tests use 'test.java.opts' and not 'test.vm.opts'
Reviewed-by: clanger
Backport-of: d84e4f1fd6
2022-10-10 07:31:01 +00:00
Goetz Lindenmaier
9c29d00fc2 8243568: serviceability/logging/TestLogRotation.java uses 'test.java.opts' and not 'test.vm.opts'
Backport-of: 806566519a
2022-10-10 07:14:01 +00:00
Goetz Lindenmaier
3fbcd78893 8215571: jdb does not include jdk.* in the default class filter
Backport-of: 203f6ad99a
2022-10-10 07:07:46 +00:00
Martin Doerr
9014a180dc 8293998: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
Reviewed-by: phh
Backport-of: 90cc8ac939
2022-10-07 23:10:43 +00:00
Joshua Cao
0013d849ff 8233565: [TESTBUG] NullModalityDialogTest.java fails on MacOS
Reviewed-by: phh
Backport-of: 2b5869ad09
2022-10-06 22:34:45 +00:00
Rui Li
b8bc72094b 8282857: Create a regression test for JDK-4702690
Backport-of: 8df5f1058f
2022-10-06 22:23:31 +00:00
Martin Doerr
f8e71f816b 8294578: [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode
Backport-of: f03934e270
2022-10-05 08:57:27 +00:00
Goetz Lindenmaier
905baaf38a 8290451: Incorrect result when switching to C2 OSR compilation from C1
Backport-of: afa5d4ced3
2022-10-05 06:57:01 +00:00
Aleksei Voitylov
1c70f5492c 8288508: Enhance ECDSA usage
Reviewed-by: abakhtin, mbalao
Backport-of: efd603063e60ca6861b41309445d7b8e20768d9b
2022-10-04 22:16:40 +02:00
David Alvarez
0db04eeefd 8286910: Improve JNDI lookups
Reviewed-by: mbalao, mbaesken
Backport-of: daf133f773ea567d66663ce6916541bc0df1421a
2022-10-04 22:16:40 +02:00
Yuri Nesterenko
79dc540e3a 8289366: Improve HTTP/2 client usage
Reviewed-by: mbalao
Backport-of: 48e33fcf7723688f3ec76e7506853c731cf8dad6
2022-10-04 22:16:40 +02:00
Ekaterina Vergizova
7548ffaaa5 8287446: Enhance icon presentations
Reviewed-by: mbalao
Backport-of: bb2210681b230de291ef1c968b5b47013d593e27
2022-10-04 22:16:39 +02:00
Alexey Bakhtin
c2a13eef36 8286533: Key X509 usages
Reviewed-by: mbalao, mbaesken
2022-10-04 22:16:11 +02:00
Martin Balao
749d4ed10e 8286526: Improve NTLM support
Reviewed-by: mbaesken
Backport-of: 2d1bc2e55c7ed5f123f3ab5d505b7866a28ba4c7
2022-10-04 20:54:29 +02:00
Goetz Lindenmaier
49b85e8474 8291459: JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*)
Backport-of: 8d88be233b
2022-10-04 18:52:08 +00:00
Goetz Lindenmaier
fba01e8ba5 8290705: StringConcat::validate_mem_flow asserts with "unexpected user: StoreI"
Backport-of: 61e072d11c
2022-10-04 18:35:14 +00:00
Rui Li
0f84f9963f 8282276: Problem list failing two Robot Screen Capture tests
Backport-of: 2557ef8a02
2022-10-04 17:59:22 +00:00
Aleksei Voitylov
b5a20c9206 8286077: Wider MultiByte conversions
Reviewed-by: mbalao
Backport-of: db81dae16f975d7d27c9acf3f4775c9d389895e2
2022-10-04 19:47:14 +02:00
Aleksei Voitylov
18c17a1391 8285662: Better permission resolution
Reviewed-by: mbalao
Backport-of: 431802c54df9caaa00ba79f3713861005d06ee62
2022-10-04 19:47:14 +02:00
Ekaterina Vergizova
4bc8257db5 8282252: Improve BigInteger/Decimal validation
Reviewed-by: mbalao
Backport-of: e863e256f9e7465a97d3fb2a109299987e990b7c
2022-10-04 19:47:13 +02:00
Yuri Nesterenko
80110d64dc 8293429: [11u] minor update in attribute style
Reviewed-by: mbalao
2022-10-04 19:47:13 +02:00
Victor Rudometov
fb9a2790c7 8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses
Backport-of: 4c90e87a6f
2022-10-04 16:37:31 +00:00
Zdenek Zambersky
66d4be3030 8288985: P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305
Backport-of: b6bd190d8d
2022-10-04 01:17:57 +00:00
Victor Rudometov
ca33f6c563 8293578: Duplicate ldc generated by javac
Backport-of: 39cd1635bf
2022-10-03 18:24:43 +00:00
Victor Rudometov
2ebb8997c0 8287076: Document.normalizeDocument() produces different results
Reviewed-by: phh
Backport-of: 1f9521e6cb
2022-09-29 22:03:13 +00:00
Jonathan Dowland
378b516a0d 8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist
Backport-of: 444a0d98ac
2022-09-29 09:36:14 +00:00
Goetz Lindenmaier
594458119d 8285836: sun/net/www/http/KeepAliveCache/KeepAliveProperty.java failed with "RuntimeException: Failed in server"
Backport-of: af529be069
2022-09-29 09:18:30 +00:00
Goetz Lindenmaier
367a734c35 8275170: Some jtreg sound tests should be marked with sound keyword
Backport-of: 25669bb667
2022-09-28 07:02:49 +00:00
Goetz Lindenmaier
dbf95d477c Merge 2022-09-28 06:37:17 +00:00
Christoph Langer
1215ef1893 8294138: [11u] Revert change from JDK-8210962 in basic.m4
Reviewed-by: shade
Backport-of: 4c400d2372
2022-09-28 05:51:00 +00:00
David Alvarez
2f695bbaad 8292579: (tz) Update Timezone Data to 2022c
Reviewed-by: andrew
Backport-of: 98d85e6f59
2022-09-25 21:38:16 +00:00
Gaurav Chaudhari
6e53ef274a 8288377: [REDO] DST not applying properly with zone id offset set with TZ env variable
Reviewed-by: clanger
Backport-of: 3c3256414f
2022-09-24 06:20:54 +00:00
Victor Rudometov
b5dbfefc36 8293828: JFR: jfr/event/oldobject/TestClassLoaderLeak.java still fails when GC cycles are not happening
Backport-of: 5002eaa5cc
2022-09-22 22:39:24 +00:00
Goetz Lindenmaier
dab4c4458b 8285698: Create a test to check the focus stealing of JPopupMenu from JComboBox
Backport-of: 7612bba0f1
2022-09-22 11:32:11 +00:00
Pasam Soujanya1
79576588be 8210047: some pages contain content outside of landmark region
Reviewed-by: clanger
Backport-of: a17816f881
2022-09-22 10:51:41 +00:00
Goetz Lindenmaier
bcdcc9f35a 8240281: Remove failing assertion code when selecting first memory state in SuperWord::co_locate_pack
Backport-of: 0a89987a96
2022-09-22 09:56:40 +00:00
Goetz Lindenmaier
32d424603a 8193942: Regression automated test '/open/test/jdk/javax/swing/JFrame/8175301/ScaledFrameBackgroundTest.java' fails
Backport-of: 32538b5b1d
2022-09-22 09:50:48 +00:00
Alexey Pavlyutkin
9ae65e8dcf 8266082: AssertionError in Annotate.fromAnnotations with -Xdoclint
Backport-of: a0d9cc2d014b3175bfbb8d5b66680df8a827730c
2022-09-21 10:24:16 +00:00
Goetz Lindenmaier
19d065b580 Merge 2022-09-21 09:50:45 +00:00
David Alvarez
cd29d6e96f 8028265: Add legacy tz tests to OpenJDK
Backport-of: 92deab5465
2022-09-20 17:03:58 +00:00
Goetz Lindenmaier
ad0878c8d7 8290209: jcup.md missing additional text
Backport-of: 2bf6285c80
2022-09-19 14:33:09 +00:00
Goetz Lindenmaier
016bfd1e7b 8279066: entries.remove(entry) is useless in PKCS12KeyStore
Backport-of: fb623f1d2e
2022-09-19 14:07:11 +00:00
Goetz Lindenmaier
6cbaa7faac 8290207: Missing notice in dom.md
Backport-of: 73b83e0188
2022-09-19 14:04:10 +00:00
Goetz Lindenmaier
e9ba915905 8275887: jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled
Reviewed-by: mdoerr
Backport-of: 6bc6980a7d
2022-09-19 13:13:44 +00:00
Goetz Lindenmaier
6d308126f8 8269029: compiler/codegen/TestCharVect2.java fails for client VMs
Backport-of: cbec37d45d
2022-09-16 07:22:55 +00:00
Ruhesh Chaganti
6784ea08b3 8274563: jfr/event/oldobject/TestClassLoaderLeak.java fails when GC cycles are not happening
Reviewed-by: phh
Backport-of: 47bfc8aa93
2022-09-14 18:52:24 +00:00
Ryan Flegel
0dc103593c 8275535: Retrying a failed authentication on multiple LDAP servers can lead to users blocked
Backport-of: 3be394e160
2022-09-12 18:12:09 +00:00
bobpengxie
09fe47f0d3 8289146: containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output
Backport-of: d8f4e97bd3
2022-09-12 14:33:48 +00:00
Jonathan Dowland
9767c4ccd8 8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier
Reviewed-by: clanger
Backport-of: fe807217a7
2022-09-07 18:49:20 +00:00
Thomas Stuefe
c249ca92e5 8268893: jcmd to trim the glibc heap
Reviewed-by: clanger
Backport-of: 6096dd9765
2022-09-07 13:27:30 +00:00
Sergey Bylokhov
0ba5a81e7c 8276841: Add support for Visual Studio 2022
Reviewed-by: vkempik
Backport-of: f65db88b74
2022-09-07 00:18:55 +00:00
Jonathan Dowland
131eab63cb 8292541: [Metrics] Reported memory limit may exceed physical machine memory
Backport-of: 9a0d1e7ce8
2022-09-06 18:18:47 +00:00
Mat Carter
f75b74d19e 6782021: It is not possible to read local computer certificates with the SunMSCAPI provider
Backport-of: e3c178d6d8
2022-09-06 16:28:17 +00:00
George Adams
78ba1e5a5f 8247676: vcruntime140_1.dll is not needed on 32-bit Windows
Backport-of: bcc668b77f0a0c22db49ef048286a9df5c04a308
2022-09-02 10:54:43 +00:00
George Adams
2548ed31ae 8242468: VS2019 build missing vcruntime140_1.dll
Reviewed-by: clanger
Backport-of: 165fa2450c
2022-09-02 10:46:40 +00:00
George Adams
75b3e45fe9 8239708: Split basics.m4 into basic.m4 and util.m4
8213239: Configure cannot handle command overrides with arguments
8206125: [windows] cannot pass relative path to --with-boot-jdk

Reviewed-by: clanger
Backport-of: 63f939636a
2022-09-02 08:15:11 +00:00
George Adams
de5b4b4c0b 8217032: Check pandoc capabilities in configure
Reviewed-by: clanger
Backport-of: 4f45b5f973
2022-09-02 07:51:07 +00:00
Jonathan Dowland
de91323ed2 8292083: Detected container memory limit may exceed physical machine memory
Reviewed-by: sgehwolf
Backport-of: f694f8a767
2022-09-01 08:13:31 +00:00
Christoph Langer
6e30d22dee 8292887: Bump update version for OpenJDK: jdk-11.0.18
Reviewed-by: sgehwolf
2022-09-01 04:57:55 +00:00
Andrew John Hughes
2f0f34ce4c 8291570: [TESTBUG] Part of JDK-8250984 absent from 11u
Reviewed-by: serb, sgehwolf
2022-08-31 01:07:29 +00:00
Ekaterina Vergizova
9186b3c074 8287463: JFR: Disable TestDevNull.java on Windows
Backport-of: 0df4748216
2022-08-30 20:56:14 +00:00
Christoph Langer
c9f313574a 8279385: [test] Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344
Backport-of: 01f93ddf18
2022-08-27 10:04:51 +00:00
Severin Gehwolf
351508cc54 8287663: Add a regression test for JDK-8287073
Backport-of: 2d8c649054
2022-08-26 09:37:54 +00:00
Christoph Langer
0cd49f5955 8278344: sun/security/pkcs12/KeytoolOpensslInteropTest.java test fails because of different openssl output
Reviewed-by: mbaesken
Backport-of: 8b5ff4bdff
2022-08-26 08:53:39 +00:00
Severin Gehwolf
90a6418853 8287741: Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete
Backport-of: 8d28734ede
2022-08-26 08:48:52 +00:00
Severin Gehwolf
1afd1f4984 8287073: NPE from CgroupV2Subsystem.getInstance()
Backport-of: 744b822ab1
2022-08-26 08:43:38 +00:00
Severin Gehwolf
81c295838c 8287107: CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller
Backport-of: 704b9a66bb
2022-08-26 08:38:22 +00:00
Richard-Rogalski
cbbec73800 8230708: Hotspot fails to build on linux-sparc with gcc-9
Backport-of: 5f29e88563
2022-08-26 07:52:30 +00:00
Jiří Vaněk
01db4763e8 8282947: JFR: Dump on shutdown live-locks in some conditions
Backport-of: 63eb0b7e86
2022-08-25 11:28:53 +00:00
Ao Qi
1d7b2929ff 8238586: [TESTBUG] vmTestbase/jit/tiered/Test.java failed when TieredCompilation is disabled
Backport-of: 7552915d3f
2022-08-25 03:31:10 +00:00
bobpengxie
75e4cb3891 8292852: [11u] TestMemoryWithCgroupV1 fails after JDK-8292768
Reviewed-by: clanger
2022-08-24 09:15:27 +00:00
Dan Lutker
e0d592b9ce 8275008: gtest build failure due to stringop-overflow warning with gcc11
Reviewed-by: phh, clanger
Backport-of: c55dd365e3
2022-08-23 21:59:06 +00:00
bobpengxie
317f79cc80 8284950: CgroupV1 detection code should consider memory.swappiness
Backport-of: 46d208fb1c
2022-08-23 09:41:32 +00:00
Roland Westrelin
5d344f1a2f 8291713: assert(!phase->exceeding_node_budget()) failed: sanity after JDK-8223389
Reviewed-by: phh, xliu, clanger
2022-08-23 07:28:25 +00:00
bobpengxie
42dc282b04 8283903: GetContainerCpuLoad does not return the correct result in share mode
Reviewed-by: clanger
Backport-of: a625bfdba4
2022-08-19 01:11:07 +00:00
Joshua Cao
76cab61f23 8279032: compiler/loopopts/TestSkeletonPredicateNegation.java times out with -XX:TieredStopAtLevel < 4
Backport-of: 928e347736
2022-08-19 00:45:45 +00:00
Joshua Cao
a491f0d8cd 8289569: [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl
Backport-of: a8edd7a12f
2022-08-19 00:40:03 +00:00
Joshua Cao
fa8c0d641c 8242188: error in jtreg test jdk/jfr/api/consumer/TestRecordedFrame.java on linux-aarch64
Backport-of: 820f7227b7
2022-08-18 21:23:28 +00:00
Joshua Cao
501352cc8f 8239423: jdk/jfr/jvm/TestJFRIntrinsic.java failed with -XX:-TieredCompilation
Backport-of: 2298819af8
2022-08-18 16:32:58 +00:00
Joshua Cao
a77dd69747 8239265: JFR: Test cleanup of jdk.jfr.api.consumer package
Backport-of: f75f78ae3a
2022-08-18 06:16:45 +00:00
Joshua Cao
ad2e6e4d25 8251152: ARM32: jtreg c2 Test8202414 test crash
Some CPUs (like ARM32) does not support unaligned memory accesses. To avoid JVM crashes tests that perform such accesses should be skipped on corresponding platforms.

Reviewed-by: phh
Backport-of: 70d5cac961
2022-08-17 20:57:27 +00:00
Joshua Cao
58076db0c1 8214078: (fs) SecureDirectoryStream not supported on arm32
Reviewed-by: phh
Backport-of: 10cd386ac3
2022-08-17 20:56:29 +00:00
William Kemper
3db29c409d 8252145: Unify Info.plist files with correct version strings
Reviewed-by: phh
Backport-of: 7df86108cb
2022-08-17 20:41:36 +00:00
Dan Lutker
faf1f86f95 7131823: bug in GIFImageReader
Backport-of: a31130fd40
2022-08-16 21:59:45 +00:00
Christoph Langer
44e1ff456b Merge
Merge changes of jdk-11.0.16.1 into jdk11u-dev
2022-08-16 19:40:06 +00:00
Liam Miller-Cushon
38c632f157 8247546: Pattern matching does not skip correctly over supplementary characters
Reviewed-by: clanger
Backport-of: 4946a162aa
2022-08-16 16:44:42 +00:00
Goetz Lindenmaier
03a5c254d3 8289549: ISO 4217 Amendment 172 Update
Backport-of: 9168aa252d
2022-08-16 13:36:23 +00:00
Christoph Langer
ba80426191 Merge jdk-11.0.16.1 into master 2022-08-15 11:27:27 +02:00
Pasam Soujanya1
7d32ed9702 8209052: Low contrast in docs/api/constant-values.html
Backport-of: e2eab3c1b7
2022-08-15 06:05:47 +00:00
Severin Gehwolf
63e4b5c8ac 8292260: [BACKOUT] JDK-8279219: [REDO] C2 crash when allocating array of size too large
Reviewed-by: stuefe
Backport-of: 967a28c3d8
2022-08-12 21:42:12 +00:00
Severin Gehwolf
e068eba622 8292255: Bump update version for OpenJDK: jdk-11.0.16.1
Reviewed-by: stuefe
2022-08-12 08:27:29 +00:00
Goetz Lindenmaier
74daa996b5 8283803: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintGlyphVectorTest.java and fix test
8284898: Enhance PassFailJFrame

Reviewed-by: stuefe
Backport-of: 37c9cd1555
2022-08-07 17:16:54 +00:00
Goetz Lindenmaier
1653629238 8284535: Fix PrintLatinCJKTest.java test that is failing with Parse Exception
8283712: Create a manual test framework class

Reviewed-by: phh, stuefe
Backport-of: 3f26d84f6a
2022-08-06 20:57:25 +00:00
Goetz Lindenmaier
d6cbc3b882 8283277: ISO 4217 Amendment 171 Update
Backport-of: c4dc58e12e
2022-08-06 20:55:14 +00:00
George Adams
08e51f5b15 8233712: Limit default tests jobs based on ulimit -u setting
Reviewed-by: clanger
Backport-of: 753c58b7f5
2022-08-04 08:33:18 +00:00
George Adams
761e56849f 8291794: [11u] Corrections after backport of JDK-8212028
Reviewed-by: clanger
Backport-of: 03a8cdece5
2022-08-04 07:22:23 +00:00
George Adams
4046ee2a69 8221907: make reconfigure breaks when configured with relative paths
Reviewed-by: clanger
Backport-of: 0974861dd8
2022-08-04 07:08:18 +00:00
Sergey Bylokhov
39ec436181 8288928: Incorrect GPL header in pnglibconf.h (backport of JDK-8185041)
Reviewed-by: phh
2022-08-03 20:13:09 +00:00
Goetz Lindenmaier
0106d8480f 8285693: Create an automated test for JDK-4702199
Backport-of: 158d871d05
2022-08-03 13:52:47 +00:00
Goetz Lindenmaier
9180dcb975 8284077: Create an automated test for JDK-4170173
Backport-of: 6db2e16b94
2022-08-03 13:49:39 +00:00
Goetz Lindenmaier
ce8367f438 8288781: C1: LIR_OpVisitState::maxNumberOfOperands too small
Backport-of: 3f5e48a44e
2022-08-03 13:34:23 +00:00
Shruthi
1c96cac91d 8289471: Issue in Initialization of keys in ErrorMsg.java and XPATHErrorResources.java
Reviewed-by: phh
Backport-of: 987656d690
2022-08-03 10:50:38 +00:00
George Adams
ac89673b07 8290000: Bump macOS GitHub actions to macOS 11
Reviewed-by: clanger
Backport-of: 4e6cd67fec
2022-08-03 09:30:35 +00:00
Goetz Lindenmaier
d647021e22 8283624: Create an automated regression test for RFE-4390885
Backport-of: 99388eff8d
2022-08-03 08:17:03 +00:00
Goetz Lindenmaier
9796aac838 8223543: [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java has issues
Backport-of: d41331e6f2
2022-08-03 08:15:06 +00:00
Goetz Lindenmaier
3210c99384 8283245: Create a test for JDK-4670319
Backport-of: 4ce3cf12bf
2022-08-03 08:11:58 +00:00
Pasam Soujanya1
7318cdcdb1 8221871: javadoc should not set role=region on <section> elements
Reviewed-by: clanger
Backport-of: 0abdc381b7
2022-08-03 07:36:07 +00:00
George Adams
93666aeaf7 8218413: make reconfigure ignores configure-time AUTOCONF environment variable
Backport-of: 9efdb33a59
2022-08-03 07:34:47 +00:00
Andrew Haley
954d57ae50 8287432: C2: assert(tn->in(0) != __null) failed: must have live top node
Backport-of: 78d371266a
2022-08-02 13:33:45 +00:00
Goetz Lindenmaier
9cf9879a4e 8267880: Upgrade the default PKCS12 MAC algorithm
Reviewed-by: mbaesken
2022-08-02 13:27:31 +00:00
Christoph Langer
e80c7e1868 8238268: Many SA tests are not running on OSX because they do not attempt to use sudo when available
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: goetz
Backport-of: a147636157
2022-08-02 10:57:48 +00:00
Goetz Lindenmaier
8871303262 8282933: Create a test for JDK-4529616
Backport-of: a0b984a778
2022-08-02 09:09:49 +00:00
Goetz Lindenmaier
1ab3f82ea9 8283507: Create a regression test for RFE 4287690
Backport-of: 7edd186121
2022-08-02 09:04:35 +00:00
Goetz Lindenmaier
15335203a8 8283621: Write a regression test for CCC4400728
Backport-of: 632825c6d2
2022-08-02 09:03:42 +00:00
Goetz Lindenmaier
b235f51c72 8283623: Create an automated regression test for JDK-4525475
Backport-of: 7381868afe
2022-08-02 09:01:43 +00:00
Goetz Lindenmaier
5a0824ba81 8269039: Disable SHA-1 Signed JARs
Reviewed-by: mbalao
Backport-of: 6d91a3eb7b
2022-08-02 08:59:12 +00:00
Goetz Lindenmaier
5f79e3ba8a 8290334: Update FreeType to 2.12.1
Backport-of: ea8b75cfe4
2022-08-01 09:04:21 +00:00
Goetz Lindenmaier
60a68901f7 8290246: test fails "assert(init != __null) failed: initialization not found"
Backport-of: 70fce07a38
2022-08-01 09:01:49 +00:00
Goetz Lindenmaier
8a88a69546 8286314: Trampoline not created for far runtime targets outside small CodeCache
Backport-of: bf0623b11f
2022-08-01 08:59:27 +00:00
Goetz Lindenmaier
81ffdc1878 8283015: Create a test for JDK-4715496
Backport-of: bfd9c2b30f
2022-08-01 08:57:31 +00:00
Goetz Lindenmaier
fc4868ecb4 8283493: Create an automated regression test for RFE 4231298
Backport-of: 6917c39e45
2022-08-01 08:55:52 +00:00
Goetz Lindenmaier
672e3c2364 8282789: Create a regression test for the JTree usecase of JDK-4618767
Backport-of: 83a1c90433
2022-08-01 08:51:47 +00:00
Goetz Lindenmaier
a92d71d4bb 8280913: Create a regression test for JRootPane.setDefaultButton() method
Backport-of: 51b53a821b
2022-08-01 08:48:55 +00:00
Goetz Lindenmaier
4b8518934f 8275689: [TESTBUG] Use color tolerance only for XRender in BlitRotateClippedArea test
Backport-of: b3f45f868d
2022-08-01 08:41:38 +00:00
Goetz Lindenmaier
d928ab7697 8270312: Error: Not a test or directory containing tests: java/awt/print/PrinterJob/XparColor.java
Backport-of: c5c84b8fdc
2022-08-01 08:39:02 +00:00
Goetz Lindenmaier
3957731117 8264792: The NumberFormat for locale sq_XK formats price incorrectly.
Backport-of: 25ad9d6ba3
2022-08-01 08:32:09 +00:00
George Adams
3c330473b1 8268185: Update GitHub Actions for jtreg 6
Reviewed-by: clanger, goetz
Backport-of: e27c4d463d
2022-07-28 13:13:01 +00:00
George Adams
00d9483639 8266254: Update to use jtreg 6
8265020: tests must be updated for new TestNG module name

Reviewed-by: clanger
Backport-of: 3482cb87fd
2022-07-28 12:24:03 +00:00
Goetz Lindenmaier
c61acb5849 8258946: Fix optimization-unstable code involving signed integer overflow
Backport-of: dd8996c5f5
2022-07-28 11:36:46 +00:00
George Adams
5d20cb6a30 8210960: Allow --with-boot-jdk-jvmargs to work during configure
Backport-of: a32f8e382d
2022-07-27 09:55:10 +00:00
Matthias Baesken
f00776b653 8285728: Alpine Linux build fails with busybox tar
Reviewed-by: clanger
Backport-of: 36bf6fbe08
2022-07-27 07:09:03 +00:00
Christoph Langer
a6250582f7 8239379: ProblemList serviceability/sa/sadebugd/DebugdConnectTest.java on OSX
8271512: ProblemList serviceability/sa/sadebugd/DebugdConnectTest.java due to 8270326

Reviewed-by: goetz
Backport-of: 3a5ee7b422
2022-07-26 16:19:50 +00:00
Goetz Lindenmaier
9de7c4c335 8282860: Write a regression test for JDK-4164779
Backport-of: 8a044649bd
2022-07-26 13:44:21 +00:00
Goetz Lindenmaier
0174134b31 8284367: JQuery UI upgrade from 1.12.1 to 1.13.1
Reviewed-by: mbaesken
Backport-of: b7d808e96b
2022-07-26 13:41:17 +00:00
Shruthi
37ca256b78 8285097: Duplicate XML keys in XPATHErrorResources.java and XSLTErrorResources.java
Reviewed-by: tsteele, clanger
Backport-of: b5a3d2843b
2022-07-25 21:08:55 +00:00
George Adams
a1a045921d 8290886: [11u]: Backport of JDK-8266250 introduced test failures
Reviewed-by: clanger
2022-07-25 11:34:32 +00:00
Goetz Lindenmaier
69a3003c95 8289853: Update HarfBuzz to 4.4.1
Backport-of: f42dab8592
2022-07-25 09:01:36 +00:00
Goetz Lindenmaier
c291490985 8283087: Create a test or JDK-4715503
Backport-of: a6fd0b21dd
2022-07-25 08:57:19 +00:00
Goetz Lindenmaier
f53f3e6080 8282548: Create a regression test for JDK-4330998
Backport-of: b451273d20
2022-07-25 08:53:20 +00:00
Goetz Lindenmaier
32d002fc1c 8282234: Create a regression test for JDK-4532513
Backport-of: 6b34884b34
2022-07-25 08:48:01 +00:00
Goetz Lindenmaier
6fe25c7776 8282343: Create a regression test for JDK-4518432
Backport-of: b3837808bf
2022-07-25 08:45:17 +00:00
Goetz Lindenmaier
458c6114e7 8169468: NoResizeEventOnDMChangeTest.java fails because FS Window didn't receive all resizes!
Backport-of: b0a463fa59
2022-07-25 08:35:19 +00:00
Goetz Lindenmaier
7d065b50c0 6854300: [TEST_BUG] java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java fails in jdk6u14 & jdk7
Backport-of: a1ec4f9618
2022-07-25 08:32:47 +00:00
Goetz Lindenmaier
be044d45db 8017175: [TESTBUG] javax/swing/JPopupMenu/4634626/bug4634626.java sometimes failed on mac
Backport-of: 4c3491bfa5
2022-07-25 08:27:38 +00:00
Goetz Lindenmaier
8b9f01d46d 8255724: [XRender] the BlitRotateClippedArea test fails on Linux in the XR pipeline
Backport-of: dcd6e0da24
2022-07-25 08:24:51 +00:00
Goetz Lindenmaier
20a5c40f6d 8186143: keytool -ext option doesn't accept wildcards for DNS subject alternative names
Backport-of: 0c9f8e472f
2022-07-25 08:23:13 +00:00
Goetz Lindenmaier
d17924f0b4 8235870: C2 crashes in IdealLoopTree::est_loop_flow_merge_sz()
Backport-of: 9549cd2877
2022-07-25 08:19:58 +00:00
George Adams
0b54c61be8 8266461: tools/jmod/hashes/HashesTest.java fails: static @Test methods
8267180: Typo in copyright header  for HashesTest

Reviewed-by: clanger
Backport-of: e90388bc1e
2022-07-24 06:30:41 +00:00
Stephanie Crater
1a66d5a5cc 8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8
Reviewed-by: clanger
Backport-of: 011b96c37e
2022-07-22 09:49:19 +00:00
George Adams
5a1377dafc 8290813: jdk/nashorn/api/scripting/test/ScriptObjectMirrorTest.java fails: assertEquals is ambiguous
Reviewed-by: attila, clanger
2022-07-22 09:47:28 +00:00
George Adams
16a84de16e 8266460: java.io tests fail on null stream with upgraded jtreg/TestNG
Reviewed-by: goetz
Backport-of: e8405970b9
2022-07-21 12:35:19 +00:00
George Adams
533a4e6cdb 8266250: WebSocketTest and WebSocketProxyTest call assertEquals(List<byte[]>, List<byte[]>)
Backport-of: 01415f33e3
2022-07-21 12:33:07 +00:00
Goetz Lindenmaier
664f2abe79 8282280: Update Xerces to Version 2.12.2
Backport-of: 72bd41b844
2022-07-21 11:59:58 +00:00
Goetz Lindenmaier
13b44207b9 8271010: vmTestbase/gc/lock/malloc/malloclock04/TestDescription.java crashes intermittently
Reviewed-by: mbaesken, stuefe
2022-07-21 11:44:28 +00:00
Goetz Lindenmaier
517a18e43b 8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes
Backport-of: 50f99c3208
2022-07-21 11:41:54 +00:00
Goetz Lindenmaier
9d8e388e3d 8208471: nsk/jdb/unwatch/unwatch002/unwatch002.java fails with "Prompt is not received during 300200 milliseconds"
Backport-of: db61465761
2022-07-21 11:37:36 +00:00
Stephanie Crater
11eed37fae 8266774: System property values for stdout/err on Windows UTF-8
Backport-of: c494efc5b5
2022-07-21 10:44:10 +00:00
Goetz Lindenmaier
77d92104f7 8289486: Improve XSLT XPath operators count efficiency
Backport-of: 3212dc9c6f
2022-07-21 10:21:15 +00:00
Goetz Lindenmaier
d3a4879af4 8281738: Create a regression test for checking the 'Space' key activation of focused Button
Backport-of: 941e97c4eb
2022-07-21 10:18:54 +00:00
Goetz Lindenmaier
a240a9ed6c 8281988: Create a regression test for JDK-4618767
Backport-of: 43dc9ef619
2022-07-21 10:16:14 +00:00
Goetz Lindenmaier
ac3893c74c 8281745: Create a regression test for JDK-4514331
Backport-of: f9539521ae
2022-07-21 09:34:13 +00:00
Goetz Lindenmaier
a0edf3546e 8281535: Create a regression test for JDK-4670051
Backport-of: 0786ddb471
2022-07-21 09:27:32 +00:00
George Adams
defa4f82bb 8265531: doc/building.md should mention homebrew install freetype
Backport-of: 5aab1609b9
2022-07-21 08:53:28 +00:00
Alexey Pavlyutkin
1f4028960a 8288865: [aarch64] LDR instructions must use legitimized addresses
Reviewed-by: aph
2022-07-20 07:08:28 +00:00
Matthias Baesken
c1e2cf6489 8284758: [linux] improve print_container_info
Reviewed-by: sgehwolf
Backport-of: 6c6d5223df
2022-07-20 06:53:26 +00:00
Richard Reingruber
e56888017d 8274687: JDWP deadlocks if some Java thread reaches wait in blockOnDebuggerSuspend
Reviewed-by: mdoerr
Backport-of: ca2efb73f5
2022-07-20 06:43:45 +00:00
Goetz Lindenmaier
9e8917b983 Merge 2022-07-20 06:32:04 +00:00
Christoph Langer
e2fa856f32 8257623: vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted001/TestDescription.java shouldn't use timeout
Backport-of: 3e89981d98
2022-07-19 16:38:24 +00:00
Stephanie Crater
19dcfc000f 8238203: Return value of GetUserDefaultUILanguage() should be handled as LANGID
Reviewed-by: clanger
Backport-of: 1cd5eac5c3
2022-07-19 16:28:29 +00:00
Christoph Langer
d377e18093 8253916: ResourceExhausted/resexhausted001 crashes on Linux-x64
Reviewed-by: mdoerr
Backport-of: cfb50a9cb7
2022-07-19 16:18:50 +00:00
Christoph Langer
252cafd712 6606767: resexhausted00[34] fail assert(!thread->owns_locks(), "must release all locks when leaving VM")
Backport-of: b9186bebc3
2022-07-19 11:46:11 +00:00
Christoph Langer
805a031a46 8249623: test @ignore-d due to 7013634 should be returned back to execution
Reviewed-by: mdoerr
Backport-of: cd33abb136
2022-07-19 08:16:53 +00:00
Christoph Langer
2dc40888c8 8218128: vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003 and 004 use wrong path to test classes
Backport-of: c986cef7ba
2022-07-19 08:05:42 +00:00
Tyler Steele
5e1ce54d6a 8288763: Pack200 extraction failure with invalid size
Reviewed-by: simonis
2022-07-19 07:10:25 +00:00
Ichiroh Takiguchi
c63209b348 8262085: Hovering Metal HTML Tooltips in different windows cause IllegalArgExc on Linux
Backport-of: c569f1d64b
2022-07-19 07:02:39 +00:00
Goetz Lindenmaier
4b45646302 8285081: Improve XPath operators count accuracy
Backport-of: 8e07839179
2022-07-18 09:47:17 +00:00
Goetz Lindenmaier
6496396f49 8284944: assert(cnt++ < 40) failed: infinite cycle in loop optimization
Reviewed-by: mdoerr
Backport-of: 796494d0fe
2022-07-18 09:43:26 +00:00
Goetz Lindenmaier
e02ab457a4 8286211: Update PCSC-Lite for Suse Linux to 1.9.5
Backport-of: d792cbcc06
2022-07-18 09:40:22 +00:00
Goetz Lindenmaier
a10ef71646 8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure
Reviewed-by: mdoerr, phh, clanger
Backport-of: caceaba559
2022-07-18 09:36:51 +00:00
Goetz Lindenmaier
39eecbf02a 8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest
Backport-of: 25059b286d
2022-07-18 09:33:49 +00:00
Guoxiong Li
8486da7da1 8255729: com.sun.tools.javac.processing.JavacFiler.FilerOutputStream is inefficient
Reviewed-by: clanger
Backport-of: 526c00057e
2022-07-18 09:17:10 +00:00
Guoxiong Li
a9c27da634 8236490: Compiler bug relating to @NonNull annotation
Reviewed-by: clanger
Backport-of: 23edb6f6b2
2022-07-18 09:16:22 +00:00
Andrew John Hughes
edd32ef60b 8272243: Improve DER parsing
Backport-of: ec91d4bce10cd965e8a0099f35aed8c9150f6a44
Co-authored-by: Alexey Bakhtin <abakhtin@openjdk.org>
Reviewed-by: mbalao
2022-07-16 22:06:34 +02:00
Goetz Lindenmaier
75519b1bfb 8285380: Fix typos in security
Reviewed-by: mdoerr
Backport-of: f631c9884f
2022-07-15 10:50:36 +00:00
Goetz Lindenmaier
ccd3de5e86 8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver
Reviewed-by: mdoerr, clanger
Backport-of: d3e781de08
2022-07-15 10:46:38 +00:00
Martin Doerr
9c6fce30d1 8290004: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
Reviewed-by: lucy, clanger
Backport-of: ccc4732eeb
2022-07-14 21:00:48 +00:00
Martin Doerr
33389865f8 8289856: [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060
Backport-of: e05b2f2c3b
2022-07-14 13:35:24 +00:00
Zhengyu Gu
9d0b5e59f4 8290198: Shenandoah: a few Shenandoah tests failure after JDK-8214799 11u backport
Reviewed-by: rkennke
2022-07-14 12:26:04 +00:00
Sergey Bylokhov serb
07dd941ea5 8284370: Improve zlib usage
Reviewed-by: andrew
Backport-of: 46f42c72a92ffb035e84eb8e73bd6329ef006251
2022-07-14 10:06:15 +02:00
Goetz Lindenmaier
c9a72595aa 8278067: Make HttpURLConnection default keep alive timeout configurable
Reviewed-by: stuefe
Backport-of: d8f44aa39e
2022-07-13 10:31:48 +00:00
George Adams
ab4a3e6f0d 8254318: Remove .hgtags
Reviewed-by: clanger
Backport-of: 62a7f5d323
2022-07-12 08:03:45 +00:00
Guoxiong Li
8b560273ca 8193462: Fix Filer handling of package-info initial elements
Backport-of: fafd1b7536
2022-07-11 16:29:39 +00:00
Guoxiong Li
a27448e307 8266675: Optimize IntHashTable for encapsulation and ease of use
Backport-of: ff77ca8bd4
2022-07-11 16:28:04 +00:00
Guoxiong Li
bfc574605b 8203277: preflow visitor used during lambda attribution shouldn't visit class definitions inside the lambda body
Reviewed-by: clanger
Backport-of: 10da56f017
2022-07-11 14:21:26 +00:00
George Adams
65ac12361b 8254178: Remove .hgignore
Reviewed-by: clanger
Backport-of: 736e077335
2022-07-11 09:47:32 +00:00
Thomas Stuefe
6d56b2bae7 8289799: Build warning in methodData.cpp memset zero-length parameter
Backport-of: cce77a7001
2022-07-08 06:37:46 +00:00
Goetz Lindenmaier
4f1ac634d3 8279622: C2: miscompilation of map pattern as a vector reduction
Backport-of: 47e478d6de
2022-07-07 13:59:11 +00:00
Thomas Stuefe
1e7ff4812c 8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc
Backport-of: da6d1fc0e0
2022-07-07 12:50:41 +00:00
Joshua Cao
7a076e47b1 8247964: All log0() in com/sun/org/slf4j/internal/Logger.java should be private
Reviewed-by: phh
2022-07-05 22:30:45 +00:00
Joshua Cao
290a7e382a 8247907: XMLDsig logging does not work
Reviewed-by: phh
2022-07-05 16:56:33 +00:00
Severin Gehwolf
3a0013f727 8219074: [TESTBUG] runtime/containers/docker/TestCPUAwareness.java typo of printing parameters (period should be shares)
Backport-of: 7d6d661328
2022-07-05 10:03:58 +00:00
Matthias Baesken
32babc1f82 8281181: Do not use CPU Shares to compute active processor count
Reviewed-by: sgehwolf
Backport-of: 437c634b61
2022-07-05 08:17:25 +00:00
Aleksey Shipilev
4b2e41cfc5 8277893: Arraycopy stress tests
Reviewed-by: serb
Backport-of: 29bd73638a
2022-07-04 07:59:17 +00:00
Goetz Lindenmaier
6ecce29701 8287672: jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run
Backport-of: 7e211d7daa
2022-07-03 19:15:35 +00:00
Goetz Lindenmaier
9b73adbde8 8285820: C2: LCM prioritizes locally dependent CreateEx nodes over projections after 8270090
Backport-of: 89392fb15e
2022-07-03 19:07:19 +00:00
Goetz Lindenmaier
bf08f8840d 8270090: C2: LCM may prioritize CheckCastPP nodes over projections
Backport-of: 8ebea443f3
2022-07-03 18:49:58 +00:00
Basil Crow
732d9bce9f 8215291: Broken links when generating from project without modules
Backport-of: cb553175b7
2022-07-03 14:39:43 +00:00
Martin Balao
132745902a 8281866: Enhance MethodHandle invocations
Reviewed-by: mbaesken
Backport-of: d974d9da365f787f67971d88c79371c8b0769f75
2022-07-01 14:25:30 +02:00
Aleksei Voitylov
13bf52c8d8 8285407: Improve Xalan supports
Reviewed-by: mbalao
Backport-of: fd6385d8c20379c1139f64f5c90d331ad9631097
2022-07-01 14:10:34 +02:00
Aleksei Voitylov
6bc1874e1e 8283190: Improve MIDI processing
Reviewed-by: mbalao, mbaesken
Backport-of: e0329eb343661edd5066deb6ae5d99a742135831
2022-07-01 13:56:43 +02:00
Tobias Hartmann
6c0ba0785a 8281859: Improve class compilation
Reviewed-by: mbaesken
Backport-of: 3ac62a66efd05d0842076dd4cfbea0e53b12630f
2022-07-01 13:52:34 +02:00
Yuri Nesterenko
f7a521ec95 8272249: Better properties of loaded Properties
Reviewed-by: mbalao, mbaesken
Backport-of: f9f7e5eaf51cd4793805e50f8ba3549689d939e9
2022-07-01 13:47:28 +02:00
Aleksei Voitylov
de08dc4d79 8277608: Address IP Addressing
Reviewed-by: mbalao
Backport-of: f2136e833d5bbeb9eb4e61e73774c36ff7d27cfb
2022-07-01 13:41:15 +02:00
Goetz Lindenmaier
c53e0fe3f1 8288467: remove memory_operand assert for spilled instructions
Reviewed-by: stuefe
Backport-of: af05139133
2022-06-29 13:49:51 +00:00
Goetz Lindenmaier
c6e2a5b6b0 8282555: Missing memory edge when spilling MoveF2I, MoveD2L etc
Reviewed-by: stuefe
Backport-of: 4a5e7a1ada
2022-06-29 13:19:47 +00:00
Goetz Lindenmaier
87bcc4e770 8284882: SIGSEGV in Node::verify_edges due to compilation bailout
Reviewed-by: stuefe
2022-06-29 13:18:25 +00:00
Goetz Lindenmaier
fb76f0e7be 8283441: C2: segmentation fault in ciMethodBlocks::make_block_at(int)
Backport-of: 947869609c
2022-06-29 13:12:12 +00:00
Goetz Lindenmaier
6fe8d8d9a7 8285696: AlgorithmConstraints:permits not throwing IllegalArgumentException when 'alg' is null
Backport-of: 47951655ac
2022-06-29 13:08:00 +00:00
Goetz Lindenmaier
b4f08594df 8285398: Cache the results of constraint checks
Backport-of: 4b25717255
2022-06-29 12:38:03 +00:00
Goetz Lindenmaier
eb8789b54a 8284694: Avoid evaluating SSLAlgorithmConstraints twice
Reviewed-by: stuefe
Backport-of: d8446b4f60
2022-06-29 12:35:30 +00:00
Goetz Lindenmaier
97178bf7ed 8282214: Upgrade JQuery to version 3.6.0
Reviewed-by: stuefe
Backport-of: 5ba5e21fd2
2022-06-29 12:32:04 +00:00
Zhengyu Gu
027302b5f0 8284680: sun.font.FontConfigManager.getFontConfig() leaks charset
Backport-of: dea6e886af
2022-06-28 17:01:45 +00:00
Zhengyu Gu
ab7d1caa25 8284956: Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment
Backport-of: cbe7e7bd7f
2022-06-28 17:00:08 +00:00
Matthias Baesken
d7b6f7f676 8274506: TestPids.java and TestPidsLimit.java fail with podman run as root
Backport-of: 94e31e5ca5
2022-06-27 08:17:11 +00:00
Christoph Langer
1fbbd15ec3 8287366: Improve test failure reporting in GHA
Backport-of: e0e15def24
2022-06-27 07:20:59 +00:00
Sergey Bylokhov
8363d9db80 8286582: Build fails on macos aarch64 when using --with-zlib=bundled
Backport-of: 50d47de835
2022-06-25 00:30:48 +00:00
Matthias Baesken
27faf15f19 8273526: Extend the OSContainer API pids controller with pids.current
Reviewed-by: mdoerr
Backport-of: d4546b6b36
2022-06-24 12:28:30 +00:00
Goetz Lindenmaier
6c389cd6d8 8278519: serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null"
Backport-of: 63e43030ed
2022-06-24 07:32:00 +00:00
Goetz Lindenmaier
43e6fdb209 8281569: Create tests for Frame.setMinimumSize() method
Backport-of: d0eb6fa220
2022-06-24 07:28:55 +00:00
Aleksey Shipilev
f129738317 8288754: GCC 12 fails to build zReferenceProcessor.cpp
Backport-of: 834d92dd72
2022-06-23 15:49:49 +00:00
Sergey Nazarkin
e16aacad0e 8253829: Wrong length compared in SSPI bridge
Backport-of: e5ba020ee9
2022-06-23 14:09:54 +00:00
Matthias Baesken
1c1f7a1e8c 8210722: JAXP Tests: CatalogSupport2 and CatalogSupport3 generate incorrect messages upon failure
Backport-of: fad3c52660
2022-06-23 10:27:33 +00:00
Goetz Lindenmaier
8138382780 8266881: Enable debug log for SSLEngineExplorerMatchedSNI.java
Backport-of: 266702451d
2022-06-22 11:55:31 +00:00
Goetz Lindenmaier
4945cfea4d 8164804: sun/security/ssl/SSLSocketImpl/CloseSocket.java makes not reliable time assumption
Backport-of: 347d41df90
2022-06-22 10:35:02 +00:00
Goetz Lindenmaier
d12c2e2b4a 8217170: gc/arguments/TestUseCompressedOopsErgo.java timed out
Disable ZapUnusedHeapArea and VerifyBeforeExit for gc/arguments tests.

Reviewed-by: mdoerr
Backport-of: b85ebc19e0
2022-06-22 10:32:17 +00:00
Matthias Baesken
c10e0de19f 8272398: Update DockerTestUtils.buildJdkDockerImage()
Reviewed-by: phh
Backport-of: ec63957f9d
2022-06-22 07:15:46 +00:00
Goetz Lindenmaier
8242dd1044 8159694: HiDPI, Unity, java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java
Backport-of: c3938ec18b
2022-06-21 14:10:28 +00:00
Goetz Lindenmaier
a2ecf87f52 8281628: KeyAgreement : generateSecret intermittently not resetting
Reviewed-by: mdoerr
Backport-of: 1485883c9e
2022-06-21 14:09:04 +00:00
Goetz Lindenmaier
cb4e3feb84 8265100: (fs) WindowsFileStore.hashCode() should read cached hash code once
Backport-of: 3b576ed99d
2022-06-21 13:53:29 +00:00
Goetz Lindenmaier
97a472ce95 8264400: (fs) WindowsFileStore equality depends on how the FileStore was constructed
Backport-of: cc54de76ca
2022-06-21 13:02:52 +00:00
Goetz Lindenmaier
aa35f09df2 8139348: Deprecate 3DES and RC4 in Kerberos
Backport-of: ded96ddcde
2022-06-21 12:59:21 +00:00
Goetz Lindenmaier
765c5b42f0 8261160: Add a deserialization JFR event
Reviewed-by: phh
Backport-of: 3dc6f52a89
2022-06-21 12:53:04 +00:00
Goetz Lindenmaier
661236d2d7 8236823: Ensure that API documentation uses minified libraries
Reviewed-by: mdoerr
Backport-of: f6ad22fce5
2022-06-21 12:48:01 +00:00
Goetz Lindenmaier
8c37d06595 8226976: SessionTimeOutTests uses == operator for String value check
Use String.equals() instead of == operator

Backport-of: 178bf44f56
2022-06-21 12:44:54 +00:00
Goetz Lindenmaier
674e717764 8220744: [TESTBUG] Move RedefineTests from runtime to serviceability
Move tests out of runtime to jvmti/RedefineClasses

Backport-of: 3ed98222a7
2022-06-21 12:43:17 +00:00
Goetz Lindenmaier
9307c8c2d5 8217332: JTREG: Clean up, use generics instead of raw types
Reviewed-by: mdoerr
Backport-of: f3cb008ce2
2022-06-21 12:39:34 +00:00
Goetz Lindenmaier
9f059ee256 8213695: gc/TestAllocateHeapAtMultiple.java is slow in some configs
Backport-of: 755d163e91
2022-06-21 12:32:04 +00:00
Goetz Lindenmaier
1bdba34ed8 8219149: ProcessTools.ProcessBuilder should print timing info for subprocesses
Add some timestamped logging messages to OutputBuffer.

Backport-of: 67defd71f2
2022-06-21 11:59:55 +00:00
Olga Mikhaltsova
87ba1ef62a 8282538: PKCS11 tests fail on CentOS Stream 9
Backport-of: d8fd22239b
2022-06-21 08:29:48 +00:00
George Adams
4fbe635b21 8251551: Use .md filename extension for README
Reviewed-by: phh, clanger
Backport-of: 6ed221cb9a
2022-06-21 07:23:18 +00:00
Sergey Bylokhov
246f48e5fa 8212904: JTextArea line wrapping incorrect when using UI scale
Backport-of: 702ee3db37
2022-06-20 22:42:11 +00:00
Jaroslav Bachorik
684f12e7fd 8283849: AsyncGetCallTrace may crash JVM on guarantee
Reviewed-by: mdoerr
Backport-of: 1963985531
2022-06-20 15:27:41 +00:00
Sergey Bylokhov
8e94c68c29 8172065: javax/swing/JTree/4908142/bug4908142.java The selected index should be "aad"
Backport-of: 082fdf4793
2022-06-16 02:32:17 +00:00
Sergey Bylokhov
ffd8dc2c1d 8225122: Test AncestorResized.java fails when Windows desktop is scaled.
Backport-of: 77757ba974
2022-06-16 02:25:16 +00:00
Goetz Lindenmaier
538794fdea Merge 2022-06-15 07:12:13 +00:00
Matthias Baesken
68f6fbb712 8284754: print more interesting env variables in hs_err and VM.info
Backport-of: 8ee2944cc4
2022-06-14 07:02:06 +00:00
Andrew John Hughes
1dd942d354 8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine
Reviewed-by: bpb
Backport-of: fd8cb2dae8
2022-06-13 13:56:51 +00:00
Matthias Baesken
372af6a8fb 8266490: Extend the OSContainer API to support the pids controller of cgroups
Reviewed-by: mdoerr
Backport-of: 089e83bf1b
2022-06-13 13:12:09 +00:00
Goetz Lindenmaier
78aeb51960 8274517: java/util/DoubleStreamSums/CompensatedSums.java fails with expected [true] but found [false]
Backport-of: 97a983526b
2022-06-10 21:24:14 +00:00
Goetz Lindenmaier
c64f12c64b 8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4
Reviewed-by: clanger
Backport-of: 269eae6189
2022-06-10 20:57:35 +00:00
Goetz Lindenmaier
71544cb7f5 8269517: compiler/loopopts/TestPartialPeelingSinkNodes.java crashes with -XX:+VerifyGraphEdges
Backport-of: 7010dfdffa
2022-06-10 09:50:43 +00:00
Goetz Lindenmaier
6ff4ba21f3 8267271: Fix gc/arguments/TestNewRatioFlag.java expectedNewSize calculation
Backport-of: 59de99d119
2022-06-10 09:48:06 +00:00
Goetz Lindenmaier
c6e4a44eb7 8183372: Refactor java/lang/Class shell tests to java
Backport-of: 6dc3c6dcdd
2022-06-10 09:45:33 +00:00
Goetz Lindenmaier
bf0ebd2fff 8223575: add subspace transitions to gc+metaspace=info log lines
Reviewed-by: mdoerr
Backport-of: dacaff48e2
2022-06-10 09:44:06 +00:00
Goetz Lindenmaier
39109e5abe 8209736: runtime/RedefineTests/ModifyAnonymous.java fails with NullPointerException when running in CDS mode
Add logging of class names in the allLoadedClasses array; throw RuntimeException upon encountering of a null class.

Backport-of: 3c810ce261
2022-06-10 09:37:58 +00:00
Goetz Lindenmaier
cc6137c6e8 8069343: Improve gc/g1/TestHumongousCodeCacheRoots.java to use jtreg @requires
Remove client test entirely and clean up test

Backport-of: ec76c2046c
2022-06-10 09:35:36 +00:00
Matthias Baesken
a87bfb8453 8286114: [test] show real exception in bomb call in sun/rmi/runtime/Log/checkLogging/CheckLogging.java
Backport-of: 7424f47557
2022-06-10 07:36:11 +00:00
Goetz Lindenmaier
bb5d2bbc8e 8239902: [macos] Remove direct usage of JSlider, JProgressBar classes in CAccessible class
Backport-of: 23def435d4
2022-06-08 14:32:11 +00:00
Goetz Lindenmaier
16d0b7d709 8210107: vmTestbase/nsk/stress/network tests fail with Cannot assign requested address (Bind failed)
Backport-of: c49b882dd1
2022-06-08 14:27:44 +00:00
Goetz Lindenmaier
2632f544b2 8287109: Distrust.java failed with CertificateExpiredException
Backport-of: 5b7d066ca5
2022-06-08 14:04:10 +00:00
Goetz Lindenmaier
a665027fb7 Merge 2022-06-08 07:02:44 +00:00
Christoph Langer
e996d6fe05 8286855: javac error on invalid jar should only print filename
Backport-of: 1606d5545b
2022-06-07 08:35:14 +00:00
Christoph Langer
f915a327b9 8287336: GHA: Workflows break on patch versions
Backport-of: 18d3e4da13
2022-06-03 13:10:06 +00:00
Christoph Langer
9c64a06bb2 8286594: (zipfs) Mention paths with dot elements in ZipException and cleanups
Reviewed-by: mdoerr
Backport-of: 80cf9f3464
2022-06-03 11:32:23 +00:00
Christoph Langer
b3c0cc9cd0 8240903: Add test to check that jmod hashes are reproducible
Reviewed-by: mdoerr
Backport-of: 9695283458
2022-06-03 11:19:07 +00:00
Christoph Langer
3f9d7310eb 8286444: javac errors after JDK-8251329 are not helpful enough to find root cause
Backport-of: 29c4b8e80d
2022-06-03 11:15:57 +00:00
Christoph Langer
54a1784667 8287378: GHA: Update cygwin to fix issues in langtools tests on Windows
Reviewed-by: mdoerr
Backport-of: f086d945c3
2022-06-03 10:40:03 +00:00
Christoph Langer
3625ce79fc 8287739: [11u] ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java
Reviewed-by: mdoerr
2022-06-03 09:00:48 +00:00
Andrew John Hughes
a2e64948eb 8214427: probable bug in logic of ConcurrentHashMap.addCount()
Reviewed-by: martin
Backport-of: 8846159987
2022-06-02 15:14:33 +00:00
Christoph Langer
4546db6ee6 8240132: ProblemList com/sun/jdi/InvokeHangTest.java
Backport-of: be1007cfaf
2022-06-02 09:14:49 +00:00
Christoph Langer
e7036ecaac 8283017: GHA: Workflows break with update release versions
Reviewed-by: shade
Backport-of: 35215049b4
2022-06-02 08:59:48 +00:00
Christoph Langer
866f8f55a8 8287202: GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event
Reviewed-by: mdoerr, vkempik
Backport-of: f7a37f5886
2022-06-02 07:55:00 +00:00
Andrew John Hughes
06ead4e859 8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches
Backport-of: bb74ae87ab
2022-06-01 21:02:10 +00:00
Goetz Lindenmaier
25ac222aa2 8287017: Bump update version for OpenJDK: jdk-11.0.17
Reviewed-by: mdoerr
2022-06-01 12:05:35 +00:00
Andrew John Hughes
1c93a6e011 8285720: test/jdk/java/nio/file/Files/probeContentType/Basic.java fails to compile after backport of 8273655
Reviewed-by: mdoerr, clanger
2022-05-31 03:00:14 +00:00
Andrew John Hughes
7b58ca2ab6 8284094: Memory leak in invoker_completeInvokeRequest()
Backport-of: 1dfa1eaea0
2022-05-31 01:38:34 +00:00
Ichiroh Takiguchi
27d4c1e533 8287362: FieldAccessWatch testcase failed on AIX platform
Reviewed-by: mdoerr
Backport-of: 66340372d5
2022-05-30 23:05:28 +00:00
Alexander Scherbatiy
de59d51ced 8285397: JNI exception pending in CUPSfuncs.c:250
Backport-of: a03438cb1b
2022-05-30 14:43:18 +00:00
Alexander Scherbatiy
370730f971 8181571: printing to CUPS fails on mac sandbox app
Backport-of: 3d4be14eba
2022-05-30 07:49:11 +00:00
Ichiroh Takiguchi
6faebb1b11 8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale
Backport-of: 6ea996c205
2022-05-30 00:39:57 +00:00
Basil Crow
22fc6ce72a 8231454: File lock in Windows on a loaded jar due to a leak in Introspector::getBeanInfo
Reviewed-by: mdoerr
Backport-of: 2ee2b4ae19
2022-05-25 22:12:06 +00:00
Basil Crow
69bdf9b4e4 8222799: java.beans.Introspector uses an obsolete methods cache
Reviewed-by: mdoerr
Backport-of: 921b46738e
2022-05-25 14:54:56 +00:00
Matthias Baesken
d71a5434e3 8287119: Add Distrust.java to ProblemList
Backport-of: da8fd4547f
2022-05-25 10:20:40 +00:00
Martin Doerr
b2c51c4daa 8139046: Compiler Control: IGVPrintLevel directive should set PrintIdealGraph
Make !PrintIdealGraph a synonym for PrintIdealGraphLevel=-1 => print nothing

Reviewed-by: xliu, rrich
Backport-of: 892d998587
2022-05-23 19:11:57 +00:00
Ichiroh Takiguchi
d6003fe36d 8139173: [macosx] JInternalFrame shadow is not properly drawn
Reviewed-by: mdoerr
Backport-of: f7814c120b
2022-05-23 01:05:41 +00:00
Martin Doerr
8533ba4dce 7124301: [macosx] When in a tab group if you arrow between tabs there are no VoiceOver announcements.
Reviewed-by: goetz
Backport-of: 2146e52cfa
2022-05-20 13:14:13 +00:00
Goetz Lindenmaier
3072af43ae 8209776: Refactor jdk/security/JavaDotSecurity/ifdefs.sh to plain java test
Reviewed-by: mdoerr
Backport-of: 9711033780
2022-05-20 12:57:33 +00:00
Martin Doerr
7265ae53b2 7124293: [macosx] VoiceOver reads percentages rather than the actual values for sliders.
Backport-of: 6168452b9f
2022-05-20 12:55:53 +00:00
Goetz Lindenmaier
ab5b6a9ea4 8214275: CondyRepeatFailedResolution asserts "Dynamic constant has no fixed basic type"
GenerateOopMap::do_ldc must check for a DynamicInError as well as a Dynamic constant pool tag.

Backport-of: 99bcec08b1
2022-05-20 12:55:09 +00:00
Martin Doerr
cb1a537fc3 8133713: [macosx] Accessible JTables always reported as empty
Reviewed-by: goetz
Backport-of: b3b647ef9a
2022-05-20 12:54:21 +00:00
Goetz Lindenmaier
2b75da6516 8286293: Tests ShortResponseBody and ShortResponseBodyWithRetry should use less resources
Reviewed-by: mdoerr
Backport-of: f143386109
2022-05-20 12:53:00 +00:00
Sergey Bylokhov
eb2d6b88d7 8285523: Improve test java/io/FileOutputStream/OpenNUL.java
Backport-of: f42631e354
2022-05-20 06:50:08 +00:00
Jaroslav Bachorik
4f29d1eca7 8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
Reviewed-by: vkempik
Backport-of: 9471f24ca1
2022-05-19 06:36:34 +00:00
Ichiroh Takiguchi
39fd29fc57 8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled
Reviewed-by: mdoerr
Backport-of: 27fe3d7f8d
2022-05-18 14:01:24 +00:00
Zhengyu Gu
00ee3ff7f3 8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak
Reviewed-by: mdoerr
Backport-of: d6fa8b004b
2022-05-18 12:35:24 +00:00
Goetz Lindenmaier
364ed1d20a 8234608: [TESTBUG] Fix G1 redefineClasses tests and a memory leak
Backport-of: f844943273
2022-05-18 10:46:31 +00:00
Goetz Lindenmaier
281aeb9fe4 8264179: [TESTBUG] Some compiler tests fail when running without C2
Reviewed-by: mdoerr
Backport-of: aefc1560b5
2022-05-18 10:43:55 +00:00
Goetz Lindenmaier
d05bd5f213 8163498: Many long-running security libs tests
Backport-of: d2bd499222
2022-05-18 10:40:22 +00:00
Goetz Lindenmaier
0629ea6b5e 8209920: runtime/logging/RedefineClasses.java fail with OOME with ZGC
Backport-of: f71d1cb124
2022-05-18 10:39:17 +00:00
Goetz Lindenmaier
fef9e84031 8209150: [TESTBUG] Add logging to verify JDK-8197901 to a different test
Backport-of: aad3230b1d
2022-05-18 10:13:55 +00:00
Goetz Lindenmaier
8f85dcfe53 8285686: Update FreeType to 2.12.0
Backport-of: 67dd8a8d6a
2022-05-18 10:02:47 +00:00
Goetz Lindenmaier
80c9f2483d 8235220: ClhsdbScanOops.java fails with sun.jvm.hotspot.types.WrongTypeException
Backport-of: 77041dc4ec
2022-05-18 06:15:31 +00:00
Tyler Steele
0056b9b4f9 8227389: Remove unsupported xlc16 compile options on aix
Backport-of: bb96156548
2022-05-16 13:44:59 +00:00
Olga Mikhaltsova
c9d3291e27 8282008: Incorrect handling of quoted arguments in ProcessBuilder
Reviewed-by: vkempik
Backport-of: 897d6c0dc7
2022-05-16 10:03:22 +00:00
Christoph Langer
316c5144c4 8285726: [11u, 17u] Unify fix for JDK-8284548 with version from head
Backport-of: c464f20f41
2022-05-14 10:43:17 +00:00
Christoph Langer
8b0e5ec2c9 8285727: [11u, 17u] Unify fix for JDK-8284920 with version from head
Backport-of: a95482acf8
2022-05-14 10:42:34 +00:00
Basil Crow
2013819ba2 8268773: Improvements related to: Failed to start thread - pthread_create failed (EAGAIN)
Reviewed-by: mdoerr
Backport-of: e35005d5ce
2022-05-13 15:10:12 +00:00
Tyler Steele
9cb3797fb5 8283323: libharfbuzz optimization level results in extreme build times
Reviewed-by: mdoerr
Backport-of: 2c43ecb43f
2022-05-13 14:24:07 +00:00
Matthias Baesken
844f03b522 8286630: [11] avoid -std=c++11 CXX harfbuzz buildflag on Windows
Reviewed-by: mdoerr, clanger
2022-05-13 10:32:16 +00:00
Thomas Stuefe
7921cc1a43 8286198: [linux] Fix process-memory information
Backport-of: 9e320d9ab1
2022-05-12 14:29:06 +00:00
Jie Fu
fa3793566e 8285828: runtime/execstack/TestCheckJDK.java fails with zipped debug symbols
Reviewed-by: mdoerr
Backport-of: c4f7a850c6
2022-05-12 13:45:01 +00:00
Martin Doerr
e793096f5c 8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive
Backport-of: 86015e15a5
2022-05-12 13:37:43 +00:00
Goetz Lindenmaier
c95c7967bb 8255787: Tag container tests that use cGroups with cgroups keyword
Backport-of: 4df8abc200
2022-05-10 06:27:37 +00:00
Martin Doerr
60588db0b2 8279842: HTTPS Channel Binding support for Java GSS/Kerberos
Reviewed-by: goetz
Backport-of: d67ca11f47
2022-05-09 14:12:25 +00:00
Goetz Lindenmaier
7b73cc2e29 8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use
Backport-of: cd36be42c2
2022-05-09 13:38:41 +00:00
Jie Fu
df88e3de5e 8286013: Incorrect test configurations for compiler/stable/TestStableShort.java
Backport-of: 3420a1aa70
2022-05-09 12:20:38 +00:00
Jie Fu
32266eca29 8217017: [TESTBUG] Tests fail to compile after JDK-8216265
Backport-of: f1ffd3aa54
2022-05-05 07:07:21 +00:00
Zhengyu Gu
bc18b07797 8284549: JFR: FieldTable leaks FieldInfoTable member
Backport-of: 92f5e42696
2022-05-04 14:47:44 +00:00
Zhengyu Gu
7d87cb78a0 8284620: CodeBuffer may leak _overflow_arena
Reviewed-by: mdoerr, kvn
Backport-of: 4d45c3ebc4
2022-05-04 14:45:48 +00:00
Goetz Lindenmaier
87e0662a73 8279529: ProblemList java/nio/channels/DatagramChannel/ManySourcesAndTargets.java on macosx-aarch64
8279532: ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java

Backport-of: 564c8c6390
2022-05-03 08:11:52 +00:00
Goetz Lindenmaier
0925ad1f02 8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly
Backport-of: 6f882deddc
2022-05-03 08:05:46 +00:00
Goetz Lindenmaier
2787100896 8216265: [testbug] Introduce Platform.sharedLibraryPathVariableName() and adapt all tests.
Also cleanup some switches over OSes and use File.pathSeparator.

Reviewed-by: mdoerr
Backport-of: 084f0b75bd
2022-05-03 07:53:11 +00:00
Jonathan Dowland
ed29dcae08 8262379: Add regression test for JDK-8257746
Backport-of: 4c9adce20d
2022-05-02 13:10:35 +00:00
Goetz Lindenmaier
e8a5372cdf 8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT
Backport-of: bc12381105
2022-05-02 06:44:44 +00:00
Sergey Bylokhov
eea537df56 8274735: javax.imageio.IIOException: Unsupported Image Type while processing a valid JPEG image
Backport-of: f8a164915f
2022-04-29 22:45:44 +00:00
Severin Gehwolf
245e2f2da0 8284102: [TESTBUG] [11u] Retroactively add regression test for JDK-8272124
Reviewed-by: andrew
2022-04-29 16:44:36 +00:00
Andrew Azores
9c10f3efb9 8254001: [Metrics] Enhance parsing of cgroup interface files for version detection
Reviewed-by: sgehwolf
Backport-of: a50725db2a
2022-04-29 15:42:48 +00:00
Zhengyu Gu
234724cf84 8284458: CodeHeapState::aggregate() leaks blob_name
Reviewed-by: mdoerr
Backport-of: d4a4884385
2022-04-29 14:03:37 +00:00
Goetz Lindenmaier
73aea924db 8277396: [TESTBUG] In DefaultButtonModelCrashTest.java, frame is accessed from main thread
Backport-of: b310f301ef
2022-04-29 10:21:53 +00:00
Goetz Lindenmaier
6480023352 8272167: AbsPathsInImage.java should skip *.dSYM directories
Backport-of: 070f17dfb5ca6038e13b4ecd6436a83c79d2b86c
2022-04-29 10:19:06 +00:00
Goetz Lindenmaier
52aa769551 8269772: [macos-aarch64] test compilation failed with "SocketException: No buffer space available"
Reviewed-by: vkempik
Backport-of: a49b1dc704
2022-04-29 10:17:53 +00:00
Goetz Lindenmaier
d279487116 8266318: Switch to macos prefix for macOS bundles
Reviewed-by: mdoerr, vkempik
Backport-of: 096e9e5d13
2022-04-29 10:11:55 +00:00
Goetz Lindenmaier
50e83c5a85 8242538: java/security/SecureRandom/ThreadSafe.java failed on windows
Backport-of: 45fce6baf9
2022-04-29 10:06:52 +00:00
Goetz Lindenmaier
e11476ca61 8233551: [TESTBUG] SelectEditTableCell.java fails on MacOS
Reviewed-by: mdoerr
Backport-of: 9b3fb5d1d5
2022-04-29 10:04:20 +00:00
Goetz Lindenmaier
d14462fa19 8234382: Test tools/javac/processing/model/testgetallmembers/Main.java using too small heap
Backport-of: 5cb6271830
2022-04-29 10:03:10 +00:00
Martin Doerr
43655b7314 8279520: SPNEGO has not passed channel binding info into the underlying mechanism
Backport-of: 8d0f385fd0
2022-04-29 10:01:31 +00:00
Goetz Lindenmaier
580a9912aa 8213440: Lingering INCLUDE_ALL_GCS in test_oopStorage_parperf.cpp
Remove INCLUDE_ALL_GCS conditionalization.

Backport-of: 0050cd5776
2022-04-29 10:00:45 +00:00
Kanstantsin Shautsou
29509b82ea 8211795: ArrayIndexOutOfBoundsException in PNGImageReader after JDK-6788458
Backport-of: b9bf598fe7
2022-04-29 09:59:30 +00:00
Goetz Lindenmaier
b2ff90dff1 8169004: Fix redundant @requires tags in tests
Reviewed-by: mdoerr
Backport-of: fc9941ae72
2022-04-29 09:58:14 +00:00
Roland Westrelin
d896abb197 8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
Reviewed-by: mdoerr
Backport-of: fcce24c5b3
2022-04-29 08:44:16 +00:00
Roland Westrelin
665f856de6 8283834: Unmappable character for US-ASCII encoding in TestPredicateInputBelowLoopPredicate
Backport-of: 2367228835
2022-04-29 08:43:20 +00:00
Roland Westrelin
22f8e216ee 8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination
Backport-of: 1ef45c5bbd
2022-04-29 07:30:40 +00:00
Matthias Baesken
bf3438c5dc 8285591: [11] add signum checks in DSA.java engineVerify
Reviewed-by: clanger, mdoerr, andrew
2022-04-28 10:43:19 +00:00
Alexey Bakhtin
7e4af05023 8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key
Reviewed-by: mdoerr
Backport-of: f6232982b9
2022-04-27 11:26:26 +00:00
Matthias Baesken
987f7af5f2 8263718: unused-result warning happens at os_linux.cpp
Backport-of: f1d4ae6cc9
2022-04-27 06:43:09 +00:00
Sergey Bylokhov
dbe5f17514 8285445: cannot open file "NUL:"
Backport-of: 03cbb48e6a
2022-04-26 21:08:14 +00:00
Christoph Langer
61b8c91249 8284622: Update versions of some Github Actions used in JDK workflow
Reviewed-by: mdoerr
Backport-of: 5851631de2
2022-04-26 15:52:35 +00:00
Severin Gehwolf
d9be932a45 8285395: [JVMCI] [11u] Partial backport of JDK-8220623: InstalledCode
Reviewed-by: adinn
2022-04-25 15:13:40 +00:00
Zhengyu Gu
569ae08af5 8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c
Reviewed-by: mdoerr
Backport-of: 36b3bbc53d
2022-04-25 13:40:14 +00:00
Goetz Lindenmaier
203721091a Merge 2022-04-25 12:21:51 +00:00
Anton Kozlov
224e1a3fcb 8284920: Incorrect Token type causes XPath expression to return empty result
Reviewed-by: andrew
2022-04-19 21:38:30 +02:00
Andrew John Hughes
7b8461119b 8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers
Reviewed-by: mdoerr
Backport-of: ecd85e6f0f
2022-04-17 14:45:15 +00:00
Tyler Steele
e6ec27e5e1 8227171: provide function names in native stack trace on aix with xlc16
Reviewed-by: mdoerr
Backport-of: bb96156548
2022-04-14 13:04:14 +00:00
Elliott Baron
8de4b89933 8253797: [cgroups v2] Account for the fact that swap accounting is disabled on some systems
Backport-of: 669361117d
2022-04-14 08:19:41 +00:00
Severin Gehwolf
8482b376d6 8284756: [11u] Remove unused isUseContainerSupport in CgroupV1Subsystem
The actual native method in use is in CgroupsMetrics after JDK-8231111

Reviewed-by: zgu
2022-04-13 11:56:18 +00:00
Matthias Baesken
1f20c8d844 8281274: deal with ActiveProcessorCount in os::Linux::print_container_info
Reviewed-by: mdoerr
Backport-of: bb2e10ccea
2022-04-13 11:43:09 +00:00
Tyler Steele
bc28d8f88f 8217233: Update build settings for AIX/xlc
Backport-of: 74f9ec23e3
2022-04-12 14:27:18 +00:00
Goetz Lindenmaier
24fec25451 8203238: [TESTBUG] rewrite MemOptions shell test in Java
Backport-of: 1ad4834807
2022-04-12 09:09:11 +00:00
Goetz Lindenmaier
f5586d94ff 8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test
Backport-of: b247e6d908
2022-04-12 09:07:47 +00:00
Goetz Lindenmaier
3a6dbb41f4 8208207: Test nsk/stress/jni/gclocker/gcl001 fails after co-location
Backport-of: 72ae322022
2022-04-12 07:09:17 +00:00
Matthias Baesken
684fe80e4c 8220658: Improve the readability of container information in the error log
Backport-of: 2c4b9e0778
2022-04-12 06:56:02 +00:00
Christoph Langer
c38229fb06 8284507: GHA: Only check test results if testing was not skipped
Backport-of: 8eac3427b1
2022-04-11 15:41:11 +00:00
Christoph Langer
6f0e5b18b4 8284604: [11u] Update Boot JDK used in GHA to 11.0.14.1
Reviewed-by: sgehwolf
2022-04-11 15:38:30 +00:00
Christoph Langer
869b259752 8284389: Improve stability of GHA Pre-submit testing by caching cygwin installer
Reviewed-by: mdoerr
Backport-of: 61fcf2f67f
2022-04-11 15:37:03 +00:00
Tyler Steele
b930441799 8218136: minor hotspot adjustments for xlclang++ from xlc16 on AIX
Reviewed-by: mdoerr
Backport-of: 8218872024
2022-04-11 13:55:55 +00:00
Kimura Yukihiro
9b5d972cd2 8248876: LoadObject with bad base address created for exec file on linux
Reviewed-by: mdoerr
Backport-of: 9d59dec200
2022-04-11 08:55:33 +00:00
Roland Westrelin
4741ab5ac0 8275330: C2: assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions
Reviewed-by: mdoerr
Backport-of: 3e798dd40c
2022-04-11 07:33:11 +00:00
Zhengyu Gu
2da50ce082 8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c
Backport-of: 909986c7e1
2022-04-10 01:41:53 +00:00
Christoph Langer
91d65505f7 8284548: Invalid XPath expression causes StringIndexOutOfBoundsException
Reviewed-by: andrew
2022-04-09 14:17:07 +02:00
Goetz Lindenmaier
b9a4153a53 8284369: TestFailedAllocationBadGraph fails with -XX:TieredStopAtLevel < 4
Backport-of: 955d61df30
2022-04-09 07:57:28 +00:00
Goetz Lindenmaier
811cc9feb4 8284573: [11u] ProblemList TestBubbleUpRef.java and TestGCOldWithCMS.java because of 8272195
Reviewed-by: clanger
2022-04-09 07:54:48 +00:00
Goetz Lindenmaier
e89b6984e5 8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test
Reviewed-by: mdoerr
Backport-of: b2638e5efd
2022-04-09 07:52:43 +00:00
Goetz Lindenmaier
7a02166792 8242312: use reproducible random in hotspot gc tests
Reviewed-by: mdoerr
Backport-of: 5efa545d48
2022-04-09 07:29:13 +00:00
Goetz Lindenmaier
e8fbaad8f8 8283641: Large value for CompileThresholdScaling causes assert
Backport-of: c1048021fe
2022-04-08 14:46:25 +00:00
Yuri Nesterenko
5738fd4045 8282300: Throws NamingException instead of InvalidNameException after JDK-8278972
Reviewed-by: mbaesken
Backport-of: e6afb6ff81c9004aadaa6f694e643de9703dd32d
2022-04-08 08:54:34 +02:00
Yuri Nesterenko
666f21fe13 8278972: Improve URL supports
Reviewed-by: andrew
Backport-of: 94f1fbfd6d23f18ade3cc1b36f6dd368963c9d02
2022-04-08 08:53:12 +02:00
Andrew Brygin
0ae04bd00f 8278805: Enhance BMP image loading
Reviewed-by: andrew
Backport-of: 6319119be51e595be82f253b9f5e9495e72d4ad9
2022-04-08 08:35:14 +02:00
Alexey Bakhtin
bbc66cda97 8278449: Improve keychain support
Reviewed-by: andrew
Backport-of: 2376bb88eff3ae6922c4cae276e1d703a520853d
2022-04-08 08:09:52 +02:00
Martin Balao
16a9af0a12 8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character
Reviewed-by: mbaesken
Backport-of: d48181536fa9b99f01fc80f8adb73777ec6ffa58
2022-04-08 07:42:40 +02:00
Martin Balao
ab8d162abb 8278356: Improve file creation
Reviewed-by: andrew
Backport-of: 3c75bf069973c1d05b94cb42edf6eb62820b1ef5
2022-04-08 07:38:33 +02:00
Yuri Nesterenko
17181e7ce7 8270504: Better Xpath expression handling
Reviewed-by: andrew
Backport-of: b61a2ca626b1da5e555c50e548b643a2daa396c6
2022-04-08 07:35:04 +02:00
Andrew John Hughes
aeeab3d965 8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492
Backport-of: c180070cb5
2022-04-08 02:29:46 +00:00
Goetz Lindenmaier
5a66c8e97b 8283408: Fix a C2 crash when filling arrays with unsafe
Backport-of: a6740c010b
2022-04-07 09:20:41 +00:00
Goetz Lindenmaier
5d1718f4f8 8283451: C2: assert(_base == Long) failed: Not a Long
Reviewed-by: mdoerr
Backport-of: fabde3b7b8
2022-04-07 09:18:06 +00:00
Goetz Lindenmaier
1f011cbbab 8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2
Backport-of: 88f0938c94
2022-04-07 09:07:28 +00:00
Goetz Lindenmaier
6aa09f0f53 8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86
Backport-of: 8b45dbdae6
2022-04-07 08:35:16 +00:00
Goetz Lindenmaier
3e833fbb10 8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads
Backport-of: 4e7fb41daf
2022-04-07 08:31:51 +00:00
Goetz Lindenmaier
b271964c1e 8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack
Backport-of: e44dc638b8
2022-04-07 08:29:23 +00:00
Goetz Lindenmaier
67c48823ac 8265297: javax/net/ssl/SSLSession/TestEnabledProtocols.java failed with "RuntimeException: java.net.SocketException: Connection reset"
Reviewed-by: mdoerr
Backport-of: 2047da7dcc
2022-04-07 08:27:07 +00:00
Goetz Lindenmaier
6cc8d69436 8229210: [TESTBUG] Move gc stress tests from JFR directory tree to gc/stress
Moved the tests

Backport-of: 1bc974d8a7
2022-04-07 08:25:04 +00:00
Martin Balao
b949221377 8281388: Change wrapping of EncryptedPrivateKeyInfo
Reviewed-by: mbaesken
Backport-of: 405381ce9b44c8b122a06e590e4d8240fd9ba996
2022-04-06 23:08:51 +02:00
Martin Balao
792d3994d0 8278798: Improve supported intrinsic
Reviewed-by: roland
Backport-of: 7ed3d37203da74f3f2cc92d06250f74aa5ceccd1
2022-04-06 22:56:43 +02:00
David Alvarez
40666927f2 8274221: More definite BER encodings
Backport-of: ee39b0fc22a55a051b8a4d5754c34105fe4b734e
2022-04-06 22:49:00 +02:00
Sergey Bylokhov
0581b78210 8272255: Completely handle MIDI files
Reviewed-by: mbaesken
Backport-of: 6efdd1870e7ddb77a04d8c8183ced385039d0913
2022-04-06 22:21:40 +02:00
Andrew John Hughes
b6f59f5790 8273655: content-types.properties files are missing some common types
Backport-of: 65ed0a742e
2022-04-06 16:29:42 +00:00
Andrew John Hughes
b9d0a03b72 8283350: (tz) Update Timezone Data to 2022a
Backport-of: 1ab6f9395f
2022-04-06 16:04:08 +00:00
Tyler Steele
061c08348a 8218965: aix: support xlclang++ in the compiler detection
Reviewed-by: mdoerr
Backport-of: d9463e629e
2022-04-05 13:44:47 +00:00
Jonathan Dowland
f42e3d2a86 8253939: [TESTBUG] Increase coverage of the cgroups detection code
Backport-of: 42fc158991
2022-04-05 12:26:45 +00:00
Goetz Lindenmaier
11196c4d2f 8278794: Infinite loop in DeflaterOutputStream.finish()
Backport-of: 66c3529861
2022-04-05 10:02:10 +00:00
Goetz Lindenmaier
9ce8530c5d 8279219: [REDO] C2 crash when allocating array of size too large
Reviewed-by: mdoerr
Backport-of: d32f99ee65
2022-04-05 10:00:49 +00:00
Severin Gehwolf
31cbb822fc 8245543: Cgroups: Incorrect detection logic on some systems (still reproducible)
Backport-of: 2bbf8a2a96
2022-04-05 09:59:03 +00:00
Goetz Lindenmaier
7f8a11b3bf 8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs
Reviewed-by: mdoerr
Backport-of: a18beb4797
2022-04-05 09:58:21 +00:00
Goetz Lindenmaier
fee03ea080 8275337: C1: assert(false) failed: live_in set of first block must be empty
Backport-of: 4191b2b9b9
2022-04-05 09:56:05 +00:00
Goetz Lindenmaier
132c6c42f2 8277093: Vector should throw ClassNotFoundException for a missing class of an element
Backport-of: 857163336f
2022-04-05 09:54:44 +00:00
Goetz Lindenmaier
a852ad1527 8272358: Some tests may fail when executed with other locales than the US
Backport-of: 29e552c03a
2022-04-05 09:52:21 +00:00
Goetz Lindenmaier
b08aae180f 8272908: Missing coverage for certain classes in com.sun.org.apache.xml.internal.security
Backport-of: a16f2d0a3c
2022-04-05 09:51:16 +00:00
Goetz Lindenmaier
708017c7e5 8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
Backport-of: dfeb4132e4
2022-04-05 09:49:50 +00:00
Goetz Lindenmaier
1b940f31b5 8256146: Cleanup test/jdk/java/nio/channels/DatagramChannel/Connect.java
Backport-of: 9dbbe83a06
2022-04-05 09:47:14 +00:00
Goetz Lindenmaier
cd591e4724 8254887: C2: assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop
Backport-of: ea576ddbd4
2022-04-05 09:46:08 +00:00
Goetz Lindenmaier
aeb7ecf893 8243429: use reproducible random in :vmTestbase_nsk_stress
Backport-of: 0264b050f6
2022-04-05 09:44:42 +00:00
Goetz Lindenmaier
9bca81be8a 8240335: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint
Backport-of: eb003a7382
2022-04-05 09:43:22 +00:00
Goetz Lindenmaier
a3f9671ba8 8220813: update hotspot tier1_gc tests depending on GC to use @requires vm.gc.X
Reviewed-by: mdoerr
Backport-of: e6ace7be6f
2022-04-05 09:41:01 +00:00
Thomas Stuefe
01dec8fcd7 8282382: Report glibc malloc tunables in error reports
Reviewed-by: mdoerr
Backport-of: bc42e7cbbf
2022-04-05 03:27:12 +00:00
Jonathan Dowland
19ccccc9a9 8253435: Cgroup: 'stomping of _mount_path' crash if manually mounted cpusets exist
Backport-of: 0054c15f60
2022-04-04 16:12:39 +00:00
Jonathan Dowland
3cf4e70ddd 8252359: HotSpot Not Identifying it is Running in a Container
Backport-of: 76f0588aaf
2022-04-04 09:45:11 +00:00
Zhengyu Gu
2f1bee6117 8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows
Backport-of: 2cddf3f539
2022-04-04 00:08:54 +00:00
Jonathan Dowland
4c8b099033 8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10
Reviewed-by: sgehwolf
Backport-of: 35172cdaf3
2022-04-01 12:50:29 +00:00
Thomas Stuefe
34ed681973 8283497: [windows] print TMP and TEMP in hs_err and VM.info
Backport-of: b035fda459
2022-04-01 12:10:25 +00:00
Goetz Lindenmaier
319309e051 8270797: ShortECDSA.java test is not complete
Reviewed-by: mdoerr
Backport-of: 221e4b9c61
2022-04-01 09:06:49 +00:00
Goetz Lindenmaier
164febe833 8255604: java/nio/channels/DatagramChannel/Connect.java fails with java.net.BindException: Cannot assign requested address: connect
Backport-of: d5138d1fce
2022-04-01 09:01:47 +00:00
Goetz Lindenmaier
4a045a73b2 8247614: java/nio/channels/DatagramChannel/Connect.java timed out
Backport-of: ea26ff1142
2022-04-01 08:32:03 +00:00
Goetz Lindenmaier
f2b92d04b4 8253872: ArgumentHandler must use the same delimiters as in jvmti_tools.cpp
Backport-of: 4b16f8ab94
2022-04-01 08:28:17 +00:00
Goetz Lindenmaier
21d20bd771 8252117: com/sun/jdi/BadHandshakeTest.java failed with "ConnectException: Connection refused: connect"
Backport-of: 1d245c6ec8
2022-04-01 08:23:02 +00:00
Goetz Lindenmaier
880e1ab0f6 8192057: com/sun/jdi/BadHandshakeTest.java fails with java.net.ConnectException
Backport-of: c920b4a5c0
2022-04-01 08:08:49 +00:00
Goetz Lindenmaier
e937be352a 8214799: Add package declaration to each JTREG test case in the gc folder
Reviewed-by: mdoerr
Backport-of: 4d4b205e70
2022-04-01 08:06:27 +00:00
Alexey Pavlyutkin
156c486e92 8235385: Crash on aarch64 JDK due to long offset
Co-authored-by: Wang Zhuo <wzhuo@openjdk.org>
Co-authored-by: Andrew Haley <aph@openjdk.org>
Reviewed-by: aph
2022-04-01 07:36:42 +00:00
Roman Kennke
01c4d3fec6 8278065: Refactor subclassAudits to use ClassValue
Reviewed-by: rriggs, plevart
Backport-of: 8fed8ab29c
2022-04-01 07:15:30 +00:00
Roman Kennke
b1f18cb275 8280041: Retry loop issues in java.io.ClassCache
Reviewed-by: shade, plevart
Backport-of: cebaad1c94
2022-04-01 07:13:06 +00:00
Roman Kennke
118ec6172f 8277072: ObjectStreamClass caches keep ClassLoaders alive
Reviewed-by: mdoerr
Backport-of: 8eb453baeb
2022-04-01 06:56:52 +00:00
Goetz Lindenmaier
372e3596a8 8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode
Backport-of: 8aba4de984
2022-04-01 06:22:25 +00:00
Aleksei Voitylov
d3d68548f5 8277672: Better invocation handler handling
Reviewed-by: mbaesken
Backport-of: 0691804665559f1935b7361d5f1207ac46f823f0
2022-03-31 23:18:57 +02:00
Aleksei Voitylov
e3aee3f79e 8277227: Better identification of OIDs
Reviewed-by: mbaesken
Backport-of: 3ac5f0175356fad40b59f879322fa7d89dfbcaab
2022-03-31 23:02:54 +02:00
Aleksei Voitylov
c0cc90fadc 8275151: Improved Object Identification
Reviewed-by: mbaesken
Backport-of: 4cffe1cc913f895f54281de8e91ca39f4bde4b5f
2022-03-31 22:57:30 +02:00
Martin Balao
3a15993fde 8272594: Better record of recordings
Reviewed-by: evergizova
Backport-of: 44d9bf6d4afac7b17273b0de1189f3487c1a22f7
2022-03-31 22:49:20 +02:00
Oli Gillespie
1cb4ec946a 8272261: Improve JFR recording file processing
Reviewed-by: mbaesken
Backport-of: 71dc970b928a6b3ccc4973f56765a4ff7c43860d
2022-03-31 22:36:32 +02:00
Martin Balao
84d169ec8a 8269938: Enhance XML processing passes redux
Reviewed-by: mbaesken
Backport-of: ff4e11b1a83d6910e39f1d46bea154f0876f39da
2022-03-31 22:19:29 +02:00
Simon Tooke
0182066bac 8239559: Cgroups: Incorrect detection logic on some systems
Adjust heuristic with cgroup mounts according to mountinfo

Backport-of: 53ee0c4963
2022-03-31 17:51:20 +00:00
Aleksei Voitylov
9bedb0f2ae 8279958: Provide configure hints for Alpine/apk package managers
Reviewed-by: goetz
Backport-of: a30aa52b77
2022-03-31 10:59:33 +00:00
Goetz Lindenmaier
57faad5745 8277922: Unable to click JCheckBox in JTable through Java Access Bridge
Backport-of: 1668c02ee8
2022-03-30 13:10:13 +00:00
Goetz Lindenmaier
e9896e236a 8255266: Update Public Suffix List to 3c213aa
Backport-of: 7ce75afbbc
2022-03-30 13:07:54 +00:00
Goetz Lindenmaier
89bf6390c4 8258795: Update IANA Language Subtag Registry to Version 2021-05-11
Backport-of: a259ab4a8d
2022-03-30 13:06:24 +00:00
Aleksei Voitylov
2faa2163ec 8247589: Implementation of Alpine Linux/x64 Port
Reviewed-by: sgehwolf, clanger
Backport-of: 63009f90ec
2022-03-30 12:54:10 +00:00
Aleksei Voitylov
19761f50d2 8247591: Document Alpine Linux build steps in OpenJDK build guide
Reviewed-by: phh
Backport-of: 508c8a9585
2022-03-30 12:50:47 +00:00
Goetz Lindenmaier
b6f4e3e1a4 8210732: remove jdk.testlibrary.Utils
Reviewed-by: mdoerr
Backport-of: 8b28ad6efe
2022-03-30 12:47:24 +00:00
Goetz Lindenmaier
c2e43f7444 Merge 2022-03-30 06:11:40 +00:00
Severin Gehwolf
5ed1009dc2 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111
Reviewed-by: mdoerr
Backport-of: c92adf4158
2022-03-29 10:11:34 +00:00
Goetz Lindenmaier
68a9e01a0e 8259517: Incorrect test path in test cases
Reviewed-by: xuelei
Backport-of: 81db63e8d7
2022-03-29 09:53:09 +00:00
Goetz Lindenmaier
389ac32852 8182404: remove jdk.testlibrary.JDKToolFinder and JDKToolLauncher
Reviewed-by: mdoerr
2022-03-29 09:49:47 +00:00
Goetz Lindenmaier
9aa728e61e 8210112: remove jdk.testlibrary.ProcessTools
Reviewed-by: mdoerr
Backport-of: 21a0458422
2022-03-29 09:15:16 +00:00
Christoph Langer
487c3344fe 8283778: 11u GHA: Fix GCC 9 ubuntu package names
Reviewed-by: mdoerr, mbaesken
2022-03-29 08:44:57 +00:00
Matthias Baesken
65186363bf 8273176: handle latest VS2019 in abstract_vm_version
Backport-of: 0e14bf70cf
2022-03-29 07:32:18 +00:00
Christoph Langer
0413680448 8283018: 11u GHA: Update GCC 9 minor versions
Backport-of: 997c55f360
2022-03-29 04:55:45 +00:00
Christoph Langer
358fc5ac6b 8276657: XSLT compiler tries to define a class with empty name
Backport-of: 3c6aecd395
2022-03-28 21:06:18 +00:00
Elliott Baron
2049fca2aa 8244500: jtreg test error in test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java
When the kernel doesn't support swap limits, expect host values instead.

Reviewed-by: sgehwolf
Backport-of: fb5132254d834ba01a4b65ce64143843e83c674e
2022-03-28 15:06:50 +00:00
Severin Gehwolf
2bb6a3b133 8266391: Replace use of reflection in jdk.internal.platform.Metrics
Backport-of: 3544a9d0e4
2022-03-28 12:19:31 +00:00
Severin Gehwolf
27b388c60c 8252957: Wrong comment in CgroupV1Subsystem::cpu_quota
The comment is wrong. The 'us' in 'cpu.cfs_quota_us' stands for
microseconds, which is read verbatim. Similarly for cgroups v2
all units in 'cpu.max' are in microseconds.

Backport-of: 5166094647
2022-03-28 09:24:14 +00:00
Severin Gehwolf
29b0b63c6c 8254997: Remove unimplemented OSContainer::read_memory_limit_in_bytes
Backport-of: 5b51085c98
2022-03-28 09:22:53 +00:00
Jonathan Dowland
d5ae8cf004 8239785: Cgroups: Incorrect detection logic on old systems in hotspot
Return NULL subsystem if no cgroup controllers are mounted.

Reviewed-by: sgehwolf
Backport-of: add18914fb
2022-03-28 08:35:01 +00:00
Matthias Baesken
146fe86ff6 8256722: handle VC++:1927 VS2019 in abstract_vm_version
Backport-of: e838d71d61
2022-03-28 07:16:26 +00:00
Sergey Bylokhov
588bdfa8cf 8274751: Drag And Drop hangs on Windows
Backport-of: 7a0a6c95a5
2022-03-27 23:39:29 +00:00
Sergey Bylokhov
e6020c341c 6986863: ProfileDeferralMgr throwing ConcurrentModificationException
Reviewed-by: phh
Backport-of: 64a150c518
2022-03-27 22:02:08 +00:00
Goetz Lindenmaier
f3b76aee07 8282583: Update BCEL md to include the copyright notice
Backport-of: 8478173d83
2022-03-24 13:48:20 +00:00
Goetz Lindenmaier
8eeba890d1 8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths
Reviewed-by: mdoerr
Backport-of: 84868e39be
2022-03-24 13:44:49 +00:00
Goetz Lindenmaier
6aecb158d0 8278472: Invalid value set to CANDIDATEFORM structure
Backport-of: 2426d58e59
2022-03-24 13:42:40 +00:00
Goetz Lindenmaier
c1524748a9 8242311: use reproducible random in hotspot runtime tests
Reviewed-by: mdoerr
Backport-of: c73934d8c8
2022-03-24 13:41:25 +00:00
Goetz Lindenmaier
d064d8ef64 8242313: use reproducible random in hotspot svc tests
Backport-of: 116fe806c3
2022-03-24 13:39:08 +00:00
Goetz Lindenmaier
078eac8ecc 8242310: use reproducible random in hotspot compiler tests
Reviewed-by: mdoerr
Backport-of: 7c351405c4
2022-03-24 13:35:29 +00:00
Matthias Baesken
60e771f82d 8283614: [11] Repair compiler versions handling after 8233787
Reviewed-by: lucy, mdoerr
2022-03-24 11:27:15 +00:00
Matthias Baesken
af99bc3ac9 8275082: Update XML Security for Java to 2.3.0
Reviewed-by: yan
Backport-of: b0c0dc5ad2
2022-03-24 07:56:17 +00:00
Severin Gehwolf
3fc205cf8d 8253727: [cgroups v2] Memory and swap limits reported incorrectly
Account for interface files for swap and memory being reported independently.
The cgroup v1-like value is now reported by adding the memory.max value to
the memory.swap.max value, and memory.current and memory.swap.current
respectively.

Backport-of: 3e96721cd9
2022-03-23 14:03:26 +00:00
Zhengyu Gu
45b7883699 8237479: 8230305 causes slowdebug build failure
Declare methods as pure virtual.

Backport-of: 4ca0699585
2022-03-23 13:35:53 +00:00
Zhengyu Gu
f76091ec9a 8253714: [cgroups v2] Soft memory limit incorrectly using memory.high
The early implementation of cgroups v2 support was done with
crun 0.8 and it contained a bug which set memory.high over
memory.low when --memory-reservation was being used as a CLI
option.

This bug has been fixed in later crun versions, starting with
crun 0.11. Use memory.low in OpenJDK as well.

Backport-of: ff6843ca48
2022-03-23 13:33:25 +00:00
Zhengyu Gu
19f26f725f 8231111: Cgroups v2: Rework Metrics in java.base so as to recognize unified hierarchy
Reviewed-by: sgehwolf
Backport-of: 4def210a22
2022-03-23 12:44:27 +00:00
Zhengyu Gu
8715f37c67 8230305: Cgroups v2: Container awareness
8229202: Docker reporting causes secondary crashes in error handling
8216366: Add rationale to PER_CPU_SHARES define

Implement Cgroups v2 container awareness in hotspot

Reviewed-by: sgehwolf
Backport-of: d462a6b5c9
2022-03-23 12:24:22 +00:00
Matthias Baesken
b4b4e3e17c 8266545: 8261169 broke Harfbuzz build with gcc 7 and 8
Backport-of: c42c231e1dabd37ec09362291dc8141117ce0bbd
2022-03-23 11:40:31 +00:00
Goetz Lindenmaier
1a969f122d Merge 2022-03-23 09:12:14 +00:00
Matthias Baesken
088445f90b 8261169: Upgrade HarfBuzz to the latest 2.8.0
Reviewed-by: mdoerr
Backport-of: 80323b7f66
2022-03-23 08:33:45 +00:00
Goetz Lindenmaier
b0d7b5a663 8193682: Infinite loop in ZipOutputStream.close()
Reviewed-by: mdoerr
Backport-of: 1e9ed54d36
2022-03-22 15:43:23 +00:00
Goetz Lindenmaier
79c45a5963 8278851: Correct signer logic for jars signed with multiple digestalgs
Reviewed-by: mdoerr
Backport-of: cbe4973947
2022-03-22 09:55:28 +00:00
Jie Fu
31d7b5ebc4 8222926: Shenandoah build fails with --with-jvm-features=-compiler1
Reviewed-by: vkempik
Backport-of: c5fc45ee08
2022-03-22 09:26:51 +00:00
Christoph Langer
7c29f0e88c 8243666: ModuleHashes attribute generated for JMOD and JAR files depends on timestamps
Backport-of: fe152cdcc5
2022-03-22 09:18:53 +00:00
Zhengyu Gu
03da67b1b1 8265261: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
Backport-of: aaedac635a
2022-03-22 00:07:46 +00:00
Zdenek Zambersky
9714b69f39 8206330: Revisit com/sun/jdi/RedefineCrossEvent.java
Reviewed-by: clanger
Backport-of: 426873751c
2022-03-21 22:55:13 +00:00
Christoph Langer
d568fc823e 8283420: [AOT] Exclude TrackedFlagTest/NotTrackedFlagTest in 11u because of intermittent java.lang.AssertionError: duplicate classes for name Ljava/lang/Boolean;
Reviewed-by: stuefe
2022-03-21 16:50:00 +00:00
Jie Fu
bb54eeb1cf 8209883: ZGC: Compile without C1 broken
Reviewed-by: vkempik
Backport-of: 14443eec10
2022-03-21 13:51:31 +00:00
Jie Fu
6e5000fbbe 8283424: compiler/loopopts/LoopUnswitchingBadNodeBudget.java fails with release VMs due to lack of -XX:+UnlockDiagnosticVMOptions
Reviewed-by: roland
2022-03-21 09:38:21 +00:00
Goetz Lindenmaier
cf52a6f4fa 8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream
Backport-of: 5caa77b043
2022-03-20 19:32:03 +00:00
Goetz Lindenmaier
f14b9328ec 8246494: introduce vm.flagless at-requires property
Reviewed-by: stuefe
Backport-of: e333b6e153
2022-03-20 19:29:39 +00:00
Jie Fu
e66e3e5f8c 8210108: sun/tools/jstatd test build failures after JDK-8210022
Backport-of: 86c476b5e5
2022-03-20 00:38:53 +00:00
Basil Crow
dd6ba0875f 8210649: AssertionError @ jdk.compiler/com.sun.tools.javac.comp.Modules.enter(Modules.java:244)
Do not clean trees after last round of annotation processing, if the trees won't be re-entered again.

Backport-of: 44ae643b2b
2022-03-19 21:51:54 +00:00
Christoph Langer
e6f8c1e156 8240734: ModuleHashes attribute not reproducible between builds
Backport-of: f4b5488181
2022-03-19 21:05:02 +00:00
Goetz Lindenmaier
9a7bd43d27 8282761: XPathFactoryImpl remove setProperty and getProperty methods
Reviewed-by: yan
Backport-of: 67dd89154a5a8bd4661101d8d97e8b249063cca6
2022-03-18 18:36:30 +00:00
Zhengyu Gu
23af0b1efb 8230865: [TESTBUG] jdk/jfr/event/io/EvilInstrument.java fails at-run shell MakeJAR.sh target
Prebuilding the test class before adding it into a jar file

Backport-of: 725da985e1
2022-03-18 15:23:25 +00:00
Goetz Lindenmaier
8f3308afb8 8217473: SA: Tests using ClhsdbLauncher fail on SAP docker containers
Skip the test with jtreg.SkippedException if Platform.shouldSAAttach() returns false

Reviewed-by: mdoerr
Backport-of: 55369945b9
2022-03-18 12:52:47 +00:00
Goetz Lindenmaier
ca21a709b4 8215544: SA: Modify ClhsdbLauncher to add sudo privileges to enable MacOS tests on Mach5
Check if 'sudo' privileges can be added for executing macOS tests, and if so, add these privileges before executing the tests

Backport-of: 86fcd475b1
2022-03-18 12:46:05 +00:00
Goetz Lindenmaier
63db1bf6ee 8278186: org.jcp.xml.dsig.internal.dom.Utils.parseIdFromSameDocumentURI throws StringIndexOutOfBoundsException when calling substring method
Reviewed-by: mdoerr
Backport-of: 1f1db838ab
2022-03-18 12:35:59 +00:00
Goetz Lindenmaier
a3af00c03f 8274233: Minor cleanup for ToolBox
Reviewed-by: mdoerr
Backport-of: e741a18062
2022-03-18 12:34:40 +00:00
Goetz Lindenmaier
269114b6b4 8269933: test/jdk/javax/net/ssl/compatibility/JdkInfo incorrect verification of protocol and cipher support
Backport-of: 6346793c64
2022-03-18 12:32:14 +00:00
Goetz Lindenmaier
d267171850 8231489: GC watermark_0_1 failed due to "metaspace.gc.Fault: GC has happened too rare"
Backport-of: 9e17946ab2
2022-03-18 12:31:01 +00:00
Goetz Lindenmaier
306d863343 8229486: Replace wildcard address with loopback or local host in tests - part 21
Reviewed-by: mdoerr
Backport-of: 77d09f0f14
2022-03-18 12:29:43 +00:00
Goetz Lindenmaier
dbd14f7b2c 8277422: tools/jar/JarEntryTime.java fails with modified time mismatch
Backport-of: ad1ff27b73
2022-03-18 06:52:00 +00:00
Goetz Lindenmaier
dfcef29870 8241707: introduce randomness k/w to hotspot test suite
Backport-of: 0eb72d4e74
2022-03-18 06:46:47 +00:00
Vladimir Kempik
b42dd74405 8280476: [macOS] : hotspot arm64 bug exposed by latest clang
Backport-of: f5d6fddc6d
2022-03-17 18:46:59 +00:00
Andrew John Hughes
73dc222557 8257794: Zero: assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1) failed: wrong on Linux/x86_32
Reviewed-by: phh
Backport-of: df55ecd83c
2022-03-17 17:34:31 +00:00
Zhengyu Gu
613554035c 8223396: [TESTBUG] several jfr tests do not clean up files created in /tmp
Using test utils to create temp files and directories

Reviewed-by: sgehwolf
Backport-of: 7d3aebccc0
2022-03-17 16:34:28 +00:00
Aleksei Voitylov
95434882fd 8247592: refactor test/jdk/tools/launcher/Test7029048.java
Reviewed-by: phh
Backport-of: 8b87402a44
2022-03-17 12:36:21 +00:00
Olga Mikhaltsova
62afe2ebf7 8166727: javac crashed: [jimage.dll+0x1942] ImageStrings::find+0x28
Backport-of: a8005efde3
2022-03-17 10:21:56 +00:00
Martin Doerr
3a0074c05f 8283270: [11u] broken JRT_ENTRY_NO_ASYNC after Backport of JDK-8253795
Reviewed-by: sgehwolf, clanger
2022-03-17 09:35:41 +00:00
Martin Doerr
e1b2f92a30 8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist!
Reviewed-by: phh
Backport-of: 6d7db4b0b3
2022-03-17 09:35:02 +00:00
Goetz Lindenmaier
38e44eb552 8199874: [TESTBUG] runtime/Thread/ThreadPriorities.java fails with "expected 0 to equal 10"
Backport-of: 0d9f615e92
2022-03-17 08:57:01 +00:00
Goetz Lindenmaier
ebf6a5b7af 8207364: nsk/jvmti/ResourceExhausted/resexhausted003 fails to start
Backport-of: 31cf8b1c65
2022-03-17 08:54:37 +00:00
Aleksey Shipilev
90ac8aea03 8265343: Update Debian-based cross-compilation recipes
Reviewed-by: stuefe
Backport-of: 7879adbe88
2022-03-16 11:38:04 +00:00
Goetz Lindenmaier
ba38fed913 Merge 2022-03-16 11:25:56 +00:00
Zhengyu Gu
deb085729b 8281615: Deadlock caused by jdwp agent
Backport-of: e1060bee2a
2022-03-15 17:41:03 +00:00
Martin Doerr
1b8ef742ca 8266251: compiler.inlining.InlineAccessors shouldn't do testing in driver VM
Backport-of: 9605aeddee
2022-03-15 11:03:20 +00:00
Martin Doerr
f8abb70e27 8231565: More node budget asserts in fuzzed tests
Backport-of: 902858e3ce
2022-03-15 11:00:12 +00:00
Martin Doerr
18b5f5be05 8229499: Node budget assert in fuzzed test
Reviewed-by: stuefe
Backport-of: 8275b17b07
2022-03-15 10:18:03 +00:00
Martin Doerr
6c84ce9038 8234605: C2 failed "assert(C->live_nodes() - live_at_begin <= 2 * _nodes_required) failed: Bad node estimate: actual = 208 >> request = 101"
Backport-of: d19f2bdec0
2022-03-15 09:53:10 +00:00
Goetz Lindenmaier
ed275bab2c 8246741: NetworkInterface/UniqueMacAddressesTest: mac address uniqueness test failed
Reviewed-by: mdoerr
Backport-of: f5d36e6c94
2022-03-14 14:08:11 +00:00
Goetz Lindenmaier
2ed46d8ce1 8211822: Some tests fail after JDK-8210039
8202886: [macos] Test java/awt/MenuBar/8007006/bug8007006.java fails on MacOS

Reviewed-by: mdoerr
Backport-of: 245a72938a
2022-03-14 14:05:47 +00:00
Martin Doerr
f441970b62 8223389: Shenandoah optimizations fail with assert(!phase->exceeding_node_budget())
Backport-of: 8b07b191c3
2022-03-14 11:28:39 +00:00
Martin Doerr
f3708bb169 8225475: Node budget asserts on x86_32/64
Make the (ad-hoc) loop cloning size estimate more pessimistic.

Backport-of: ca29203cac
2022-03-14 11:27:50 +00:00
Aleksey Shipilev
997c55f360 8283018: 11u GHA: Update GCC 9 minor versions
Reviewed-by: sgehwolf
2022-03-14 10:45:49 +00:00
Goetz Lindenmaier
c94ce2cce4 8210039: move OSInfo to top level testlibrary
Reviewed-by: mdoerr
Backport-of: 315e71f87e
2022-03-14 07:46:04 +00:00
Martin Doerr
5f40afc109 8223363: Bad node estimate assertion failure
8223502: Node estimate for loop unswitching is not correct: assert(delta <= 2 * required) failed: Bad node estimate
8224648: assert(!exceeding_node_budget()) failed: Too many NODES required! failure with ctw

Tighten the node estimates. New est_loop_clone_sz() implementation that will compute a "fan-out" complexity estimate as part of the size estimate (to better estimate complex loop body size after cloning). New est_loop_unroll_sz() function, used to estimate the size of a loop body att full/maximal unrolling. Correction to node budget final tests and asserts.

Reviewed-by: goetz
Backport-of: d222b01dee
2022-03-11 15:34:20 +00:00
Aleksey Shipilev
1123120640 8279668: x86: AVX2 versions of vpxor should be asserted
Reviewed-by: goetz
Backport-of: 2bbeae3f05
2022-03-11 14:20:32 +00:00
Goetz Lindenmaier
39974dc1a0 8186548: move jdk.testlibrary.JcmdBase closer to tests
Backport-of: 56ee0fccb3
2022-03-11 13:38:39 +00:00
Goetz Lindenmaier
50ac138923 8210022: remove jdk.testlibrary.ProcessThread, TestThread and XRun
Backport-of: 370abe471f
2022-03-11 13:36:29 +00:00
Goetz Lindenmaier
9d3c940217 8218751: Do not store original classfiles inside the CDS archive
Remove the OD shared region and decode classfiles on the fly

Reviewed-by: stuefe
Backport-of: d06f3e7e28
2022-03-11 13:33:57 +00:00
Thomas Stuefe
51b45e740c 8282589: runtime/ErrorHandling/ErrorHandler.java fails on MacOS aarch64 in jdk 11
Reviewed-by: vkempik
2022-03-11 07:37:49 +00:00
Goetz Lindenmaier
87703322e9 8208697: vmTestbase/metaspace/stressHierarchy/stressHierarchy012/TestDescription.java fails with OutOfMemoryError: Metaspace
Remove timeoutHandler class and let Stresser handle timeout, remove 30 threads filling metaspace, and remove related unused files.

Reviewed-by: mdoerr
Backport-of: 7445ebf02b
2022-03-10 14:01:48 +00:00
Goetz Lindenmaier
7d1671948d 8212151: jdi/ExclusiveBind.java times out due to "bind failed: Address already in use" on Solaris-X64
Reviewed-by: phh
Backport-of: b4cb7d6fc7
2022-03-10 13:59:22 +00:00
Martin Doerr
04d8f98cd1 8216137: assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit
Adding simplistic node budget support for loop-transformations. This /should/attempts to/ resolve most cases of: "assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit".

Reviewed-by: goetz
Backport-of: e08506e683
2022-03-10 13:50:34 +00:00
Aleksey Shipilev
194b66f6a7 8282225: GHA: Allow one concurrent run per PR only
Backport-of: aaab2cb416
2022-03-10 13:19:04 +00:00
Aleksei Voitylov
7d3db81ff2 8217340: Compilation failed: tools/launcher/Test7029048.java
Backport-of: e16b299420
2022-03-10 09:04:47 +00:00
Aleksei Voitylov
c3628a25a8 8245938: Remove unused print_stack(void) method from XToolkit.c
Backport-of: 2845c3d029
2022-03-10 09:01:32 +00:00
Aleksei Voitylov
e18126a2b9 8252248: __SIGRTMAX is not declared in musl libc
Reviewed-by: stuefe
Backport-of: 5490b03160
2022-03-10 08:53:57 +00:00
Aleksei Voitylov
49f91052b8 8252250: isnanf is obsolete
Reviewed-by: vkempik
Backport-of: b957d802e6
2022-03-10 08:34:38 +00:00
Joshua Cao
8e01531a54 8258956: Memory Leak in StringCoding on ThreadLocal resultCached StringCoding.Result
Backport-of: aba3431c4e
2022-03-09 18:03:38 +00:00
Bernhard Urban-Forster
85a89c5075 8211962: Implicit narrowing in MacOSX java.desktop jsound
Cast value to needed type.

Backport-of: 47e7b141c0
2022-03-09 14:41:37 +00:00
Martin Doerr
bca1970e86 8223143: Restructure/clean-up for 'loopexit_or_null()'.
Minor restructure and clean-up for 'loopexit_or_null()' and its use.

Backport-of: 8088ed8317
2022-03-09 10:18:16 +00:00
Goetz Lindenmaier
571d323996 8208249: TriggerUnloadingByFillingMetaspace generates garbage class names
Put a ThreadLocal around the object to be thread safe

Backport-of: 3d94ce71b5
2022-03-09 10:16:54 +00:00
Martin Doerr
87b60073b8 8279837: C2: assert(is_Loop()) failed: invalid node class: Region
Backport-of: 65eb066b63
2022-03-09 10:15:28 +00:00
Goetz Lindenmaier
56e2384959 8208246: flags duplications in vmTestbase_vm_g1classunloading tests
Remove duplicate flags for the classunloading tests

Backport-of: b184fceaa0
2022-03-09 10:14:18 +00:00
Goetz Lindenmaier
f7346f087a 8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem
Reviewed-by: mbaesken
Backport-of: 6aa02d75d9
2022-03-09 10:13:14 +00:00
Goetz Lindenmaier
7a1d1e022b Merge 2022-03-09 10:03:58 +00:00
Matthias Baesken
b0c0dc5ad2 8275082: Update XML Security for Java to 2.3.0
Backport-of: 1082544d23ee4cd1d81cdd707f136adc951eca00
2022-03-09 08:28:47 +00:00
Roman Kennke
4b9bba662d 8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations
Backport-of: 5ab22e88da
2022-03-08 15:07:33 +00:00
Goetz Lindenmaier
1cff5631dc 8277795: ldap connection timeout not honoured under contention
Reviewed-by: mbaesken
Backport-of: 3d926dd66e
2022-03-07 12:51:31 +00:00
Goetz Lindenmaier
e339111366 8276141: XPathFactory set/getProperty method
Backport-of: 4b2f75b0b0441e1ffb4fb3b4f789f13008c20307
2022-03-07 12:37:33 +00:00
Matthias Baesken
86d39a6959 8282588: [11] set harfbuzz compilation flag to -std=c++11
Reviewed-by: mdoerr
2022-03-07 11:41:31 +00:00
Vladimir Kempik
8a9f20a1c6 8263856: Github Actions for macos/aarch64 cross-build
Reviewed-by: phh
Backport-of: 114e3c3e2d
2022-03-03 08:51:03 +00:00
Vladimir Kempik
5561fd1e42 8260518: Change default -mmacosx-version-min to 10.12
Reviewed-by: phh, burban
Backport-of: 53f1b93881
2022-03-02 15:26:54 +00:00
Goetz Lindenmaier
16d98b354c 8282501: Bump update version for OpenJDK: jdk-11.0.16
Reviewed-by: mdoerr
2022-03-02 07:24:05 +00:00
Goetz Lindenmaier
5cad68f586 8255410: Add ChaCha20 and Poly1305 support to SunPKCS11 provider
Reviewed-by: mdoerr
Backport-of: 5d8c1cc8a0
2022-03-01 16:58:10 +00:00
Goetz Lindenmaier
c0effc24b7 8211333: AArch64: Fix another build failure after JDK-8211029
Reviewed-by: aph
Backport-of: 21af2af13e
2022-03-01 16:11:26 +00:00
Zdenek Zambersky
80919eb2ff 8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition
Reviewed-by: sgehwolf
Backport-of: 4c52eb3943
2022-02-28 17:12:07 +00:00
Sergey Bylokhov
ba6c4c163c 8261107: ArrayIndexOutOfBoundsException in the ICC_Profile.getInstance(InputStream)
Backport-of: 06b33a0ad7
2022-02-26 04:38:49 +00:00
Goetz Lindenmaier
80a27773cb 8282372: [11] build issue on MacOS/aarch64 12.2.1 using Xcode 13.1: call to 'log2_intptr' is ambiguous
Reviewed-by: clanger
2022-02-25 22:23:14 +00:00
Kimura Yukihiro
68c63203f5 8214004: Missing space between compiler thread name and task info in hs_err
Reviewed-by: phh
2022-02-24 23:47:01 +00:00
Matthias Baesken
16cbd3290d 8250750: JDK-8247515 fix for OSX pc_to_symbol() lookup fails with some symbols
Backport-of: d12fdfa3b7
2022-02-24 11:16:40 +00:00
Matthias Baesken
6f9d287bbe 8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
Backport-of: d3749de478
2022-02-24 08:22:48 +00:00
Matthias Baesken
ffa5ae86c9 8247515: OSX pc_to_symbol() lookup does not work with core files
Backport-of: ab729d7075
2022-02-23 13:42:17 +00:00
Kimura Yukihiro
4378844584 8254085: javax/swing/text/Caret/TestCaretPositionJTextPane.java failed with "RuntimeException: Wrong caret position"
Backport-of: 51a865d66a
2022-02-22 17:44:56 +00:00
6808 changed files with 333828 additions and 230825 deletions

View File

@@ -1,10 +1,12 @@
#
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 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.
# 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
@@ -21,4 +23,24 @@
# questions.
#
exclusiveAccess.dirs=.
name: 'Config'
description: 'Read JDK Configuration Variables'
inputs:
var:
description: 'The name of the variable to read'
required: true
outputs:
value:
description: 'The value of the configuration variable'
value: ${{ steps.read-config.outputs.value }}
runs:
using: composite
steps:
- name: 'Read configuration variable from repo'
id: read-config
run: |
# Extract value from configuration file
value="$(grep -h ${{ inputs.var }}= make/conf/github-actions.conf | cut -d '=' -f 2-)"
echo "value=$value" >> $GITHUB_OUTPUT
shell: bash

80
.github/actions/do-build/action.yml vendored Normal file
View File

@@ -0,0 +1,80 @@
#
# Copyright (c) 2022, 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.
#
name: 'Do build'
description: 'Build the JDK using make'
inputs:
make-target:
description: 'Make target(s)'
required: true
platform:
description: 'Platform name'
required: true
debug-suffix:
description: 'File name suffix denoting debug level, possibly empty'
required: false
runs:
using: composite
steps:
- name: 'Build'
id: build
run: >
make LOG=info ${{ inputs.make-target }}
|| bash ./.github/scripts/gen-build-failure-report.sh "$GITHUB_STEP_SUMMARY"
shell: bash
- name: 'Check for failure'
id: check
run: |
# Check for failure marker file
build_dir="$(ls -d build/*)"
if [[ -e $build_dir/build-failure ]]; then
# Collect relevant log files
mkdir failure-logs
cp \
$build_dir/spec.gmk \
$build_dir/build.log \
$build_dir/configure.log \
$build_dir/make-support/failure-summary.log \
$build_dir/make-support/failure-logs/* \
failure-logs/ 2> /dev/null || true
echo 'failure=true' >> $GITHUB_OUTPUT
fi
shell: bash
- name: 'Upload build logs'
uses: actions/upload-artifact@v4
with:
name: failure-logs-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: failure-logs
if: steps.check.outputs.failure == 'true'
# This is the best way I found to abort the job with an error message
- name: 'Notify about build failures'
uses: actions/github-script@v7
with:
script: core.setFailed('Build failed. See summary for details.')
if: steps.check.outputs.failure == 'true'

109
.github/actions/get-bootjdk/action.yml vendored Normal file
View File

@@ -0,0 +1,109 @@
#
# Copyright (c) 2022, 2023, 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.
#
name: 'Get BootJDK'
description: 'Download the BootJDK from cache or source location'
inputs:
platform:
description: 'Platform'
required: true
outputs:
path:
description: 'Path to the installed BootJDK'
value: ${{ steps.path-name.outputs.path }}
runs:
using: composite
steps:
- name: 'Determine platform prefix'
id: platform-prefix
run: |
# Convert platform name to upper case
platform_prefix="$(echo ${{ inputs.platform }} | tr [a-z-] [A-Z_])"
echo "value=$platform_prefix" >> $GITHUB_OUTPUT
shell: bash
- name: 'Get URL configuration'
id: url
uses: ./.github/actions/config
with:
var: ${{ steps.platform-prefix.outputs.value}}_BOOT_JDK_URL
- name: 'Get SHA256 configuration'
id: sha256
uses: ./.github/actions/config
with:
var: ${{ steps.platform-prefix.outputs.value}}_BOOT_JDK_SHA256
- name: 'Get file extension configuration'
id: ext
uses: ./.github/actions/config
with:
var: ${{ steps.platform-prefix.outputs.value}}_BOOT_JDK_EXT
- name: 'Check cache for BootJDK'
id: get-cached-bootjdk
uses: actions/cache@v4
with:
path: bootjdk/jdk
key: boot-jdk-${{ inputs.platform }}-${{ steps.sha256.outputs.value }}
# macOS is missing sha256sum
- name: 'Install sha256sum'
run: |
# Run Homebrew installation
brew install coreutils
shell: bash
if: steps.get-cached-bootjdk.outputs.cache-hit != 'true' && runner.os == 'macOS'
- name: 'Download BootJDK'
run: |
# Download BootJDK and verify checksum
mkdir -p bootjdk/jdk
mkdir -p bootjdk/unpacked
wget --progress=dot:mega -O bootjdk/jdk.${{ steps.ext.outputs.value }} '${{ steps.url.outputs.value }}'
echo '${{ steps.sha256.outputs.value }} bootjdk/jdk.${{ steps.ext.outputs.value }}' | sha256sum -c >/dev/null -
shell: bash
if: steps.get-cached-bootjdk.outputs.cache-hit != 'true'
- name: 'Unpack BootJDK'
run: |
# Unpack the BootJDK and move files to a common location
if [[ '${{ steps.ext.outputs.value }}' == 'tar.gz' ]]; then
tar -xf bootjdk/jdk.${{ steps.ext.outputs.value }} -C bootjdk/unpacked
else
unzip -q bootjdk/jdk.${{ steps.ext.outputs.value }} -d bootjdk/unpacked
fi
jdk_root="$(dirname $(find bootjdk/unpacked -name bin -type d))"
mv "$jdk_root"/* bootjdk/jdk/
shell: bash
if: steps.get-cached-bootjdk.outputs.cache-hit != 'true'
- name: 'Export path to where BootJDK is installed'
id: path-name
run: |
# Export the absolute path
echo "path=`pwd`/bootjdk/jdk" >> $GITHUB_OUTPUT
shell: bash

109
.github/actions/get-bundles/action.yml vendored Normal file
View File

@@ -0,0 +1,109 @@
#
# Copyright (c) 2022, 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.
#
name: 'Get bundles'
description: 'Download resulting JDK bundles'
inputs:
platform:
description: 'Platform name'
required: true
debug-suffix:
description: 'File name suffix denoting debug level, possibly empty'
required: false
outputs:
jdk-path:
description: 'Path to the installed JDK bundle'
value: ${{ steps.path-name.outputs.jdk }}
symbols-path:
description: 'Path to the installed symbols bundle'
value: ${{ steps.path-name.outputs.symbols }}
tests-path:
description: 'Path to the installed tests bundle'
value: ${{ steps.path-name.outputs.tests }}
runs:
using: composite
steps:
- name: 'Download bundles artifact'
id: download-bundles
uses: actions/download-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
continue-on-error: true
- name: 'Download bundles artifact (retry)'
uses: actions/download-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
if: steps.download-bundles.outcome == 'failure'
- name: 'Unpack bundles'
run: |
if [[ -e bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.zip ]]; then
echo 'Unpacking jdk bundle...'
mkdir -p bundles/jdk
unzip -q bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.zip -d bundles/jdk
fi
if [[ -e bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz ]]; then
echo 'Unpacking jdk bundle...'
mkdir -p bundles/jdk
tar -xf bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz -C bundles/jdk
fi
if [[ -e bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz ]]; then
echo 'Unpacking symbols bundle...'
mkdir -p bundles/symbols
tar -xf bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz -C bundles/symbols
fi
if [[ -e bundles/tests-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz ]]; then
echo 'Unpacking tests bundle...'
mkdir -p bundles/tests
tar -xf bundles/tests-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz -C bundles/tests
fi
shell: bash
- name: 'Export paths to where bundles are installed'
id: path-name
run: |
# Export the paths
jdk_dir="$GITHUB_WORKSPACE/$(dirname $(find bundles/jdk -name bin -type d))"
symbols_dir="$GITHUB_WORKSPACE/$(dirname $(find bundles/symbols -name bin -type d))"
tests_dir="$GITHUB_WORKSPACE/bundles/tests"
if [[ '${{ runner.os }}' == 'Windows' ]]; then
jdk_dir="$(cygpath $jdk_dir)"
symbols_dir="$(cygpath $symbols_dir)"
tests_dir="$(cygpath $tests_dir)"
fi
echo "jdk=$jdk_dir" >> $GITHUB_OUTPUT
echo "symbols=$symbols_dir" >> $GITHUB_OUTPUT
echo "tests=$tests_dir" >> $GITHUB_OUTPUT
shell: bash

72
.github/actions/get-jtreg/action.yml vendored Normal file
View File

@@ -0,0 +1,72 @@
#
# Copyright (c) 2023, 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.
#
name: 'Get JTReg'
description: 'Download JTReg from cache or source location'
outputs:
path:
description: 'Path to the installed JTReg'
value: ${{ steps.path-name.outputs.path }}
runs:
using: composite
steps:
- name: 'Get JTReg version configuration'
id: version
uses: ./.github/actions/config
with:
var: JTREG_VERSION
- name: 'Check cache for JTReg'
id: get-cached-jtreg
uses: actions/cache@v4
with:
path: jtreg/installed
key: jtreg-${{ steps.version.outputs.value }}
- name: 'Checkout the JTReg source'
uses: actions/checkout@v4
with:
repository: openjdk/jtreg
ref: jtreg-${{ steps.version.outputs.value }}
path: jtreg/src
if: steps.get-cached-jtreg.outputs.cache-hit != 'true'
- name: 'Build JTReg'
run: |
# Build JTReg and move files to the proper locations
bash make/build.sh --jdk "$JAVA_HOME_17_X64"
mkdir ../installed
mv build/images/jtreg/* ../installed
working-directory: jtreg/src
shell: bash
if: steps.get-cached-jtreg.outputs.cache-hit != 'true'
- name: 'Export path to where JTReg is installed'
id: path-name
run: |
# Export the path
echo 'path=jtreg/installed' >> $GITHUB_OUTPUT
shell: bash

View File

@@ -1,10 +1,12 @@
#
# Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 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.
# 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
@@ -21,20 +23,22 @@
# questions.
#
# -*- shell-script -*-
# @summary Check getEnclosingClass and other methods
# @author Peter von der Ahé
name: 'Get MSYS2'
description: 'Download MSYS2 and prepare a Windows host'
rm -rf pkg1
mkdir pkg1
mkdir -p pkg1/pkg2
runs:
using: composite
steps:
- name: 'Install MSYS2'
uses: msys2/setup-msys2@v2.22.0
with:
install: 'autoconf tar unzip zip make'
path-type: minimal
location: ${{ runner.tool_cache }}/msys2
sed '
s/canonical="EnclosingClass/canonical="pkg1.EnclosingClass/g;
s/"class EnclosingClass/"class pkg1.EnclosingClass/g;
s/\/\/package/package pkg1;/g' < ${TESTSRC}/EnclosingClass.java > pkg1/EnclosingClass.java
sed '
s/canonical="EnclosingClass/canonical="pkg1.pkg2.EnclosingClass/g;
s/"class EnclosingClass/"class pkg1.pkg2.EnclosingClass/g;
s/\/\/package/package pkg1.pkg2;/g' < ${TESTSRC}/EnclosingClass.java > pkg1/pkg2/EnclosingClass.java
# We can't run bash until this is completed, so stick with pwsh
- name: 'Set MSYS2 path'
run: |
# Prepend msys2/msys64/usr/bin to the PATH
echo "$env:RUNNER_TOOL_CACHE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH
shell: pwsh

View File

@@ -0,0 +1,77 @@
#
# Copyright (c) 2022, 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.
#
name: 'Upload bundles'
description: 'Upload resulting JDK bundles'
inputs:
platform:
description: 'Platform name'
required: true
debug-suffix:
description: 'File name suffix denoting debug level, possibly empty'
required: false
runs:
using: composite
steps:
- name: 'Determine bundle names'
id: bundles
run: |
# Rename bundles to consistent names
jdk_bundle_zip="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}.zip 2> /dev/null || true)"
jdk_bundle_tar_gz="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
symbols_bundle="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}-symbols.tar.gz 2> /dev/null || true)"
tests_bundle="$(ls build/*/bundles/jdk-*_bin-tests${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
mkdir bundles
if [[ "$jdk_bundle_zip" != "" ]]; then
mv "$jdk_bundle_zip" "bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.zip"
fi
if [[ "$jdk_bundle_tar_gz" != "" ]]; then
mv "$jdk_bundle_tar_gz" "bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$symbols_bundle" != "" ]]; then
mv "$symbols_bundle" "bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$tests_bundle" != "" ]]; then
mv "$tests_bundle" "bundles/tests-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$jdk_bundle_zip$jdk_bundle_tar_gz$symbols_bundle$tests_bundle" != "" ]]; then
echo 'bundles-found=true' >> $GITHUB_OUTPUT
else
echo 'bundles-found=false' >> $GITHUB_OUTPUT
fi
shell: bash
- name: 'Upload bundles artifact'
uses: actions/upload-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
retention-days: 1
if: steps.bundles.outputs.bundles-found == 'true'

View File

@@ -0,0 +1,51 @@
#!/bin/bash
#
# Copyright (c) 2022, 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.
#
GITHUB_STEP_SUMMARY="$1"
BUILD_DIR="$(ls -d build/*)"
# Send signal to the do-build action that we failed
touch "$BUILD_DIR/build-failure"
(
echo '### :boom: Build failure summary'
echo ''
echo 'The build failed. Here follows the failure summary from the build.'
echo '<details><summary><b>View build failure summary</b></summary>'
echo ''
echo '```'
if [[ -f "$BUILD_DIR/make-support/failure-summary.log" ]]; then
cat "$BUILD_DIR/make-support/failure-summary.log"
else
echo "Failure summary ($BUILD_DIR/make-support/failure-summary.log) not found"
fi
echo '```'
echo '</details>'
echo ''
echo ''
echo ':arrow_right: To see the entire test log, click the job in the list to the left. To download logs, see the `failure-logs` [artifact above](#artifacts).'
) >> $GITHUB_STEP_SUMMARY

92
.github/scripts/gen-test-results.sh vendored Normal file
View File

@@ -0,0 +1,92 @@
#!/bin/bash
#
# Copyright (c) 2022, 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.
#
GITHUB_STEP_SUMMARY="$1"
test_suite_name=$(cat build/run-test-prebuilt/test-support/test-last-ids.txt)
results_dir=build/run-test-prebuilt/test-results/$test_suite_name/text
report_dir=build/run-test-prebuilt/test-support/$test_suite_name
failures=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/newfailures.txt 2> /dev/null || true)
errors=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/other_errors.txt 2> /dev/null || true)
if [[ "$failures" = "" && "$errors" = "" ]]; then
# If we have nothing to report, exit this step now
exit 0
fi
echo "### Test output for failed tests" >> $GITHUB_STEP_SUMMARY
for test in $failures $errors; do
anchor="$(echo "$test" | tr [A-Z/] [a-z_])"
base_path="$(echo "$test" | tr '#' '_')"
report_file="$report_dir/$base_path.jtr"
hs_err_files=$(ls $report_dir/$base_path/hs_err*.log 2> /dev/null || true)
echo "#### <a id="$anchor">$test"
echo '<details><summary>View test results</summary>'
echo ''
echo '```'
if [[ -f "$report_file" ]]; then
cat "$report_file"
else
echo "Error: Result file $report_file not found"
fi
echo '```'
echo '</details>'
echo ''
if [[ "$hs_err_files" != "" ]]; then
echo '<details><summary>View HotSpot error log</summary>'
echo ''
for hs_err in $hs_err_files; do
echo '```'
echo "$hs_err:"
echo ''
cat "$hs_err"
echo '```'
done
echo '</details>'
echo ''
fi
done >> $GITHUB_STEP_SUMMARY
# With many failures, the summary can easily exceed 1024 kB, the limit set by Github
# Trim it down if so.
summary_size=$(wc -c < $GITHUB_STEP_SUMMARY)
if [[ $summary_size -gt 1000000 ]]; then
# Trim to below 1024 kB, and cut off after the last detail group
head -c 1000000 $GITHUB_STEP_SUMMARY | tac | sed -n -e '/<\/details>/,$ p' | tac > $GITHUB_STEP_SUMMARY.tmp
mv $GITHUB_STEP_SUMMARY.tmp $GITHUB_STEP_SUMMARY
(
echo ''
echo ':x: **WARNING: Summary is too large and has been truncated.**'
echo ''
) >> $GITHUB_STEP_SUMMARY
fi
echo ':arrow_right: To see the entire test log, click the job in the list to the left.' >> $GITHUB_STEP_SUMMARY

71
.github/scripts/gen-test-summary.sh vendored Normal file
View File

@@ -0,0 +1,71 @@
#!/bin/bash
#
# Copyright (c) 2022, 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.
#
GITHUB_STEP_SUMMARY="$1"
GITHUB_OUTPUT="$2"
test_suite_name=$(cat build/run-test-prebuilt/test-support/test-last-ids.txt)
results_dir=build/run-test-prebuilt/test-results/$test_suite_name/text
if [[ ! -f build/run-test-prebuilt/make-support/exit-with-error ]]; then
# There were no failures, exit now
exit
fi
failures=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/newfailures.txt 2> /dev/null || true)
errors=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/other_errors.txt 2> /dev/null || true)
failure_count=$(echo $failures | wc -w || true)
error_count=$(echo $errors | wc -w || true)
if [[ "$failures" = "" && "$errors" = "" ]]; then
# We know something went wrong, but not what
echo 'failure=true' >> $GITHUB_OUTPUT
echo 'error-message=Unspecified test suite failure. Please see log for job for details.' >> $GITHUB_OUTPUT
exit 0
fi
echo 'failure=true' >> $GITHUB_OUTPUT
echo "error-message=Test run reported $failure_count test failure(s) and $error_count error(s). See summary for details." >> $GITHUB_OUTPUT
echo '### :boom: Test failures summary' >> $GITHUB_STEP_SUMMARY
if [[ "$failures" != "" ]]; then
echo '' >> $GITHUB_STEP_SUMMARY
echo 'These tests reported failure:' >> $GITHUB_STEP_SUMMARY
for test in $failures; do
anchor="$(echo "$test" | tr [A-Z/] [a-z_])"
echo "* [$test](#user-content-$anchor)"
done >> $GITHUB_STEP_SUMMARY
fi
if [[ "$errors" != "" ]]; then
echo '' >> $GITHUB_STEP_SUMMARY
echo 'These tests reported errors:' >> $GITHUB_STEP_SUMMARY
for test in $errors; do
anchor="$(echo "$test" | tr [A-Z/] [a-z_])"
echo "* [$test](#user-content-$anchor)"
done >> $GITHUB_STEP_SUMMARY
fi

View File

@@ -0,0 +1,162 @@
#
# Copyright (c) 2022, 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.
#
name: 'Build (cross-compile)'
on:
workflow_call:
inputs:
gcc-major-version:
required: true
type: string
extra-conf-options:
required: false
type: string
configure-arguments:
required: false
type: string
make-arguments:
required: false
type: string
jobs:
build-cross-compile:
name: build
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
target-cpu:
- aarch64
- arm
- s390x
- ppc64le
include:
- target-cpu: aarch64
gnu-arch: aarch64
debian-arch: arm64
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
- target-cpu: arm
gnu-arch: arm
debian-arch: armhf
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
gnu-abi: eabihf
- target-cpu: s390x
gnu-arch: s390x
debian-arch: s390x
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
- target-cpu: ppc64le
gnu-arch: powerpc64le
debian-arch: ppc64el
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v4
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: linux-x64
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
- name: 'Install toolchain and dependencies'
run: |
# Install dependencies using apt-get
sudo apt-get update
sudo apt-get install --only-upgrade apt
sudo apt-get install \
gcc-${{ inputs.gcc-major-version }} \
g++-${{ inputs.gcc-major-version }} \
gcc-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}} \
g++-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}} \
libxrandr-dev libxtst-dev libcups2-dev libasound2-dev
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
- name: 'Check cache for sysroot'
id: get-cached-sysroot
uses: actions/cache@v4
with:
path: sysroot
key: sysroot-${{ matrix.debian-arch }}-${{ hashFiles('./.github/workflows/build-cross-compile.yml') }}
- name: 'Install sysroot dependencies'
run: sudo apt-get install debootstrap qemu-user-static
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Create sysroot'
run: >
sudo debootstrap
--arch=${{ matrix.debian-arch }}
--verbose
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype-dev,libpng-dev
--resolve-deps
--variant=minbase
${{ matrix.debian-version }}
sysroot
${{ matrix.debian-repository }}
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Prepare sysroot'
run: |
# Prepare sysroot and remove unused files to minimize cache
sudo chroot sysroot symlinks -cr .
sudo chown ${USER} -R sysroot
rm -rf sysroot/{dev,proc,run,sys,var}
rm -rf sysroot/usr/{sbin,bin,share}
rm -rf sysroot/usr/lib/{apt,gcc,udev,systemd}
rm -rf sysroot/usr/libexec/gcc
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Configure'
run: >
bash configure
--with-conf-name=linux-${{ matrix.target-cpu }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-zlib=system
--enable-debug
--disable-precompiled-headers
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
--with-sysroot=sysroot
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: 'hotspot ${{ inputs.make-arguments }}'
platform: linux-${{ matrix.target-cpu }}

140
.github/workflows/build-linux.yml vendored Normal file
View File

@@ -0,0 +1,140 @@
#
# Copyright (c) 2022, 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.
#
name: 'Build (linux)'
on:
workflow_call:
inputs:
platform:
required: true
type: string
extra-conf-options:
required: false
type: string
make-target:
required: false
type: string
default: 'product-bundles test-bundles'
debug-levels:
required: false
type: string
default: '[ "debug", "release" ]'
gcc-major-version:
required: true
type: string
gcc-package-suffix:
required: false
type: string
default: ''
apt-architecture:
required: false
type: string
apt-extra-packages:
required: false
type: string
configure-arguments:
required: false
type: string
make-arguments:
required: false
type: string
jobs:
build-linux:
name: build
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
debug-level: ${{ fromJSON(inputs.debug-levels) }}
include:
- debug-level: debug
flags: --with-debug-level=fastdebug
suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v4
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: linux-x64
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Set architecture'
id: arch
run: |
# Set a proper suffix for packages if using a different architecture
if [[ '${{ inputs.apt-architecture }}' != '' ]]; then
echo 'suffix=:${{ inputs.apt-architecture }}' >> $GITHUB_OUTPUT
fi
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
- name: 'Install toolchain and dependencies'
run: |
# Install dependencies using apt-get
if [[ '${{ inputs.apt-architecture }}' != '' ]]; then
sudo dpkg --add-architecture ${{ inputs.apt-architecture }}
fi
sudo apt-get update
sudo apt-get install --only-upgrade apt
sudo apt-get install gcc-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }} g++-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }} libxrandr-dev${{ steps.arch.outputs.suffix }} libxtst-dev${{ steps.arch.outputs.suffix }} libcups2-dev${{ steps.arch.outputs.suffix }} libasound2-dev${{ steps.arch.outputs.suffix }} ${{ inputs.apt-extra-packages }}
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
- name: 'Configure'
run: >
bash configure
--with-conf-name=${{ inputs.platform }}
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--enable-jtreg-failure-handler
--with-zlib=system
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

118
.github/workflows/build-macos.yml vendored Normal file
View File

@@ -0,0 +1,118 @@
#
# Copyright (c) 2022, 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.
#
name: 'Build (macos)'
on:
workflow_call:
inputs:
platform:
required: true
type: string
extra-conf-options:
required: false
type: string
make-target:
required: false
type: string
default: 'product-bundles test-bundles'
debug-levels:
required: false
type: string
default: '[ "debug", "release" ]'
xcode-toolset-version:
required: true
type: string
configure-arguments:
required: false
type: string
make-arguments:
required: false
type: string
jobs:
build-macos:
name: build
runs-on: macos-13
strategy:
fail-fast: false
matrix:
debug-level: ${{ fromJSON(inputs.debug-levels) }}
include:
- debug-level: debug
flags: --with-debug-level=fastdebug
suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v4
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: macos-x64
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Install toolchain and dependencies'
run: |
# Run Homebrew installation and xcode-select
brew install make
sudo xcode-select --switch /Applications/Xcode_${{ inputs.xcode-toolset-version }}.app/Contents/Developer
# This will make GNU make available as 'make' and not only as 'gmake'
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
- name: 'Configure'
run: >
bash configure
--with-conf-name=${{ inputs.platform }}
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--enable-jtreg-failure-handler
--with-zlib=system
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

150
.github/workflows/build-windows.yml vendored Normal file
View File

@@ -0,0 +1,150 @@
#
# Copyright (c) 2022, 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.
#
name: 'Build (windows)'
on:
workflow_call:
inputs:
platform:
required: true
type: string
extra-conf-options:
required: false
type: string
make-target:
required: false
type: string
default: 'product-bundles test-bundles'
debug-levels:
required: false
type: string
default: '[ "debug", "release" ]'
msvc-toolset-version:
required: true
type: string
msvc-toolset-architecture:
required: true
type: string
configure-arguments:
required: false
type: string
make-arguments:
required: false
type: string
env:
# These are needed to make the MSYS2 bash work properly
MSYS2_PATH_TYPE: minimal
CHERE_INVOKING: 1
jobs:
build-windows:
name: build
runs-on: windows-2019
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
debug-level: ${{ fromJSON(inputs.debug-levels) }}
include:
- debug-level: debug
flags: --with-debug-level=fastdebug
suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v4
- name: 'Get MSYS2'
uses: ./.github/actions/get-msys2
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: windows-x64
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Check toolchain installed'
id: toolchain-check
run: |
set +e
'/c/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/vc/auxiliary/build/vcvars64.bat' -vcvars_ver=${{ inputs.msvc-toolset-version }}
if [ $? -eq 0 ]; then
echo "Toolchain is already installed"
echo "toolchain-installed=true" >> $GITHUB_OUTPUT
else
echo "Toolchain is not yet installed"
echo "toolchain-installed=false" >> $GITHUB_OUTPUT
fi
- name: 'Install toolchain and dependencies'
run: |
# Run Visual Studio Installer
'/c/Program Files (x86)/Microsoft Visual Studio/Installer/vs_installer.exe' \
modify --quiet --installPath 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise' \
--add Microsoft.VisualStudio.Component.VC.${{ inputs.msvc-toolset-version }}.${{ inputs.msvc-toolset-architecture }}
if: steps.toolchain-check.outputs.toolchain-installed != 'true'
- name: 'Configure'
run: >
bash configure
--with-conf-name=${{ inputs.platform }}
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--enable-jtreg-failure-handler
--with-msvc-toolset-version=${{ inputs.msvc-toolset-version }}
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
env:
# We need a minimal PATH on Windows
# Set PATH to "", so just GITHUB_PATH is included
PATH: ''
shell: env /usr/bin/bash --login -eo pipefail {0}
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

355
.github/workflows/main.yml vendored Normal file
View File

@@ -0,0 +1,355 @@
#
# Copyright (c) 2022, 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.
#
name: 'OpenJDK GHA Sanity Checks'
on:
push:
branches-ignore:
- master
- pr/*
workflow_dispatch:
inputs:
platforms:
description: 'Platform(s) to execute on (comma separated, e.g. "linux-x64, macos, aarch64")'
required: true
default: 'linux-x64, linux-x86, linux-x64-variants, linux-cross-compile, macos-x64, macos-aarch64, windows-x64, windows-aarch64'
configure-arguments:
description: 'Additional configure arguments'
required: false
make-arguments:
description: 'Additional make arguments'
required: false
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
###
### Determine platforms to include
###
select:
name: 'Select platforms'
runs-on: ubuntu-22.04
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86: ${{ steps.include.outputs.linux-x86 }}
linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
macos-x64: ${{ steps.include.outputs.macos-x64 }}
macos-aarch64: ${{ steps.include.outputs.macos-aarch64 }}
windows-x64: ${{ steps.include.outputs.windows-x64 }}
windows-aarch64: ${{ steps.include.outputs.windows-aarch64 }}
steps:
# This function must be inlined in main.yml, or we'd be forced to checkout the repo
- name: 'Check what jobs to run'
id: include
run: |
# Determine which platform jobs to run
# Returns 'true' if the input platform list matches any of the platform monikers given as argument,
# 'false' otherwise.
# arg $1: platform name or names to look for
function check_platform() {
if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
input='${{ github.event.inputs.platforms }}'
elif [[ $GITHUB_EVENT_NAME == push ]]; then
if [[ '${{ !secrets.JDK_SUBMIT_FILTER || startsWith(github.ref, 'refs/heads/submit/') }}' == 'false' ]]; then
# If JDK_SUBMIT_FILTER is set, and this is not a "submit/" branch, don't run anything
>&2 echo 'JDK_SUBMIT_FILTER is set and not a "submit/" branch'
echo 'false'
return
else
input='${{ secrets.JDK_SUBMIT_PLATFORMS }}'
fi
fi
normalized_input="$(echo ,$input, | tr -d ' ')"
if [[ "$normalized_input" == ",," ]]; then
# For an empty input, assume all platforms should run
echo 'true'
return
else
# Check for all acceptable platform names
for part in $* ; do
if echo "$normalized_input" | grep -q -e ",$part," ; then
echo 'true'
return
fi
done
fi
echo 'false'
}
echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
echo "linux-x86=$(check_platform linux-x86 linux x86)" >> $GITHUB_OUTPUT
echo "linux-x64-variants=$(check_platform linux-x64-variants variants)" >> $GITHUB_OUTPUT
echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
echo "macos-x64=$(check_platform macos-x64 macos x64)" >> $GITHUB_OUTPUT
echo "macos-aarch64=$(check_platform macos-aarch64 macos aarch64)" >> $GITHUB_OUTPUT
echo "windows-x64=$(check_platform windows-x64 windows x64)" >> $GITHUB_OUTPUT
echo "windows-aarch64=$(check_platform windows-aarch64 windows aarch64)" >> $GITHUB_OUTPUT
###
### Build jobs
###
build-linux-x64:
name: linux-x64
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64 == 'true'
build-linux-x86:
name: linux-x86
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x86
gcc-major-version: '10'
gcc-package-suffix: '-multilib'
apt-architecture: 'i386'
# Some multilib libraries do not have proper inter-dependencies, so we have to
# install their dependencies manually.
apt-extra-packages: 'libfreetype-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386'
extra-conf-options: '--with-target-bits=32'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x86 == 'true'
build-linux-x64-hs-nopch:
name: linux-x64-hs-nopch
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
extra-conf-options: '--disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-zero:
name: linux-x64-hs-zero
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
extra-conf-options: '--with-jvm-variants=zero --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-minimal:
name: linux-x64-hs-minimal
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
extra-conf-options: '--with-jvm-variants=minimal --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-optimized:
name: linux-x64-hs-optimized
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
# Technically this is not the "debug" level, but we can't inject a new matrix state for just this job
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
extra-conf-options: '--with-debug-level=optimized --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-cross-compile:
name: linux-cross-compile
needs:
- select
uses: ./.github/workflows/build-cross-compile.yml
with:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-cross-compile == 'true'
build-macos-x64:
name: macos-x64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-x64
xcode-toolset-version: '14.3.1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-x64 == 'true'
build-macos-aarch64:
name: macos-aarch64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-aarch64
xcode-toolset-version: '14.3.1'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-aarch64 == 'true'
build-windows-x64:
name: windows-x64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'x86.x64'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-x64 == 'true'
build-windows-aarch64:
name: windows-aarch64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-aarch64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'arm64'
make-target: 'hotspot'
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-aarch64 == 'true'
###
### Test jobs
###
test-linux-x64:
name: linux-x64
needs:
- build-linux-x64
uses: ./.github/workflows/test.yml
with:
platform: linux-x64
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
test-linux-x86:
name: linux-x86
needs:
- build-linux-x86
uses: ./.github/workflows/test.yml
with:
platform: linux-x86
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
test-macos-x64:
name: macos-x64
needs:
- build-macos-x64
uses: ./.github/workflows/test.yml
with:
platform: macos-x64
bootjdk-platform: macos-x64
runs-on: macos-13
test-windows-x64:
name: windows-x64
needs:
- build-windows-x64
uses: ./.github/workflows/test.yml
with:
platform: windows-x64
bootjdk-platform: windows-x64
runs-on: windows-2019
# Remove bundles so they are not misconstrued as binary distributions from the JDK project
remove-bundles:
name: 'Remove bundle artifacts'
runs-on: ubuntu-22.04
if: always()
needs:
- build-linux-x64
- build-linux-x86
- build-linux-x64-hs-nopch
- build-linux-x64-hs-zero
- build-linux-x64-hs-minimal
- build-linux-x64-hs-optimized
- build-linux-cross-compile
- build-macos-x64
- build-macos-aarch64
- build-windows-x64
- build-windows-aarch64
- test-linux-x64
- test-linux-x86
- test-macos-x64
- test-windows-x64
steps:
- name: 'Remove bundle artifacts'
run: |
# Find and remove all bundle artifacts
# See: https://docs.github.com/en/rest/actions/artifacts?apiVersion=2022-11-28
ALL_ARTIFACT_IDS="$(curl -sL \
-H 'Accept: application/vnd.github+json' \
-H 'Authorization: Bearer ${{ github.token }}' \
-H 'X-GitHub-Api-Version: 2022-11-28' \
'${{ github.api_url }}/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/artifacts')"
BUNDLE_ARTIFACT_IDS="$(echo "$ALL_ARTIFACT_IDS" | jq -r -c '.artifacts | map(select(.name|startswith("bundles-"))) | .[].id')"
for id in $BUNDLE_ARTIFACT_IDS; do
echo "Removing $id"
curl -sL \
-X DELETE \
-H 'Accept: application/vnd.github+json' \
-H 'Authorization: Bearer ${{ github.token }}' \
-H 'X-GitHub-Api-Version: 2022-11-28' \
"${{ github.api_url }}/repos/${{ github.repository }}/actions/artifacts/$id" \
|| echo "Failed to remove bundle"
done

File diff suppressed because it is too large Load Diff

205
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,205 @@
#
# Copyright (c) 2022, 2023, 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.
#
name: 'Run tests'
on:
workflow_call:
inputs:
platform:
required: true
type: string
bootjdk-platform:
required: true
type: string
runs-on:
required: true
type: string
env:
# These are needed to make the MSYS2 bash work properly
MSYS2_PATH_TYPE: minimal
CHERE_INVOKING: 1
jobs:
test:
name: test
runs-on: ${{ inputs.runs-on }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
test-name:
- 'jdk/tier1 part 1'
- 'jdk/tier1 part 2'
- 'jdk/tier1 part 3'
- 'langtools/tier1'
- 'hs/tier1 common'
- 'hs/tier1 compiler'
- 'hs/tier1 gc'
- 'hs/tier1 runtime'
- 'hs/tier1 serviceability'
include:
- test-name: 'jdk/tier1 part 1'
test-suite: 'test/jdk/:tier1_part1'
- test-name: 'jdk/tier1 part 2'
test-suite: 'test/jdk/:tier1_part2'
- test-name: 'jdk/tier1 part 3'
test-suite: 'test/jdk/:tier1_part3'
- test-name: 'langtools/tier1'
test-suite: 'test/langtools/:tier1'
- test-name: 'hs/tier1 common'
test-suite: 'test/hotspot/jtreg/:tier1_common'
debug-suffix: -debug
- test-name: 'hs/tier1 compiler'
test-suite: 'test/hotspot/jtreg/:tier1_compiler'
debug-suffix: -debug
- test-name: 'hs/tier1 gc'
test-suite: 'test/hotspot/jtreg/:tier1_gc'
debug-suffix: -debug
- test-name: 'hs/tier1 runtime'
test-suite: 'test/hotspot/jtreg/:tier1_runtime'
debug-suffix: -debug
- test-name: 'hs/tier1 serviceability'
test-suite: 'test/hotspot/jtreg/:tier1_serviceability'
debug-suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v4
- name: 'Get MSYS2'
uses: ./.github/actions/get-msys2
if: runner.os == 'Windows'
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: ${{ inputs.bootjdk-platform }}
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Get bundles'
id: bundles
uses: ./.github/actions/get-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: ${{ matrix.debug-suffix }}
- name: 'Install dependencies'
run: |
# On macOS we need to install some dependencies for testing
brew install make
sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer
# This will make GNU make available as 'make' and not only as 'gmake'
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
if: runner.os == 'macOS'
- name: 'Set PATH'
id: path
run: |
# We need a minimal PATH on Windows
# Set PATH to "", so just GITHUB_PATH is included
if [[ '${{ runner.os }}' == 'Windows' ]]; then
echo "value=" >> $GITHUB_OUTPUT
else
echo "value=$PATH" >> $GITHUB_OUTPUT
fi
- name: 'Run tests'
id: run-tests
run: >
make run-test-prebuilt
TEST='${{ matrix.test-suite }}'
BOOT_JDK=${{ steps.bootjdk.outputs.path }}
JT_HOME=${{ steps.jtreg.outputs.path }}
JDK_IMAGE_DIR=${{ steps.bundles.outputs.jdk-path }}
SYMBOLS_IMAGE_DIR=${{ steps.bundles.outputs.symbols-path }}
TEST_IMAGE_DIR=${{ steps.bundles.outputs.tests-path }}
JTREG='JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash;VERBOSE=fail,error,time;KEYWORDS=!headful'
&& bash ./.github/scripts/gen-test-summary.sh "$GITHUB_STEP_SUMMARY" "$GITHUB_OUTPUT"
env:
PATH: ${{ steps.path.outputs.value }}
# This is a separate step, since if the markdown from a step gets bigger than
# 1024 kB it is skipped, but then the short summary above is still generated
- name: 'Generate test report'
run: bash ./.github/scripts/gen-test-results.sh "$GITHUB_STEP_SUMMARY"
if: always()
- name: 'Package test results'
id: package
run: |
# Package test-results and relevant parts of test-support
mkdir results
if [[ -d build/run-test-prebuilt/test-results ]]; then
cd build/run-test-prebuilt/test-results/
zip -r -9 "$GITHUB_WORKSPACE/results/test-results.zip" .
cd $GITHUB_WORKSPACE
else
echo '::warning ::Missing test-results directory'
fi
if [[ -d build/run-test-prebuilt/test-support ]]; then
cd build/run-test-prebuilt/test-support/
zip -r -9 "$GITHUB_WORKSPACE/results/test-support.zip" . -i *.jtr -i */hs_err*.log -i */replay*.log
cd $GITHUB_WORKSPACE
else
echo '::warning ::Missing test-support directory'
fi
artifact_name="results-${{ inputs.platform }}-$(echo ${{ matrix.test-name }} | tr '/ ' '__')"
echo "artifact-name=$artifact_name" >> $GITHUB_OUTPUT
if: always()
- name: 'Upload test results'
uses: actions/upload-artifact@v4
with:
path: results
name: ${{ steps.package.outputs.artifact-name }}
if: always()
# This is the best way I found to abort the job with an error message
- name: 'Notify about test failures'
uses: actions/github-script@v7
with:
script: core.setFailed('${{ steps.run-tests.outputs.error-message }}')
if: steps.run-tests.outputs.failure == 'true'

3
.gitignore vendored
View File

@@ -1,6 +1,7 @@
/build/
/dist/
/.idea/
/.vscode/
nbproject/private/
/webrev
/.src-rev
@@ -13,3 +14,5 @@ test/nashorn/lib
NashornProfile.txt
**/JTreport/**
**/JTwork/**
/compile_commands.json
/.cache

View File

@@ -1,16 +0,0 @@
^build/
^dist/
^.idea/
nbproject/private/
^webrev
^.src-rev$
^.jib/
\.DS_Store
\.metadata/
\.recommenders/
test/nashorn/script/external
test/nashorn/lib
NashornProfile.txt
.*/JTreport/.*
.*/JTwork/.*
.*/.git/.*

652
.hgtags
View File

@@ -1,652 +0,0 @@
3cc80be736f24704e505ad8ddaa598dec3fa2ed3 jdk-9+181
e2b70be325bd10dae4c06f74c46d70d480854916 jdk-9+179
5b16a1c3ccffff2a82c88bb7ea894c4ff1c9ebde jdk-9+180
43bf6f30fcba031ecf0cc7e511efe3a8179d0f77 jdk-9+176
d9f6bc6ba599d0487dc18b2fbdb6c34eedf6f958 jdk-9+177
bc9df7dd63ec76f50fafeb4acc44465044662f0a jdk-9+178
994036e74ab805bcc09afa0646be17a725bec42f jdk-9+175
94680c6d60ecd9ed3ffd1847706efde7eb947afc jdk-9+174
6dd7fda42bab7ecf648cafb0a4e9b4ca11b3094f jdk-9+173
dad6746278facbbea57dd462cb56fb743dc0a5f0 jdk-9+172
643b5f18c2656fe91b69fea85b07b98d5fad394d jdk-9+171
898cbe31fbdae2d25d141384fac746cc244a730c jdk-9+170
c7efde2b60fc1ec04630be769d9ad60efb39c39c jdk-9+169
8fd0a4569191f33c98ee90c2709174a342fefb0d jdk-9+167
fcabc74bd44e56c7419d111d59b95669ecb33c55 jdk-9+168
d3e973f1809606c67412361041ad197e50fe8cec jdk-9+166
3965b747cfe1e6cbd66b8739da5a1ea6ec6985e9 jdk-9+165
d16aebbb56d37f12e0c0b0a4fb427db65e1fb1a8 jdk-9+162
18c41483a082e097ac2f5f983c1226ed94aa4215 jdk-9+163
32db52c675e7d5bc413605d2e89b68b608b19be0 jdk-9+164
fd1497902bbe3aa24b21f270ecdcb8de5f7aa9ac jdk-9+159
6aa8be0c4e054fe8b3ab016ae00d16d680f92145 jdk-9+160
f6883b1a5a6478437cd4181c4bd45328ab24feaf jdk-9+161
fa3e76b477829afc4476f0b725cfaa440a6fd917 jdk-9+157
b5015f742ba648184bb7fc547197bd33ebfde30d jdk-9+158
1cc8dd79fd1cd13d36b385196271a29632c67c3b jdk7-b24
bf2517e15f0c0f950e5b3143c4ca11e2df73dcc1 jdk7-b25
5ae7db536e3fcf6be78e45b240a9058095e0ed38 jdk7-b26
67052ac87fc927d048e62ec54ff42adb230d3f7c jdk7-b27
18dc4ba4739a537fd146f77da51db16efce28da2 jdk7-b28
bfe4572fd301a6fcd120373cdb2eff5d2da0c72c jdk7-b29
bee4731164a06ddece1297ae58db24aca6a1c626 jdk7-b30
cd8b8f500face60d1566d850857a7fccadbd383a jdk7-b31
a9f1805e3ba9ca520cad199d522c84af5433e85a jdk7-b32
6838c1a3296aaa3572364d2ce7d70826cee96286 jdk7-b33
90cf935adb353bb0af4b46fb0677e841fd24c000 jdk7-b34
6d909d5803e3a22850e6c4e5a75b888742ee7e20 jdk7-b35
d718a441936196b93d8bc9f084933af9a4c2a350 jdk7-b36
c2036bf76829c03b99108fffab52e20910a9be4f jdk7-b37
a2879b2837f5a4c87e9542efe69ef138194af8ff jdk7-b38
126f365cec6c3c2c72de934fa1c64b5f082b55b5 jdk7-b39
3c53424bbe3bb77e01b468b4b0140deec33e11fc jdk7-b40
3cb2a607c347934f8e7e86f840a094c28b08d9ea jdk7-b41
caf58ffa084568990cbb3441f9ae188e36b31770 jdk7-b42
41bd0a702bc8ec6feebd725a63e7c3227f82ab11 jdk7-b43
5843778bda89b1d5ac8e1aa05e26930ac90b3145 jdk7-b44
54dffad0bf066791a2793305875250c395011d5f jdk7-b45
04b2620edc72de93671646e4720c5992c74ac8b5 jdk7-b46
0c4657194eec95c08ba478aee9cfc3c295e41657 jdk7-b47
1bf51a4c2627c2f0e0cbcc2cf0421bdb37f1f2b2 jdk7-b48
6b84b04a80afe23262377c60913eebfc898f14c4 jdk7-b49
5da0e6b9f4f18ef483c977337214b12ee0e1fc8f jdk7-b50
a25c5ec5e40e07733d1ff9898a0abe36159288ff jdk7-b51
7a90e89e36d103038f8667f6a7daae34ecfa1ad8 jdk7-b52
d52186ee770dac57950536cd00ccbfdef360b04c jdk7-b53
15096652c4d48dfb9fc0b2cb135304db94c65ba0 jdk7-b54
c8b275d62d6b0a980c510e839b70292245863e85 jdk7-b55
a8134c4ee2cf451cf9b5e1609f39d83ecd53acc5 jdk7-b56
b44f05654c26fcd1f995e712992f9b07ffd7c0c6 jdk7-b57
d60a9ce3c3eabf28f5d50ae839d18be04a551bc2 jdk7-b58
c33e7d38c9210741dbc285507403a4b20bd802a0 jdk7-b59
5a10e4d0b14d7beac53a7b2213ae6864afe1fd3e jdk7-b60
dbb955b1ee59b876dd1f133952b557b48b1d7732 jdk7-b61
6107cbff3130c747d243c25a7874cd59db5744a8 jdk7-b62
dfd8506f74c3731bb169ce93c72612d78ee0413b jdk7-b63
d22867c5f1b295a0a2b3b4bc8999a2676f6e20c3 jdk7-b64
7d3bf00f3cc4f8125de1842521e7567f37dc84b8 jdk7-b65
62109d1b9e7310f29ab51ca6f1d71b899c0ce6b0 jdk7-b66
eb24af1404aec8aa140c4cd4d13d2839b150dd41 jdk7-b67
bca2225b66d78c4bf4d9801f54cac7715a598650 jdk7-b68
1b662b1ed14eb4ae31d5138a36c433b13d941dc5 jdk7-b69
207f694795c448c17753eff1a2f50363106960c2 jdk7-b70
c5d39b6be65cba0effb5f466ea48fe43764d0e0c jdk7-b71
df4bcd06e1d0ab306efa5a44f24a409dc0c0c742 jdk7-b72
ce74bd35ce948d629a356e168797f44b593b1578 jdk7-b73
4e7661eaa211e186674f6cbefec4aef1144ac2a0 jdk7-b74
946518568340c4e511549318f19f47f06b7f5f9b jdk7-b75
09e0b33177af2b98a03c9ca19eedf61440bd1cf6 jdk7-b76
1d0121b741f029dc4b828e4b36ba6fda92907dd7 jdk7-b77
4061c66ba1af1a2e27c2c839ba887407dd3ce050 jdk7-b78
e9c98378f6b9256c0595ef2985ca5899f0c0e274 jdk7-b79
e6abd38682d237306d6c147c17538ec9e7f8e3a7 jdk7-b80
dcc938ac40cc45f1ef454d76020b5db5d943001c jdk7-b81
a30062be6d9ca1d48579826f870f85974300004e jdk7-b82
34c8199936a1682aa8587857f44cfaf37c2b6381 jdk7-b83
b1e55627a6980b9508854ed0c0f21d4f981b4494 jdk7-b84
b6f633a93ae0ec4555ff4bf756f5e2150c9bdede jdk7-b85
c94d9cc81f495d97817eba9d71b84fc45f7661a5 jdk7-b86
b7456c473862048fa70ed8092313a4ef0a55d403 jdk7-b87
7077b95d42f6b3942a8751bba033801ff50e5889 jdk7-b88
44158f6d3b94c0fa020e33632532473d92d1ea96 jdk7-b89
1d1927f9ec097b62c913921e2dfa5dbaf5dc325b jdk7-b90
308ad8f68b8dd68e22d73dd490e110059b732422 jdk7-b91
ff9031a745d9cc52318f2148e43ca3b07ee08098 jdk7-b92
b5dab6a313fdff4c043250e4d9c8f66fd624d27e jdk7-b93
8bb281f0f91582104d65d032be22522bfd2d8110 jdk7-b94
654298d26561b76dfe3cfcffbbd7078080837300 jdk7-b95
d260f892491e040ae385a8e6df59557a7d721abf jdk7-b96
7e406ebed9a5968b584f3c3e6b60893b5d6d9741 jdk7-b97
db6e660120446c407e2d908d52ec046592b21726 jdk7-b98
c4c8a5bc54f66abc68cd185d9294042121922154 jdk7-b99
2d6ba7a221915bdf0311acc5641c7f3875cb793e jdk7-b100
2548ac036b8fca3326d058d758e6df8355a42469 jdk7-b101
88db80c8e49cea352c2900f689600dc410761c1f jdk7-b102
64770970865839b0443066370e7d476ef47e90cd jdk7-b103
10bc903a228d3a8efdf46fb8c3fcf82a59b88bc5 jdk7-b104
1ce7938efb03224ccc8b3cdd7803eb39e889539c jdk7-b105
6bdae472f77205046703b685eff2ac4f7a0ecf4e jdk7-b106
439de530aac531a360beedba6e2fe51e17292cc0 jdk7-b107
044d31b99ef5609389fc771c422e722e5e224228 jdk7-b108
e02b4d709e177d08d56130a4bc68061e4bbacc7d jdk7-b109
a6442d6bc38a44152e0662688213ce4d2701f42a jdk7-b110
69f3edf083477955b5bd2f754252c7504167d8e1 jdk7-b111
f960f117f1623629f64203e2b09a92a8f6f14ff5 jdk7-b112
1fee41c7ed2b3388970a756a85aa693c0de8407a jdk7-b113
750c1ccb2f2d1ddfa95ab6c7f897fdab2f87f7e9 jdk7-b114
9cb24917216bc68997154f6e9566c3de62acb2f4 jdk7-b115
a4e6aa1f45ad23a6f083ed98d970b5006ea4d292 jdk7-b116
228e73f288c543a8c34e2a54227103ae5649e6af jdk7-b117
2e876e59938a853934aa738c811b26c452bd9fe8 jdk7-b118
4951967a61b4dbbf514828879f57bd1a0d4b420b jdk7-b119
8c840d3ab24f8d0f422b991638acb44b6ab1d98c jdk7-b120
0ce0a2c3a6926677dc507839a820ab6625541e5a jdk7-b121
6f09ea1c034f087916d2a8cf0d22be768400118f jdk7-b122
142129d8599d1f56b29387e7f9a5fad53b6d61df jdk7-b123
aa894c225b1a517b665ac2a58295217ea2245134 jdk7-b124
f658ec2730fa29323c36d23c27e54c7219ef5e16 jdk7-b125
f1df068076986679ea1105532a65529d63a89060 jdk7-b126
f83cd8bd35c678f94e526990e03dc838d0ec2717 jdk7-b127
7da3f5f30855dec6bf3a86529e87dee883b90c72 jdk7-b128
6823ea7eb8eb6fab405d7edb7a5c2f690887a2fa jdk7-b129
a36beda9b9de91231d92a2c529f21cc218fcf8d5 jdk7-b130
d8af56da89bc0fc02a6b6ad78f51157a46d665ab jdk7-b131
d61280d36755d1941fb487f554e8b7a6d0bca6a1 jdk7-b132
fd444c61e7ed3d92b2a730da7c737b02191b682f jdk7-b133
def8e16dd237a47fc067d66d4c616d7baaec6001 jdk7-b134
f75a1efb141210901aabe00a834e0fc32bb8b337 jdk7-b135
46acf76a533954cfd594bb88fdea79938abfbe20 jdk7-b136
d1cf7d4ee16c341f5b8c7e7f1d68a8c412b6c693 jdk7-b137
62b8e328f8c8c66c14b0713222116f2add473f3f jdk7-b138
955488f34ca418f6cdab843d61c20d2c615637d9 jdk7-b139
f4298bc3f4b6baa315643be06966f09684290068 jdk7-b140
5d86d0c7692e8f4a58d430d68c03594e2d3403b3 jdk7-b141
92bf0655022d4187e9b49c1400f98fb3392a4630 jdk7-b142
4a05062d8c4dfa3edec3faf1052af28baba5adff jdk7-b143
07a8728ad49ef6dfa469c3a8bf5ab1e9c80bed5c jdk7-b144
8294c99e685a1f6d1d37c45cd97854cf74be771e jdk7-b145
dca1e8a87e8f756f95b99bac8fe795750d42e1b0 jdk7-b146
a2a589fc29543ed32919c78a1810ad93a6fcf5bc jdk7-b147
de9223c94f9c710b3eebb599cd3586f36c8b94a9 jdk8-b01
1b9d19620eb4606a25b1e28f86d66c8bfa867e06 jdk8-b02
6815e85bf96d6d3875954f9777660372cd70d065 jdk8-b03
31f5c34d78081572ad9a2401c0bb0c6b9711dd65 jdk8-b04
c4f9ea1ecb55ff44e0dd21d2888ead308c86a3aa jdk8-b05
429da7734bf491bccde2a752fae97e9f225896dc jdk8-b06
bc5710332b294676661103bb20d47d2ea3ba8def jdk8-b07
24ee504f80412770c6874836cd9e55b536427b1d jdk8-b08
fbf3cabc9e3bb1fcf710941d777cb0400505fbe6 jdk8-b09
f651ce87127980c58e3599daba964eba2f3b4026 jdk8-b10
cc1f5ce8e504d350e0b0c28c5f84333f8d540132 jdk8-b11
86db042b3385c338e17f7664447fdc7d406dd19e jdk8-b12
4cc0ef72c812943743ef4765f1100e2fbe2b1a08 jdk8-b13
9ffaa48dbfb0f5936c2b789867d0785faec7071d jdk8-b14
b5060eae3b32fd9f884a09774338cd8186d7fafa jdk8-b15
736a63b854f321c7824b7e47890135f80aee05e3 jdk8-b16
f0eccb2946986fb9626efde7d8ed9c8192623f5c jdk8-b17
885050364691ac1ac978305c63f3368a197fb04d jdk8-b18
0ff7113a0882ec82d642cb9f0297b4e497807ced jdk8-b19
6561530ea757c3f3a6fb171c9cc7b3885cdeca85 jdk8-b20
b3a426170188f52981cf4573a2f14d487fddab0d jdk8-b21
e8f03541af27e38aafb619b96863e17f65ffe53b jdk8-b22
498124337041ad53cbaa7eb110f3d7acd6d4eac4 jdk8-b23
7d3720d8c595d1519c31e9ff7366203fc2c61350 jdk8-b24
0071a6d64113a35ba345bb1580c256de5ce17d3e jdk8-b25
6c805d8ed4e5449ea5e4d158c7bdbd7b0b70efd1 jdk8-b26
c51754cddc037b9609e202b9ed38363d8683e7a8 jdk8-b27
16ba58282d117247f480aae7a79b88141ade52a3 jdk8-b28
e070119aa56ee4dc5506c19d2c4d2eecab8ad429 jdk8-b29
23da7804aca0c9c4e6e86532a1453125a76d95ee jdk8-b30
bac81e9f7d57b75fba5ab31b571f3fe0dc08af69 jdk8-b31
2c5208ccb863db936eab523f49450b3fcd230348 jdk8-b32
a6e6d42203e6d35f9e8b31eac25b0021b4dd58ad jdk8-b33
0ae89825c75c9492e44efb3aca3d9ee3d8a209df jdk8-b34
f151d5833912a82cd4f203944da0305c3be83ecc jdk8-b35
98ce9816ae089c959ba1e70fba98423a31c4e9fa jdk8-b36
b3a91113026c99b0da010d41055719ab0d8938f0 jdk8-b37
4cc5610a6dd6227da766ebf9742eb11ff5ded6c0 jdk8-b38
35a5397278779a2f8f3013f81586dc8f30cb149d jdk8-b39
6e4e654931b976304bf6e7b4d0d6db8f75bac5d9 jdk8-b40
c029c972396cea042a0dc67c0f7ccf2fe68007d4 jdk8-b41
5c5a64ec0839df5affe9394b99ff338c363acbca jdk8-b42
69d8a827cdf9236be9694a46d75c710d71dac7d7 jdk8-b43
7e981cb0ad6a194f1fa859f9ad47586db461f269 jdk8-b44
9b19b2302c28f4da6d4078f66234abecfed5688a jdk8-b45
600c9a1feb01633cbcf2341a43d1d21e6497ecd0 jdk8-b46
b820143a6f1ce993c6e6f31db4d64de990f42654 jdk8-b47
086271e35b0a419b38e8bda9bebd70693811df0a jdk8-b48
cecd7026f30cbd83b0601925a7a5e059aec98138 jdk8-b49
38fe5ab028908cf64dd73a43336ba3211577bfc3 jdk8-b50
382651d28f2502d371eca751962232c0e535e57a jdk8-b51
b67041a6cb508da18d2f5c7687e6a31e08bea4fc jdk8-b52
c7aa5cca1c01689a7b1a92411daf83684af05a33 jdk8-b53
7c6aa31ff1b2ae48c1c686ebe1aadf0c3da5be15 jdk8-b54
319f583f66db47395fa86127dd3ddb729eb7c64f jdk8-b55
ffe6bce5a521be40146af2ac03c509b7bac30595 jdk8-b56
2c21c080b11b93efb3851e39e1363e45da805943 jdk8-b57
479d3302a26d7607ba271d66973e59ebf58825b6 jdk8-b58
3bd874584fc01aae92fbc8827e2bd04d8b6ace04 jdk8-b59
5e3adc681779037a2d33b7be6f75680619085492 jdk8-b60
cdaa6122185f9bf512dcd6600f56bfccc4824e8c jdk8-b61
8d9d430b4244b95f5cf1ebe719f834a1ac5d6cd5 jdk8-b62
21ee1dd7b809639284900a128b9b656a592ebc7a jdk8-b63
70fa4b11f26522e69b51fd652215f60ce350bac3 jdk8-b64
a2cf4d4a484378caea2e827ed604b2bbae58bdba jdk8-b65
17820b958ae84f7c1cc6719319c8e2232f7a4f1d jdk8-b66
76cc9bd3ece407d3a15d3bea537b57927973c5e7 jdk8-b67
cb33628d4e8f11e879c371959e5948b66a53376f jdk8-b68
adb5171c554e14cd86f618b5584f6e3d693d5889 jdk8-b69
0d625373c69e2ad6f546fd88ab50c6c9aad01271 jdk8-b70
a41ada2ed4ef735449531c6ebe6cec593d890a1c jdk8-b71
6725b3961f987cf40f446d1c11cd324a3bec545f jdk8-b72
fe94b40ffd9390f6cffcdf51c0389b0e6dde0c13 jdk8-b73
f627eff819628822a0777af8062244352f2a29cf jdk8-b74
f1478a6d25fddd311a84dcbfac50824cc1858bdd jdk8-b75
f407160c280d1c5b00d314c535441ac26f195fee jdk8-b76
d17eb2e13e362085e866d46235314c50cc4661cc jdk8-b77
6d3dcd34b5b962ea1ef9eed0dafdee9e812401bc jdk8-b78
a1313a8d90d17d363a3b2a645dc4030ec204b168 jdk8-b79
3fa21fbf9be7e6b482af43aacb6a09acfa30bdb6 jdk8-b80
e41d716405b209d3eddef8bd4240cec2bd34dcca jdk8-b81
5e8c55025644730385a6f8fa029ecdb2d2c98a07 jdk8-b82
bcebd3fdefc91abb9d7fa0c5af6211b3f8720da6 jdk8-b83
d7ad0dfaa41151bd3a9ae46725b0aec3730a9cd0 jdk8-b84
1872c12529090e1c1dbf567f02ad7ae6231b8f0c jdk8-b85
da9a4c9312816451884aa6db6f18be51a07bff13 jdk8-b86
5ebf6c63714de2c9dcf831074086d31daec819df jdk8-b87
e517701a4d0e25ae9c7945bca6e1762a8c5d8aa6 jdk8-b88
4dec41b3c5e3bb616f0c6f15830d940905aa5d16 jdk8-b89
f09ab0c416185e3cba371e81bcb6a16060c90f44 jdk8-b90
80b6c3172dc2cfceb022411292d290a967f9c728 jdk8-b91
2fd6acba737b01e705e1f7c33588c922a3787f13 jdk8-b92
b72ae39e1329fefae50d4690db4fde43f3841a95 jdk8-b93
0d804e3b955dce406af6a79ac1cc35c696aff7fb jdk8-b94
49fe9c8049132647ad38837a877dd473e6c9b0e5 jdk8-b95
ea73f01b9053e7165e7ba80f242bafecbc6af712 jdk8-b96
0a85476a0b9cb876d5666d45097dac68bef3fce1 jdk8-b97
711eb4aa87de68de78250e0549980936bab53d54 jdk8-b98
2d3875b0d18b3ad1c2bebf385a697e309e4005a4 jdk8-b99
3d34036aae4ea90b2ca59712d5a69db3221f0875 jdk8-b100
edb01c460d4cab21ff0ff13512df7b746efaa0e7 jdk8-b101
bbe43d712fe08e650808d774861b256ccb34e500 jdk8-b102
30a1d677a20c6a95f98043d8f20ce570304e3818 jdk8-b103
b5ed503c26ad38869c247c5e32debec217fd056b jdk8-b104
589f4fdc584e373a47cde0162e9eceec9165c381 jdk8-b105
514b0b69fb9683ef52062fd962a3e0644431f64d jdk8-b106
892889f445755790ae90e61775bfb59ddc6182b5 jdk8-b107
74049f7a28b48c14910106a75d9f2504169c352e jdk8-b108
af9a674e12a16da1a4bd53e4990ddb1121a21ef1 jdk8-b109
b5d2bf482a3ea1cca08c994512804ffbc73de0a1 jdk8-b110
b9a0f6c693f347a6f4b9bb994957f4eaa05bdedd jdk8-b111
ad67c34f79c28a8e755f4a49f313868619d6702c jdk8-b112
4a4dbcf7cb7d3e1a81beaa3b11cd909f69ebc79a jdk8-b113
dfa34ab293faad9b543a24646dbb381bc3ab5586 jdk8-b114
3dd9732b17034f45d111996d1d50287b05a3998c jdk8-b115
aaf663f591aba43ec942263b15ba62759ce26a1e jdk8-b116
31b0e03fcad73d7886b306b4c2e57ad270780d0d jdk8-b117
f5b521ade7a35cea18df78ee86322207729f5611 jdk8-b118
87b743b2263cc53955266411b7797b365a0fb050 jdk8-b119
a1ee9743f4ee165eae59389a020f2552f895dac8 jdk8-b120
13b877757b0b1c0d5813298df85364f41d7ba6fe jdk9-b00
f130ca87de6637acae7d99fcd7a8573eea1cbaed jdk9-b01
b32e2219736e42baaf45daf0ad67ed34f6033799 jdk9-b02
7f655f31f9bcee618cf832f08176ad8c1ed3fdd3 jdk9-b03
099891b1d86f3719e116ac717ffdafc90d037fb7 jdk9-b04
dd311791ad6895a3989020dd6c6c46db87972ab8 jdk9-b05
85dbdc227c5e11429b4fc4a8ba763f50107edd6e jdk9-b06
c826d05f1fb0773f6a28caa763307dd30d90d36e jdk9-b07
b47e021195757f8f45582124ea7cad48ccf5f872 jdk9-b08
efe7dbc6088691757404e0c8745f894e3ca9c022 jdk9-b09
8c0bdeecd7c0f9ce3f3762a51991f755cb3a972c jdk9-b10
0809c9a4d36e6291f1c4384604c4bbf29e975722 jdk9-b11
0d1f816217dce5e72187f167cc1816080cbeb453 jdk9-b12
1a30593dcb9802faec3b6edb24d86ca088594e4e jdk9-b13
97932f6ad950ae5a73a9da5c96e6e58503ff646b jdk9-b14
74eb0778e4f2dbff6628e718378449fba27c4265 jdk9-b15
4a09f5d30be844ac6f714bdb0f63d8c3c08b9a98 jdk9-b16
410bccbded9e9cce80f1e13ad221e37ae97a3986 jdk9-b17
c5495e25c7258ab5f96a1ae14610887d76d2be63 jdk9-b18
2dcf544eb7ed5ac6a3f7813a32e33acea7442405 jdk9-b19
89731ae72a761afdf4262e8b9513f302f6563f89 jdk9-b20
28dd0c7beb3cad9cf95f17b4b5ad87eb447a4084 jdk9-b21
9678e0db8ff6ed845d4c2ee4a3baf7f386a777e5 jdk9-b22
39cfdc2dcaf3f195c55398e4e677ab053b07e3d2 jdk9-b23
d9ce05f36ffec3e5e8af62a92455c1c66a63c320 jdk9-b24
13a5c76976fe48e55c9727c25fae2d2ce7c05da0 jdk9-b25
cd6f4557e7fea5799ff3762ed7a80a743e75d5fd jdk9-b26
d06a6d3c66c08293b2a9650f3cc01fd55c620e65 jdk9-b27
f4269e8f454eb77763ecee228a88ae102a9aef6e jdk9-b28
c36c0092693707a8255561433647e8c3cd724ccd jdk9-b29
b2287cac7813c70ed7f679d9a46fe774bd4005f8 jdk9-b30
9d0e6639a4d71b63507dd94b1a028e963b27e798 jdk9-b31
1b1ec4291abc0ba6da7bf79b754f08dd759a4a0c jdk9-b32
f0c5e4b732da823bdaa4184133675f384e7cd68d jdk9-b33
9618201c5df28a460631577fad1f61e96f775c34 jdk9-b34
a137992d750c72f6f944f341aa19b0d0d96afe0c jdk9-b35
41df50e7303daf73c0d661ef601c4fe250915de5 jdk9-b36
b409bc51bc23cfd51f2bd04ea919ec83535af9d0 jdk9-b37
948cceef81ba4cb34bc233e7cc5952951ff04e88 jdk9-b38
4e7c4d692e934cb9023af8201e7c2b510e9c4ee1 jdk9-b39
82f4cb44b2d7af2352f48568a64b7b6a5ae960cd jdk9-b40
9fffb959eb4197ff806e4ac12244761815b4deee jdk9-b41
3107be2ba9c6e208a0b86bc7100a141abbc5b5fb jdk9-b42
6494b13f88a867026ee316b444d9a4fa589dd6bd jdk9-b43
abbfccd659b91a7bb815d5e36fed635dcdd40f31 jdk9-b44
bfc24ae2b900187585079bb11e66e459d1e525fe jdk9-b45
722378bc599e38d9a1dd484de30f10dfd7b21438 jdk9-b46
8327024a99559982b848e9c2191da9c0bf8838fd jdk9-b47
b2f9702efbe95527ea3a991474fda23987ff1c5c jdk9-b48
5b8db585a33c3cc48e70e688ceee57dd9271dc5d jdk9-b49
1550b2f6b63d1411fa84dc7bbc6f04809aedb43f jdk9-b50
6efe265424e3f1ea596408a1f71baf2de316c772 jdk9-b51
d6224d6021459ac8b3832e822f5acc849fa944af jdk9-b52
874d76e4699dfcd61ae1826c9fe0ddc1610ad598 jdk9-b53
82cd31c5d6ca8d4c1653f4eb1c09eb2d9a3b2813 jdk9-b54
c97e2d1bad9708d379793ba2a4c848eda14c741e jdk9-b55
47544495db2d3d2edf0f85862d8715592fdb919f jdk9-b56
ddb95d8f169b09544cc17e72a6baaff2400092f5 jdk9-b57
f40752db7773ca0c737f2ad88371e35c57fdfed7 jdk9-b58
da950f343762a856d69751570a4c07cfa68a415b jdk9-b59
38f98cb6b33562a926ec3b79c7b34128be37647d jdk9-b60
ac3f5a39d4ff14d70c365e12cf5ec8f2abd52a04 jdk9-b61
e7dbbef69d12b6a74dfad331b7188e7f893e8d29 jdk9-b62
989253a902c34dcb7564695161c9200a5fbb7412 jdk9-b63
8ffdeabc7c2b9a8280bf46cae026ac46b4d31c26 jdk9-b64
4915246064b2f89d5f00c96e758686b7fdad36a6 jdk9-b65
ff3fc75f3214ad7e03595be1b0d0f38d887b6f0e jdk9-b66
56166ce66037952fa21e9f680b31bf8eb47312c0 jdk9-b67
5b500c93ce4822d47061cd518ff3f72d9d8cb5b5 jdk9-b68
d69c968463f0ae5d0b45de3fc14fe65171b23948 jdk9-b69
43d0179ee9de3bfffae3417f09e07eb6d8efc963 jdk9-b70
f66c185284727f6e6ffd27e9c45ed2dd9da0a691 jdk9-b71
61d2d0629b6dbf4c091dc86151ade1b3ef34fffe jdk9-b72
9b3a9d72f07b40c648de79961679f42283af1bb5 jdk9-b73
7c577fda1855d03c04546694d514678f596508c9 jdk9-b74
f55df5cfe11c97e4b58998b76f5bd00a73cde12d jdk9-b75
eeea9adfd1e3d075ef82148c00a4847a1aab4d26 jdk9-b76
c25e882cee9622ec75c4e9d60633539a2f0a8809 jdk9-b77
c8753d0be1778944dc512ec86a459941ea1ad2c3 jdk9-b78
3966bd3b8167419aa05c6718a4af1cf54b1e3c58 jdk9-b79
3c9f5bd909ae7187f24622ee4b69f8a5756a9271 jdk9-b80
2050b3a0aadcb0e024bf798197421d58e54ec8bf jdk9-b81
6521875cb63e1d0121b30af56ebbc36db078c4c6 jdk9-b82
f61a63b7d1e52e307abc0bfc751203155d362ec4 jdk9-b83
51b2db2fa04c16d767b66113dbf08c5349ce382a jdk9-b84
8392405ab038b22e69a3728e17dbdd9e3d3a22ed jdk9-b85
7db0663a5e968059fa7c772172187ebd60b6492d jdk9-b86
1a52a30674cd28c24d4d388150336121f2e9ddf9 jdk9-b87
16b4968f9bb8f34371b42c0ba483d76e91ba84d8 jdk9-b88
4a0312f2894bcbe1fd20266c8fda8d983bd2fcf6 jdk9-b89
d131f4b8433a79408f935eff9bf92a0664229b60 jdk9-b90
8077fd2f055d31e50b46fcf62d9c035bc385a215 jdk9-b91
f242d4332f563648426a1b0fa02d8741beba19ef jdk9-b92
09206c6513b300e1ac8541f3be012e1a49312104 jdk9-b93
25a2cab05cfbe6034b71d9e72d64c65b0572ce63 jdk9-b94
5ac6287ec71aafe021cc839d8bc828108d23aaba jdk-9+95
139f19d70350238e15e107945cea75082b6380b3 jdk-9+96
4edcff1b9a8875eb6380a2165dfec599e8e3f7c0 jdk-9+97
d00ad2d9049ac60815f70bff445e95df85648bd2 jdk-9+98
f9bcdce2df26678c3fe468130b535c0342c69b89 jdk-9+99
4379223f8806626852c46c52d4e7a27a584b406e jdk-9+100
80f67512daa15cf37b4825c1c62a675d524d7c49 jdk-9+101
2dc4c11fe48831854916d53c3913bdb7d49023ea jdk-9+102
4a652e4ca9523422149958673033e0ac740d5e1e jdk-9+103
086c682bd8c5f195c324f61e2c61fbcd0226d63b jdk-9+104
db483b34fa7148d257a429acddbde9c13687dcae jdk-9+105
6c644cca3f3fc2763e2ff7d669849a75d34543ba jdk-9+106
1c076468bf7dad5b8f2ee5dcf66e2279caa3e208 jdk-9+107
257b579d813201682931d6b42f0445ffe5b4210d jdk-9+108
c870cb782aca71093d2584376f27f0cfbfec0e3a jdk-9+109
4a95f4b1bd8bfce85dc02a593896749feab96c34 jdk-9+110
a6614ff7bf09da74be1d0ef3d9755090d244697a jdk-9+111
7359994942f8d8e723b584d66a3a92c2e9e95e5c jdk-9+112
6072af7a98be3922f26bdce71b53bb3646cb2ac9 jdk-9+113
c84d0cce090e161d736de69e941830adf8c2f87a jdk-9+114
8d78fb40648dd221ce4ef19f9d5aa41ee1a3a884 jdk-9+115
84aba7335005a3a47751dcf1f37935f97df9f99a jdk-9+116
82b8d12a553f5617737c238cec060281d52e351c jdk-9+117
7c04fcb12bd4a31570a238e663fa846dfa5ec3b8 jdk-9+118
caf97b37ebec84288c112d21d3a60cb628cba1e8 jdk-9+119
9330543436402b8f3bd070524846a464d8143557 jdk-9+120
18e5cdecb37a2f03ba74f6c8f022858bcbaacf56 jdk-9+121
7693aa00e131493ceb42b93305e2f014c9922a3b jdk-9+122
d53037a90c441cb528dc41c30827985de0e67c62 jdk-9+123
2a5697a98620c4f40e4a1a71478464399b8878de jdk-9+124
3aa52182b3ad7c5b3a61cf05a59dd07e4c5884e5 jdk-9+125
03e7b2c5ae345be3caf981d76ceb3efe5ff447f8 jdk-9+126
8e45018bde9de4ad15b972ae62874bba52dba2d5 jdk-9+127
5bf88dce615f6804f9e101a96ffa7c9dfb4fbbbe jdk-9+128
e8373543a3f0f60589b7d72b1f9b172721124caf jdk-9+129
e613affb88d178dc7c589f1679db113d589bddb4 jdk-9+130
4d2a15091124488080d65848b704e25599b2aaeb jdk-9+131
2e83d21d78cd9c1d52e6cd2599e9c8aa36ea1f52 jdk-9+132
e17429a7e843c4a4ed3651458d0f950970edcbcc jdk-9+133
a71210c0d9800eb6925b61ecd6198abd554f90ee jdk-9+134
e384420383a5b79fa0012ebcb25d8f83cff7f777 jdk-9+135
1b4b5d01aa11edf24b6fadbe3d2f3e411e3b02cd jdk-9+136
9cb87c88ed851c0575b8ead753ea238ed5b544e9 jdk-9+137
d273dfe9a126d3bffe92072547fef2cd1361b0eb jdk-9+138
65477538bec32963dc41153d89c4417eb46c45fc jdk-9+139
0875007901f7d364a08220b052f0c81003e9c8c5 jdk-9+140
9aadd2163b568d76f8969ad2fb404a63733da359 jdk-9+141
df0e03e3ca0ed1307793017dfc1a054c8726131c jdk-9+142
d62173b931bf5b6bffc6e80a9060bb2e8b8efc75 jdk-9+143
31f5023200d42185b70c4c00ba5672391e4642d0 jdk-9+144
3ee4e7827413fa5c5c4fca58597b0ad89e921bfb jdk-9+145
581331db696a62dd411926ba7fd437252252a71d jdk-9+146
f4e854a77aa38749bd90f722b06974a56e7233d5 jdk-9+147
5c71ea43933b6c7e8a85eb1a4eb2213011b95d82 jdk-9+148
cf139f925da04c8bd7efd33270a0315d72b338d3 jdk-9+149
17469f16fbb406ec9f0dd262ce776ab6efbc38f1 jdk-9+150
37b95df0042ae0687324e1f7dc4a2519e230e704 jdk-9+151
ab2c8b03c3284fcbdd157551a66f807e3a182d9b jdk-9+152
d7034ff7f8e257e81c9f95c7785dd4eaaa3c2afc jdk-9+153
8c70d170e62c0c58b5bc3ba666bd140399b98c9c jdk-10+0
45b751afd11e6c05991cf4913c5a0ac3304fcc4e jdk-9+154
f4aff695ffe05cfdb69d8af25a4ddc6a029754ea jdk-9+155
06bce0388880b5ff8e040e4a9d72a3ea11dac321 jdk-9+156
74116beae88a8f17a80301aa6c83865c82f10ece jdk-10+1
4a79ad46e578112fce68f1af9dd931025cc235cb jdk-10+2
d1cab6c7e608479be4ebfad48a25b0ed48600f62 jdk-10+3
02253db2ace1422f576f58502fc7831ead77424b jdk-10+4
f113ce12fe24fbd24acf02711372d9f1e1c12426 jdk-10+5
1407b19a2ddf6baae162f5a1a5b96af473f4d7d1 jdk-10+6
30e75693ae99fd8e47fd2f5116527aff1b59aff9 jdk-10+7
c42dc7b58b4d4301ea676a76326fd9bbd403d595 jdk-10+8
aa5b01f5e5620438fd39efdb2e2f6365a2c7d898 jdk-10+9
b0f2b8ff25a2209b2c807785d75f20e5086bbfc2 jdk-10+10
036dbf8b381798e5d31065109714d04d97bf98a4 jdk-10+11
e6d70017f5b9adbb2ec82d826973d0251800a3c3 jdk-10+12
9927a9f16738e240ab7014f0118f41e314ef8f99 jdk-10+13
9ef5029b247b4d940080417a287440bbdbab995b jdk-10+14
878e216039322cb3f0ecbd0944642a2b4e2593f3 jdk-10+15
4bbea012e5676e8025ade2bcfab4d6581e6e9f4b jdk-10+16
7db699468b4f84abbcc01647e5a964409737411a jdk-10+17
3739654290616e533fc6f51bf9ad69ed47a6abba jdk-10+18
14df107500cc3b8ab238c3e4ad2c74e12bfe6067 jdk-10+19
4586bc5d28d13d3147b993e6237eaf29a7073bbb jdk-10+20
a85884d55ce32799f5c7382b7ea4839052b362a2 jdk-10+21
e5357aa85dadacc6562175ff74714fecfb4470cf jdk-10+22
22850b3a55240253841b9a425ad60a7fcdb22d47 jdk-10+23
3b201865d5c1f244f555cad58da599c9261286d8 jdk-10+24
8eb5e3ccee560c28ac9b1df2670adac2b3d36fad jdk-10+25
1129253d3bc728a2963ba411ab9dd1adf358fb6b jdk-10+26
b87d7b5d5dedc1185e5929470f945b7378cdb3ad jdk-10+27
92f08900cb3c0d694e5c529a676c1c9e5909193f jdk-10+28
a6e591e12f122768f675428e1e5a838fd0e9c7ec jdk-10+29
8fee80b92e65149f7414250fd5e34b6f35d417b4 jdk-10+30
e6278add9ff28fab70fe1cc4c1d65f7363dc9445 jdk-10+31
a2008587c13fa05fa2dbfcb09fe987576fbedfd1 jdk-10+32
bbd692ad4fa300ecca7939ffbe3b1d5e52a28cc6 jdk-10+33
89deac44e51517841491ba86ff44aa82a5ca96b3 jdk-10+34
d8c634b016c628622c9abbdc6bf50509e5dedbec jdk-10+35
0ee20aad71c4f33c426372b4c8bcc1235ce2ec08 jdk-11+0
959f2f7cbaa6d2ee45d50029744efb219721576c jdk-10+36
4f830b447edf04fb4a52151a5ad44d9bb60723cd jdk-10+37
e569e83139fdfbecfeb3cd9014d560917787f158 jdk-10+38
5b834ec962366e00d4445352a999a3ac14e26f64 jdk-10+39
860326263d1f6a83996d7da0f4c66806ae4aa1eb jdk-10+40
3eae36c6baa5f916a3024cf1513e22357e00185d jdk-10+41
4b62b815b4f49970b91a952929cf50115c263cb3 jdk-10+42
107413b070b92c88bde6230ceb4a19b579781068 jdk-10+43
dfa46cfe56346884a61efdc30dc50f7505d66761 jdk-11+1
03ae177c26b016353e5ea1cab6ffd051dfa086ca jdk-11+2
663f20fc51091bd7f95d18448850ba091207b7bd jdk-10+44
4f96cf952e71cb8a127334494faf28880c26181b jdk-10+45
1fd4d6068f54561cfc67d54fc9ca84af7212c4f8 jdk-11+3
e59941f7247d451fa7df9eaef3fce0f492f8420c jdk-11+4
d5c43e9f08fb9a7c74aae0d48daf17f2ad2afaef jdk-11+5
3acb379b86725c47e7f33358cb22efa8752ae532 jdk-11+6
f7363de371c9a1f668bd0a01b7df3d1ddb9cc58b jdk-11+7
755e1b55a4dff510f9639cdb5c5e82549a7e09b3 jdk-11+8
0c3e252cea44f06aef570ef464950ab97c669970 jdk-11+9
6fa770f9f8ab296e1ce255ec17ccf6d4e1051886 jdk-10+46
69d7398038c54774d9395b6810e0cca335edc02c jdk-11+10
e1e60f75cd39312a7f59d2a4f91d624e5aecc95e jdk-11+11
3ab6ba9f94a9045a526d645af26c933235371d6f jdk-11+12
758deedaae8406ae60147486107a54e9864aa7b0 jdk-11+13
3595bd343b65f8c37818ebe6a4c343ddeb1a5f88 jdk-11+14
a11c1cb542bbd1671d25b85efe7d09b983c48525 jdk-11+15
02934b0d661b82b7fe1052a04998d2091352e08d jdk-11+16
64e4b1686141e57a681936a8283983341484676e jdk-11+17
e1b3def126240d5433902f3cb0e91a4c27f6db50 jdk-11+18
fb8b3f4672774e15654958295558a1af1b576919 jdk-11+19
fb8b3f4672774e15654958295558a1af1b576919 jdk-11+19
36ca515343e00b021dcfc902e986d26ec994a2e5 jdk-11+19
9816d7cc655e53ba081f938b656e31971b8f097a jdk-11+20
14708e1acdc3974f4539027cbbcfa6d69f83cf51 jdk-11+21
9937ef7499dcd7673714517fd5e450410c14ba4e jdk-11+22
1edcf36fe15f79d6228d1a63eb680878e2386480 jdk-11+23
ea900a7dc7d77dee30865c60eabd87fc24b1037c jdk-11+24
331888ea4a788df801b1edf8836646cd25fc758b jdk-11+25
945ba9278a272a5477ffb1b3ea1b04174fed8036 jdk-11+26
9d7d74c6f2cbe522e39fa22dc557fdd3f79b32ad jdk-11+27
76072a077ee1d815152d45d1692c4b36c53c5c49 jdk-11+28
c01cc45790f871adec30acc90742b521d57a2fff jdk-11.0.1+0
1353ec839c82de926bfacd2c7976b6b652d4afb0 jdk-11.0.1+1
a285bd7cfedb40cb3086e61e17fc04c96b739d03 jdk-11.0.1+2
a285bd7cfedb40cb3086e61e17fc04c96b739d03 jdk-11.0.1+2
0000000000000000000000000000000000000000 jdk-11.0.1+2
fc55f0667af5ea3b21e40a59e2a88b1b82e65e62 jdk-11.0.1+2
781b5d8f2f75ae4dfdafc85630e5dbd31e324ed1 jdk-11.0.1+3
b5b1dd7e6f9d86aedf7141e9279342fae257bd67 jdk-11.0.1+4
d6efeebf554c918bfab50f89939eb11121e18432 jdk-11.0.1+5
db768cfe2141b3eb9ef53d7104002a0532c8c977 jdk-11.0.1+6
88a221c0bad0cee441767106776628550d660a82 jdk-11.0.1+7
c2b23a17d3ff92235aed8e8d04642d7a6eaecf54 jdk-11.0.1+8
adb9933aa8c68e6dec6b441133f3955fe7366206 jdk-11.0.1+9
a86e14193fc8ea98835fd3e2f867447164c7af53 jdk-11.0.1+10
0343f9aacae2d4a9e6df4e61087837166a6a477c jdk-11.0.1+11
c0431cf9c38e5c56eedc680e007a94c4279a8f13 jdk-11.0.1+12
8513ac27b65198d2e6562fb7da6e9c99b9fdcf51 jdk-11.0.1+13
7da060835810b5fbd4a7493ea1c98e9a4338f30d jdk-11.0.2+0
2be95a1bf50877cafba791c2f342953bd4a6412e jdk-11.0.2+1
b4b16f510f48e2dd4bea007b60fddf69af0f6c10 jdk-11.0.2+2
8a8606a3bdf2dbe0698bef375e6a4b47df0efb1a jdk-11.0.2+3
0db90dec8c39bc38058afa11b7fda607ee259d01 jdk-11.0.2+4
ff1f7723c4e88822fd60bcacd55824e1d3da6d36 jdk-11.0.2+5
c6fd7ff3e96f3e6f4913d026a90c6c454a7a35c8 jdk-11.0.2+6
a01e0cc0105972acc3b5e213dbe2b84acaee5be3 jdk-11.0.2+7
a01e0cc0105972acc3b5e213dbe2b84acaee5be3 jdk-11.0.2-ga
fe85e2f43a1c893cb410308106b0f31b814aebb8 jdk-11.0.2+8
144d476b6efe527c5e9ebf19af93398913c5450f jdk-11.0.2+9
a01e0cc0105972acc3b5e213dbe2b84acaee5be3 jdk-11.0.2-ga
0000000000000000000000000000000000000000 jdk-11.0.2-ga
144d476b6efe527c5e9ebf19af93398913c5450f jdk-11.0.2-ga
cd1c042181e934a1a91f9ee59a0066f64c8bad7a jdk-11.0.4+0
98e7354165d3a2443a8b845a5a526cc55d1b0dd7 jdk-11.0.3+0
cd1c042181e934a1a91f9ee59a0066f64c8bad7a jdk-11.0.3+1
9de3f198995c6c384fd6431c97089c311ec6a7ff jdk-11.0.3+2
d17a1764a0f318ab72beadb589c998d40951493a jdk-11.0.3+3
43d6759c3b2e36c1118e9753a080372294e1f17a jdk-11.0.3+4
c9865fee1a6d39a7bd2a5313f54c812d9a0852f5 jdk-11.0.3+5
8e139b8b4f62c0a1c4b13fa216f6fd975df81c1c jdk-11.0.3+6
175eb80c253addb5b49a91c53daa7e204f124581 jdk-11.0.3+7
175eb80c253addb5b49a91c53daa7e204f124581 jdk-11.0.3-ga
b3f7a4c524f2e37a8068ca797859df86d9865aad jdk-11.0.4+1
3b9194001c2eebea3109777c2b308cd784a5dcc7 jdk-11.0.4+2
3b6fc7cd594608b7125eb0b75bdc05132e7b5f39 jdk-11.0.4+3
e442b78d7687744475676724bd27b1d52f096d38 jdk-11.0.4+4
371ce104ac19a12012dfe3749240b0309bfc86ee jdk-11.0.4+5
3594cd8691f224cc7f8909c2fb14eaea0e190097 jdk-11.0.5+0
9ab8738bf30663e01924f40e04d6d04751271b77 jdk-11.0.4+6
640251cdca0577fd8aa4a51ddb7c71c3b874033c jdk-11.0.4+7
ce601e800f56af59edfda40e19a92a8d3121a1cd jdk-11.0.4+8
26958299a5f8012736b99782c835ec685e18dd43 jdk-11.0.4+9
3f5829d9d7629ba3893456e20731949a570cc277 jdk-11.0.4+10
6a4d57474e1c971cccf4165b3d9d023928510010 jdk-11.0.4+11
6a4d57474e1c971cccf4165b3d9d023928510010 jdk-11.0.4-ga
3ba9c532128b1feccf59ab8ce812b1fce2b6f681 jdk-11.0.5+1
b249a2a2034e3392c647c61d401a41ac7237d635 jdk-11.0.5+2
d84dae4fba034adc749e3f28fc444b3d95b8f670 jdk-11.0.5+3
315e873712092d48fbfa23885bdf2c6fd654c1ab jdk-11.0.5+4
d43c5ab1a337b94fffee1cab871543da06f8113c jdk-11.0.5+5
7431ec494a2988fa69742812168c3119805a7855 jdk-11.0.6+0
deaef57bf366fdab908b97a9760d0fa6e273abcd jdk-11.0.5+6
046604d257d7bc698ee213d70af09793f5008ff1 jdk-11.0.5+7
2c29e9b3a2856350d55a188635c36c5b23c1c9e3 jdk-11.0.5+8
ee7128cf507a670ae84841b202a7a06711608359 jdk-11.0.5+9
6385eb06af947d8ec5fd51a4733bc8187efb88b5 jdk-11.0.5+10
6385eb06af947d8ec5fd51a4733bc8187efb88b5 jdk-11.0.5-ga
6eb89e59a06a2f83f7fe0399da4bf4ca638d46f3 jdk-11.0.6+1
8d3e0c2c009815cae59ad3c9bf9e4b1f090efc8b jdk-11.0.6+2
f8b2e95a1d41585a757729ed28ce35d43aba1b3f jdk-11.0.6+3
577a1fc440666e3c0724e07f6a8d736b2c7905cf jdk-11.0.6+4
bfce7426e091127450a70b7d07941c0f9e02d347 jdk-11.0.6+5
b7446ddfa2aae29a7132a576c88fab0c5609c8f2 jdk-11.0.7+0
aa260c24480a2bd7d21ad1c863e6fe9a3973011e jdk-11.0.6+6
42500af9232ed5b2990ff618a1e92ef6ccc0b9af jdk-11.0.6+7
0c54fb645a7388cb7e3d587b4df75a2edd7826e2 jdk-11.0.6+8
1859de77ee6cd7e10ac0b9e71027d9f974a6e481 jdk-11.0.6+9
837b7afec083aaddeef0a6c3e6501b2200eaf1d4 jdk-11.0.6+10
837b7afec083aaddeef0a6c3e6501b2200eaf1d4 jdk-11.0.6-ga
8cdfd6139b1efc9064b10f24a82848b1bb4a0550 jdk-11.0.7+1
15cc1c8a63718c394e9cd1f35d735bb74a850084 jdk-11.0.7+2
f2d8162261ae3c1e50eb0667b3c9669caa67c652 jdk-11.0.7+3
d3d1f7f67de13fd5c227424b9ddc514c0ca32aff jdk-11.0.7+4
f03574cfc0d728ca7b5146ca22c707717f9f899f jdk-11.0.7+5
571c180c510648853799883c554f77411129287d jdk-11.0.8+0
17d2e0c27889a00a3df7de9bcea0e8caf0d1771a jdk-11.0.7+6
f56b853d452bd339e3f4360cf4be42cc90f9284c jdk-11.0.7+7
3c570d183ab2afc0b204a8e980be69e7fbe761ef jdk-11.0.7+8
7201cd0c64776aa574d252b03a4c92b25d0a7d7f jdk-11.0.7+9
44ce940b344b9f240be4807f5b8f06e178e3aecd jdk-11.0.7+10
44ce940b344b9f240be4807f5b8f06e178e3aecd jdk-11.0.7-ga
2eb415c82056bdc308d23ee6761f422de46dc5e5 jdk-11.0.8+1
88eaa453331e9aeca979d58509538ebb74831ce4 jdk-11.0.8+2
2c0c9cfe2a4e1340f7db106e2220dbd0d5b86092 jdk-11.0.8+3
aa6c93b4f1acf4166d74d0252b35c53ad71d8540 jdk-11.0.8+4
8df1a601187c0b4cb9e525075bd7b85ee3d72595 jdk-11.0.8+5
90ce1674f8384b0747e5269047a2359cdd9b6bdd jdk-11.0.9+0
e42c6d1a1993c720a4643140190bb1ba6f1bbf9f jdk-11.0.8+6
46d4984bb3c6dd1b0f5135505b77921d23c69841 jdk-11.0.8+7
40b646e9d8fbb2d70992b61e4f4b08ca5652c907 jdk-11.0.8+8
59f8565ee5e224697a9e09ee2c557836733bc579 jdk-11.0.8+9
0b0d55cb09b29360ab254edeef32a3b386e9713e jdk-11.0.8+10
0b0d55cb09b29360ab254edeef32a3b386e9713e jdk-11.0.8-ga
5cc275af8419178813299cc0ed81a2a85dadfdcd jdk-11.0.9+1
3112657edde9491fb83f098f1a8b7e9275bcb2f7 jdk-11.0.9+2
d8a0513b92ee262d4e64c1e13d43e1b3f3e5c5d5 jdk-11.0.9+3
cb299db4a5698b814f6b3ba1f3d73d01f6a0e1f6 jdk-11.0.9+4
55237fa85afb404bc0dc0f4948a6459d8d3e5dac jdk-11.0.9+5
c07e785e36f587b95e151de382844cea3d1a5868 jdk-11.0.9+6
d484fdfcc7d5c21812de8a0712236d077b0f2dde jdk-11.0.10+0
1ba4c16a8afa3f5aaa7830fc1f14a0137cc2553b jdk-11.0.9+7
8711e8554e15ae2fa38718d5c7dc858da10e8a4a jdk-11.0.9+8
e872676174c7f171a9864becba83cb783cfec9d0 jdk-11.0.9+9
6ac1b68e7c0034e08a96d7d37e93e5075a6e8d61 jdk-11.0.9+10
4397fa4529b2794ddcdf3445c0611fe383243fb4 jdk-11.0.9+11
4397fa4529b2794ddcdf3445c0611fe383243fb4 jdk-11.0.9-ga
4fd46d208f0a4b55924af8e0c2fb6bcf46e18ec6 jdk-11.0.9.1+0
27723943c0dd65a191cbefe031cec001521e4b13 jdk-11.0.9.1+1
31affc22b3b5f5d43783ffadf57f22848bad9db8 jdk-11.0.9.1-ga
f3168de4eb0dd74bf8e81537f62742bde5e412c3 jdk-11.0.10+1
a35aa07b57bab3690224e3af939ee085d50eb476 jdk-11.0.10+2
bca12c00a776f8cee7a0eeaf788499b9eab9cf9d jdk-11.0.10+3
9504fa6f98f5aad0aa1ac36d5bff3260a32020c8 jdk-11.0.10+4
5f5c3544ccb4d0bbc638e665524b292860dd9515 jdk-11.0.10+5
cbd009b79ac52cca36b5bda2cf1ef033a1288a3e jdk-11.0.11+0
4b9bc2a1dde0631958393125997855382325964d jdk-11.0.10+6
c45f74d45787a857d35b5a66c9b0304c91a9c5d0 jdk-11.0.10+7
43428f69099f6f87f6e1922deacbf13e1adb751f jdk-11.0.10+8
8b3498547395ee80a6e731078056b2aeb3e3c5e8 jdk-11.0.10+9
8b3498547395ee80a6e731078056b2aeb3e3c5e8 jdk-11.0.10-ga
4ed322bf6b0098353ceaecf35662fadf457cd81d jdk-11.0.11+1
b68647c6ecc1e73111d8047448d75966f255460f jdk-11.0.11+2
14cc036b17a5f4be5b0643e6b24ed32563684ab9 jdk-11.0.11+3
c4405735470a92e2c45490b89a8099252f3481d2 jdk-11.0.11+4
38430a8a4488582612c6a87ab58d109cc5217e8b jdk-11.0.11+5
595a965d85afdd01c30dbc7b2efd75f4cb202816 jdk-11.0.12+0
e41ae00add1d76a8f25adb558933382947ea840d jdk-11.0.11+6
14f9928caac31368d27f13e4e21ca25c1e0be950 jdk-11.0.11+7
9f0347b029d3a0349f23befcfb68ee02d85d9034 jdk-11.0.11+8
15862747ee15445292b4b9949b4f0f4badba4812 jdk-11.0.11+9
15862747ee15445292b4b9949b4f0f4badba4812 jdk-11.0.11-ga
5720ffa08f8514b9f0ea8b3a49e05a872c9c0efe jdk-11.0.12+1
70a4031a8bef3e693f34864fdd482429c73dc76a jdk-11.0.12+2
873a691b1ae4fa8b55ca5d08fa21aca3a4904fb8 jdk-11.0.12+3
40d1e784e1937aaea696a9654cc2d944d3d78996 jdk-11.0.12+4
6aa6f6860508fca3a97aea1de7a36574498d22bf jdk-11.0.12+5
91e81ac088545abdc3eaaa707853d31a6cf99af3 jdk-11.0.12+6
f412f2537f1502a9697a9684c77bea8d848db1ab jdk-11.0.12+7
f412f2537f1502a9697a9684c77bea8d848db1ab jdk-11.0.12-ga

View File

@@ -1,10 +1,11 @@
[general]
project=jdk-updates
jbs=JDK
version=11.0.15
version=11.0.25
[checks]
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists
warning=issuestitle,binary
[repository]
tags=(?:jdk-(?:[1-9]([0-9]*)(?:\.(?:0|[1-9][0-9]*)){0,4})(?:\+(?:(?:[0-9]+))|(?:-ga)))|(?:jdk[4-9](?:u\d{1,3})?-(?:(?:b\d{2,3})|(?:ga)))|(?:hs\d\d(?:\.\d{1,2})?-b\d\d)
@@ -29,3 +30,6 @@ role=committer
[checks "issues"]
pattern=^([124-8][0-9]{6}): (\S.*)$
[checks "problemlists"]
dirs=test/jdk|test/langtools|test/lib-test|test/hotspot/jtreg|test/jaxp

12
README
View File

@@ -1,12 +0,0 @@
Welcome to the JDK!
===================
For information about building the JDK, including how to retrieve all
of the source code, please see either of these files:
* doc/building.html (html version)
* doc/building.md (markdown version)
See http://openjdk.java.net/ for more information about the OpenJDK
Community and the JDK.

11
README.md Normal file
View File

@@ -0,0 +1,11 @@
# Welcome to the JDK!
For build instructions please see the
[online documentation](https://openjdk.java.net/groups/build/doc/building.html),
or either of these files:
- [doc/building.html](doc/building.html) (html version)
- [doc/building.md](doc/building.md) (markdown version)
See <https://openjdk.java.net/> for more information about
the OpenJDK Community and the JDK.

View File

@@ -128,6 +128,15 @@ install_jib() {
exit 1
fi
fi
# Want to check the filetype using file, to see if we got served a HTML error page.
# This is sensitive to the filename containing a specific string, but good enough.
file "${installed_jib_script}.gz" | grep "gzip compressed data" > /dev/null
if [ $? -ne 0 ]; then
echo "Warning: ${installed_jib_script}.gz is not a gzip file."
echo "If you are behind a proxy you may need to configure exceptions using no_proxy."
echo "The download URL was: ${jib_url}"
exit 1
fi
echo "Extracting JIB bootstrap script"
rm -f "${installed_jib_script}"
gunzip "${installed_jib_script}.gz"

View File

@@ -1,19 +1,24 @@
<!DOCTYPE html>
<html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Building the JDK</title>
<style type="text/css">code{white-space: pre;}</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css" />
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
<style type="text/css">pre, code, tt { color: #1d6ae5; }</style>
</head>
<body>
<header>
<header id="title-block-header">
<h1 class="title">Building the JDK</h1>
</header>
<nav id="TOC">
@@ -67,14 +72,18 @@
<li><a href="#make-control-variables">Make Control Variables</a></li>
</ul></li>
<li><a href="#running-tests">Running Tests</a></li>
<li><a href="#signing">Signing</a><ul>
<li><a href="#macos-1">macOS</a></li>
</ul></li>
<li><a href="#cross-compiling">Cross-compiling</a><ul>
<li><a href="#cross-compiling-the-easy-way-with-openjdk-devkits">Cross compiling the easy way with OpenJDK devkits</a></li>
<li><a href="#boot-jdk-and-build-jdk">Boot JDK and Build JDK</a></li>
<li><a href="#specifying-the-target-platform">Specifying the Target Platform</a></li>
<li><a href="#toolchain-considerations">Toolchain Considerations</a></li>
<li><a href="#native-libraries">Native Libraries</a></li>
<li><a href="#creating-and-using-sysroots-with-qemu-deboostrap">Creating And Using Sysroots With qemu-deboostrap</a></li>
<li><a href="#cross-compiling-with-debian-sysroots">Cross compiling with Debian sysroots</a></li>
<li><a href="#building-for-armaarch64">Building for ARM/aarch64</a></li>
<li><a href="#building-for-musl">Building for musl</a></li>
<li><a href="#verifying-the-build">Verifying the Build</a></li>
</ul></li>
<li><a href="#build-performance">Build Performance</a><ul>
@@ -194,7 +203,7 @@
<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>
<p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p>
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layer is Cygwin. (Msys is no longer supported due to a too old bash; msys2 and the new Windows Subsystem for Linux (WSL) would likely be possible to support in a future version but that would require effort to implement.)</p>
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layers are Cygwin and MSYS2. (MSYS is no longer supported due to an outdated bash; While OpenJDK can be built with MSYS2, support for it is still experimental, so build failures and unusual errors are not uncommon.)</p>
<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/git/jdk/Makefile</code> rather than <code>C:\git\jdk\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
<h4 id="cygwin">Cygwin</h4>
<p>A functioning <a href="http://www.cygwin.com/">Cygwin</a> environment is thus required for building the JDK on Windows. If you have a 64-bit OS, we strongly recommend using the 64-bit version of Cygwin.</p>
@@ -224,6 +233,8 @@
<pre><code>sudo apt-get install build-essential</code></pre>
<p>For rpm-based distributions (Fedora, Red Hat, etc), try this:</p>
<pre><code>sudo yum groupinstall &quot;Development Tools&quot;</code></pre>
<p>For Alpine Linux, aside from basic tooling, install the GNU versions of some programs:</p>
<pre><code>sudo apk add build-base bash grep zip</code></pre>
<h3 id="aix">AIX</h3>
<p>The regular builds by SAP is using AIX version 7.1, but AIX 5.3 is also supported. See the <a href="http://cr.openjdk.java.net/~simonis/ppc-aix-port">OpenJDK PowerPC Port Status Page</a> for details.</p>
<h2 id="native-compiler-toolchain-requirements">Native Compiler (Toolchain) Requirements</h2>
@@ -231,30 +242,30 @@
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Operating system</th>
<th style="text-align: left;">Supported toolchain</th>
<th>Operating system</th>
<th>Supported toolchain</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Linux</td>
<td style="text-align: left;">gcc, clang</td>
<td>Linux</td>
<td>gcc, clang</td>
</tr>
<tr class="even">
<td style="text-align: left;">macOS</td>
<td style="text-align: left;">Apple Xcode (using clang)</td>
<td>macOS</td>
<td>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>
<td>Solaris</td>
<td>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>
<td>AIX</td>
<td>IBM XL C/C++</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Windows</td>
<td style="text-align: left;">Microsoft Visual Studio</td>
<td>Windows</td>
<td>Microsoft Visual Studio</td>
</tr>
</tbody>
</table>
@@ -262,29 +273,30 @@
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Operating system</th>
<th style="text-align: left;">Toolchain version</th>
<th>Operating system</th>
<th>Toolchain version</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Linux</td>
<td style="text-align: left;">gcc 7.3.0</td>
<td>Linux</td>
<td>gcc 7.3.0</td>
</tr>
<tr class="even">
<td style="text-align: left;">macOS</td>
<td style="text-align: left;">Apple Xcode 9.4 (using clang 9.1.0)</td>
<td>macOS</td>
<td>Apple Xcode 9.4 (using clang 9.1.0)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Solaris</td>
<td style="text-align: left;">Oracle Solaris Studio 12.4 (with compiler version 5.13)</td>
<td>Solaris</td>
<td>Oracle Solaris Studio 12.4 (with compiler version 5.13)</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>Windows</td>
<td>Microsoft Visual Studio 2017 update 15.9.16</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 7.4 of gcc.</p>
@@ -294,9 +306,13 @@
<p>To use clang instead of gcc on Linux, use <code>--with-toolchain-type=clang</code>.</p>
<h3 id="apple-xcode">Apple Xcode</h3>
<p>The oldest supported version of Xcode is 8.</p>
<p>You will need the Xcode command lines developers tools to be able to build the JDK. (Actually, <em>only</em> the command lines tools are needed, not the IDE.) The simplest way to install these is to run:</p>
<p>You will need the Xcode command line developer tools to be able to build the JDK. (Actually, <em>only</em> the command line tools are needed, not the IDE.) The simplest way to install these is to run:</p>
<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>When updating Xcode, it is advisable to keep an older version for building the JDK. To use a specific version of Xcode you have multiple options:</p>
<ul>
<li>Use <code>xcode-select -s</code> before running <code>configure</code>, e.g. <code>xcode-select -s /Applications/Xcode13.1.app</code>. The drawback is that the setting is system wide and you may have to revert it after an OpenJDK build.</li>
<li>Use configure option <code>--with-xcode-path</code>, e.g. <code>configure --with-xcode-path=/Applications/Xcode13.1.app</code> This allows using a specific Xcode version for an OpenJDK build, independently of the active Xcode version by <code>xcode-select</code>.</li>
</ul>
<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>
@@ -360,6 +376,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<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>
<p>If you get <code>LINK: fatal error LNK1123: failure during conversion to COFF: file invalid</code> when building using Visual Studio 2010, you have encountered <a href="http://support.microsoft.com/kb/2757355">KB2757355</a>, a bug triggered by a specific installation order. However, the solution suggested by the KB article does not always resolve the problem. See <a href="https://stackoverflow.com/questions/10888391">this stackoverflow discussion</a> for other suggestions.</p>
<p>If you have Visual Studio installed but <code>configure</code> fails to detect it, it may be because of <a href="#spaces-in-path">spaces in path</a>.</p>
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
<p>The regular builds by SAP is using version 12.1, described as <code>IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72) Version: 12.01.0000.0017</code>.</p>
<p>See the <a href="http://cr.openjdk.java.net/~simonis/ppc-aix-port">OpenJDK PowerPC Port Status Page</a> for details.</p>
@@ -380,6 +397,8 @@ 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 Alpine Linux, try running <code>sudo apk add freetype-dev</code>.</li>
<li>To install on macOS, try running <code>brew install freetype</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>
@@ -388,6 +407,7 @@ 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 Alpine Linux, try running <code>sudo apk add cups-dev</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>
@@ -396,6 +416,7 @@ 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 libx11-dev libxext-dev libxrender-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 libXi-devel</code>.</li>
<li>To install on Alpine Linux, try running <code>sudo apk add libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev</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/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>
@@ -404,6 +425,7 @@ 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 libasound2-dev</code>.</li>
<li>To install on an rpm-based Linux, try running <code>sudo yum install alsa-lib-devel</code>.</li>
<li>To install on Alpine Linux, try running <code>sudo apk add alsa-lib-dev</code>.</li>
</ul>
<p>Use <code>--with-alsa=&lt;path&gt;</code> if <code>configure</code> does not properly locate your ALSA files.</p>
<h3 id="libffi">libffi</h3>
@@ -411,6 +433,7 @@ 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 libffi-dev</code>.</li>
<li>To install on an rpm-based Linux, try running <code>sudo yum install libffi-devel</code>.</li>
<li>To install on Alpine Linux, try running <code>sudo apk add libffi-dev</code>.</li>
</ul>
<p>Use <code>--with-libffi=&lt;path&gt;</code> if <code>configure</code> does not properly locate your libffi files.</p>
<h2 id="build-tools-requirements">Build Tools Requirements</h2>
@@ -419,6 +442,7 @@ 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 autoconf</code>.</li>
<li>To install on an rpm-based Linux, try running <code>sudo yum install autoconf</code>.</li>
<li>To install on Alpine Linux, try running <code>sudo apk add autoconf</code>.</li>
<li>To install on macOS, try running <code>brew install autoconf</code>.</li>
<li>To install on Windows, try running <code>&lt;path to Cygwin setup&gt;/setup-x86_64 -q -P autoconf</code>.</li>
</ul>
@@ -542,7 +566,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<li><code>CONF</code> and <code>CONF_NAME</code> - Selecting the configuration(s) to use. See <a href="#using-multiple-configurations">Using Multiple Configurations</a></li>
</ul>
<h4 id="test-make-control-variables">Test Make Control Variables</h4>
<p>These make control variables only make sense when running tests. Please see <a href="testing.html">Testing the JDK</a> for details.</p>
<p>These make control variables only make sense when running tests. Please see <strong>Testing the JDK</strong> (<a href="testing.html">html</a>, <a href="testing.md">markdown</a>) for details.</p>
<ul>
<li><code>TEST</code></li>
<li><code>TEST_JOBS</code></li>
@@ -562,7 +586,13 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<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>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>
<p>For more details on how to run tests, please see <strong>Testing the JDK</strong> (<a href="testing.html">html</a>, <a href="testing.md">markdown</a>).</p>
<h2 id="signing">Signing</h2>
<h3 id="macos-1">macOS</h3>
<p>Modern versions of macOS require applications to be signed and notarizied before distribution. See Apple's documentation for more background on what this means and how it works. To help support this, the JDK build can be configured to automatically sign all native binaries, and the JDK bundle, with all the options needed for successful notarization, as well as all the entitlements required by the JDK. To enable <code>hardened</code> signing, use configure parameter <code>--with-macosx-codesign=hardened</code> and configure the signing identity you wish to use with <code>--with-macosx-codesign-identity=&lt;identity&gt;</code>. The identity refers to a signing identity from Apple that needs to be preinstalled on the build host.</p>
<p>When not signing for distribution with the hardened option, the JDK build will still attempt to perform <code>adhoc</code> signing to add the special entitlement <code>com.apple.security.get-task-allow</code> to each binary. This entitlement is required to be able to dump core files from a process. Note that adding this entitlement makes the build invalid for notarization, so it is only added when signing in <code>debug</code> mode. To explicitly enable this kind of adhoc signing, use configure parameter <code>--with-macosx-codesign=debug</code>. It will be enabled by default in most cases.</p>
<p>It's also possible to completely disable any explicit codesign operations done by the JDK build using the configure parameter <code>--without-macosx-codesign</code>. The exact behavior then depends on the architecture. For macOS on x64, it (at least at the time of this writing) results in completely unsigned binaries that should still work fine for development and debugging purposes. On aarch64, the Xcode linker will apply a default &quot;adhoc&quot; signing, without any entitlements. Such a build does not allow dumping core files.</p>
<p>The default mode &quot;auto&quot; will try for <code>hardened</code> signing if the debug level is <code>release</code> and either the default identity or the specified identity is valid. If hardened isn't possible, then <code>debug</code> signing is chosen if it works. If nothing works, the codesign build step is disabled.</p>
<h2 id="cross-compiling">Cross-compiling</h2>
<p>Cross-compiling means using one platform (the <em>build</em> platform) to generate output that can ran on another platform (the <em>target</em> platform).</p>
<p>The typical reason for cross-compiling is that the build is performed on a more powerful desktop computer, but the resulting binaries will be able to run on a different, typically low-performing system. Most of the complications that arise when building for embedded is due to this separation of <em>build</em> and <em>target</em> systems.</p>
@@ -634,11 +664,13 @@ x86_64-linux-gnu-to-ppc64le-linux-gnu</code></pre>
<p>Note that alsa is needed even if you only want to build a headless JDK.</p>
<ul>
<li><p>Go to <a href="https://www.debian.org/distrib/packages">Debian Package Search</a> and search for the <code>libasound2</code> and <code>libasound2-dev</code> packages for your <em>target</em> system. Download them to /tmp.</p></li>
<li><p>Install the libraries into the cross-compilation toolchain. For instance:</p>
<li>Install the libraries into the cross-compilation toolchain. For instance:</li>
</ul>
<pre><code>cd /tools/gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux/arm-linux-gnueabihf/libc
dpkg-deb -x /tmp/libasound2_1.0.25-4_armhf.deb .
dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre></li>
<li><p>If alsa is not properly detected by <code>configure</code>, you can point it out by <code>--with-alsa</code>.</p></li>
dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre>
<ul>
<li>If alsa is not properly detected by <code>configure</code>, you can point it out by <code>--with-alsa</code>.</li>
</ul>
<h4 id="x11-1">X11</h4>
<p>You will need X11 libraries suitable for your <em>target</em> system. For most cases, using Debian's pre-built libraries work fine.</p>
@@ -679,7 +711,7 @@ cp: cannot stat `arm-linux-gnueabihf/libSM.so&#39;: No such file or directory
cp: cannot stat `arm-linux-gnueabihf/libXt.so&#39;: No such file or directory</code></pre></li>
<li><p>If the X11 libraries are not properly detected by <code>configure</code>, you can point them out by <code>--with-x</code>.</p></li>
</ul>
<h3 id="creating-and-using-sysroots-with-qemu-deboostrap">Creating And Using Sysroots With qemu-deboostrap</h3>
<h3 id="cross-compiling-with-debian-sysroots">Cross compiling with Debian sysroots</h3>
<p>Fortunately, you can create sysroots for foreign architectures with tools provided by your OS. On Debian/Ubuntu systems, one could use <code>qemu-deboostrap</code> to create the <em>target</em> system chroot, which would have the native libraries and headers specific to that <em>target</em> system. After that, we can use the cross-compiler on the <em>build</em> system, pointing into chroot to get the build dependencies right. This allows building for foreign architectures with native compilation speed.</p>
<p>For example, cross-compiling to AArch64 from x86_64 could be done like this:</p>
<ul>
@@ -689,7 +721,7 @@ cp: cannot stat `arm-linux-gnueabihf/libXt.so&#39;: No such file or directory</c
<pre><code>sudo qemu-debootstrap \
--arch=arm64 \
--verbose \
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev \
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev,libffi-dev \
--resolve-deps \
buster \
~/sysroot-arm64 \
@@ -697,70 +729,137 @@ cp: cannot stat `arm-linux-gnueabihf/libXt.so&#39;: No such file or directory</c
<li><p>Make sure the symlinks inside the newly created chroot point to proper locations:</p>
<pre><code>sudo chroot ~/sysroot-arm64 symlinks -cr .</code></pre></li>
<li><p>Configure and build with newly created chroot as sysroot/toolchain-path:</p>
<pre><code>CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ sh ./configure \
--openjdk-target=aarch64-linux-gnu \
--with-sysroot=~/sysroot-arm64 \
--with-toolchain-path=~/sysroot-arm64 \
--with-freetype-lib=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/ \
--with-freetype-include=~/sysroot-arm64/usr/include/freetype2/ \
--x-libraries=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/
<pre><code>sh ./configure \
--openjdk-target=aarch64-linux-gnu \
--with-sysroot=~/sysroot-arm64
make images
ls build/linux-aarch64-normal-server-release/</code></pre></li>
</ul>
<p>The build does not create new files in that chroot, so it can be reused for multiple builds without additional cleanup.</p>
<p>The build system should automatically detect the toolchain paths and dependencies, but sometimes it might require a little nudge with:</p>
<ul>
<li><p>Native compilers: override <code>CC</code> or <code>CXX</code> for <code>./configure</code></p></li>
<li><p>Freetype lib location: override <code>--with-freetype-lib</code>, for example <code>${sysroot}/usr/lib/${target}/</code></p></li>
<li><p>Freetype includes location: override <code>--with-freetype-include</code> for example <code>${sysroot}/usr/include/freetype2/</code></p></li>
<li><p>X11 libraries location: override <code>--x-libraries</code>, for example <code>${sysroot}/usr/lib/${target}/</code></p></li>
</ul>
<p>Architectures that are known to successfully cross-compile like this are:</p>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Target</th>
<th style="text-align: left;"><code>CC</code></th>
<th style="text-align: left;"><code>CXX</code></th>
<th><code>--arch=...</code></th>
<th><code>--openjdk-target=...</code></th>
<th style="text-align: left;">Debian tree</th>
<th style="text-align: left;">Debian arch</th>
<th style="text-align: left;"><code>--openjdk-target=...</code></th>
<th><code>--with-jvm-variants=...</code></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">x86</td>
<td style="text-align: left;">default</td>
<td style="text-align: left;">default</td>
<td>i386</td>
<td>i386-linux-gnu</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">i386</td>
<td style="text-align: left;">i386-linux-gnu</td>
<td>(all)</td>
</tr>
<tr class="even">
<td style="text-align: left;">arm</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">armhf</td>
<td style="text-align: left;">gcc-arm-linux-gnueabihf</td>
<td style="text-align: left;">g++-arm-linux-gnueabihf</td>
<td>armhf</td>
<td>arm-linux-gnueabihf</td>
<td style="text-align: left;">arm-linux-gnueabihf</td>
<td>(all)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">aarch64</td>
<td style="text-align: left;">gcc-aarch64-linux-gnu</td>
<td style="text-align: left;">g++-aarch64-linux-gnu</td>
<td>arm64</td>
<td>aarch64-linux-gnu</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">arm64</td>
<td style="text-align: left;">aarch64-linux-gnu</td>
<td>(all)</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64le</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">ppc64el</td>
<td style="text-align: left;">gcc-powerpc64le-linux-gnu</td>
<td style="text-align: left;">g++-powerpc64le-linux-gnu</td>
<td>ppc64el</td>
<td>powerpc64le-linux-gnu</td>
<td style="text-align: left;">powerpc64le-linux-gnu</td>
<td>(all)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">gcc-s390x-linux-gnu</td>
<td style="text-align: left;">g++-s390x-linux-gnu</td>
<td>s390x</td>
<td>s390x-linux-gnu</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">s390x-linux-gnu</td>
<td>(all)</td>
</tr>
<tr class="even">
<td style="text-align: left;">mipsle</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">mipsel</td>
<td style="text-align: left;">mipsel-linux-gnu</td>
<td>zero</td>
</tr>
<tr class="odd">
<td style="text-align: left;">mips64le</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">mips64el</td>
<td style="text-align: left;">mips64el-linux-gnueabi64</td>
<td>zero</td>
</tr>
<tr class="even">
<td style="text-align: left;">armel</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">arm</td>
<td style="text-align: left;">arm-linux-gnueabi</td>
<td>zero</td>
</tr>
<tr class="odd">
<td style="text-align: left;">ppc</td>
<td style="text-align: left;">sid</td>
<td style="text-align: left;">powerpc</td>
<td style="text-align: left;">powerpc-linux-gnu</td>
<td>zero</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64be</td>
<td style="text-align: left;">sid</td>
<td style="text-align: left;">ppc64</td>
<td style="text-align: left;">powerpc64-linux-gnu</td>
<td>(all)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">m68k</td>
<td style="text-align: left;">sid</td>
<td style="text-align: left;">m68k</td>
<td style="text-align: left;">m68k-linux-gnu</td>
<td>zero</td>
</tr>
<tr class="even">
<td style="text-align: left;">alpha</td>
<td style="text-align: left;">sid</td>
<td style="text-align: left;">alpha</td>
<td style="text-align: left;">alpha-linux-gnu</td>
<td>zero</td>
</tr>
<tr class="odd">
<td style="text-align: left;">sh4</td>
<td style="text-align: left;">sid</td>
<td style="text-align: left;">sh4</td>
<td style="text-align: left;">sh4-linux-gnu</td>
<td>zero</td>
</tr>
</tbody>
</table>
<p>Additional architectures might be supported by Debian/Ubuntu Ports.</p>
<h3 id="building-for-armaarch64">Building for ARM/aarch64</h3>
<p>A common cross-compilation target is the ARM CPU. When building for ARM, it is useful to set the ABI profile. A number of pre-defined ABI profiles are available using <code>--with-abi-profile</code>: arm-vfp-sflt, arm-vfp-hflt, arm-sflt, armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer properly supported by the JDK.</p>
<p>The JDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to --with-abi-profile, to ensure a consistent build.</p>
<h3 id="building-for-musl">Building for musl</h3>
<p>Just like it's possible to cross-compile for a different CPU, it's possible to cross-compile for musl libc on a glibc-based <em>build</em> system. A devkit suitable for most target CPU architectures can be obtained from <a href="https://musl.cc">musl.cc</a>. After installing the required packages in the sysroot, configure the build with <code>--openjdk-target</code>:</p>
<pre><code>sh ./configure --with-jvm-variants=server \
--with-boot-jdk=$BOOT_JDK \
--with-build-jdk=$BUILD_JDK \
--openjdk-target=x86_64-unknown-linux-musl \
--with-devkit=$DEVKIT \
--with-sysroot=$SYSROOT</code></pre>
<p>and run <code>make</code> normally.</p>
<h3 id="verifying-the-build">Verifying the Build</h3>
<p>The build will end up in a directory named like <code>build/linux-arm-normal-server-release</code>.</p>
<p>Inside this build output directory, the <code>images/jdk</code> will contain the newly built JDK, for your <em>target</em> system.</p>
@@ -866,6 +965,8 @@ Clock skew detected. Your build may be incomplete.</code></pre>
cannot create ... Permission denied
spawn failed</code></pre>
<p>This can be a sign of a Cygwin problem. See the information about solving problems in the <a href="#cygwin">Cygwin</a> section. Rebooting the computer might help temporarily.</p>
<h4 id="spaces-in-path">Spaces in Path</h4>
<p>On Windows, when configuring, <code>fixpath.sh</code> may report that some directory names have spaces. Usually, it assumes those directories have <a href="https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-8dot3name">short paths</a>. You can run <code>fsutil file setshortname</code> in <code>cmd</code> on certain directories, such as <code>Microsoft Visual Studio</code> or <code>Windows Kits</code>, to assign arbitrary short paths so <code>configure</code> can access them.</p>
<h3 id="getting-help">Getting Help</h3>
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
<p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>

View File

@@ -177,10 +177,9 @@ On Windows, it is important that you pay attention to the instructions in the
Windows is the only non-POSIX OS supported by the JDK, and as such, requires
some extra care. A POSIX support layer is required to build on Windows.
Currently, the only supported such layer is Cygwin. (Msys is no longer
supported due to a too old bash; msys2 and the new Windows Subsystem for Linux
(WSL) would likely be possible to support in a future version but that would
require effort to implement.)
Currently, the only supported such layers are Cygwin and MSYS2. (MSYS is no longer
supported due to an outdated bash; While OpenJDK can be built with MSYS2,
support for it is still experimental, so build failures and unusual errors are not uncommon.)
Internally in the build system, all paths are represented as Unix-style paths,
e.g. `/cygdrive/c/git/jdk/Makefile` rather than `C:\git\jdk\Makefile`. This
@@ -272,6 +271,13 @@ For rpm-based distributions (Fedora, Red Hat, etc), try this:
sudo yum groupinstall "Development Tools"
```
For Alpine Linux, aside from basic tooling, install the GNU versions of some
programs:
```
sudo apk add build-base bash grep zip
```
### AIX
The regular builds by SAP is using AIX version 7.1, but AIX 5.3 is also
@@ -285,13 +291,13 @@ be able to run on the target platform. In theory, toolchain and operating
system should be independent factors, but in practice there's more or less a
one-to-one correlation between target operating system and toolchain.
Operating system Supported toolchain
------------------ -------------------------
Linux gcc, clang
macOS Apple Xcode (using clang)
Solaris Oracle Solaris Studio
AIX IBM XL C/C++
Windows Microsoft Visual Studio
| Operating system | Supported toolchain |
| ------------------ | ------------------------- |
| Linux | gcc, clang |
| macOS | Apple Xcode (using clang) |
| Solaris | Oracle Solaris Studio |
| AIX | IBM XL C/C++ |
| Windows | Microsoft Visual Studio |
Please see the individual sections on the toolchains for version
recommendations. As a reference, these versions of the toolchains are used, at
@@ -300,12 +306,12 @@ possible to compile the JDK with both older and newer versions, but the closer
you stay to this list, the more likely you are to compile successfully without
issues.
Operating system Toolchain version
------------------ -------------------------------------------------------
Linux gcc 7.3.0
macOS Apple Xcode 9.4 (using clang 9.1.0)
Solaris Oracle Solaris Studio 12.4 (with compiler version 5.13)
Windows Microsoft Visual Studio 2017 update 15.9.16
| Operating system | Toolchain version |
| ------------------ | ------------------------------------------------------- |
| Linux | gcc 7.3.0 |
| macOS | Apple Xcode 9.4 (using clang 9.1.0) |
| Solaris | Oracle Solaris Studio 12.4 (with compiler version 5.13) |
| Windows | Microsoft Visual Studio 2017 update 15.9.16 |
### gcc
@@ -328,20 +334,20 @@ To use clang instead of gcc on Linux, use `--with-toolchain-type=clang`.
The oldest supported version of Xcode is 8.
You will need the Xcode command lines developers tools to be able to build
the JDK. (Actually, *only* the command lines tools are needed, not the IDE.)
You will need the Xcode command line developer tools to be able to build
the JDK. (Actually, *only* the command line tools are needed, not the IDE.)
The simplest way to install these is to run:
```
xcode-select --install
```
It is advisable to keep an older version of Xcode for building the JDK when
updating Xcode. This [blog page](
http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html) has
good suggestions on managing multiple Xcode versions. To use a specific version
of Xcode, use `xcode-select -s` before running `configure`, or use
`--with-toolchain-path` to point to the version of Xcode to use, e.g.
`configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin`
When updating Xcode, it is advisable to keep an older version for building the JDK.
To use a specific version of Xcode you have multiple options:
* Use `xcode-select -s` before running `configure`, e.g. `xcode-select -s /Applications/Xcode13.1.app`. The drawback is that the setting
is system wide and you may have to revert it after an OpenJDK build.
* Use configure option `--with-xcode-path`, e.g. `configure --with-xcode-path=/Applications/Xcode13.1.app`
This allows using a specific Xcode version for an OpenJDK build, independently of the active Xcode version by `xcode-select`.
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 [Problems with the
@@ -396,6 +402,9 @@ specific installation order. However, the solution suggested by the KB article
does not always resolve the problem. See [this stackoverflow discussion](
https://stackoverflow.com/questions/10888391) for other suggestions.
If you have Visual Studio installed but `configure` fails to detect it, it may
be because of [spaces in path](#spaces-in-path).
### IBM XL C/C++
The regular builds by SAP is using version 12.1, described as `IBM XL C/C++ for
@@ -465,6 +474,8 @@ 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 Alpine Linux, try running `sudo apk add freetype-dev`.
* To install on macOS, try running `brew install freetype`.
* To install on Solaris, try running `pkg install system/library/freetype-2`.
Use `--with-freetype-include=<path>` and `--with-freetype-lib=<path>`
@@ -480,6 +491,7 @@ your operating system.
libcups2-dev`.
* To install on an rpm-based Linux, try running `sudo yum install
cups-devel`.
* To install on Alpine Linux, try running `sudo apk add cups-dev`.
* To install on Solaris, try running `pkg install print/cups`.
Use `--with-cups=<path>` if `configure` does not properly locate your CUPS
@@ -494,6 +506,8 @@ Linux and Solaris.
libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev`.
* To install on an rpm-based Linux, try running `sudo yum install
libXtst-devel libXt-devel libXrender-devel libXi-devel`.
* To install on Alpine Linux, try running `sudo apk add libx11-dev
libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev`.
* 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
@@ -512,6 +526,7 @@ required on Linux. At least version 0.9.1 of ALSA is required.
libasound2-dev`.
* To install on an rpm-based Linux, try running `sudo yum install
alsa-lib-devel`.
* To install on Alpine Linux, try running `sudo apk add alsa-lib-dev`.
Use `--with-alsa=<path>` if `configure` does not properly locate your ALSA
files.
@@ -526,6 +541,7 @@ Hotspot.
libffi-dev`.
* To install on an rpm-based Linux, try running `sudo yum install
libffi-devel`.
* To install on Alpine Linux, try running `sudo apk add libffi-dev`.
Use `--with-libffi=<path>` if `configure` does not properly locate your libffi
files.
@@ -541,6 +557,7 @@ platforms. At least version 2.69 is required.
autoconf`.
* To install on an rpm-based Linux, try running `sudo yum install
autoconf`.
* To install on Alpine Linux, try running `sudo apk add autoconf`.
* To install on macOS, try running `brew install autoconf`.
* To install on Windows, try running `<path to Cygwin setup>/setup-x86_64 -q
-P autoconf`.
@@ -818,7 +835,7 @@ configuration, as opposed to the "configure time" configuration.
#### Test Make Control Variables
These make control variables only make sense when running tests. Please see
[Testing the JDK](testing.html) for details.
**Testing the JDK** ([html](testing.html), [markdown](testing.md)) for details.
* `TEST`
* `TEST_JOBS`
@@ -856,8 +873,44 @@ To execute the most basic tests (tier 1), use:
make run-test-tier1
```
For more details on how to run tests, please see the [Testing
the JDK](testing.html) document.
For more details on how to run tests, please see **Testing the JDK**
([html](testing.html), [markdown](testing.md)).
## Signing
### macOS
Modern versions of macOS require applications to be signed and notarizied before
distribution. See Apple's documentation for more background on what this means
and how it works. To help support this, the JDK build can be configured to
automatically sign all native binaries, and the JDK bundle, with all the options
needed for successful notarization, as well as all the entitlements required by
the JDK. To enable `hardened` signing, use configure parameter
`--with-macosx-codesign=hardened` and configure the signing identity you wish to
use with `--with-macosx-codesign-identity=<identity>`. The identity refers to a
signing identity from Apple that needs to be preinstalled on the build host.
When not signing for distribution with the hardened option, the JDK build will
still attempt to perform `adhoc` signing to add the special entitlement
`com.apple.security.get-task-allow` to each binary. This entitlement is required
to be able to dump core files from a process. Note that adding this entitlement
makes the build invalid for notarization, so it is only added when signing in
`debug` mode. To explicitly enable this kind of adhoc signing, use configure
parameter `--with-macosx-codesign=debug`. It will be enabled by default in most
cases.
It's also possible to completely disable any explicit codesign operations done
by the JDK build using the configure parameter `--without-macosx-codesign`.
The exact behavior then depends on the architecture. For macOS on x64, it (at
least at the time of this writing) results in completely unsigned binaries that
should still work fine for development and debugging purposes. On aarch64, the
Xcode linker will apply a default "adhoc" signing, without any entitlements.
Such a build does not allow dumping core files.
The default mode "auto" will try for `hardened` signing if the debug level is
`release` and either the default identity or the specified identity is valid.
If hardened isn't possible, then `debug` signing is chosen if it works. If
nothing works, the codesign build step is disabled.
## Cross-compiling
@@ -1088,7 +1141,7 @@ Note that X11 is needed even if you only want to build a headless JDK.
* If the X11 libraries are not properly detected by `configure`, you can
point them out by `--with-x`.
### Creating And Using Sysroots With qemu-deboostrap
### Cross compiling with Debian sysroots
Fortunately, you can create sysroots for foreign architectures with tools
provided by your OS. On Debian/Ubuntu systems, one could use `qemu-deboostrap` to
@@ -1109,7 +1162,7 @@ For example, cross-compiling to AArch64 from x86_64 could be done like this:
sudo qemu-debootstrap \
--arch=arm64 \
--verbose \
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev \
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev,libffi-dev \
--resolve-deps \
buster \
~/sysroot-arm64 \
@@ -1123,13 +1176,9 @@ For example, cross-compiling to AArch64 from x86_64 could be done like this:
* Configure and build with newly created chroot as sysroot/toolchain-path:
```
CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ sh ./configure \
--openjdk-target=aarch64-linux-gnu \
--with-sysroot=~/sysroot-arm64 \
--with-toolchain-path=~/sysroot-arm64 \
--with-freetype-lib=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/ \
--with-freetype-include=~/sysroot-arm64/usr/include/freetype2/ \
--x-libraries=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/
sh ./configure \
--openjdk-target=aarch64-linux-gnu \
--with-sysroot=~/sysroot-arm64
make images
ls build/linux-aarch64-normal-server-release/
```
@@ -1137,17 +1186,34 @@ For example, cross-compiling to AArch64 from x86_64 could be done like this:
The build does not create new files in that chroot, so it can be reused for multiple builds
without additional cleanup.
The build system should automatically detect the toolchain paths and dependencies, but sometimes
it might require a little nudge with:
* Native compilers: override `CC` or `CXX` for `./configure`
* Freetype lib location: override `--with-freetype-lib`, for example `${sysroot}/usr/lib/${target}/`
* Freetype includes location: override `--with-freetype-include` for example `${sysroot}/usr/include/freetype2/`
* X11 libraries location: override `--x-libraries`, for example `${sysroot}/usr/lib/${target}/`
Architectures that are known to successfully cross-compile like this are:
Target `CC` `CXX` `--arch=...` `--openjdk-target=...`
------------ ------------------------- --------------------------- ------------ ----------------------
x86 default default i386 i386-linux-gnu
armhf gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf armhf arm-linux-gnueabihf
aarch64 gcc-aarch64-linux-gnu g++-aarch64-linux-gnu arm64 aarch64-linux-gnu
ppc64el gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu ppc64el powerpc64le-linux-gnu
s390x gcc-s390x-linux-gnu g++-s390x-linux-gnu s390x s390x-linux-gnu
Additional architectures might be supported by Debian/Ubuntu Ports.
Target Debian tree Debian arch `--openjdk-target=...` `--with-jvm-variants=...`
------------ ------------ ------------- ------------------------ --------------
x86 buster i386 i386-linux-gnu (all)
arm buster armhf arm-linux-gnueabihf (all)
aarch64 buster arm64 aarch64-linux-gnu (all)
ppc64le buster ppc64el powerpc64le-linux-gnu (all)
s390x buster s390x s390x-linux-gnu (all)
mipsle buster mipsel mipsel-linux-gnu zero
mips64le buster mips64el mips64el-linux-gnueabi64 zero
armel buster arm arm-linux-gnueabi zero
ppc sid powerpc powerpc-linux-gnu zero
ppc64be sid ppc64 powerpc64-linux-gnu (all)
m68k sid m68k m68k-linux-gnu zero
alpha sid alpha alpha-linux-gnu zero
sh4 sid sh4 sh4-linux-gnu zero
### Building for ARM/aarch64
@@ -1165,6 +1231,25 @@ original aarch64 port is used. To select the Oracle ARM 64 port, use
`--with-cpu-port=arm64`. Also set the corresponding value (`aarch64` or
`arm64`) to --with-abi-profile, to ensure a consistent build.
### Building for musl
Just like it's possible to cross-compile for a different CPU, it's possible to
cross-compile for musl libc on a glibc-based *build* system.
A devkit suitable for most target CPU architectures can be obtained from
[musl.cc](https://musl.cc). After installing the required packages in the
sysroot, configure the build with `--openjdk-target`:
```
sh ./configure --with-jvm-variants=server \
--with-boot-jdk=$BOOT_JDK \
--with-build-jdk=$BUILD_JDK \
--openjdk-target=x86_64-unknown-linux-musl \
--with-devkit=$DEVKIT \
--with-sysroot=$SYSROOT
```
and run `make` normally.
### Verifying the Build
The build will end up in a directory named like
@@ -1463,6 +1548,15 @@ This can be a sign of a Cygwin problem. See the information about solving
problems in the [Cygwin](#cygwin) section. Rebooting the computer might help
temporarily.
#### Spaces in Path
On Windows, when configuring, `fixpath.sh` may report that some directory
names have spaces. Usually, it assumes those directories have
[short paths](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-8dot3name).
You can run `fsutil file setshortname` in `cmd` on certain directories, such as
`Microsoft Visual Studio` or `Windows Kits`, to assign arbitrary short paths so
`configure` can access them.
### Getting Help
If none of the suggestions in this document helps you, or if you find what you

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 type="text/css">
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
@@ -21,7 +21,7 @@
<header id="title-block-header">
<h1 class="title">Testing the JDK</h1>
</header>
<nav id="TOC">
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#using-the-run-test-framework">Using the run-test framework</a><ul>
<li><a href="#configuration">Configuration</a></li>
@@ -40,12 +40,13 @@
<li><a href="#notes-for-specific-tests">Notes for Specific Tests</a><ul>
<li><a href="#docker-tests">Docker Tests</a></li>
<li><a href="#client-ui-tests">Client UI Tests</a></li>
<li><a href="#pkcs11-tests">PKCS11 Tests</a></li>
</ul></li>
</ul>
</nav>
<h2 id="using-the-run-test-framework">Using 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 “run-test” uses the jdk-image as the tested product. There is also an alternate target exploded-run-test 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>The main target &quot;run-test&quot; uses the jdk-image as the tested product. There is also an alternate target &quot;exploded-run-test&quot; 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>Some example command-lines:</p>
<pre><code>$ make run-test-tier1
$ make run-test-jdk_lang JTREG=&quot;JOBS=8&quot;
@@ -55,10 +56,10 @@ $ make run-test TEST=&quot;hotspot:hotspot_gc&quot; JTREG=&quot;JOBS=1;TIMEOUT=8
$ make run-test TEST=&quot;jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java&quot;
$ make exploded-run-test TEST=tier2</code></pre>
<h3 id="configuration">Configuration</h3>
<p>To be able to run JTReg tests, <code>configure</code> needs to know where to find the JTReg test framework. If it is not picked up automatically by configure, 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. (An alternative is to set the <code>JT_HOME</code> environment variable to point to the JTReg home before running <code>configure</code>.)</p>
<p>To be able to run JTReg tests, <code>configure</code> needs to know where to find the JTReg test framework. If it is not picked up automatically by configure, 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. (An alternative is to set the <code>JT_HOME</code> environment variable to point to the JTReg home before running <code>configure</code>.)</p>
<h2 id="test-selection">Test selection</h2>
<p>All functionality is available using the run-test 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, run-test-only 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 run-test-tier1</code> is equivalent to <code>make run-test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>run-test TEST=&quot;x&quot;</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 run-test-tier1</code> is equivalent to <code>make run-test TEST="tier1"</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>run-test TEST="x"</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="common-test-groups">Common Test Groups</h3>
<p>Ideally, all tests are run for every change but this may not be practical due to the limited testing resources, the scope of the change, etc.</p>
@@ -82,7 +83,7 @@ $ make exploded-run-test TEST=tier2</code></pre>
<h3 id="gtest">Gtest</h3>
<p>Since the Hotspot Gtest suite is so quick, the default is to run all tests. This is specified by just <code>gtest</code>, or as a fully qualified test descriptor <code>gtest:all</code>.</p>
<p>If you want, you can single out an individual test or a group of tests, for instance <code>gtest:LogDecorations</code> or <code>gtest:LogDecorations.level_test_vm</code>. This can be particularly useful if you want to run a shaky test repeatedly.</p>
<p>For Gtest, there is a separate test suite for each JVM variant. The JVM variant is defined by adding <code>/&lt;variant&gt;</code> to the test descriptor, e.g. <code>gtest:Log/client</code>. If you specify no variant, gtest will run once for each JVM variant present (e.g. server, client). So if you only have the server JVM present, then <code>gtest:all</code> will be equivalent to <code>gtest:all/server</code>.</p>
<p>For Gtest, there is a separate test suite for each JVM variant. The JVM variant is defined by adding <code>/&lt;variant&gt;</code> to the test descriptor, e.g. <code>gtest:Log/client</code>. If you specify no variant, gtest will run once for each JVM variant present (e.g. server, client). So if you only have the server JVM present, then <code>gtest:all</code> will be equivalent to <code>gtest:all/server</code>.</p>
<h2 id="test-results-and-summary">Test results and summary</h2>
<p>At the end of the test run, a summary of all tests run will be presented. This will have a consistent look, regardless of what test suites were used. This is a sample summary:</p>
<pre><code>==============================
@@ -97,16 +98,16 @@ TEST FAILURE</code></pre>
<p>Tests where the number of TOTAL tests does not equal the number of PASSed tests will be considered a test failure. These are marked with the <code>&gt;&gt; ... &lt;&lt;</code> marker for easy identification.</p>
<p>The classification of non-passed tests differs a bit between test suites. In the summary, ERROR is used as a catch-all for tests that neither passed nor are classified as failed by the framework. This might indicate test framework error, timeout or other problems.</p>
<p>In case of test failures, <code>make run-test</code> will exit with a non-zero exit value.</p>
<p>All tests have their result stored in <code>build/$BUILD/test-results/$TEST_ID</code>, where TEST_ID is a path-safe conversion from the fully qualified test descriptor, e.g. for <code>jtreg:jdk/test:tier1</code> the TEST_ID is <code>jtreg_jdk_test_tier1</code>. This path is also printed in the log at the end of the test run.</p>
<p>All tests have their result stored in <code>build/$BUILD/test-results/$TEST_ID</code>, where TEST_ID is a path-safe conversion from the fully qualified test descriptor, e.g. for <code>jtreg:jdk/test:tier1</code> the TEST_ID is <code>jtreg_jdk_test_tier1</code>. This path is also printed in the log at the end of the test run.</p>
<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=&quot;JOBS=1;TIMEOUT=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=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=8&quot;</code> would give an error, while <code>JTREG_TMIEOUT=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;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;</code>.</p>
<p>(Other ways are possible, e.g. using backslash: <code>JTREG=JOBS=1\;TIMEOUT=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="JOBS=1;TIMEOUT=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=8</code>, but using the keyword format means that the <code>JTREG</code> variable is parsed and verified for correctness, so <code>JTREG="TMIEOUT=8"</code> would give an error, while <code>JTREG_TMIEOUT=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=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>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 dont want to care which test suite specific control variable to use, then you can use the general TEST_OPTS control variable.</p>
<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>
<p>There are also some keywords that applies globally to the test runner system, not to any specific test suites. These are also available as TEST_OPTS keywords.</p>
<h4 id="jobs">JOBS</h4>
<p>Currently only applies to JTReg.</p>
@@ -147,9 +148,12 @@ TEST FAILURE</code></pre>
<p>Use additional problem lists file or files, in addition to the default ProblemList.txt located at the JTReg test roots.</p>
<p>If multiple file names are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<p>The file names should be either absolute, or relative to the JTReg test root of the tests to be run.</p>
<h4 id="run_problem_lists">RUN_PROBLEM_LISTS</h4>
<p>Use the problem lists to select tests instead of excluding them.</p>
<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=&quot;OPTIONS=--help all&quot;</code> to see all available JTReg options.</p>
<p>Use <code>JTREG="OPTIONS=--help all"</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>
<h4 id="vm_options-1">VM_OPTIONS</h4>
@@ -157,14 +161,16 @@ TEST FAILURE</code></pre>
<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>
<p>Retry failed tests up to a set number of times. Defaults to 0.</p>
<p>Retry failed tests up to a set number of times, until they pass. This allows to pass the tests with intermittent failures. Defaults to 0.</p>
<h4 id="repeat_count">REPEAT_COUNT</h4>
<p>Repeat the tests up to a set number of times, stopping at first failure. This helps to reproduce intermittent test failures. Defaults to 0.</p>
<h3 id="gtest-keywords">Gtest keywords</h3>
<h4 id="repeat">REPEAT</h4>
<p>The number of times to repeat the tests (<code>--gtest_repeat</code>).</p>
<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=&quot;OPTIONS=--help&quot;</code> to see all available Gtest options.</p>
<p>Use <code>GTEST="OPTIONS=--help"</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>
<h2 id="notes-for-specific-tests">Notes for Specific Tests</h2>
@@ -173,15 +179,20 @@ TEST FAILURE</code></pre>
<pre><code>$ make run-test TEST=&quot;jtreg:test/hotspot/jtreg/containers/docker&quot;</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 run-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="pkcs11-tests">PKCS11 Tests</h3>
<p>It is highly recommended to use the latest NSS version when running PKCS11 tests. Improper NSS version may lead to unexpected failures which are hard to diagnose. For example, sun/security/pkcs11/Secmod/AddTrustedCert.java may fail on Ubuntu 18.04 with the default NSS version in the system. To run these tests correctly, the system property <<code>jdk.test.lib.artifacts.&lt;NAME&gt;</code> is required on Ubuntu 18.04 to specify the alternative NSS lib directories.The<code>&lt;NAME&gt;</code> component should be replaced with the name element of the appropriate <code>@Artifact</code> class. (See<code>test/jdk/sun/security/pkcs11/PKCS11Test.java</code>)</p>
<p>For example:</p>
<pre><code>$ make test TEST=&quot;jtreg:sun/security/pkcs11/Secmod/AddTrustedCert.java&quot; JTREG=&quot;JAVA_OPTIONS=-Djdk.test.lib.artifacts.nsslib-linux_aarch64=/path/to/NSS-libs&quot</code></pre>
<p>For more notes about the PKCS11 tests, please refer to test/jdk/sun/security/pkcs11/README.</p>
<h3 id="client-ui-tests">Client UI Tests</h3>
<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

@@ -297,6 +297,14 @@ help avoid quoting issues, the special value `%20`).
The file names should be either absolute, or relative to the JTReg test root of
the tests to be run.
#### RUN_PROBLEM_LISTS
Use the problem lists to select tests instead of excluding them.
Set to `true` or `false`.
If `true`, JTReg will use `-match:` option, otherwise `-exclude:` will be used.
Default is `false`.
#### OPTIONS
Additional options to the JTReg test framework.
@@ -317,7 +325,15 @@ modules. If multiple modules are specified, they should be separated by space
#### RETRY_COUNT
Retry failed tests up to a set number of times. Defaults to 0.
Retry failed tests up to a set number of times, until they pass.
This allows to pass the tests with intermittent failures.
Defaults to 0.
#### REPEAT_COUNT
Repeat the tests up to a set number of times, stopping at first failure.
This helps to reproduce intermittent test failures.
Defaults to 0.
### Gtest keywords
@@ -354,6 +370,22 @@ required on Ubuntu 18.04 by using `JAVA_OPTIONS`.
$ make run-test TEST="jtreg:test/hotspot/jtreg/containers/docker" JTREG="JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu -Djdk.test.docker.image.version=latest"
### PKCS11 Tests
It is highly recommended to use the latest NSS version when running PKCS11 tests.
Improper NSS version may lead to unexpected failures which are hard to diagnose.
For example, sun/security/pkcs11/Secmod/AddTrustedCert.java may fail on Ubuntu
18.04 with the default NSS version in the system.
To run these tests correctly, the system property `jdk.test.lib.artifacts.<NAME>` is required on
Ubuntu 18.04 to specify the alternative NSS lib directory. The `<NAME>`
component should be replaced with the name element of the appropriate
`@Artifact` class. (See `test/jdk/sun/security/pkcs11/PKCS11Test.java`)
For example:
$ make test TEST="jtreg:sun/security/pkcs11/Secmod/AddTrustedCert.java" JTREG="JAVA_OPTIONS=-Djdk.test.lib.artifacts.nsslib-linux_aarch64=/path/to/NSS-libs"
For more notes about the PKCS11 tests, please refer to test/jdk/sun/security/pkcs11/README.
### Client UI Tests
Some Client UI tests use key sequences which may be reserved by the operating

View File

@@ -36,7 +36,7 @@ DOCS_TARGETS :=
# On Windows tar frequently complains that "file changed as we read it" for
# some random source files. This seems to be cause by anti virus scanners and
# is most likely safe to ignore. When it happens, tar returns '1'.
ifeq ($(OPENJDK_BUILD_OS), windows)
ifeq ($(call isBuildOs, windows), true)
TAR_IGNORE_EXIT_VALUE := || test "$$$$?" = "1"
endif
@@ -156,7 +156,7 @@ endef
# On Macosx, we bundle up the macosx specific images which already have the
# correct base directories.
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
ifeq ($(call isTargetOs, macosx)+$(DEBUG_LEVEL), true+release)
JDK_IMAGE_DIR := $(JDK_MACOSX_BUNDLE_DIR)
JRE_IMAGE_DIR := $(JRE_MACOSX_BUNDLE_DIR)
JDK_IMAGE_HOMEDIR := $(JDK_MACOSX_CONTENTS_DIR)/Home
@@ -208,7 +208,7 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
# Create special filter rules when dealing with unzipped .dSYM directories on
# macosx
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(call isTargetOs, macosx), true)
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
JDK_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
$(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, \
@@ -288,16 +288,7 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
$(SYMBOLS_EXCLUDE_PATTERN), \
$(ALL_JRE_FILES))
# On Macosx release builds, when there is a code signing certificate available,
# the final bundle layout can be signed.
SIGN_BUNDLE := false
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
ifneq ($(CODESIGN), )
SIGN_BUNDLE := true
endif
endif
ifeq ($(SIGN_BUNDLE), true)
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
# Macosx release build and code signing available.
################################################################################

View File

@@ -234,7 +234,7 @@ $(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%: $(DEMO_SHARE_SRC)/nbproject/%
$(call install-file)
$(CHMOD) -f ug+w $@
ifeq ($(OPENJDK_TARGET_OS), solaris)
ifeq ($(call isTargetOs, solaris), true)
TARGETS += $(patsubst $(DEMO_SHARE_SRC)/nbproject/%, \
$(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%, \
$(call FindFiles, $(DEMO_SHARE_SRC)/nbproject))

View File

@@ -51,21 +51,18 @@ 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
ifneq ($(OPENJDK_TARGET_OS), solaris)
ifeq ($(call isTargetOs, solaris), false)
java.base_EXCLUDE_FILES += \
SolarisLoginModule.java \
SolarisSystem.java \
#
endif
ifeq ($(filter $(OPENJDK_TARGET_OS), solaris macosx aix), )
#
# only solaris, macosx and aix
#
ifeq ($(call isTargetOs, solaris macosx aix), false)
java.base_EXCLUDE_FILES += sun/nio/fs/PollingWatchService.java
endif
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
java.base_EXCLUDE_FILES += \
sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
#
@@ -124,7 +121,7 @@ java.desktop_EXCLUDE_FILES += \
.template \
#
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(call isTargetOs, macosx), true)
# exclude all X11 on Mac.
java.desktop_EXCLUDES += \
sun/awt/X11 \
@@ -186,7 +183,7 @@ else
sun/awt/X11/XwcTextItem.java
endif
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
java.desktop_EXCLUDES += com/sun/java/swing/plaf/gtk
endif
@@ -194,8 +191,7 @@ ifdef BUILD_HEADLESS_ONLY
java.desktop_EXCLUDES += sun/applet
endif
# Used on windows and macosx
ifeq ($(filter $(OPENJDK_TARGET_OS), windows macosx), )
ifeq ($(call isTargetOs, windows macosx), false)
java.desktop_EXCLUDE_FILES += sun/awt/AWTCharset.java
endif
@@ -374,11 +370,11 @@ SCTP_IMPL_CLASSES = \
$(TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SendFailed.java \
$(TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/Shutdown.java
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(call isTargetOs, macosx), true)
jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
endif
ifeq ($(OPENJDK_TARGET_OS),aix)
ifeq ($(call isTargetOs, aix), true)
jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
endif

View File

@@ -38,7 +38,7 @@ CONF_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CONF)))
$(call FillFindCache, $(LIBS_DIR) $(CMDS_DIR) $(CONF_DIR))
ifneq ($(LIBS_DIR), )
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
TO_BIN_FILTER := %$(SHARED_LIBRARY_SUFFIX) %.diz %.pdb %.map
$(eval $(call SetupCopyFiles, COPY_LIBS_TO_BIN, \

View File

@@ -165,7 +165,7 @@ ifeq ($(MODULE), java.base)
endif
endif
else # not java.base
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
# Only java.base needs to include the MSVC*_DLLs. Make sure no other module
# tries to include them (typically imported ones).
ifneq ($(MSVCR_DLL), )
@@ -173,6 +173,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))'

View File

@@ -57,7 +57,7 @@ ifeq ($(EXTERNAL_BUILDJDK), true)
INTERIM_IMAGE_DIR := $(BUILD_JDK)
endif
$(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)
$(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST_JAR)
$(call MakeDir, $(LINK_OPT_DIR))
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@))
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $(JLI_TRACE_FILE)))
@@ -72,7 +72,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)
# dependencies, make will correctly rebuild both jli trace and classlist
# incrementally using the single recipe above.
$(CLASSLIST_FILE): $(JLI_TRACE_FILE)
$(JLI_TRACE_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)
$(JLI_TRACE_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST_JAR)
TARGETS += $(CLASSLIST_FILE) $(JLI_TRACE_FILE)

View File

@@ -255,7 +255,7 @@ ifneq ($(filter jdk, $(MAKECMDGOALS)), )
)
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(call isTargetOs, macosx), true)
DEMO_FILES := $(call not-containing, .dSYM, $(DEMO_FILES))
else
DEMO_FILES := $(filter-out %.debuginfo %.pdb %.map, $(DEMO_FILES))
@@ -296,7 +296,7 @@ ALL_JDK_MODULES := $(JDK_MODULES)
ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \
$(call FindTransitiveDepsForModule, $m)))
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
LIBS_TARGET_SUBDIR := bin
else
LIBS_TARGET_SUBDIR := lib
@@ -316,7 +316,7 @@ else
DEBUGINFO_SUFFIXES := .debuginfo .pdb .map
# On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM
# dirs.
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(call isTargetOs, macosx), true)
$(call FillFindCache, \
$(SUPPORT_OUTPUTDIR)/modules_libs $(SUPPORT_OUTPUTDIR)/modules_cmds)
FindDebuginfoFiles = \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2019, 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
@@ -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), )
@@ -272,7 +275,7 @@ else # HAS_SPEC=true
else
$(ECHO) "Re-running configure using default settings"
endif
( cd $(OUTPUTDIR) && PATH="$(ORIGINAL_PATH)" \
( cd $(CONFIGURE_START_DIR) && PATH="$(ORIGINAL_PATH)" AUTOCONF="$(AUTOCONF)" \
CUSTOM_ROOT="$(CUSTOM_ROOT)" \
CUSTOM_CONFIG_DIR="$(CUSTOM_CONFIG_DIR)" \
$(BASH) $(TOPDIR)/configure $(CONFIGURE_COMMAND_LINE) )

View File

@@ -303,6 +303,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>:
@@ -479,7 +488,7 @@ else # $(HAS_SPEC)=true
$(TOUCH) $(SJAVAC_SERVER_DIR)/server.port.stop; true
endef
ifeq ($(OPENJDK_BUILD_OS), windows)
ifeq ($(call isBuildOs, windows), true)
# On windows we need to synchronize with the javac server to be able to
# move or remove the build output directory. Since we have no proper
# synchronization process, wait for a while and hope it helps. This is only

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 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
@@ -32,7 +32,7 @@ include Modules.gmk
################################################################################
# Use this file inside the image as target for make rule
JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX)
JIMAGE_TARGET_FILE := bin/java$(EXECUTABLE_SUFFIX)
INTERIM_MODULES_LIST := $(call CommaList, $(INTERIM_IMAGE_MODULES))

View File

@@ -30,7 +30,7 @@ include TextFileProcessing.gmk
default: bundles
# Only macosx has bundles defined.
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(call isTargetOs, macosx), true)
bundles: jre-bundle jdk-bundle
@@ -38,11 +38,8 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
MACOSX_PLIST_SRC := $(TOPDIR)/make/data/bundle
BUNDLE_ID := $(MACOSX_BUNDLE_ID_BASE).$(VERSION_SHORT)
BUNDLE_NAME := $(MACOSX_BUNDLE_NAME_BASE) $(VERSION_SHORT)
BUNDLE_INFO := $(MACOSX_BUNDLE_NAME_BASE) $(VERSION_STRING)
BUNDLE_PLATFORM_VERSION := $(VERSION_FEATURE).$(VERSION_INTERIM)
BUNDLE_VERSION := $(VERSION_NUMBER)
ifeq ($(COMPANY_NAME), N/A)
BUNDLE_VENDOR := UNDEFINED
else
@@ -75,24 +72,26 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
SOURCE_FILES := $(MACOSX_PLIST_SRC)/JDK-Info.plist, \
OUTPUT_FILE := $(JDK_MACOSX_CONTENTS_DIR)/Info.plist, \
REPLACEMENTS := \
@@ID@@ => $(BUNDLE_ID).jdk ; \
@@ID@@ => $(MACOSX_BUNDLE_ID_BASE).jdk ; \
@@NAME@@ => $(BUNDLE_NAME) ; \
@@INFO@@ => $(BUNDLE_INFO) ; \
@@PLATFORM_VERSION@@ => $(BUNDLE_PLATFORM_VERSION) ; \
@@VERSION@@ => $(BUNDLE_VERSION) ; \
@@VENDOR@@ => $(BUNDLE_VENDOR) , \
@@VERSION@@ => $(VERSION_NUMBER) ; \
@@BUILD_VERSION@@ => $(MACOSX_BUNDLE_BUILD_VERSION) ; \
@@VENDOR@@ => $(BUNDLE_VENDOR) ; \
@@MACOSX_VERSION_MIN@@ => $(MACOSX_VERSION_MIN) , \
))
$(eval $(call SetupTextFileProcessing, BUILD_JRE_PLIST, \
SOURCE_FILES := $(MACOSX_PLIST_SRC)/JRE-Info.plist, \
OUTPUT_FILE := $(JRE_MACOSX_CONTENTS_DIR)/Info.plist, \
REPLACEMENTS := \
@@ID@@ => $(BUNDLE_ID).jre ; \
@@ID@@ => $(MACOSX_BUNDLE_ID_BASE).jre ; \
@@NAME@@ => $(BUNDLE_NAME) ; \
@@INFO@@ => $(BUNDLE_INFO) ; \
@@PLATFORM_VERSION@@ => $(BUNDLE_PLATFORM_VERSION) ; \
@@VERSION@@ => $(BUNDLE_VERSION) ; \
@@VENDOR@@ => $(BUNDLE_VENDOR) , \
@@VERSION@@ => $(VERSION_NUMBER) ; \
@@BUILD_VERSION@@ => $(BUNDLE_BUILD_VERSION) ; \
@@VENDOR@@ => $(BUNDLE_VENDOR) ; \
@@MACOSX_VERSION_MIN@@ => $(MACOSX_VERSION_MIN) , \
))
$(SUPPORT_OUTPUTDIR)/images/_jdk_bundle_attribute_set: $(COPY_JDK_IMAGE)

View File

@@ -554,6 +554,18 @@ test-image-jdk-jtreg-native:
+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f JtregNativeJdk.gmk \
test-image-jdk-jtreg-native)
# Native files needed by the testlib
build-test-lib-native:
+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f BuildTestLibNative.gmk \
build-test-lib-native)
test-image-lib-native:
+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f BuildTestLibNative.gmk \
test-image-lib-native)
# Native files needed when testing the testlib itself
# ... build-test-libtest-jtreg-native etc not yet backported
build-test-hotspot-jtreg-graal:
+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f JtregGraalUnit.gmk \
build-test-hotspot-jtreg-graal)
@@ -596,7 +608,8 @@ endif
ALL_TARGETS += prepare-test-image build-test-hotspot-jtreg-native \
test-image-hotspot-jtreg-native build-test-jdk-jtreg-native \
test-image-jdk-jtreg-native build-test-lib build-test-failure-handler \
test-image-jdk-jtreg-native build-test-lib-native test-image-lib-native \
build-test-lib build-test-failure-handler \
test-failure-handler test-image-failure-handler test-image-hotspot-gtest \
test-image-hotspot-jtreg-graal build-test-hotspot-jtreg-graal \
run-test exploded-run-test
@@ -976,12 +989,16 @@ else
build-test-jdk-jtreg-native: buildtools-jdk java.base-libs
build-test-lib-native: buildtools-jdk java.base-libs
build-test-hotspot-jtreg-graal: exploded-image-optimize
test-image-hotspot-jtreg-native: build-test-hotspot-jtreg-native
test-image-jdk-jtreg-native: build-test-jdk-jtreg-native
test-image-lib-native: build-test-lib-native
test-image-hotspot-jtreg-graal: build-test-hotspot-jtreg-graal
test-image-hotspot-gtest: hotspot
@@ -1123,7 +1140,7 @@ ifneq ($(CREATE_BUILDJDK), true)
endif
endif
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(call isTargetOs, macosx), true)
product-images: mac-jdk-bundle
legacy-images: mac-legacy-jre-bundle
@@ -1141,7 +1158,8 @@ endif
# This target builds the test image
test-image: prepare-test-image \
test-image-jdk-jtreg-native test-image-failure-handler \
test-image-jdk-jtreg-native test-image-lib-native \
test-image-failure-handler \
test-image-demos-jdk $(JVM_TEST_IMAGE_TARGETS)
################################################################################

View File

@@ -42,7 +42,7 @@ TARGETS :=
include $(MAKEFILE_PREFIX)-$(MODULE).gmk
# Setup copy rules from the modules directories to the jdk image directory.
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
TO_BIN_FILTER := %$(SHARED_LIBRARY_SUFFIX) %.diz %.pdb %.map
$(eval $(call SetupCopyFiles, COPY_LIBS_TO_BIN, \

View File

@@ -51,8 +51,10 @@ define create-info-file
$(if $(VENDOR_VERSION_STRING), \
$(call info-file-item, "IMPLEMENTOR_VERSION", "$(VENDOR_VERSION_STRING)"))
$(call info-file-item, "JAVA_VERSION_DATE", "$(VERSION_DATE)")
$(call info-file-item, "JAVA_RUNTIME_VERSION", "$(VERSION_STRING)")
$(call info-file-item, "OS_NAME", "$(RELEASE_FILE_OS_NAME)")
$(call info-file-item, "OS_ARCH", "$(RELEASE_FILE_OS_ARCH)")
$(call info-file-item, "LIBC", "$(RELEASE_FILE_LIBC)")
endef
# Param 1 - The file containing the MODULES list

View File

@@ -32,43 +32,6 @@ include FindTests.gmk
# We will always run multiple tests serially
.NOTPARALLEL:
################################################################################
# Setup global test running parameters
################################################################################
# Each factor variable comes in 3 variants. The first one is reserved for users
# to use on command line. The other two are for predifined configurations in JDL
# and for machine specific configurations respectively.
TEST_JOBS_FACTOR ?= 1
TEST_JOBS_FACTOR_JDL ?= 1
TEST_JOBS_FACTOR_MACHINE ?= 1
ifeq ($(TEST_JOBS), 0)
CORES_DIVIDER := 2
ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
# 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
MEMORY_DIVIDER := 2048
TEST_JOBS := $(shell $(AWK) \
'BEGIN { \
c = $(NUM_CORES) / $(CORES_DIVIDER); \
m = $(MEMORY_SIZE) / $(MEMORY_DIVIDER); \
if (c > m) c = m; \
c = c * $(TEST_JOBS_FACTOR); \
c = c * $(TEST_JOBS_FACTOR_JDL); \
c = c * $(TEST_JOBS_FACTOR_MACHINE); \
if (c < 1) c = 1; \
printf "%.0f", c; \
}')
endif
################################################################################
# Parse global control variables
################################################################################
@@ -97,18 +60,13 @@ define SetTestOpt
endif
endef
# Setup _NT_SYMBOL_PATH on Windows
ifeq ($(OPENJDK_TARGET_OS), windows)
# Setup _NT_SYMBOL_PATH on Windows, which points to our pdb files.
ifeq ($(call isTargetOs, windows), true)
ifndef _NT_SYMBOL_PATH
# Can't use PathList here as it adds quotes around the value.
_NT_SYMBOL_PATH := \
$(subst $(SPACE),;,$(strip \
$(foreach p, $(sort $(dir $(wildcard \
$(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb)))), \
$(call FixPath, $p) \
) \
))
export _NT_SYMBOL_PATH
SYMBOL_PATH := $(call PathList, $(sort $(patsubst %/, %, $(dir $(wildcard \
$(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb))))))
export _NT_SYMBOL_PATH := $(subst \\,\, $(call FixPath, \
$(subst $(DQUOTE),, $(SYMBOL_PATH))))
$(info _NT_SYMBOL_PATH=$(_NT_SYMBOL_PATH))
endif
endif
@@ -241,11 +199,41 @@ TEST_JOBS_FACTOR_JDL ?= 1
TEST_JOBS_FACTOR_MACHINE ?= 1
ifeq ($(TEST_JOBS), 0)
# Concurrency based on min(cores / 2, 12) * TEST_JOBS_FACTOR
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
# 14 works reasonably well for low ulimit values (<= 4096). Thus, use
# divider 4096/14. For high ulimit -u values this shouldn't make a difference.
ULIMIT_DIVIDER := (4096/14)
PROC_ULIMIT := -1
ifneq ($(OPENJDK_TARGET_OS), windows)
PROC_ULIMIT := $(shell $(ULIMIT) -u)
ifeq ($(PROC_ULIMIT), unlimited)
PROC_ULIMIT := -1
endif
endif
MEMORY_DIVIDER := 2048
TEST_JOBS := $(shell $(AWK) \
'BEGIN { \
c = $(NUM_CORES) / 2; \
if (c > 12) c = 12; \
c = $(NUM_CORES) / $(CORES_DIVIDER); \
m = $(MEMORY_SIZE) / $(MEMORY_DIVIDER); \
u = $(PROC_ULIMIT); \
if (u > -1) { \
u = u / $(ULIMIT_DIVIDER); \
if (u < c) c = u; \
} \
if (c > m) c = m; \
c = c * $(TEST_JOBS_FACTOR); \
c = c * $(TEST_JOBS_FACTOR_JDL); \
c = c * $(TEST_JOBS_FACTOR_MACHINE); \
@@ -276,7 +264,7 @@ $(eval $(call SetTestOpt,TIMEOUT_FACTOR,JTREG))
$(eval $(call ParseKeywordVariable, JTREG, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR TEST_MODE ASSERT VERBOSE RETAIN \
MAX_MEM RETRY_COUNT, \
MAX_MEM RUN_PROBLEM_LISTS RETRY_COUNT REPEAT_COUNT, \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
EXTRA_PROBLEM_LISTS AOT_MODULES, \
))
@@ -644,14 +632,24 @@ define SetupRunJtregTestBody
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $(AWK) 'BEGIN { print 25 / $$($1_JTREG_JOBS); }')
# SPARC is in general slower per core so need to scale up timeouts a bit.
ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
ifeq ($(call isTargetCpuArch, sparc), true)
JTREG_TIMEOUT_FACTOR ?= 8
else
JTREG_TIMEOUT_FACTOR ?= 4
endif
JTREG_VERBOSE ?= fail,error,summary
JTREG_RETAIN ?= fail,error
JTREG_RUN_PROBLEM_LISTS ?= false
JTREG_RETRY_COUNT ?= 0
JTREG_REPEAT_COUNT ?= 0
ifneq ($$(JTREG_RETRY_COUNT), 0)
ifneq ($$(JTREG_REPEAT_COUNT), 0)
$$(info Error: Cannot use both JTREG_RETRY_COUNT and JTREG_REPEAT_COUNT together.)
$$(info Please choose one or the other.)
$$(error Cannot continue)
endif
endif
ifneq ($$($1_JTREG_MAX_MEM), 0)
$1_JTREG_BASIC_OPTIONS += -vmoption:-Xmx$$($1_JTREG_MAX_MEM)
@@ -676,8 +674,10 @@ define SetupRunJtregTestBody
$1_JTREG_BASIC_OPTIONS += -e:JDK8_HOME=$$(BOOT_JDK)
# If running on Windows, propagate the _NT_SYMBOL_PATH to enable
# symbol lookup in hserr files
ifeq ($$(OPENJDK_TARGET_OS), windows)
# The minidumps are disabled by default on client Windows, so enable them
ifeq ($$(call isTargetOs, windows), true)
$1_JTREG_BASIC_OPTIONS += -e:_NT_SYMBOL_PATH
$1_JTREG_BASIC_OPTIONS += -vmoption:-XX:+CreateCoredumpOnCrash
endif
$1_JTREG_BASIC_OPTIONS += \
@@ -693,13 +693,19 @@ define SetupRunJtregTestBody
$1_JTREG_BASIC_OPTIONS += -nativepath:$$($1_JTREG_NATIVEPATH)
endif
ifeq ($$(JTREG_RUN_PROBLEM_LISTS), true)
JTREG_PROBLEM_LIST_PREFIX := -match:
else
JTREG_PROBLEM_LIST_PREFIX := -exclude:
endif
ifneq ($$($1_JTREG_PROBLEM_LIST), )
$1_JTREG_BASIC_OPTIONS += $$(addprefix -exclude:, $$($1_JTREG_PROBLEM_LIST))
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$($1_JTREG_PROBLEM_LIST))
endif
ifneq ($$(JTREG_EXTRA_PROBLEM_LISTS), )
# Accept both absolute paths as well as relative to the current test root.
$1_JTREG_BASIC_OPTIONS += $$(addprefix -exclude:, $$(wildcard \
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
$$(JTREG_EXTRA_PROBLEM_LISTS) \
$$(addprefix $$($1_TEST_ROOT)/, $$(JTREG_EXTRA_PROBLEM_LISTS)) \
))
@@ -738,11 +744,12 @@ define SetupRunJtregTestBody
$1_JTREG_BASIC_OPTIONS += -vmoptions:"$$($1_AOT_OPTIONS)"
endif
clean-workdir-$1:
clean-outputdirs-$1:
$$(RM) -r $$($1_TEST_SUPPORT_DIR)
$$(RM) -r $$($1_TEST_RESULTS_DIR)
$1_COMMAND_LINE := \
$$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
$$(JTREG_JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
$$($1_JTREG_BASIC_OPTIONS) \
-testjdk:$$(JDK_IMAGE_DIR) \
@@ -771,7 +778,19 @@ define SetupRunJtregTestBody
done
endif
run-test-$1: clean-workdir-$1 $$($1_AOT_TARGETS)
ifneq ($$(JTREG_REPEAT_COUNT), 0)
$1_COMMAND_LINE := \
for i in {1..$$(JTREG_REPEAT_COUNT)}; do \
$$(PRINTF) "\nRepeating Jtreg run: $$$$i out of $$(JTREG_REPEAT_COUNT)\n"; \
$$($1_COMMAND_LINE); \
if [ "`$$(CAT) $$($1_EXITCODE)`" != "0" ]; then \
$$(PRINTF) "\nFailures detected, no more repeats.\n"; \
break; \
fi; \
done
endif
run-test-$1: clean-outputdirs-$1 $$($1_AOT_TARGETS)
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \

View File

@@ -122,6 +122,7 @@ $(eval $(call SetupVariable,JT_HOME))
$(eval $(call SetupVariable,JDK_IMAGE_DIR,$(OUTPUTDIR)/images/jdk))
$(eval $(call SetupVariable,TEST_IMAGE_DIR,$(OUTPUTDIR)/images/test))
$(eval $(call SetupVariable,SYMBOLS_IMAGE_DIR,$(OUTPUTDIR)/images/symbols,NO_CHECK))
$(eval $(call SetupVariable,JTREG_JDK,$(BOOT_JDK)))
# Provide default values for tools that we need
$(eval $(call SetupVariable,MAKE,make,NO_CHECK))
@@ -157,6 +158,10 @@ ifeq ($(UNAME_OS), CYGWIN)
OPENJDK_TARGET_OS := windows
OPENJDK_TARGET_OS_TYPE := windows
OPENJDK_TARGET_OS_ENV := windows.cygwin
else ifeq ($(UNAME_OS), MINGW64)
OPENJDK_TARGET_OS := windows
OPENJDK_TARGET_OS_TYPE := windows
OPENJDK_TARGET_OS_ENV := windows.msys2
else
OPENJDK_TARGET_OS_TYPE:=unix
ifeq ($(UNAME_OS), Linux)
@@ -171,6 +176,9 @@ else
OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS)
endif
# Sanity check env detection
$(info Detected target OS, type and env: [$(OPENJDK_TARGET_OS)] [$(OPENJDK_TARGET_OS_TYPE)] [$(OPENJDK_TARGET_OS_ENV)])
# Assume little endian unless otherwise specified
OPENJDK_TARGET_CPU_ENDIAN := little
@@ -209,15 +217,9 @@ else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
endif
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(wildcard $(TEST_IMAGE_DIR)/bin/fixpath.exe), )
$(info Error: fixpath is missing from test image '$(TEST_IMAGE_DIR)')
$(error Cannot continue.)
endif
FIXPATH := $(TEST_IMAGE_DIR)/bin/fixpath.exe -c
PATH_SEP:=;
FIXPATH := $(BASH) $(TOPDIR)/make/scripts/fixpath.sh exec
else
FIXPATH :=
PATH_SEP:=:
endif
# Check number of cores and memory in MB
@@ -293,6 +295,7 @@ $(call CreateNewSpec, $(NEW_SPEC), \
TOPDIR := $(TOPDIR), \
OUTPUTDIR := $(OUTPUTDIR), \
BOOT_JDK := $(BOOT_JDK), \
JTREG_JDK := $(JTREG_JDK), \
JT_HOME := $(JT_HOME), \
JDK_IMAGE_DIR := $(JDK_IMAGE_DIR), \
TEST_IMAGE_DIR := $(TEST_IMAGE_DIR), \
@@ -301,7 +304,6 @@ $(call CreateNewSpec, $(NEW_SPEC), \
BASH := $(BASH), \
JIB_JAR := $(JIB_JAR), \
FIXPATH := $(FIXPATH), \
PATH_SEP := $(PATH_SEP), \
OPENJDK_TARGET_OS := $(OPENJDK_TARGET_OS), \
OPENJDK_TARGET_OS_TYPE := $(OPENJDK_TARGET_OS_TYPE), \
OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS_ENV), \

View File

@@ -116,7 +116,6 @@ JAVAC_CMD := $(BOOT_JDK)/bin/javac
JAR_CMD := $(BOOT_JDK)/bin/jar
JLINK_CMD := $(JDK_OUTPUTDIR)/bin/jlink
JMOD_CMD := $(JDK_OUTPUTDIR)/bin/jmod
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)
@@ -125,7 +124,8 @@ JAVAC := $(FIXPATH) $(JAVAC_CMD)
JAR := $(FIXPATH) $(JAR_CMD)
JLINK := $(FIXPATH) $(JLINK_CMD)
JMOD := $(FIXPATH) $(JMOD_CMD)
JARSIGNER := $(FIXPATH) $(JARSIGNER_CMD)
JTREG_JAVA := $(FIXPATH) $(JTREG_JDK)/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/JAVA
################################################################################
@@ -167,7 +167,6 @@ TAIL := tail
TEE := tee
TR := tr
TOUCH := touch
UNIQ := uniq
WC := wc
XARGS := xargs
ZIPEXE := zip
@@ -175,6 +174,7 @@ UNZIP := unzip
EXPR := expr
FILE := file
HG := hg
ULIMIT := ulimit
# On Solaris gnu versions of some tools are required.
ifeq ($(OPENJDK_BUILD_OS), solaris)
@@ -187,7 +187,7 @@ ifeq ($(OPENJDK_BUILD_OS), solaris)
endif
ifeq ($(OPENJDK_BUILD_OS), windows)
CYGPATH := cygpath
PATHTOOL := cygpath
endif
################################################################################

View File

@@ -30,13 +30,6 @@ include MakeBase.gmk
############################################################################
ifeq ($(OPENJDK_TARGET_OS), windows)
FIXPATH_COPY := $(TEST_IMAGE_DIR)/bin/fixpath.exe
$(FIXPATH_COPY): $(firstword $(FIXPATH))
$(call install-file)
endif
BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties
FIXPATH_ECHO := $(FIXPATH) $(call FixPath, $(ECHO))
@@ -44,10 +37,10 @@ FIXPATH_ECHO := $(FIXPATH) $(call FixPath, $(ECHO))
$(BUILD_INFO_PROPERTIES):
$(call MakeTargetDir)
$(ECHO) "# Build info properties for JDK tests" > $@
$(FIXPATH_ECHO) "build.workspace.root=$(WORKSPACE_ROOT)" >> $@
$(FIXPATH_ECHO) "build.output.root=$(OUTPUTDIR)" >> $@
$(ECHO) 'build.workspace.root=$(call FixPath, $(WORKSPACE_ROOT))' >> $@
$(ECHO) 'build.output.root=$(call FixPath, $(OUTPUTDIR))' >> $@
prepare-test-image: $(FIXPATH_COPY) $(BUILD_INFO_PROPERTIES)
prepare-test-image: $(BUILD_INFO_PROPERTIES)
$(call MakeDir, $(TEST_IMAGE_DIR))
$(ECHO) > $(TEST_IMAGE_DIR)/Readme.txt 'JDK test image'

View File

@@ -70,7 +70,7 @@ TARGETS += $(IMAGES_OUTPUTDIR)/sec-bin.zip
#
# Windows specific binary security packages.
#
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
# sec-windows-bin.zip is used by builds where the corresponding sources are not available
$(eval $(call SetupZipArchive,BUILD_SEC_WINDOWS_BIN_ZIP, \
SRC := $(JDK_OUTPUTDIR), \
@@ -80,7 +80,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
TARGETS += $(IMAGES_OUTPUTDIR)/sec-windows-bin.zip
# JGSS files contain the native Kerberos library
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
ifeq ($(call isTargetCpu, x86_64), true)
JGSS_ZIP_NAME = jgss-windows-x64-bin.zip
else
JGSS_ZIP_NAME = jgss-windows-i586-bin.zip

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2022, 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,6 +31,7 @@ include JavaCompilation.gmk
include Modules.gmk
SRC_ZIP_WORK_DIR := $(SUPPORT_OUTPUTDIR)/src
$(if $(filter $(TOPDIR)/%, $(SUPPORT_OUTPUTDIR)), $(eval SRC_ZIP_BASE := $(TOPDIR)), $(eval SRC_ZIP_BASE := $(SUPPORT_OUTPUTDIR)))
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, ZipSource.gmk))
@@ -51,10 +52,10 @@ ALL_MODULES := $(FindAllModules)
# again to create src.zip.
$(foreach m, $(ALL_MODULES), \
$(foreach d, $(call FindModuleSrcDirs, $m) $(call ExtraSrcDirs, $m), \
$(eval $d_TARGET := $(SRC_ZIP_WORK_DIR)/$(patsubst $(TOPDIR)/%,%,$d)/$m) \
$(eval $d_TARGET := $(SRC_ZIP_WORK_DIR)/$(patsubst $(TOPDIR)/%,%,$(patsubst $(SUPPORT_OUTPUTDIR)/%,%,$d))/$m) \
$(if $(SRC_GENERATED), , \
$(eval $$($d_TARGET): $d ; \
$$(if $(filter $(TOPDIR)/%, $d), $$(link-file-relative), $$(link-file-absolute)) \
$$(if $(filter $(SRC_ZIP_BASE)/%, $d), $$(link-file-relative), $$(link-file-absolute)) \
) \
) \
$(eval SRC_ZIP_SRCS += $$($d_TARGET)) \

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

@@ -0,0 +1,555 @@
#
# 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.
# Make sure to only use tools set up in BASIC_SETUP_FUNDAMENTAL_TOOLS.
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
BASIC_SETUP_PATHS_WINDOWS
fi
# We get the top-level directory from the supporting wrappers.
BASIC_WINDOWS_VERIFY_DIR($TOPDIR, source)
UTIL_FIXUP_PATH(TOPDIR)
AC_MSG_CHECKING([for top-level directory])
AC_MSG_RESULT([$TOPDIR])
AC_SUBST(TOPDIR)
if test "x$CUSTOM_ROOT" != x; then
BASIC_WINDOWS_VERIFY_DIR($CUSTOM_ROOT, custom root)
UTIL_FIXUP_PATH(CUSTOM_ROOT)
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)
AC_SUBST(CONFIGURE_START_DIR)
# 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
])
###############################################################################
# Evaluates platform specific overrides for build devkit variables.
# $1: Name of variable
AC_DEFUN([BASIC_EVAL_BUILD_DEVKIT_VARIABLE],
[
if test "x[$]$1" = x; then
eval $1="\${$1_${OPENJDK_BUILD_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([xcode-path], [AS_HELP_STRING([--with-xcode-path],
[set up toolchain on Mac OS using a path to an Xcode installation])])
if test "x$with_xcode_path" != x; then
if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],
$with_xcode_path/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:$with_xcode_path/Contents/Developer/usr/bin)
else
AC_MSG_WARN([Option --with-xcode-path is only valid on Mac OS, ignoring.])
fi
fi
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 || test "x$TOOLCHAIN_PATH" != x || /usr/bin/xcodebuild -version >/dev/null 2>&1; then
# We need to use xcodebuild in the toolchain dir provided by the user
UTIL_LOOKUP_PROGS(XCODEBUILD, xcodebuild, $TOOLCHAIN_PATH)
if test x$XCODEBUILD = x; then
# fall back on the stub binary in /usr/bin/xcodebuild
XCODEBUILD=/usr/bin/xcodebuild
fi
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_SUBST(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}-${JDK_VARIANT}-${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])
BASIC_WINDOWS_VERIFY_DIR($OUTPUTDIR, output)
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
# No df here, say it's local
$2
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'
else
DF_LOCAL_ONLY_OPTION='-l'
fi
if $DF $DF_LOCAL_ONLY_OPTION $1 > /dev/null 2>&1; then
$2
else
# In WSL, local Windows drives are considered remote by df, but we are
# required to build into a directory accessible from windows, so consider
# them local here.
$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,453 @@
#
# 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, used for setting up build platform and
# path handling.
AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
[
# Bootstrapping: These tools are needed by UTIL_LOOKUP_PROGS
AC_PATH_PROGS(BASENAME, basename)
UTIL_CHECK_NONEMPTY(BASENAME)
AC_PATH_PROGS(DIRNAME, dirname)
UTIL_CHECK_NONEMPTY(DIRNAME)
AC_PATH_PROGS(FILE, file)
UTIL_CHECK_NONEMPTY(FILE)
AC_PATH_PROGS(LDD, ldd)
# Required tools
UTIL_REQUIRE_PROGS(ECHO, echo)
UTIL_REQUIRE_PROGS(TR, tr)
UTIL_REQUIRE_PROGS(UNAME, uname)
UTIL_REQUIRE_PROGS(WC, wc)
# Required tools with some special treatment
UTIL_REQUIRE_SPECIAL(GREP, [AC_PROG_GREP])
UTIL_REQUIRE_SPECIAL(EGREP, [AC_PROG_EGREP])
UTIL_REQUIRE_SPECIAL(SED, [AC_PROG_SED])
# Tools only needed on some platforms
UTIL_LOOKUP_PROGS(PATHTOOL, cygpath wslpath)
UTIL_LOOKUP_PROGS(CMD, cmd.exe, $PATH:/cygdrive/c/windows/system32:/mnt/c/windows/system32:/c/windows/system32)
])
###############################################################################
# Setup further tools that should be resolved early but after setting up
# build platform and path handling.
AC_DEFUN_ONCE([BASIC_SETUP_TOOLS],
[
# Required tools
UTIL_REQUIRE_PROGS(BASH, bash)
UTIL_REQUIRE_PROGS(CAT, cat)
UTIL_REQUIRE_PROGS(CHMOD, chmod)
UTIL_REQUIRE_PROGS(CP, cp)
UTIL_REQUIRE_PROGS(CUT, cut)
UTIL_REQUIRE_PROGS(DATE, date)
UTIL_REQUIRE_PROGS(DIFF, gdiff diff)
UTIL_REQUIRE_PROGS(EXPR, expr)
UTIL_REQUIRE_PROGS(FIND, find)
UTIL_REQUIRE_PROGS(GUNZIP, gunzip)
UTIL_REQUIRE_PROGS(GZIP, pigz gzip)
UTIL_REQUIRE_PROGS(HEAD, head)
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(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(WHICH, which)
UTIL_REQUIRE_PROGS(XARGS, xargs)
# Required tools with some special treatment
UTIL_REQUIRE_SPECIAL(AWK, [AC_PROG_AWK])
UTIL_REQUIRE_SPECIAL(FGREP, [AC_PROG_FGREP])
# Optional tools, we can do without them
UTIL_LOOKUP_PROGS(DF, df)
UTIL_LOOKUP_PROGS(NICE, nice)
UTIL_LOOKUP_PROGS(READLINK, greadlink readlink)
# Tools only needed on some platforms
UTIL_LOOKUP_PROGS(LSB_RELEASE, lsb_release)
# For compare.sh only
UTIL_LOOKUP_PROGS(CMP, cmp)
UTIL_LOOKUP_PROGS(UNIQ, uniq)
# Always force rm.
RM="$RM -f"
])
###############################################################################
# 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.msys2"; then
MAKE_EXPECTED_ENV='msys'
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.
UTIL_ARG_WITH(NAME: output-sync, TYPE: literal,
VALID_VALUES: [none recurse line target], DEFAULT: none,
OPTIONAL: true, ENABLED_DEFAULT: true,
ENABLED_RESULT: OUTPUT_SYNC_SUPPORTED,
CHECKING_MSG: [for make --output-sync value],
DESC: [set make --output-sync type if supported by make],
CHECK_AVAILABLE:
[
AC_MSG_CHECKING([if make --output-sync is supported])
if ! $MAKE --version -O > /dev/null 2>&1; then
AC_MSG_RESULT([no])
AVAILABLE=false
else
AC_MSG_RESULT([yes])
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
UTIL_LOOKUP_PROGS(CHECK_GMAKE, gmake)
BASIC_CHECK_MAKE_VERSION("$CHECK_GMAKE", [gmake in PATH])
if test "x$FOUND_MAKE" = x; then
UTIL_LOOKUP_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
UTIL_LOOKUP_PROGS(CHECK_TOOLSDIR_GMAKE, gmake)
BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_GMAKE", [gmake in tools-dir])
if test "x$FOUND_MAKE" = x; then
UTIL_LOOKUP_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$($TAR --version | $GREP "busybox")" != "x"; then
TAR_TYPE="busybox"
elif test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
TAR_TYPE="solaris"
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])
TAR_CREATE_FILE_PARAM=""
if test "x$TAR_TYPE" = "xgnu"; then
TAR_INCLUDE_PARAM="T"
TAR_SUPPORTS_TRANSFORM="true"
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
# When using gnu tar for Solaris targets, need to use compatibility mode
TAR_CREATE_EXTRA_PARAM="--format=ustar"
fi
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"
elif test "x$TAR_TYPE" = "xbusybox"; then
TAR_INCLUDE_PARAM="T"
TAR_SUPPORTS_TRANSFORM="false"
else
TAR_INCLUDE_PARAM="I"
TAR_SUPPORTS_TRANSFORM="false"
fi
AC_SUBST(TAR_TYPE)
AC_SUBST(TAR_CREATE_EXTRA_PARAM)
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_LOOKUP_PROGS(READELF, greadelf readelf)
UTIL_LOOKUP_PROGS(DOT, dot)
UTIL_LOOKUP_PROGS(HG, hg)
UTIL_LOOKUP_PROGS(GIT, git)
UTIL_LOOKUP_PROGS(STAT, stat)
UTIL_LOOKUP_PROGS(TIME, time)
UTIL_LOOKUP_PROGS(FLOCK, flock)
# Dtrace is usually found in /usr/sbin on Solaris, but that directory may not
# be in the user path.
UTIL_LOOKUP_PROGS(DTRACE, dtrace, $PATH:/usr/sbin)
UTIL_LOOKUP_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_LOOKUP_PROGS(CODESIGN, codesign)
UTIL_REQUIRE_PROGS(SETFILE, SetFile)
elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
UTIL_REQUIRE_PROGS(ELFEDIT, elfedit)
fi
if ! test "x$OPENJDK_TARGET_OS" = "xwindows"; then
UTIL_REQUIRE_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_LOOKUP_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,187 @@
#
# 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_SETUP_PATHS_WINDOWS],
[
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys2"; then
# Must be done prior to calling any commands to avoid mangling of command line
export MSYS2_ARG_CONV_EXCL="*"
fi
AC_MSG_CHECKING([Windows environment type])
WINENV_VENDOR=${OPENJDK_BUILD_OS_ENV#windows.}
AC_MSG_RESULT([$WINENV_VENDOR])
if test "x$WINENV_VENDOR" = x; then
AC_MSG_ERROR([Unknown Windows environment. Neither cygwin nor msys2 was detected.])
fi
if test "x$PATHTOOL" = x; then
AC_MSG_ERROR([Incorrect $WINENV_VENDOR installation. cygpath was found])
fi
if test "x$CMD" = x; then
AC_MSG_ERROR([Incorrect Windows/$WINENV_VENDOR setup. Could not locate cmd.exe])
fi
AC_MSG_CHECKING([$WINENV_VENDOR drive prefix])
WINENV_PREFIX=`$PATHTOOL -u c:/ | $SED -e 's!/c/!!'`
AC_MSG_RESULT(['$WINENV_PREFIX'])
AC_SUBST(WINENV_PREFIX)
AC_MSG_CHECKING([$WINENV_VENDOR root directory as Windows path])
if test "x$OPENJDK_BUILD_OS_ENV" != "xwindows.wsl1"; then
WINENV_ROOT=`$PATHTOOL -w / 2> /dev/null`
# msys2 has a trailing backslash; strip it
WINENV_ROOT=${WINENV_ROOT%\\}
else
WINENV_ROOT='[[unavailable]]'
fi
AC_MSG_RESULT(['$WINENV_ROOT'])
AC_SUBST(WINENV_ROOT)
AC_MSG_CHECKING([$WINENV_VENDOR temp directory])
WINENV_TEMP_DIR=$($PATHTOOL -u $($CMD /q /c echo %TEMP% 2> /dev/null) | $TR -d '\r\n')
AC_MSG_RESULT([$WINENV_TEMP_DIR])
AC_MSG_CHECKING([$WINENV_VENDOR release])
WINENV_UNAME_RELEASE=`$UNAME -r`
AC_MSG_RESULT([$WINENV_UNAME_RELEASE])
AC_MSG_CHECKING([$WINENV_VENDOR version])
WINENV_UNAME_VERSION=`$UNAME -v`
AC_MSG_RESULT([$WINENV_UNAME_VERSION])
WINENV_VERSION="$WINENV_UNAME_RELEASE, $WINENV_UNAME_VERSION"
AC_MSG_CHECKING([Windows version])
# We must change directory to one guaranteed to work, otherwise WSL1
# can complain (since it does not have a WINENV_ROOT so it can't access
# unix-style paths from Windows.
# Additional [] needed to keep m4 from mangling shell constructs.
[ WINDOWS_VERSION=`cd $WINENV_TEMP_DIR && $CMD /c ver | $EGREP -o '([0-9]+\.)+[0-9]+'` ]
AC_MSG_RESULT([$WINDOWS_VERSION])
# Additional handling per specific env
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
# Additional [] needed to keep m4 from mangling shell constructs.
[ CYGWIN_VERSION_OLD=`$ECHO $WINENV_UNAME_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_VERSION, but at least cygwin 1.7 is required. Please upgrade.])
AC_MSG_ERROR([Cannot continue])
fi
if test "x$LDD" = x; then
AC_MSG_ERROR([ldd is missing, which is needed on cygwin])
fi
WINENV_MARKER_DLL=cygwin1.dll
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys2"; then
if test "x$LDD" = x; then
AC_MSG_ERROR([ldd is missing, which is needed on msys2])
fi
WINENV_MARKER_DLL=msys-2.0.dll
fi
# Chicken and egg: FIXPATH is needed for UTIL_FIXUP_PATH to work. So for the
# first run we use the auto-detect abilities of fixpath.sh.
FIXPATH_DIR="$TOPDIR/make/scripts"
FIXPATH="$BASH $FIXPATH_DIR/fixpath.sh exec"
FIXPATH_BASE="$BASH $FIXPATH_DIR/fixpath.sh"
FIXPATH_SAVED_PATH="$PATH"
UTIL_FIXUP_PATH(FIXPATH_DIR)
# Now we can use FIXPATH_DIR to rewrite path to fixpath.sh properly.
if test "x$WINENV_PREFIX" = x; then
# On msys the prefix is empty, but we need to pass something to have the
# fixpath.sh options parser happy.
WINENV_PREFIX_ARG="NONE"
else
WINENV_PREFIX_ARG="$WINENV_PREFIX"
fi
FIXPATH_ARGS="-e $PATHTOOL -p $WINENV_PREFIX_ARG -r ${WINENV_ROOT//\\/\\\\} -t $WINENV_TEMP_DIR -c $CMD -q"
FIXPATH_BASE="$BASH $FIXPATH_DIR/fixpath.sh $FIXPATH_ARGS"
FIXPATH="$FIXPATH_BASE exec"
AC_SUBST(FIXPATH_BASE)
AC_SUBST(FIXPATH)
SRC_ROOT_LENGTH=`$ECHO "$TOPDIR" | $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
# Test if windows or unix "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 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
])
# Verify that the directory is usable on Windows
AC_DEFUN([BASIC_WINDOWS_VERIFY_DIR],
[
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl1"; then
OUTPUTDIR_WIN=`$FIXPATH_BASE print $1`
if test "x$OUTPUTDIR_WIN" = x; then
AC_MSG_NOTICE([For wsl1, the $2 dir must be located on a Windows drive. Please see doc/building.md for details.])
AC_MSG_ERROR([Cannot continue])
fi
fi
])
# Create fixpath wrapper
AC_DEFUN([BASIC_WINDOWS_FINALIZE_FIXPATH],
[
if test "x$OPENJDK_BUILD_OS" = xwindows; then
FIXPATH_CMDLINE=". $TOPDIR/make/scripts/fixpath.sh -e $PATHTOOL \
-p $WINENV_PREFIX_ARG -r ${WINENV_ROOT//\\/\\\\} -t $WINENV_TEMP_DIR \
-c $CMD -q"
$ECHO > $OUTPUTDIR/fixpath '#!/bin/bash'
$ECHO >> $OUTPUTDIR/fixpath export PATH='"[$]PATH:'$PATH'"'
$ECHO >> $OUTPUTDIR/fixpath $FIXPATH_CMDLINE '"[$]@"'
$CHMOD +x $OUTPUTDIR/fixpath
FIXPATH_BASE="$OUTPUTDIR/fixpath"
FIXPATH="$FIXPATH_BASE exec"
fi
])
# Platform-specific finalization
AC_DEFUN([BASIC_WINDOWS_FINALIZE],
[
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
# Change back from temp dir
cd $CONFIGURE_START_DIR
fi
])

File diff suppressed because it is too large Load Diff

View File

@@ -1,451 +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"
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"
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
])
# 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"`
# 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_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_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
])
# 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"
else
AC_MSG_ERROR([Unknown Windows environment. Neither cygwin nor msys 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
FIXPATH_SRC="$TOPDIR/make/src/native/fixpath.c"
FIXPATH_DIR="$CONFIGURESUPPORT_OUTPUTDIR/fixpath"
if test "x$OPENJDK_TARGET_CPU" != "xaarch64"; then
AC_MSG_CHECKING([if fixpath can be created])
FIXPATH_BIN="$CONFIGURESUPPORT_OUTPUTDIR/bin/fixpath.exe"
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 $CURDIR
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])
else # OPENJDK_TARGET_CPU is aarch64
AC_MSG_CHECKING([if fixpath is in place])
FIXPATH_BIN="$TOPDIR/fixpath.exe"
$RM -rf $FIXPATH_DIR
$MKDIR -p $FIXPATH_DIR
if test ! -x $FIXPATH_BIN; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not find fixpath.exe under $TOPDIR])
fi
AC_MSG_RESULT([yes])
fi
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"
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 $CURDIR
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, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2022, 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,34 +63,57 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
# If previous step claimed to have found a JDK, check it to see if it seems to be valid.
if test "x$BOOT_JDK_FOUND" = xmaybe; then
# Do we have a bin/java?
if test ! -x "$BOOT_JDK/bin/java"; then
if test ! -x "$BOOT_JDK/bin/java" && test ! -x "$BOOT_JDK/bin/java.exe"; then
AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain bin/java; ignoring])
BOOT_JDK_FOUND=no
else
# Do we have a bin/javac?
if test ! -x "$BOOT_JDK/bin/javac"; then
if test ! -x "$BOOT_JDK/bin/javac" && test ! -x "$BOOT_JDK/bin/javac.exe"; then
AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain bin/javac; ignoring])
AC_MSG_NOTICE([(This might be an JRE instead of an JDK)])
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" -version 2>&1 | $HEAD -n 1`
java_to_test="$BOOT_JDK/bin/java"
UTIL_FIXUP_EXECUTABLE(java_to_test)
BOOT_JDK_VERSION_OUTPUT=`$java_to_test $USER_BOOT_JDK_OPTIONS -version 2>&1`
# Additional [] needed to keep m4 from mangling shell constructs.
[ BOOT_JDK_VERSION=`echo $BOOT_JDK_VERSION_OUTPUT | $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".])
AC_MSG_ERROR([Cannot continue])
fi
if [ [[ "$BOOT_JDK_VERSION" =~ "Unrecognized option" ]] ]; then
AC_MSG_NOTICE([The specified --with-boot-jdk-jvmargs is invalid for the tested java])
AC_MSG_NOTICE([Error message: "$BOOT_JDK_VERSION".])
AC_MSG_NOTICE([Please fix arguments, or point to an explicit boot JDK which accept these arguments])
AC_MSG_ERROR([Cannot continue])
fi
# Extra M4 quote needed to protect [] in grep expression.
[FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION \
| $EGREP "\"(${DEFAULT_ACCEPTABLE_BOOT_VERSIONS// /|})([\.+-].*)?\""`]
if test "x$FOUND_CORRECT_VERSION" = x; then
if test "x$BOOT_JDK_VERSION" = x; then
AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK is not a working JDK; ignoring])
AC_MSG_NOTICE([Output from java -version was: $BOOT_JDK_VERSION_OUTPUT])
BOOT_JDK_FOUND=no
elif test "x$FOUND_CORRECT_VERSION" = x; then
AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring])
AC_MSG_NOTICE([(Your Boot JDK version must be one of: $DEFAULT_ACCEPTABLE_BOOT_VERSIONS)])
BOOT_JDK_FOUND=no
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])
BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '`
BOOT_JDK_VERSION=`$java_to_test $USER_BOOT_JDK_OPTIONS -version 2>&1 | $TR -d '\r'`
# This is not a no-op; it will portably convert newline to space
BOOT_JDK_VERSION=`$ECHO $BOOT_JDK_VERSION`
AC_MSG_RESULT([$BOOT_JDK_VERSION])
fi # end check jdk version
fi # end check javac
@@ -103,16 +126,18 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
AC_DEFUN([BOOTJDK_CHECK_ARGUMENTS],
[
if test "x$with_boot_jdk" != x; then
if test -d "$with_boot_jdk"; then
BOOT_JDK=$with_boot_jdk
BOOT_JDK_ARG="$with_boot_jdk"
UTIL_FIXUP_PATH(BOOT_JDK_ARG)
if test -d "$BOOT_JDK_ARG"; then
BOOT_JDK=$BOOT_JDK_ARG
BOOT_JDK_FOUND=maybe
elif test -f "$with_boot_jdk"; then
case "$with_boot_jdk" in
elif test -f "$BOOT_JDK_ARG"; then
case "$BOOT_JDK_ARG" in
*.tar.gz )
BOOT_JDK_SUPPORT_DIR=$CONFIGURESUPPORT_OUTPUTDIR/boot-jdk
$RM -rf $BOOT_JDK_SUPPORT_DIR
$MKDIR -p $BOOT_JDK_SUPPORT_DIR
$GUNZIP -c $with_boot_jdk | $TAR xf - -C $BOOT_JDK_SUPPORT_DIR
$GUNZIP -c $BOOT_JDK_ARG | $TAR xf - -C $BOOT_JDK_SUPPORT_DIR
# Try to find javac to determine BOOT_JDK path
BOOT_JDK_JAVAC_PATH=`$FIND $BOOT_JDK_SUPPORT_DIR | $GREP "/bin/javac"`
@@ -139,8 +164,8 @@ AC_DEFUN([BOOTJDK_CHECK_JAVA_HOME],
[
if test "x$JAVA_HOME" != x; then
JAVA_HOME_PROCESSED="$JAVA_HOME"
BASIC_FIXUP_PATH(JAVA_HOME_PROCESSED)
if test ! -d "$JAVA_HOME_PROCESSED"; then
UTIL_FIXUP_PATH(JAVA_HOME_PROCESSED, NOFAIL)
if test "x$JAVA_HOME_PROCESSED" = x || test ! -d "$JAVA_HOME_PROCESSED"; then
AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!])
else
# Aha, the user has set a JAVA_HOME
@@ -155,8 +180,8 @@ AC_DEFUN([BOOTJDK_CHECK_JAVA_HOME],
# Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
AC_DEFUN([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK],
[
AC_PATH_PROG(JAVAC_CHECK, javac)
AC_PATH_PROG(JAVA_CHECK, java)
UTIL_LOOKUP_PROGS(JAVAC_CHECK, javac, , NOFIXPATH)
UTIL_LOOKUP_PROGS(JAVA_CHECK, java, , NOFIXPATH)
BINARY="$JAVAC_CHECK"
if test "x$JAVAC_CHECK" = x; then
BINARY="$JAVA_CHECK"
@@ -166,7 +191,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
@@ -195,9 +220,9 @@ AC_DEFUN([BOOTJDK_CHECK_MACOSX_JAVA_LOCATOR],
# First check at user selected default
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME()])
# If that did not work out (e.g. too old), try explicit versions instead
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME([-v 1.9])])
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME([-v 1.8])])
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME([-v 1.7])])
for ver in $DEFAULT_ACCEPTABLE_BOOT_VERSIONS ; do
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME([-v $ver])])
done
fi
])
@@ -230,8 +255,10 @@ 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)
BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY($VIRTUAL_DIR)
UTIL_FIXUP_PATH(VIRTUAL_DIR, NOFAIL)
if test "x$VIRTUAL_DIR" != x; then
BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY($VIRTUAL_DIR)
fi
fi
])
@@ -258,16 +285,17 @@ 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_REQUIRE_SPECIAL($1,
[
AC_MSG_CHECKING([for $2 in Boot JDK])
AC_MSG_CHECKING([for $2 [[Boot JDK]]])
$1=$BOOT_JDK/bin/$2
if test ! -x [$]$1; then
if test ! -x [$]$1 && test ! -x [$]$1.exe; then
AC_MSG_RESULT(not found)
AC_MSG_NOTICE([Your Boot JDK seems broken. This might be fixed by explicitly setting --with-boot-jdk])
AC_MSG_ERROR([Could not find $2 in the Boot JDK])
fi
AC_MSG_RESULT(ok)
AC_MSG_RESULT(\[$]BOOT_JDK/bin/$2)
UTIL_FIXUP_EXECUTABLE($1)
AC_SUBST($1)
])
])
@@ -283,6 +311,11 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk],
[path to Boot JDK (used to bootstrap build) @<:@probed@:>@])])
AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
[specify additional arguments to be passed to Boot JDK tools @<:@none@:>@])])
USER_BOOT_JDK_OPTIONS="$with_boot_jdk_jvmargs"
# We look for the Boot JDK through various means, going from more certain to
# more of a guess-work. After each test, BOOT_JDK_FOUND is set to "yes" if
# we detected something (if so, the path to the jdk is in BOOT_JDK). But we
@@ -296,12 +329,12 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
AC_MSG_ERROR([The path given by --with-boot-jdk does not contain a valid Boot JDK])
fi
# Test: On MacOS X, can we find a boot jdk using /usr/libexec/java_home?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_MACOSX_JAVA_LOCATOR])
# Test: Is $JAVA_HOME set?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_HOME])
# Test: On MacOS X, can we find a boot jdk using /usr/libexec/java_home?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_MACOSX_JAVA_LOCATOR])
# Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK])
@@ -323,7 +356,6 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAC, javac)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVADOC, javadoc)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAR, jar)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JARSIGNER, jarsigner)
# Finally, set some other options...
@@ -335,7 +367,7 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
AC_SUBST(JAVAC_FLAGS)
# Check if the boot jdk is 32 or 64 bit
if "$JAVA" -version 2>&1 | $GREP -q "64-Bit"; then
if $JAVA -version 2>&1 | $GREP -q "64-Bit"; then
BOOT_JDK_BITS="64"
else
BOOT_JDK_BITS="32"
@@ -346,11 +378,11 @@ 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
"$JAVA" $boot_jdk_cds_args -Xshare:dump > /dev/null 2>&1
$JAVA $boot_jdk_cds_args -Xshare:dump > /dev/null 2>&1
if test $? -eq 0; then
BOOTJDK_USE_LOCAL_CDS=true
AC_MSG_RESULT([yes, created])
@@ -372,25 +404,21 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
# Specify jvm options for anything that is run with the Boot JDK.
# Not all JVM:s accept the same arguments on the command line.
#
AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
[specify JVM arguments to be passed to all java invocations of boot JDK, overriding the default values,
e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])])
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
# Apply user provided options.
ADD_JVM_ARG_IF_OK([$with_boot_jdk_jvmargs],boot_jdk_jvmargs,[$JAVA])
# Finally append user provided options to allow them to override.
UTIL_ADD_JVM_ARG_IF_OK([$USER_BOOT_JDK_OPTIONS],boot_jdk_jvmargs,[$JAVA])
AC_MSG_RESULT([$boot_jdk_jvmargs])
@@ -401,7 +429,7 @@ 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.
@@ -429,8 +457,8 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
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])
UTIL_ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA])
AC_MSG_RESULT([$boot_jdk_jvmargs_big])
@@ -457,10 +485,10 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
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])
@@ -519,7 +547,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])
@@ -566,8 +594,12 @@ AC_DEFUN([BOOTJDK_SETUP_BUILD_JDK],
fi
fi
# Since these tools do not yet exist, we cannot use UTIL_FIXUP_EXECUTABLE to
# detect the need of fixpath
JMOD="$BUILD_JDK/bin/jmod"
UTIL_ADD_FIXPATH(JMOD)
JLINK="$BUILD_JDK/bin/jlink"
UTIL_ADD_FIXPATH(JLINK)
AC_SUBST(JMOD)
AC_SUBST(JLINK)

View File

@@ -39,7 +39,6 @@ ifneq ($(word $(JAVA_EXEC_POS),$(SJAVAC_SERVER_JAVA)),$(word $(JAVA_EXEC_POS),$(
$(error Bootcycle builds are not possible if --with-sjavac-server-java is specified)
endif
# Override specific values to do a boot cycle build
# Use a different Boot JDK
@@ -50,11 +49,10 @@ OLD_OUTPUTDIR:=@OUTPUTDIR@
OUTPUTDIR:=$(OLD_OUTPUTDIR)/bootcycle-build
SJAVAC_SERVER_DIR:=$(patsubst $(OLD_OUTPUTDIR)%, $(OUTPUTDIR)%, $(SJAVAC_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)
JAVA_CMD := $(FIXPATH) $(BOOT_JDK)/bin/java
JAVAC_CMD := $(FIXPATH) $(BOOT_JDK)/bin/javac
JAR_CMD := $(FIXPATH) $(BOOT_JDK)/bin/jar
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)

View File

@@ -29,7 +29,40 @@
# and fix the broken property, if needed.
DIR=`dirname $0`
OUT=`. $DIR/autoconf-config.guess`
OUT=`. $DIR/autoconf-config.guess 2> /dev/null`
# Handle some cases that autoconf-config.guess is not capable of
if [ "x$OUT" = x ]; then
if [ `uname -s` = Linux ]; then
# Test and fix little endian MIPS.
if [ `uname -m` = mipsel ]; then
OUT=mipsel-unknown-linux-gnu
elif [ `uname -m` = mips64el ]; then
OUT=mips64el-unknown-linux-gnu
# Test and fix little endian PowerPC64.
elif [ `uname -m` = ppc64le ]; then
OUT=powerpc64le-unknown-linux-gnu
# Test and fix LoongArch64.
elif [ `uname -m` = loongarch64 ]; then
OUT=loongarch64-unknown-linux-gnu
# Test and fix RISC-V.
elif [ `uname -m` = riscv64 ]; then
OUT=riscv64-unknown-linux-gnu
fi
# Test and fix cygwin machine arch .x86_64
elif [[ `uname -s` = CYGWIN* ]]; then
if [ `uname -m` = ".x86_64" ]; then
OUT=x86_64-unknown-cygwin
fi
fi
if [ "x$OUT" = x ]; then
# Run autoconf-config.guess again to get the error message.
. $DIR/autoconf-config.guess > /dev/null
else
printf "guessed by custom config.guess... " >&2
fi
fi
# Test and fix solaris on x86_64
echo $OUT | grep i386-pc-solaris > /dev/null 2> /dev/null
@@ -47,6 +80,17 @@ if test $? = 0; then
OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
fi
# Detect C library.
# Use '-gnu' suffix on systems that use glibc.
# Use '-musl' suffix on systems that use the musl libc.
echo $OUT | grep -- -linux- > /dev/null 2> /dev/null
if test $? = 0; then
libc_vendor=`ldd --version 2>&1 | sed -n '1s/.*\(musl\).*/\1/p'`
if [ x"${libc_vendor}" = x"musl" ]; then
OUT=`echo $OUT | sed 's/-gnu/-musl/'`
fi
fi
# Test and fix cygwin on x86_64
echo $OUT | grep 86-pc-cygwin > /dev/null 2> /dev/null
if test $? != 0; then
@@ -77,36 +121,6 @@ if test $? = 0; then
OUT=powerpc$KERNEL_BITMODE`echo $OUT | sed -e 's/[^-]*//'`
fi
# Test and fix little endian PowerPC64.
# TODO: should be handled by autoconf-config.guess.
if [ "x$OUT" = x ]; then
if [ `uname -m` = ppc64le ]; then
if [ `uname -s` = Linux ]; then
OUT=powerpc64le-unknown-linux-gnu
fi
fi
fi
# Test and fix little endian MIPS.
if [ "x$OUT" = x ]; then
if [ `uname -s` = Linux ]; then
if [ `uname -m` = mipsel ]; then
OUT=mipsel-unknown-linux-gnu
elif [ `uname -m` = mips64el ]; then
OUT=mips64el-unknown-linux-gnu
fi
fi
fi
# Test and fix LoongArch64.
if [ "x$OUT" = x ]; then
if [ `uname -s` = Linux ]; then
if [ `uname -m` = loongarch64 ]; then
OUT=loongarch64-unknown-linux-gnu
fi
fi
fi
# Test and fix cpu on macos-aarch64, uname -p reports arm, buildsys expects aarch64
echo $OUT | grep arm-apple-darwin > /dev/null 2> /dev/null
if test $? = 0; then

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# 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,6 +29,17 @@
DIR=`dirname $0`
if echo $* | grep linux-musl >/dev/null ; then
echo $*
exit
fi
# Allow msys2
if echo $* | grep pc-msys >/dev/null ; then
echo $*
exit
fi
# First, filter out everything that doesn't begin with "aarch64-"
if ! echo $* | grep '^aarch64-' >/dev/null ; then
. $DIR/autoconf-config.sub "$@"
@@ -38,7 +49,7 @@ if ! echo $* | grep '^aarch64-' >/dev/null ; then
fi
while test $# -gt 0 ; do
case $1 in
case $1 in
-- ) # Stop option processing
shift; break ;;
aarch64-* )

View File

@@ -180,7 +180,7 @@ AC_DEFUN([BPERF_SETUP_CCACHE],
if test "x$TOOLCHAIN_PATH" != x; then
PATH=$TOOLCHAIN_PATH:$PATH
fi
BASIC_REQUIRE_PROGS(CCACHE, ccache)
UTIL_LOOKUP_PROGS(CCACHE, ccache)
PATH="$OLD_PATH"
CCACHE_VERSION=[`$CCACHE --version | head -n1 | $SED 's/[A-Za-z ]*//'`]
CCACHE_STATUS="Active ($CCACHE_VERSION)"
@@ -288,12 +288,12 @@ AC_DEFUN([BPERF_SETUP_ICECC],
[enable distribted compilation of native code using icecc/icecream @<:@disabled@:>@])])
if test "x${enable_icecc}" = "xyes"; then
BASIC_REQUIRE_PROGS(ICECC_CMD, icecc)
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 +308,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])
@@ -442,7 +442,7 @@ AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC],
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])
UTIL_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],

View File

@@ -50,11 +50,13 @@ IMAGES_OUTPUTDIR := $(patsubst $(OUTPUTDIR)%,$(BUILDJDK_OUTPUTDIR)%,$(IMAGES_OUT
OPENJDK_BUILD_CPU_LEGACY := @OPENJDK_BUILD_CPU_LEGACY@
OPENJDK_BUILD_CPU_LEGACY_LIB := @OPENJDK_BUILD_CPU_LEGACY_LIB@
OPENJDK_BUILD_LIBC := @OPENJDK_BUILD_LIBC@
OPENJDK_TARGET_CPU := @OPENJDK_BUILD_CPU@
OPENJDK_TARGET_CPU_ARCH := @OPENJDK_BUILD_CPU_ARCH@
OPENJDK_TARGET_CPU_BITS := @OPENJDK_BUILD_CPU_BITS@
OPENJDK_TARGET_CPU_ENDIAN := @OPENJDK_BUILD_CPU_ENDIAN@
OPENJDK_TARGET_CPU_LEGACY := @OPENJDK_BUILD_CPU_LEGACY@
OPENJDK_TARGET_LIBC := @OPENJDK_BUILD_LIBC@
OPENJDK_TARGET_OS_INCLUDE_SUBDIR := @OPENJDK_BUILD_OS_INCLUDE_SUBDIR@
HOTSPOT_TARGET_OS := @HOTSPOT_BUILD_OS@
@@ -62,6 +64,7 @@ HOTSPOT_TARGET_OS_TYPE := @HOTSPOT_BUILD_OS_TYPE@
HOTSPOT_TARGET_CPU := @HOTSPOT_BUILD_CPU@
HOTSPOT_TARGET_CPU_ARCH := @HOTSPOT_BUILD_CPU_ARCH@
HOTSPOT_TARGET_CPU_DEFINE := @HOTSPOT_BUILD_CPU_DEFINE@
HOTSPOT_TARGET_LIBC := @HOTSPOT_BUILD_LIBC@
CFLAGS_JDKLIB := @OPENJDK_BUILD_CFLAGS_JDKLIB@
CXXFLAGS_JDKLIB := @OPENJDK_BUILD_CXXFLAGS_JDKLIB@

View File

@@ -39,10 +39,11 @@ export AWK="@AWK@"
export BASH="@BASH@"
export CAT="@CAT@"
export CMP="@CMP@"
export CODESIGN="@CODESIGN@"
export CP="@CP@"
export CUT="@CUT@"
export DIFF="@DIFF@"
export DUMPBIN="@FIXPATH@ @DUMPBIN@"
export DUMPBIN="@DUMPBIN@"
export EXPR="@EXPR@"
export FILE="@FILE@"
export FIND="@FIND@"
@@ -84,7 +85,7 @@ else
fi
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
export PATH="@VS_PATH@"
export PATH="$PATH:@TOOLCHAIN_PATH@"
fi
# Now locate the main script and run it.

View File

@@ -37,9 +37,9 @@ AC_CONFIG_AUX_DIR([$TOPDIR/make/autoconf/build-aux])
m4_include([build-aux/pkg.m4])
# 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])
@@ -51,7 +51,6 @@ 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])
@@ -86,6 +85,7 @@ PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET
# Continue setting up basic stuff. Most remaining code require fundamental tools.
BASIC_SETUP_PATHS
BASIC_SETUP_TOOLS
# Check if it's a pure open build or if custom sources are to be used.
JDKOPT_SETUP_OPEN_OR_CUSTOM
@@ -107,6 +107,8 @@ BASIC_SETUP_DEVKIT
# To properly create a configuration name, we need to have the OpenJDK target
# and options (variants and debug level) parsed.
BASIC_SETUP_OUTPUT_DIR
# After we have the output dir we can finalize the fixpath wrapper
BASIC_WINDOWS_FINALIZE_FIXPATH
# Must be done before we can call HELP_MSG_MISSING_DEPENDENCY.
HELP_SETUP_DEPENDENCY_HELP
@@ -181,20 +183,20 @@ TOOLCHAIN_POST_DETECTION
TOOLCHAIN_SETUP_BUILD_COMPILERS
TOOLCHAIN_MISC_CHECKS
# Setup the JTReg Regression Test Harness.
TOOLCHAIN_SETUP_JTREG
# Setup Jib dependency tool
TOOLCHAIN_SETUP_JIB
# After toolchain setup, we need to process some flags to be able to continue.
FLAGS_POST_TOOLCHAIN
# Setup the tools needed to test the JDK (JTReg Regression Test Harness
# and the Jib dependency tool).
LIB_TESTS_SETUP_JTREG
LIB_TESTS_SETUP_JIB
# Now we can test some aspects on the target using configure macros.
PLATFORM_SETUP_OPENJDK_TARGET_BITS
PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS
# Configure flags for the tools
# Configure flags for the tools. Need to know if we should build reproducible.
JDKOPT_SETUP_REPRODUCIBLE_BUILD
FLAGS_SETUP_FLAGS
# Setup debug symbols (need objcopy from the toolchain for that)
@@ -216,9 +218,6 @@ HOTSPOT_ENABLE_DISABLE_GTEST
#
###############################################################################
# After we have toolchain, we can compile fixpath. It's needed by the lib checks.
BASIC_COMPILE_FIXPATH
LIB_DETERMINE_DEPENDENCIES
LIB_SETUP_LIBRARIES
@@ -233,10 +232,13 @@ HOTSPOT_SETUP_JVM_FEATURES
###############################################################################
JDKOPT_DETECT_INTREE_EC
JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER
LIB_TESTS_ENABLE_DISABLE_FAILURE_HANDLER
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
JDKOPT_EXCLUDE_TRANSLATIONS
JDKOPT_ENABLE_DISABLE_MANPAGES
JDKOPT_SETUP_REPRODUCIBLE_BUILD
JDKOPT_SETUP_MACOSX_SIGNING
###############################################################################
#
@@ -288,6 +290,7 @@ BASIC_CHECK_LEFTOVER_OVERRIDDEN
CONFIG_STATUS="$CONFIGURESUPPORT_OUTPUTDIR/config.status"
# Create the actual output files. Now the main work of configure is done.
BASIC_WINDOWS_FINALIZE
AC_OUTPUT
# After AC_OUTPUT, we need to do final work

View File

@@ -28,7 +28,7 @@
# Setup flags for C/C++ compiler
#
###############################################################################
################################################################################
#
# How to compile shared libraries.
#
@@ -39,7 +39,10 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
# Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared'
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
# --disable-new-dtags forces use of RPATH instead of RUNPATH for rpaths.
# This protects internal library dependencies within the JDK from being
# overridden using LD_LIBRARY_PATH. See JDK-8326891 for more information.
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1 -Wl,--disable-new-dtags'
SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
@@ -59,6 +62,9 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
# Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared'
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
if test "x$OPENJDK_TARGET_OS" = xlinux; then
SET_EXECUTABLE_ORIGIN="$SET_EXECUTABLE_ORIGIN -Wl,--disable-new-dtags"
fi
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
@@ -121,7 +127,11 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
# -g0 enables debug symbols without disabling inlining.
CFLAGS_DEBUG_SYMBOLS="-g0 -xs"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
CFLAGS_DEBUG_SYMBOLS="-g"
if test "x$XLC_USES_CLANG" = xtrue; then
CFLAGS_DEBUG_SYMBOLS="-g1"
else
CFLAGS_DEBUG_SYMBOLS="-g"
fi
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
CFLAGS_DEBUG_SYMBOLS="-Z7 -d2Zi+"
fi
@@ -160,29 +170,56 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
case "${TOOLCHAIN_TYPE}" in
microsoft)
DISABLE_WARNING_PREFIX="-wd"
BUILD_CC_DISABLE_WARNING_PREFIX="-wd"
CFLAGS_WARNINGS_ARE_ERRORS="-WX"
WARNINGS_ENABLE_ALL="-W3"
DISABLED_WARNINGS="4800"
;;
solstudio)
DISABLE_WARNING_PREFIX="-erroff="
CFLAGS_WARNINGS_ARE_ERRORS="-errtags -errwarn=%all"
CFLAGS_WARNINGS_ARE_ERRORS="-errwarn=%all"
WARNINGS_ENABLE_ALL_CFLAGS="-v"
WARNINGS_ENABLE_ALL_CXXFLAGS="+w"
DISABLED_WARNINGS_C=""
DISABLED_WARNINGS_CXX=""
;;
gcc)
DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
;;
clang)
DISABLE_WARNING_PREFIX="-Wno-"
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2"
WARNINGS_ENABLE_ADDITIONAL_JVM="-Wpointer-arith -Wsign-compare -Wunused-function -Wundef -Wunused-value -Woverloaded-virtual -Wreorder"
DISABLED_WARNINGS="unused-parameter unused"
;;
xlc)
DISABLE_WARNING_PREFIX="-qsuppress="
CFLAGS_WARNINGS_ARE_ERRORS="-qhalt=w"
# Possibly a better subset than "all" is "lan:trx:ret:zea:cmp:ret"
WARNINGS_ENABLE_ALL="-qinfo=all -qformat=all"
DISABLED_WARNINGS=""
;;
esac
AC_SUBST(DISABLE_WARNING_PREFIX)
AC_SUBST(BUILD_CC_DISABLE_WARNING_PREFIX)
AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS)
AC_SUBST(DISABLED_WARNINGS)
AC_SUBST(DISABLED_WARNINGS_C)
AC_SUBST(DISABLED_WARNINGS_CXX)
])
AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS],
@@ -516,11 +553,14 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX
fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
TOOLCHAIN_CFLAGS_JDK="-mt"
TOOLCHAIN_CFLAGS_JDK_CONLY="-xCC -Xa -v -W0,-noglobal" # C only
TOOLCHAIN_FLAGS="-errtags -errfmt"
TOOLCHAIN_CFLAGS="-errshort=tags"
TOOLCHAIN_CFLAGS_JDK="-mt $TOOLCHAIN_FLAGS"
TOOLCHAIN_CFLAGS_JDK_CONLY="-xCC -Xa -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"
-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.
@@ -528,10 +568,11 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
fi
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt" # add on both CFLAGS
TOOLCHAIN_CFLAGS_JVM="-qtune=balanced \
-qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \
-qlanglvl=noredefmac -qnortti -qnoeh -qignerrno"
# Suggested additions: -qsrcmsg to get improved error reporting
# set -qtbtable=full for a better traceback table/better stacks in hs_err when xlc16 is used
TOOLCHAIN_CFLAGS_JDK="-qtbtable=full -qchars=signed -qfullpath -qsaveopt -qstackprotect" # add on both CFLAGS
TOOLCHAIN_CFLAGS_JVM="-qtbtable=full -qtune=balanced \
-qalias=noansi -qstrict -qtls=default -qnortti -qnoeh -qignerrno -qstackprotect"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
TOOLCHAIN_CFLAGS_JVM="-nologo -MD -MP"
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:wchar_t-"
@@ -539,37 +580,26 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
# CFLAGS WARNINGS STUFF
# Set JVM_CFLAGS warning handling
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# COMMON to gcc and clang
WARNING_CFLAGS_JVM="-Wpointer-arith -Wsign-compare -Wunused-function"
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
# Non-zero builds have stricter warnings
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wundef -Wformat=2"
fi
fi
if test "x$TOOLCHAIN_TYPE" = xgcc; then
WARNING_CFLAGS_JDK="-Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2"
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wunused-value -Woverloaded-virtual"
WARNING_CFLAGS_JDK="$WARNINGS_ENABLE_ALL"
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL $WARNINGS_ENABLE_ADDITIONAL_JVM"
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
# Non-zero builds have stricter warnings
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wreturn-type"
fi
elif test "x$TOOLCHAIN_TYPE" = xclang; then
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wno-deprecated"
if test "x$OPENJDK_TARGET_OS" = xlinux; then
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wno-sometimes-uninitialized"
WARNING_CFLAGS_JDK="-Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2"
WARNING_CFLAGS_JDK="$WARNINGS_ENABLE_ALL"
else
WARNING_CFLAGS_JDK="" # currently left empty
fi
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL $WARNINGS_ENABLE_ADDITIONAL_JVM"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
WARNING_CFLAGS_JDK_CONLY="-errshort=tags"
WARNING_CFLAGS_JDK_CXXONLY="+w"
WARNING_CFLAGS_JDK="-errtags=yes -errfmt"
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
WARNING_CFLAGS_JVM="" # currently left empty
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
WARNING_CFLAGS="-W3"
WARNING_CFLAGS_JDK="-wd4800"
WARNING_CFLAGS_JVM="-wd4800"
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
WARNING_CFLAGS="" # currently left empty
fi
# Set some additional per-OS defines.
@@ -585,6 +615,11 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
fi
fi
OS_CFLAGS="$OS_CFLAGS -DLIBC=$OPENJDK_TARGET_LIBC"
if test "x$OPENJDK_TARGET_LIBC" = xmusl; then
OS_CFLAGS="$OS_CFLAGS -DMUSL_LIBC"
fi
# Where does this really belong??
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
PICFLAG="-fPIC"
@@ -803,6 +838,18 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
$1_WARNING_CFLAGS_JVM="-Wno-format-zero-length -Wtype-limits -Wuninitialized"
fi
if test "x$TOOLCHAIN_TYPE" = xmicrosoft && test "x$ENABLE_REPRODUCIBLE_BUILD" = xtrue; then
# Enabling deterministic creates warnings if __DATE__ or __TIME__ are
# used, and since we are, silence that warning.
REPRODUCIBLE_CFLAGS="-experimental:deterministic -wd5048"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${REPRODUCIBLE_CFLAGS}],
PREFIX: $3,
IF_FALSE: [
REPRODUCIBLE_CFLAGS=
]
)
fi
# 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.
@@ -821,6 +868,27 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
FILE_MACRO_CFLAGS=
]
)
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft &&
test "x$ENABLE_REPRODUCIBLE_BUILD" = xtrue; then
# There is a known issue with the pathmap if the mapping is made to the
# empty string. Add a minimal string "s" as prefix to work around this.
# PATHMAP_FLAGS is also added to LDFLAGS in flags-ldflags.m4.
PATHMAP_FLAGS="-pathmap:${WORKSPACE_ROOT}=s"
FILE_MACRO_CFLAGS="$PATHMAP_FLAGS"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${FILE_MACRO_CFLAGS}],
PREFIX: $3,
IF_FALSE: [
PATHMAP_FLAGS=
FILE_MACRO_CFLAGS=
]
)
fi
AC_MSG_CHECKING([how to prevent absolute paths in output])
if test "x$FILE_MACRO_CFLAGS" != x; then
AC_MSG_RESULT([using compiler options])
else
AC_MSG_RESULT([using relative paths])
fi
fi
AC_SUBST(FILE_MACRO_CFLAGS)
@@ -829,12 +897,13 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
CFLAGS_JVM_COMMON="$ALWAYS_CFLAGS_JVM $ALWAYS_DEFINES_JVM \
$TOOLCHAIN_CFLAGS_JVM ${$1_TOOLCHAIN_CFLAGS_JVM} \
$OS_CFLAGS $OS_CFLAGS_JVM $CFLAGS_OS_DEF_JVM $DEBUG_CFLAGS_JVM \
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS"
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS \
$REPRODUCIBLE_CFLAGS"
CFLAGS_JDK_COMMON="$ALWAYS_CFLAGS_JDK $ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
$OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
$WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK \
$FILE_MACRO_CFLAGS"
$FILE_MACRO_CFLAGS $REPRODUCIBLE_CFLAGS"
# Use ${$2EXTRA_CFLAGS} to block EXTRA_CFLAGS to be added to build flags.
# (Currently we don't have any OPENJDK_BUILD_EXTRA_CFLAGS, but that might

View File

@@ -137,6 +137,14 @@ 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"
@@ -147,9 +155,17 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
fi
fi
if test "x$ENABLE_REPRODUCIBLE_BUILD" = "xtrue"; then
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
REPRODUCIBLE_LDFLAGS="-experimental:deterministic"
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%"
# PATHMAP_FLAGS is setup in flags-cflags.m4.
FILE_MACRO_LDFLAGS="${PATHMAP_FLAGS}"
fi
fi
@@ -201,7 +217,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
# JVM_VARIANT_PATH depends on if this is build or target...
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
$1_LDFLAGS_JDK_LIBPATH="-libpath:${OUTPUTDIR}/support/modules_libs/java.base"
$1_LDFLAGS_JDK_LIBPATH="-libpath:\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base"
else
$1_LDFLAGS_JDK_LIBPATH="-L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \
-L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/${$1_JVM_VARIANT_PATH}"
@@ -211,13 +227,15 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
LDFLAGS_JDK_COMMON="$BASIC_LDFLAGS $BASIC_LDFLAGS_JDK_ONLY \
$OS_LDFLAGS $DEBUGLEVEL_LDFLAGS_JDK_ONLY ${$2EXTRA_LDFLAGS}"
$2LDFLAGS_JDKLIB="$LDFLAGS_JDK_COMMON $BASIC_LDFLAGS_JDK_LIB_ONLY \
${$1_LDFLAGS_JDK_LIBPATH} $SHARED_LIBRARY_FLAGS"
${$1_LDFLAGS_JDK_LIBPATH} $SHARED_LIBRARY_FLAGS \
$REPRODUCIBLE_LDFLAGS $FILE_MACRO_LDFLAGS"
$2LDFLAGS_JDKEXE="$LDFLAGS_JDK_COMMON $EXECUTABLE_LDFLAGS \
${$1_CPU_EXECUTABLE_LDFLAGS}"
${$1_CPU_EXECUTABLE_LDFLAGS} $REPRODUCIBLE_LDFLAGS $FILE_MACRO_LDFLAGS"
$2JVM_LDFLAGS="$BASIC_LDFLAGS $BASIC_LDFLAGS_JVM_ONLY $OS_LDFLAGS $OS_LDFLAGS_JVM_ONLY \
$DEBUGLEVEL_LDFLAGS $DEBUGLEVEL_LDFLAGS_JVM_ONLY $BASIC_LDFLAGS_ONLYCXX \
${$1_CPU_LDFLAGS} ${$1_CPU_LDFLAGS_JVM_ONLY} ${$2EXTRA_LDFLAGS}"
${$1_CPU_LDFLAGS} ${$1_CPU_LDFLAGS_JVM_ONLY} ${$2EXTRA_LDFLAGS} \
$REPRODUCIBLE_LDFLAGS $FILE_MACRO_LDFLAGS"
AC_SUBST($2LDFLAGS_JDKLIB)
AC_SUBST($2LDFLAGS_JDKEXE)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, 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
@@ -122,7 +122,7 @@ AC_DEFUN([FLAGS_SETUP_MACOSX_VERSION],
if test "x$OPENJDK_TARGET_CPU_ARCH" = xaarch64; then
MACOSX_VERSION_MIN=11.00.00
else
MACOSX_VERSION_MIN=10.9.0
MACOSX_VERSION_MIN=10.12.0
fi
MACOSX_VERSION_MIN_NODOTS=${MACOSX_VERSION_MIN//\./}
@@ -238,6 +238,14 @@ AC_DEFUN([FLAGS_SETUP_SYSROOT_FLAGS],
fi
fi
# For the microsoft toolchain, we need to get the SYSROOT flags from the
# Visual Studio environment. Currently we cannot handle this as a separate
# build toolchain.
if test "x$1" = x && test "x$OPENJDK_BUILD_OS" = "xwindows" \
&& test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV
fi
AC_SUBST($1SYSROOT_CFLAGS)
AC_SUBST($1SYSROOT_LDFLAGS)
])
@@ -246,6 +254,7 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
[
# We should always include user supplied flags
FLAGS_SETUP_USER_SUPPLIED_FLAGS
# The sysroot flags are needed for configure to be able to run the compilers
FLAGS_SETUP_SYSROOT_FLAGS
@@ -280,10 +289,6 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
GLOBAL_LDFLAGS="$MACHINE_FLAG $SYSROOT_LDFLAGS $USER_LDFLAGS"
# FIXME: Don't really know how to do with this, but this was the old behavior
GLOBAL_CPPFLAGS="$SYSROOT_CFLAGS"
AC_SUBST(GLOBAL_CFLAGS)
AC_SUBST(GLOBAL_CXXFLAGS)
AC_SUBST(GLOBAL_LDFLAGS)
AC_SUBST(GLOBAL_CPPFLAGS)
# FIXME: For compatilibity, export this as EXTRA_CFLAGS for now.
EXTRA_CFLAGS="$MACHINE_FLAG $USER_CFLAGS"
@@ -302,6 +307,14 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
CXXFLAGS="$GLOBAL_CXXFLAGS"
LDFLAGS="$GLOBAL_LDFLAGS"
CPPFLAGS="$GLOBAL_CPPFLAGS"
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# When autoconf sends both compiler and linker flags to cl.exe at the same
# time, linker flags must be last at the command line. Achieve this by
# moving them to LIBS.
LIBS="$LIBS -link $LDFLAGS"
LDFLAGS=""
fi
])
AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL],
@@ -399,9 +412,6 @@ AC_DEFUN_ONCE([FLAGS_POST_TOOLCHAIN],
BUILD_SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS"
fi
fi
AC_SUBST(BUILD_SYSROOT_CFLAGS)
AC_SUBST(BUILD_SYSROOT_LDFLAGS)
])
AC_DEFUN([FLAGS_SETUP_FLAGS],
@@ -431,7 +441,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"])
@@ -462,7 +472,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"])
@@ -493,17 +503,17 @@ 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],
FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: ARG_ARGUMENT,
IF_TRUE: [C_COMP_SUPPORTS="yes"],
IF_FALSE: [C_COMP_SUPPORTS="no"],
PREFIX: [ARG_PREFIX])
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
PREFIX: ARG_PREFIX)
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: ARG_ARGUMENT,
IF_TRUE: [CXX_COMP_SUPPORTS="yes"],
IF_FALSE: [CXX_COMP_SUPPORTS="no"],
PREFIX: [ARG_PREFIX])
PREFIX: ARG_PREFIX)
AC_MSG_CHECKING([if both ARG_PREFIX[CC] and ARG_PREFIX[CXX] support "ARG_ARGUMENT"])
supports=no
@@ -525,7 +535,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, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2022, 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 @@
AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP],
[
AC_CHECK_PROGS(PKGHANDLER, apt-get yum brew port pkgutil pkgadd)
UTIL_LOOKUP_PROGS(PKGHANDLER, apt-get yum brew port pkgutil pkgadd pacman apk)
])
AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
@@ -36,24 +36,26 @@ AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
cygwin_help $MISSING_DEPENDENCY
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
msys_help $MISSING_DEPENDENCY
else
PKGHANDLER_COMMAND=
case $PKGHANDLER in
apt-get)
*apt-get)
apt_help $MISSING_DEPENDENCY ;;
yum)
*yum)
yum_help $MISSING_DEPENDENCY ;;
brew)
*brew)
brew_help $MISSING_DEPENDENCY ;;
port)
*port)
port_help $MISSING_DEPENDENCY ;;
pkgutil)
*pkgutil)
pkgutil_help $MISSING_DEPENDENCY ;;
pkgadd)
*pkgadd)
pkgadd_help $MISSING_DEPENDENCY ;;
*pacman)
pacman_help $MISSING_DEPENDENCY ;;
*apk)
apk_help $MISSING_DEPENDENCY ;;
esac
if test "x$PKGHANDLER_COMMAND" != x; then
@@ -79,10 +81,6 @@ cygwin_help() {
esac
}
msys_help() {
PKGHANDLER_COMMAND=""
}
apt_help() {
case $1 in
reduced)
@@ -146,6 +144,17 @@ brew_help() {
esac
}
pacman_help() {
case $1 in
unzip)
PKGHANDLER_COMMAND="sudo pacman -S unzip" ;;
zip)
PKGHANDLER_COMMAND="sudo pacman -S zip" ;;
make)
PKGHANDLER_COMMAND="sudo pacman -S make" ;;
esac
}
port_help() {
PKGHANDLER_COMMAND=""
}
@@ -158,6 +167,27 @@ pkgadd_help() {
PKGHANDLER_COMMAND=""
}
apk_help() {
case $1 in
devkit)
PKGHANDLER_COMMAND="sudo apk add alpine-sdk linux-headers" ;;
alsa)
PKGHANDLER_COMMAND="sudo apk add alsa-lib-dev" ;;
cups)
PKGHANDLER_COMMAND="sudo apk add cups-dev" ;;
fontconfig)
PKGHANDLER_COMMAND="sudo apk add fontconfig-dev" ;;
freetype)
PKGHANDLER_COMMAND="sudo apk add freetype-dev" ;;
harfbuzz)
PKGHANDLER_COMMAND="sudo apk add harfbuzz-dev" ;;
x11)
PKGHANDLER_COMMAND="sudo apk add libxtst-dev libxt-dev libxrender-dev libxrandr-dev" ;;
ccache)
PKGHANDLER_COMMAND="sudo apk add ccache" ;;
esac
}
# This function will check if we're called from the "configure" wrapper while
# printing --help. If so, we will print out additional information that can
# only be extracted within the autoconf script, and then exit. This must be
@@ -233,12 +263,13 @@ 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: %s version %s; windows version %s; prefix \"%s\"; root \"%s\"\n" \
"$WINENV_VENDOR" "$WINENV_VERSION" "$WINDOWS_VERSION" "$WINENV_PREFIX" "$WINENV_ROOT"
fi
printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
printf "* Toolchain: $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)\n"
printf "* C Compiler: Version $CC_VERSION_NUMBER (at $CC)\n"
printf "* C++ Compiler: Version $CXX_VERSION_NUMBER (at $CXX)\n"
printf "* C Compiler: Version $CC_VERSION_NUMBER (at ${CC#"$FIXPATH "})\n"
printf "* C++ Compiler: Version $CXX_VERSION_NUMBER (at ${CXX#"$FIXPATH "})\n"
printf "\n"
printf "Build performance summary:\n"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, 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
@@ -110,7 +110,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"])
@@ -119,9 +120,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
@@ -162,8 +165,11 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_DTRACE],
DTRACE_DEP_MISSING=false
AC_MSG_CHECKING([for dtrace tool])
if test "x$DTRACE" != "x" && test -x "$DTRACE"; then
AC_MSG_CHECKING([for dtrace tool and platform support])
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xppc"; then
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU_ARCH])
DTRACE_DEP_MISSING=true
elif test "x$DTRACE" != "x" && test -x "$DTRACE"; then
AC_MSG_RESULT([$DTRACE])
else
AC_MSG_RESULT([not found, cannot build dtrace])
@@ -291,7 +297,7 @@ AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_CDS],
AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
[
# Prettify the VALID_JVM_FEATURES string
BASIC_SORT_LIST(VALID_JVM_FEATURES, $VALID_JVM_FEATURES)
UTIL_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.
@@ -307,7 +313,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
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)
UTIL_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"])
@@ -315,12 +321,12 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
fi
# Check if the user has provided deprecated features
BASIC_GET_MATCHING_VALUES(DEPRECATED_FEATURES, $JVM_FEATURES $DISABLED_JVM_FEATURES, $DEPRECATED_JVM_FEATURES)
UTIL_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)
UTIL_GET_NON_MATCHING_VALUES(JVM_FEATURES, $JVM_FEATURES, $DEPRECATED_FEATURES)
UTIL_GET_NON_MATCHING_VALUES(DISABLED_JVM_FEATURES, $DISABLED_JVM_FEATURES, $DEPRECATED_FEATURES)
fi
fi
@@ -554,7 +560,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
AC_SUBST(VALID_JVM_FEATURES)
# We don't support --with-jvm-interpreter anymore, use zero instead.
BASIC_DEPRECATED_ARG_WITH(jvm-interpreter)
UTIL_DEPRECATED_ARG_WITH(jvm-interpreter)
])
###############################################################################
@@ -568,10 +574,10 @@ AC_DEFUN_ONCE([HOTSPOT_FINALIZE_JVM_FEATURES],
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)
UTIL_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)
UTIL_SORT_LIST(JVM_FEATURES_FOR_VARIANT, $JVM_FEATURES_FOR_VARIANT)
# Update real feature set variable
eval $features_var_name='"'$JVM_FEATURES_FOR_VARIANT'"'
@@ -584,7 +590,7 @@ AC_DEFUN_ONCE([HOTSPOT_FINALIZE_JVM_FEATURES],
fi
# Validate features (for configure script errors, not user errors)
BASIC_GET_NON_MATCHING_VALUES(INVALID_FEATURES, $JVM_FEATURES_FOR_VARIANT, $VALID_JVM_FEATURES)
UTIL_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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, 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
@@ -129,7 +129,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_OPEN_OR_CUSTOM],
# custom-make-dir is deprecated. Please use your custom-hook.m4 to override
# the IncludeCustomExtension macro.
BASIC_DEPRECATED_ARG_WITH(custom-make-dir)
UTIL_DEPRECATED_ARG_WITH(custom-make-dir)
])
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
@@ -346,12 +346,12 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
# --enable-debug-symbols is deprecated.
# Please use --with-native-debug-symbols=[internal,external,zipped] .
BASIC_DEPRECATED_ARG_ENABLE(debug-symbols, debug_symbols,
UTIL_DEPRECATED_ARG_ENABLE(debug-symbols, debug_symbols,
[Please use --with-native-debug-symbols=[[internal,external,zipped]] .])
# --enable-zip-debug-info is deprecated.
# Please use --with-native-debug-symbols=zipped .
BASIC_DEPRECATED_ARG_ENABLE(zip-debug-info, zip_debug_info,
UTIL_DEPRECATED_ARG_ENABLE(zip-debug-info, zip_debug_info,
[Please use --with-native-debug-symbols=zipped .])
AC_SUBST(COMPILE_WITH_DEBUG_SYMBOLS)
@@ -521,45 +521,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JLINK_OPTIONS],
AC_SUBST(JLINK_KEEP_PACKAGED_MODULES)
])
################################################################################
#
# Check if building of the jtreg failure handler should be enabled.
#
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
AC_SUBST(BUILD_FAILURE_HANDLER)
])
################################################################################
#
# Enable or disable generation of the classlist at build time
@@ -683,3 +644,178 @@ AC_DEFUN([JDKOPT_ALLOW_ABSOLUTE_PATHS_IN_OUTPUT],
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
REPRODUCIBLE_BUILD_DEFAULT=$with_source_date_present
if test "x$OPENJDK_BUILD_OS" = xwindows && \
test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = xfalse; then
# To support banning absolute paths on Windows, we must use the -pathmap
# method, which requires reproducible builds.
REPRODUCIBLE_BUILD_DEFAULT=true
fi
UTIL_ARG_ENABLE(NAME: reproducible-build, DEFAULT: $REPRODUCIBLE_BUILD_DEFAULT,
RESULT: ENABLE_REPRODUCIBLE_BUILD,
DESC: [enable reproducible builds (not yet fully functional)],
DEFAULT_DESC: [enabled if --with-source-date is given or on Windows without absolute paths])
if test "x$OPENJDK_BUILD_OS" = xwindows && \
test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = xfalse && \
test "x$ENABLE_REPRODUCIBLE_BUILD" = xfalse; then
AC_MSG_NOTICE([On Windows it is not possible to combine --disable-reproducible-builds])
AC_MSG_NOTICE([with --disable-absolute-paths-in-output.])
AC_MSG_ERROR([Cannot continue])
fi
AC_SUBST(SOURCE_DATE)
AC_SUBST(ENABLE_REPRODUCIBLE_BUILD)
])
################################################################################
#
# Setup signing on macOS. This can either be setup to sign with a real identity
# and enabling the hardened runtime, or it can simply add the debug entitlement
# com.apple.security.get-task-allow without actually signing any binaries. The
# latter is needed to be able to debug processes and dump core files on modern
# versions of macOS. It can also be skipped completely.
#
# Check if codesign will run with the given parameters
# $1: Parameters to run with
# $2: Checking message
# Sets CODESIGN_SUCCESS=true/false
AC_DEFUN([JDKOPT_CHECK_CODESIGN_PARAMS],
[
PARAMS="$1"
MESSAGE="$2"
CODESIGN_TESTFILE="$CONFIGURESUPPORT_OUTPUTDIR/codesign-testfile"
$RM "$CODESIGN_TESTFILE"
$TOUCH "$CODESIGN_TESTFILE"
CODESIGN_SUCCESS=false
eval \"$CODESIGN\" $PARAMS \"$CODESIGN_TESTFILE\" 2>&AS_MESSAGE_LOG_FD \
>&AS_MESSAGE_LOG_FD && CODESIGN_SUCCESS=true
$RM "$CODESIGN_TESTFILE"
AC_MSG_CHECKING([$MESSAGE])
if test "x$CODESIGN_SUCCESS" = "xtrue"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
])
AC_DEFUN([JDKOPT_CHECK_CODESIGN_HARDENED],
[
JDKOPT_CHECK_CODESIGN_PARAMS([-s \"$MACOSX_CODESIGN_IDENTITY\" --option runtime],
[if codesign with hardened runtime is possible])
])
AC_DEFUN([JDKOPT_CHECK_CODESIGN_DEBUG],
[
JDKOPT_CHECK_CODESIGN_PARAMS([-s -], [if debug mode codesign is possible])
])
AC_DEFUN([JDKOPT_SETUP_MACOSX_SIGNING],
[
ENABLE_CODESIGN=false
if test "x$OPENJDK_TARGET_OS" = "xmacosx" && test "x$CODESIGN" != "x"; then
UTIL_ARG_WITH(NAME: macosx-codesign, TYPE: literal, OPTIONAL: true,
VALID_VALUES: [hardened debug auto], DEFAULT: auto,
ENABLED_DEFAULT: true,
CHECKING_MSG: [for macosx code signing mode],
DESC: [set the macosx code signing mode (hardened, debug, auto)]
)
MACOSX_CODESIGN_MODE=disabled
if test "x$MACOSX_CODESIGN_ENABLED" = "xtrue"; then
# Check for user provided code signing identity.
UTIL_ARG_WITH(NAME: macosx-codesign-identity, TYPE: string,
DEFAULT: openjdk_codesign, CHECK_VALUE: UTIL_CHECK_STRING_NON_EMPTY,
DESC: [specify the macosx code signing identity],
CHECKING_MSG: [for macosx code signing identity]
)
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
if test "x$MACOSX_CODESIGN" = "xauto"; then
# Only try to default to hardened signing on release builds
if test "x$DEBUG_LEVEL" = "xrelease"; then
JDKOPT_CHECK_CODESIGN_HARDENED
if test "x$CODESIGN_SUCCESS" = "xtrue"; then
MACOSX_CODESIGN_MODE=hardened
fi
fi
if test "x$MACOSX_CODESIGN_MODE" = "xdisabled"; then
JDKOPT_CHECK_CODESIGN_DEBUG
if test "x$CODESIGN_SUCCESS" = "xtrue"; then
MACOSX_CODESIGN_MODE=debug
fi
fi
AC_MSG_CHECKING([for macosx code signing mode])
AC_MSG_RESULT([$MACOSX_CODESIGN_MODE])
elif test "x$MACOSX_CODESIGN" = "xhardened"; then
JDKOPT_CHECK_CODESIGN_HARDENED
if test "x$CODESIGN_SUCCESS" = "xfalse"; then
AC_MSG_ERROR([Signing with hardened runtime is not possible])
fi
MACOSX_CODESIGN_MODE=hardened
elif test "x$MACOSX_CODESIGN" = "xdebug"; then
JDKOPT_CHECK_CODESIGN_DEBUG
if test "x$CODESIGN_SUCCESS" = "xfalse"; then
AC_MSG_ERROR([Signing in debug mode is not possible])
fi
MACOSX_CODESIGN_MODE=debug
else
AC_MSG_ERROR([unknown value for --with-macosx-codesign: $MACOSX_CODESIGN])
fi
fi
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
AC_SUBST(MACOSX_CODESIGN_MODE)
fi
])

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.
@@ -58,13 +58,13 @@ AC_DEFUN([JDKVER_CHECK_AND_SET_NUMBER],
AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
[
# Warn user that old version arguments are deprecated.
BASIC_DEPRECATED_ARG_WITH([milestone])
BASIC_DEPRECATED_ARG_WITH([update-version])
BASIC_DEPRECATED_ARG_WITH([user-release-suffix])
BASIC_DEPRECATED_ARG_WITH([build-number])
BASIC_DEPRECATED_ARG_WITH([version-major])
BASIC_DEPRECATED_ARG_WITH([version-minor])
BASIC_DEPRECATED_ARG_WITH([version-security])
UTIL_DEPRECATED_ARG_WITH([milestone])
UTIL_DEPRECATED_ARG_WITH([update-version])
UTIL_DEPRECATED_ARG_WITH([user-release-suffix])
UTIL_DEPRECATED_ARG_WITH([build-number])
UTIL_DEPRECATED_ARG_WITH([version-major])
UTIL_DEPRECATED_ARG_WITH([version-minor])
UTIL_DEPRECATED_ARG_WITH([version-security])
# Source the version numbers file
. $AUTOCONF_DIR/version-numbers
@@ -76,34 +76,6 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
AC_SUBST(JDK_RC_PLATFORM_NAME)
AC_SUBST(HOTSPOT_VM_DISTRO)
# Set the MACOSX Bundle Name base
AC_ARG_WITH(macosx-bundle-name-base, [AS_HELP_STRING([--with-macosx-bundle-name-base],
[Set the MacOSX Bundle Name base. This is the base name for calculating MacOSX Bundle Names.
@<:@not specified@:>@])])
if test "x$with_macosx_bundle_name_base" = xyes; then
AC_MSG_ERROR([--with-macosx-bundle-name-base must have a value])
elif [ ! [[ $with_macosx_bundle_name_base =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-name-base contains non-printing characters: $with_macosx_bundle_name_base])
elif test "x$with_macosx_bundle_name_base" != x; then
# Set MACOSX_BUNDLE_NAME_BASE to the configured value.
MACOSX_BUNDLE_NAME_BASE="$with_macosx_bundle_name_base"
fi
AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
# Set the MACOSX Bundle ID base
AC_ARG_WITH(macosx-bundle-id-base, [AS_HELP_STRING([--with-macosx-bundle-id-base],
[Set the MacOSX Bundle ID base. This is the base ID for calculating MacOSX Bundle IDs.
@<:@not specified@:>@])])
if test "x$with_macosx_bundle_id_base" = xyes; then
AC_MSG_ERROR([--with-macosx-bundle-id-base must have a value])
elif [ ! [[ $with_macosx_bundle_id_base =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-id-base contains non-printing characters: $with_macosx_bundle_id_base])
elif test "x$with_macosx_bundle_id_base" != x; then
# Set MACOSX_BUNDLE_ID_BASE to the configured value.
MACOSX_BUNDLE_ID_BASE="$with_macosx_bundle_id_base"
fi
AC_SUBST(MACOSX_BUNDLE_ID_BASE)
# Set the JDK RC name
AC_ARG_WITH(jdk-rc-name, [AS_HELP_STRING([--with-jdk-rc-name],
[Set JDK RC name. This is used for FileDescription and ProductName properties
@@ -511,6 +483,60 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
VENDOR_VERSION_STRING="$with_vendor_version_string"
fi
# Set the MACOSX Bundle Name base
AC_ARG_WITH(macosx-bundle-name-base, [AS_HELP_STRING([--with-macosx-bundle-name-base],
[Set the MacOSX Bundle Name base. This is the base name for calculating MacOSX Bundle Names.
@<:@not specified@:>@])])
if test "x$with_macosx_bundle_name_base" = xyes; then
AC_MSG_ERROR([--with-macosx-bundle-name-base must have a value])
elif [ ! [[ $with_macosx_bundle_name_base =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-name-base contains non-printing characters: $with_macosx_bundle_name_base])
elif test "x$with_macosx_bundle_name_base" != x; then
# Set MACOSX_BUNDLE_NAME_BASE to the configured value.
MACOSX_BUNDLE_NAME_BASE="$with_macosx_bundle_name_base"
fi
AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
# Set the MACOSX Bundle ID base
AC_ARG_WITH(macosx-bundle-id-base, [AS_HELP_STRING([--with-macosx-bundle-id-base],
[Set the MacOSX Bundle ID base. This is the base ID for calculating MacOSX Bundle IDs.
@<:@not specified@:>@])])
if test "x$with_macosx_bundle_id_base" = xyes; then
AC_MSG_ERROR([--with-macosx-bundle-id-base must have a value])
elif [ ! [[ $with_macosx_bundle_id_base =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-id-base contains non-printing characters: $with_macosx_bundle_id_base])
elif test "x$with_macosx_bundle_id_base" != x; then
# Set MACOSX_BUNDLE_ID_BASE to the configured value.
MACOSX_BUNDLE_ID_BASE="$with_macosx_bundle_id_base"
else
# If using the default value, append the VERSION_PRE if there is one
# to make it possible to tell official builds apart from developer builds
if test "x$VERSION_PRE" != x; then
MACOSX_BUNDLE_ID_BASE="$MACOSX_BUNDLE_ID_BASE-$VERSION_PRE"
fi
fi
AC_SUBST(MACOSX_BUNDLE_ID_BASE)
# Set the MACOSX CFBundleVersion field
AC_ARG_WITH(macosx-bundle-build-version, [AS_HELP_STRING([--with-macosx-bundle-build-version],
[Set the MacOSX Bundle CFBundleVersion field. This key is a machine-readable
string composed of one to three period-separated integers and should represent the
build version. Defaults to the build number.])])
if test "x$with_macosx_bundle_build_version" = xyes; then
AC_MSG_ERROR([--with-macosx-bundle-build-version must have a value])
elif [ ! [[ $with_macosx_bundle_build_version =~ ^[0-9\.]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-build-version contains non numbers and periods: $with_macosx_bundle_build_version])
elif test "x$with_macosx_bundle_build_version" != x; then
MACOSX_BUNDLE_BUILD_VERSION="$with_macosx_bundle_build_version"
else
MACOSX_BUNDLE_BUILD_VERSION="$VERSION_BUILD"
# If VERSION_OPT consists of only numbers and periods, add it.
if [ [[ $VERSION_OPT =~ ^[0-9\.]+$ ]] ]; then
MACOSX_BUNDLE_BUILD_VERSION+=".$VERSION_OPT"
fi
fi
AC_SUBST(MACOSX_BUNDLE_BUILD_VERSION)
# We could define --with flags for these, if really needed
VERSION_CLASSFILE_MAJOR="$DEFAULT_VERSION_CLASSFILE_MAJOR"
VERSION_CLASSFILE_MINOR="$DEFAULT_VERSION_CLASSFILE_MINOR"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2022, 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
@@ -214,6 +214,9 @@ AC_DEFUN_ONCE([LIB_SETUP_ZLIB],
LIBZ_LIBS=""
if test "x$USE_EXTERNAL_LIBZ" = "xfalse"; then
LIBZ_CFLAGS="$LIBZ_CFLAGS -I$TOPDIR/src/java.base/share/native/libzip/zlib"
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
LIBZ_CFLAGS="$LIBZ_CFLAGS -DHAVE_UNISTD_H"
fi
else
LIBZ_LIBS="-lz"
fi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2022, 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,6 +23,13 @@
# questions.
#
################################################################################
# Setup libraries and functionalities needed to test the JDK.
################################################################################
# Minimum supported version
JTREG_MINIMUM_VERSION=7.3.1
###############################################################################
#
# Check for graalunit libs, needed for running graalunit tests.
@@ -51,7 +58,211 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_GRAALUNIT],
fi
fi
BASIC_FIXUP_PATH([GRAALUNIT_LIB])
UTIL_FIXUP_PATH([GRAALUNIT_LIB])
AC_SUBST(GRAALUNIT_LIB)
])
# Setup the JTReg Regression Test Harness.
AC_DEFUN_ONCE([LIB_TESTS_SETUP_JTREG],
[
AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
[Regression Test Harness @<:@probed@:>@])])
if test "x$with_jtreg" = xno; then
# jtreg disabled
AC_MSG_CHECKING([for jtreg test harness])
AC_MSG_RESULT([no, disabled])
elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then
# An explicit path is specified, use it.
JT_HOME="$with_jtreg"
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
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
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
if test "x$JT_HOME" != x; then
# JT_HOME set in environment, use it
if test ! -d "$JT_HOME"; then
AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME])
JT_HOME=
else
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
fi
if test "x$JT_HOME" = x; then
# JT_HOME is not set in environment, or was deemed invalid.
# Try to find jtreg on path
UTIL_LOOKUP_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
fi
fi
AC_MSG_CHECKING([for jtreg test harness])
if test "x$JT_HOME" != x; then
AC_MSG_RESULT([$JT_HOME])
else
AC_MSG_RESULT([no, not found])
if test "x$with_jtreg" = xyes; then
AC_MSG_ERROR([--with-jtreg was specified, but no jtreg found.])
fi
fi
fi
UTIL_FIXUP_EXECUTABLE(JTREGEXE)
UTIL_FIXUP_PATH(JT_HOME)
AC_SUBST(JT_HOME)
# Specify a JDK for running jtreg. Defaults to the BOOT_JDK.
AC_ARG_WITH(jtreg-jdk, [AS_HELP_STRING([--with-jdk],
[path to JDK for running jtreg @<:@BOOT_JDK@:>@])])
AC_MSG_CHECKING([for jtreg jdk])
if test "x${with_jtreg_jdk}" != x; then
if test "x${with_jtreg_jdk}" = xno; then
AC_MSG_RESULT([no, jtreg jdk not specified])
elif test "x${with_jtreg_jdk}" = xyes; then
AC_MSG_RESULT([not specified])
AC_MSG_ERROR([--with-jtreg-jdk needs a value])
else
JTREG_JDK="${with_jtreg_jdk}"
AC_MSG_RESULT([$JTREG_JDK])
UTIL_FIXUP_PATH(JTREG_JDK)
if test ! -f "$JTREG_JDK/bin/java"; then
AC_MSG_ERROR([Could not find jtreg java at $JTREG_JDK/bin/java])
fi
fi
else
JTREG_JDK="${BOOT_JDK}"
AC_MSG_RESULT([no, using BOOT_JDK])
fi
UTIL_FIXUP_PATH(JTREG_JDK)
AC_SUBST([JTREG_JDK])
# For use in the configure script
JTREG_JAVA="$FIXPATH $JTREG_JDK/bin/java"
# Verify jtreg version
if test "x$JT_HOME" != x; then
AC_MSG_CHECKING([jtreg jar existence])
if test ! -f "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_ERROR([Could not find jtreg jar at $JT_HOME/lib/jtreg.jar])
fi
AC_MSG_CHECKING([jtreg version number])
# jtreg -version looks like this: "jtreg 6.1+1-19"
# Extract actual version part ("6.1" in this case)
jtreg_version_full=$($JTREG_JAVA -jar $JT_HOME/lib/jtreg.jar -version | $HEAD -n 1 | $CUT -d ' ' -f 2)
jtreg_version=${jtreg_version_full/%+*}
AC_MSG_RESULT([$jtreg_version])
# This is a simplified version of TOOLCHAIN_CHECK_COMPILER_VERSION
comparable_actual_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$jtreg_version"`
comparable_minimum_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$JTREG_MINIMUM_VERSION"`
if test $comparable_actual_version -lt $comparable_minimum_version ; then
AC_MSG_ERROR([jtreg version is too old, at least version $JTREG_MINIMUM_VERSION is required])
fi
fi
AC_SUBST(JTREGEXE)
])
# Setup the JIB dependency resolver
AC_DEFUN_ONCE([LIB_TESTS_SETUP_JIB],
[
AC_ARG_WITH(jib, [AS_HELP_STRING([--with-jib],
[Jib dependency management tool @<:@not used@:>@])])
if test "x$with_jib" = xno || test "x$with_jib" = x; then
# jib disabled
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(no)
elif test "x$with_jib" = xyes; then
AC_MSG_ERROR([Must supply a value to --with-jib])
else
JIB_HOME="${with_jib}"
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(${JIB_HOME})
if test ! -d "${JIB_HOME}"; then
AC_MSG_ERROR([--with-jib must be a directory])
fi
JIB_JAR=$(ls ${JIB_HOME}/lib/jib-*.jar)
if test ! -f "${JIB_JAR}"; then
AC_MSG_ERROR([Could not find jib jar file in ${JIB_HOME}])
fi
fi
AC_SUBST(JIB_HOME)
])
################################################################################
#
# Check if building of the jtreg failure handler should be enabled.
#
AC_DEFUN_ONCE([LIB_TESTS_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
AC_SUBST(BUILD_FAILURE_HANDLER)
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, 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,6 +35,7 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
X_CFLAGS=
X_LIBS=
else
x_libraries_orig="$x_libraries"
if test "x${with_x}" = xno; then
AC_MSG_ERROR([It is not possible to disable the use of X11. Remove the --without-x option.])
@@ -48,6 +49,7 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
fi
if test "x$x_libraries" = xNONE; then
x_libraries="${with_x}/lib"
x_libraries_orig="$x_libraries"
fi
else
# Check if the user has specified sysroot, but not --with-x, --x-includes or --x-libraries.
@@ -82,8 +84,8 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
AC_PATH_XTRA
# AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling
# this doesn't make sense so we remove it.
if test "x$COMPILE_TYPE" = xcross; then
# this doesn't make sense so we remove it; same for sysroot (devkit).
if test "x$COMPILE_TYPE" = xcross || (test "x$SYSROOT" != "x" && test "x$x_libraries_orig" = xNONE); then
X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[[^ ]]*//g'`
fi
@@ -103,22 +105,28 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
OLD_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $SYSROOT_CFLAGS $X_CFLAGS"
HEADERS_TO_CHECK="X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h"
# There is no Xrandr extension on AIX
if test "x$OPENJDK_TARGET_OS" != xaix; then
HEADERS_TO_CHECK="$HEADERS_TO_CHECK X11/extensions/Xrandr.h"
AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h X11/extensions/Xrandr.h],
[X11_HEADERS_OK=yes],
[X11_HEADERS_OK=no; break],
[
# include <X11/Xlib.h>
# include <X11/Xutil.h>
]
)
else
# There is no Xrandr extension on AIX. Code is duplicated to avoid autoconf
# 2.71+ warning "AC_CHECK_HEADERS: you should use literals"
AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h],
[X11_HEADERS_OK=yes],
[X11_HEADERS_OK=no; break],
[
# include <X11/Xlib.h>
# include <X11/Xutil.h>
]
)
fi
# Need to include Xlib.h and Xutil.h to avoid "present but cannot be compiled" warnings on Solaris 10
AC_CHECK_HEADERS([$HEADERS_TO_CHECK],
[X11_HEADERS_OK=yes],
[X11_HEADERS_OK=no; break],
[
# include <X11/Xlib.h>
# include <X11/Xutil.h>
]
)
if test "x$X11_HEADERS_OK" = xno; then
HELP_MSG_MISSING_DEPENDENCY([x11])
AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h Xrandr.h XTest.h Intrinsic.h). $HELP_MSG])

View File

@@ -144,7 +144,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
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 \
wsock32.lib winmm.lib version.lib psapi.lib"
ws2_32.lib winmm.lib version.lib psapi.lib"
fi
JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
@@ -187,9 +187,9 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
# Deprecated libraries, keep the flags for backwards compatibility
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
BASIC_DEPRECATED_ARG_WITH([dxsdk])
BASIC_DEPRECATED_ARG_WITH([dxsdk-lib])
BASIC_DEPRECATED_ARG_WITH([dxsdk-include])
UTIL_DEPRECATED_ARG_WITH([dxsdk])
UTIL_DEPRECATED_ARG_WITH([dxsdk-lib])
UTIL_DEPRECATED_ARG_WITH([dxsdk-include])
fi
# Control if libzip can use mmap. Available for purposes of overriding.
@@ -214,7 +214,7 @@ AC_DEFUN_ONCE([LIB_SETUP_SOLARIS_STLPORT],
fi
if test -f "$STLPORT_LIB"; then
AC_MSG_RESULT([yes, $STLPORT_LIB])
BASIC_FIXUP_PATH([STLPORT_LIB])
UTIL_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])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, 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
@@ -194,9 +194,9 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_OS],
VAR_OS=windows
VAR_OS_ENV=windows.cygwin
;;
*mingw*)
*msys* | *mingw*)
VAR_OS=windows
VAR_OS_ENV=windows.msys
VAR_OS_ENV=windows.msys2
;;
*aix*)
VAR_OS=aix
@@ -208,6 +208,24 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_OS],
esac
])
# Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
# Converts autoconf style OS name to OpenJDK style, into
# VAR_LIBC.
AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_LIBC],
[
case "$1" in
*linux*-musl)
VAR_LIBC=musl
;;
*linux*-gnu)
VAR_LIBC=gnu
;;
*)
VAR_LIBC=default
;;
esac
])
# Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
# Converts autoconf style OS name to OpenJDK style, into
# VAR_ABI.
@@ -252,9 +270,10 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
AC_SUBST(OPENJDK_TARGET_AUTOCONF_NAME)
AC_SUBST(OPENJDK_BUILD_AUTOCONF_NAME)
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU/LIBC variables.
PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu)
PLATFORM_EXTRACT_VARS_FROM_LIBC($build_os)
PLATFORM_EXTRACT_VARS_FROM_ABI($build_os)
# ..and setup our own variables. (Do this explicitly to facilitate searching)
OPENJDK_BUILD_OS="$VAR_OS"
@@ -273,6 +292,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
OPENJDK_BUILD_CPU_AUTOCONF="$build_cpu"
OPENJDK_BUILD_LIBC="$VAR_LIBC"
OPENJDK_BUILD_ABI="$VAR_ABI"
AC_SUBST(OPENJDK_BUILD_OS)
AC_SUBST(OPENJDK_BUILD_OS_TYPE)
@@ -282,14 +302,21 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
AC_SUBST(OPENJDK_BUILD_CPU_BITS)
AC_SUBST(OPENJDK_BUILD_CPU_ENDIAN)
AC_SUBST(OPENJDK_BUILD_CPU_AUTOCONF)
AC_SUBST(OPENJDK_BUILD_LIBC)
AC_SUBST(OPENJDK_BUILD_ABI)
AC_MSG_CHECKING([openjdk-build os-cpu])
AC_MSG_RESULT([$OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU])
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
if test "x$OPENJDK_BUILD_OS" = "xlinux"; then
AC_MSG_CHECKING([openjdk-build C library])
AC_MSG_RESULT([$OPENJDK_BUILD_LIBC])
fi
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU/LIBC variables.
PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu)
PLATFORM_EXTRACT_VARS_FROM_LIBC($host_os)
PLATFORM_EXTRACT_VARS_FROM_ABI($host_os)
# ... and setup our own variables. (Do this explicitly to facilitate searching)
OPENJDK_TARGET_OS="$VAR_OS"
@@ -309,6 +336,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
OPENJDK_TARGET_CPU_AUTOCONF="$host_cpu"
OPENJDK_TARGET_OS_UPPERCASE=`$ECHO $OPENJDK_TARGET_OS | $TR 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
OPENJDK_TARGET_LIBC="$VAR_LIBC"
OPENJDK_TARGET_ABI="$VAR_ABI"
AC_SUBST(OPENJDK_TARGET_OS)
@@ -320,10 +348,16 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
AC_SUBST(OPENJDK_TARGET_CPU_BITS)
AC_SUBST(OPENJDK_TARGET_CPU_ENDIAN)
AC_SUBST(OPENJDK_TARGET_CPU_AUTOCONF)
AC_SUBST(OPENJDK_TARGET_LIBC)
AC_SUBST(OPENJDK_TARGET_ABI)
AC_MSG_CHECKING([openjdk-target os-cpu])
AC_MSG_RESULT([$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
AC_MSG_CHECKING([openjdk-target C library])
AC_MSG_RESULT([$OPENJDK_TARGET_LIBC])
fi
])
# Check if a reduced build (32-bit on 64-bit platforms) is requested, and modify behaviour
@@ -447,9 +481,11 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
fi
# The new version string in JDK 9 also defined new naming of OS and ARCH for bundles
# Macosx is osx and x86_64 is x64
# The macOS bundle name was revised in JDK 17
#
# macosx is macos and x86_64 is x64
if test "x$OPENJDK_$1_OS" = xmacosx; then
OPENJDK_$1_OS_BUNDLE="osx"
OPENJDK_$1_OS_BUNDLE="macos"
else
OPENJDK_$1_OS_BUNDLE="$OPENJDK_TARGET_OS"
fi
@@ -458,7 +494,13 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
else
OPENJDK_$1_CPU_BUNDLE="$OPENJDK_$1_CPU"
fi
OPENJDK_$1_BUNDLE_PLATFORM="${OPENJDK_$1_OS_BUNDLE}-${OPENJDK_$1_CPU_BUNDLE}"
OPENJDK_$1_LIBC_BUNDLE=""
if test "x$OPENJDK_$1_LIBC" = "xmusl"; then
OPENJDK_$1_LIBC_BUNDLE="-$OPENJDK_$1_LIBC"
fi
OPENJDK_$1_BUNDLE_PLATFORM="${OPENJDK_$1_OS_BUNDLE}-${OPENJDK_$1_CPU_BUNDLE}${OPENJDK_$1_LIBC_BUNDLE}"
AC_SUBST(OPENJDK_$1_BUNDLE_PLATFORM)
if test "x$COMPILE_TYPE" = "xcross"; then
@@ -524,11 +566,16 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
HOTSPOT_$1_CPU_DEFINE=S390
elif test "x$OPENJDK_$1_CPU" = xriscv64; then
HOTSPOT_$1_CPU_DEFINE=RISCV
elif test "x$OPENJDK_$1_CPU" = xloongarch64; then
HOTSPOT_$1_CPU_DEFINE=LOONGARCH64
elif test "x$OPENJDK_$1_CPU" != x; then
HOTSPOT_$1_CPU_DEFINE=$(echo $OPENJDK_$1_CPU | tr a-z A-Z)
fi
AC_SUBST(HOTSPOT_$1_CPU_DEFINE)
HOTSPOT_$1_LIBC=$OPENJDK_$1_LIBC
AC_SUBST(HOTSPOT_$1_LIBC)
# For historical reasons, the OS include directories have odd names.
OPENJDK_$1_OS_INCLUDE_SUBDIR="$OPENJDK_TARGET_OS"
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
@@ -557,9 +604,11 @@ AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
RELEASE_FILE_OS_NAME="AIX"
fi
RELEASE_FILE_OS_ARCH=${OPENJDK_TARGET_CPU}
RELEASE_FILE_LIBC=${OPENJDK_TARGET_LIBC}
AC_SUBST(RELEASE_FILE_OS_NAME)
AC_SUBST(RELEASE_FILE_OS_ARCH)
AC_SUBST(RELEASE_FILE_LIBC)
])
AC_DEFUN([PLATFORM_SET_MODULE_TARGET_OS_VALUES],
@@ -581,6 +630,7 @@ AC_DEFUN([PLATFORM_SET_MODULE_TARGET_OS_VALUES],
])
#%%% Build and target systems %%%
# Make sure to only use tools set up in BASIC_SETUP_FUNDAMENTAL_TOOLS.
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET],
[
# Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target"
@@ -664,7 +714,7 @@ AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS],
[
###############################################################################
#
# Is the target little of big endian?
# Is the target little or big endian?
#
AC_C_BIGENDIAN([ENDIAN="big"],[ENDIAN="little"],[ENDIAN="unknown"],[ENDIAN="universal_endianness"])

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
@@ -28,9 +28,6 @@ AC_DEFUN_ONCE([SRCDIRS_SETUP_DIRS],
OUTPUTDIR="$OUTPUTDIR"
AC_SUBST(OUTPUTDIR)
JDK_OUTPUTDIR="$OUTPUTDIR/jdk"
# Where are the sources.
AC_SUBST(TOPDIR)
])
################################################################################
@@ -46,7 +43,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

@@ -32,10 +32,15 @@
# The command line given to configure.
CONFIGURE_COMMAND_LINE:=@CONFIGURE_COMMAND_LINE@
# The current directory when configure was run
CONFIGURE_START_DIR:=@CONFIGURE_START_DIR@
# A self-referential reference to this file.
SPEC:=@SPEC@
# Path to autoconf if overriden by the user, to be used by "make reconfigure"
AUTOCONF := @AUTOCONF@
# SPACE and COMMA are defined in MakeBase.gmk, but they are also used in
# some definitions here, and are needed if MakeBase.gmk is not included before
# this file.
@@ -75,6 +80,8 @@ OPENJDK_TARGET_CPU_ARCH:=@OPENJDK_TARGET_CPU_ARCH@
OPENJDK_TARGET_CPU_BITS:=@OPENJDK_TARGET_CPU_BITS@
OPENJDK_TARGET_CPU_ENDIAN:=@OPENJDK_TARGET_CPU_ENDIAN@
OPENJDK_TARGET_LIBC:=@OPENJDK_TARGET_LIBC@
COMPILE_TYPE:=@COMPILE_TYPE@
# Legacy support
@@ -91,6 +98,8 @@ HOTSPOT_TARGET_CPU := @HOTSPOT_TARGET_CPU@
HOTSPOT_TARGET_CPU_ARCH := @HOTSPOT_TARGET_CPU_ARCH@
HOTSPOT_TARGET_CPU_DEFINE := @HOTSPOT_TARGET_CPU_DEFINE@
HOTSPOT_TARGET_LIBC := @HOTSPOT_TARGET_LIBC@
OPENJDK_TARGET_BUNDLE_PLATFORM:=@OPENJDK_TARGET_BUNDLE_PLATFORM@
JDK_ARCH_ABI_PROP_NAME := @JDK_ARCH_ABI_PROP_NAME@
@@ -105,6 +114,8 @@ OPENJDK_BUILD_CPU_ARCH:=@OPENJDK_BUILD_CPU_ARCH@
OPENJDK_BUILD_CPU_BITS:=@OPENJDK_BUILD_CPU_BITS@
OPENJDK_BUILD_CPU_ENDIAN:=@OPENJDK_BUILD_CPU_ENDIAN@
OPENJDK_BUILD_LIBC:=@OPENJDK_BUILD_LIBC@
OPENJDK_BUILD_OS_INCLUDE_SUBDIR:=@OPENJDK_TARGET_OS_INCLUDE_SUBDIR@
# Target platform value in ModuleTarget class file attribute.
@@ -113,19 +124,29 @@ OPENJDK_MODULE_TARGET_PLATFORM:=@OPENJDK_MODULE_TARGET_PLATFORM@
# OS_* properties in release file
RELEASE_FILE_OS_NAME:=@RELEASE_FILE_OS_NAME@
RELEASE_FILE_OS_ARCH:=@RELEASE_FILE_OS_ARCH@
RELEASE_FILE_LIBC:=@RELEASE_FILE_LIBC@
SOURCE_DATE := @SOURCE_DATE@
ENABLE_REPRODUCIBLE_BUILD := @ENABLE_REPRODUCIBLE_BUILD@
LIBM:=@LIBM@
LIBDL:=@LIBDL@
# colon or semicolon
PATH_SEP:=@PATH_SEP@
WINENV_ROOT := @WINENV_ROOT@
WINENV_PREFIX := @WINENV_PREFIX@
ifeq (@OPENJDK_BUILD_OS_ENV@, windows.msys2)
# Prohibit msys2 from attemping any path wrangling
export MSYS2_ARG_CONV_EXCL := "*"
endif
# Save the original path before replacing it with the Visual Studio tools
ORIGINAL_PATH:=@ORIGINAL_PATH@
ifeq ($(OPENJDK_TARGET_OS), windows)
# On Windows, the Visual Studio toolchain needs the PATH to be adjusted
# to include Visual Studio tools (this needs to be in cygwin/msys style).
export PATH:=@VS_PATH@
ORIGINAL_PATH := @ORIGINAL_PATH@
ifeq (@TOOLCHAIN_TYPE@, microsoft)
# The Visual Studio toolchain needs the PATH to be adjusted to include
# Visual Studio tools.
export PATH := @TOOLCHAIN_PATH@:$(PATH)
endif
SYSROOT_CFLAGS := @SYSROOT_CFLAGS@
@@ -157,6 +178,7 @@ COMPANY_NAME:=@COMPANY_NAME@
HOTSPOT_VM_DISTRO:=@HOTSPOT_VM_DISTRO@
MACOSX_BUNDLE_NAME_BASE=@MACOSX_BUNDLE_NAME_BASE@
MACOSX_BUNDLE_ID_BASE=@MACOSX_BUNDLE_ID_BASE@
MACOSX_BUNDLE_BUILD_VERSION=@MACOSX_BUNDLE_BUILD_VERSION@
USERNAME:=@USERNAME@
VENDOR_URL:=@VENDOR_URL@
VENDOR_URL_BUG:=@VENDOR_URL_BUG@
@@ -400,7 +422,8 @@ MACOSX_VERSION_MIN=@MACOSX_VERSION_MIN@
# The highest allowed version of macosx
MACOSX_VERSION_MAX=@MACOSX_VERSION_MAX@
# The macosx code signing identity to use
# The macosx code signing configuration
MACOSX_CODESIGN_MODE:=@MACOSX_CODESIGN_MODE@
MACOSX_CODESIGN_IDENTITY=@MACOSX_CODESIGN_IDENTITY@
# Toolchain type: gcc, clang, solstudio, lxc, microsoft...
@@ -446,6 +469,10 @@ 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@
# A global flag (true or false) determining if native warnings are considered errors.
WARNINGS_AS_ERRORS := @WARNINGS_AS_ERRORS@
@@ -454,7 +481,7 @@ CFLAGS_CCACHE:=@CFLAGS_CCACHE@
ADLC_CXXFLAG=@ADLC_CXXFLAG@
# Tools that potentially need to be cross compilation aware.
CC:=@FIXPATH@ @CCACHE@ @ICECC@ @CC@
CC := @CCACHE@ @ICECC@ @CC@
# CFLAGS used to compile the jdk native libraries (C-code)
CFLAGS_JDKLIB:=@CFLAGS_JDKLIB@
@@ -480,12 +507,12 @@ EXTRA_CXXFLAGS = @EXTRA_CXXFLAGS@
EXTRA_LDFLAGS = @EXTRA_LDFLAGS@
EXTRA_ASFLAGS = @EXTRA_ASFLAGS@
CXX:=@FIXPATH@ @CCACHE@ @ICECC@ @CXX@
CXX := @CCACHE@ @ICECC@ @CXX@
CPP:=@FIXPATH@ @CPP@
CPP := @CPP@
# The linker can be gcc or ld on unix systems, or link.exe on windows systems.
LD:=@FIXPATH@ @LD@
LD := @LD@
# Linker used by the jaotc tool for AOT compilation.
LD_JAOTC:=@LD_JAOTC@
@@ -506,7 +533,7 @@ JDKEXE_LIBS:=@JDKEXE_LIBS@
LDFLAGS_CXX_JDK:=@LDFLAGS_CXX_JDK@
# Sometimes a different linker is needed for c++ libs
LDCXX:=@FIXPATH@ @LDCXX@
LDCXX := @LDCXX@
# The flags for linking libstdc++ linker.
LIBCXX:=@LIBCXX@
@@ -515,22 +542,22 @@ LDFLAGS_TESTEXE:=@LDFLAGS_TESTEXE@
# BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the
# build platform.
BUILD_CC:=@FIXPATH@ @BUILD_ICECC@ @BUILD_CC@
BUILD_CXX:=@FIXPATH@ @BUILD_ICECC@ @BUILD_CXX@
BUILD_LD:=@FIXPATH@ @BUILD_LD@
BUILD_LDCXX:=@FIXPATH@ @BUILD_LDCXX@
BUILD_AS:=@FIXPATH@ @BUILD_AS@
BUILD_AR:=@FIXPATH@ @BUILD_AR@
BUILD_NM:=@FIXPATH@ @BUILD_NM@
BUILD_CC := @BUILD_ICECC@ @BUILD_CC@
BUILD_CXX := @BUILD_ICECC@ @BUILD_CXX@
BUILD_LD := @BUILD_LD@
BUILD_LDCXX := @BUILD_LDCXX@
BUILD_AS := @BUILD_AS@
BUILD_AR := @BUILD_AR@
BUILD_NM := @BUILD_NM@
BUILD_OBJCOPY:=@BUILD_OBJCOPY@
BUILD_STRIP:=@BUILD_STRIP@
BUILD_SYSROOT_CFLAGS:=@BUILD_SYSROOT_CFLAGS@
BUILD_SYSROOT_LDFLAGS:=@BUILD_SYSROOT_LDFLAGS@
AS:=@FIXPATH@ @AS@
AS := @AS@
# AR is used to create a static library (is ar in unix, lib.exe in windows)
AR:=@FIXPATH@ @AR@
AR := @AR@
ARFLAGS:=@ARFLAGS@
NM:=@NM@
@@ -583,7 +610,7 @@ STATIC_LIBRARY=@STATIC_LIBRARY@
LIBRARY_PREFIX:=@LIBRARY_PREFIX@
SHARED_LIBRARY_SUFFIX:=@SHARED_LIBRARY_SUFFIX@
STATIC_LIBRARY_SUFFIX:=@STATIC_LIBRARY_SUFFIX@
EXE_SUFFIX:=@EXE_SUFFIX@
EXECUTABLE_SUFFIX:=@EXECUTABLE_SUFFIX@
OBJ_SUFFIX:=@OBJ_SUFFIX@
STATIC_BUILD:=@STATIC_BUILD@
@@ -605,28 +632,28 @@ JAVADOC_CMD:=@JAVADOC@
JAR_CMD:=@JAR@
JLINK_CMD := @JLINK@
JMOD_CMD := @JMOD@
JARSIGNER_CMD:=@JARSIGNER@
SJAVAC_SERVER_JAVA_CMD:=@SJAVAC_SERVER_JAVA@
# 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)
JAVAC=@FIXPATH@ $(JAVAC_CMD)
JAVADOC=@FIXPATH@ $(JAVADOC_CMD)
JAR=@FIXPATH@ $(JAR_CMD)
JLINK = @FIXPATH@ $(JLINK_CMD)
JMOD = @FIXPATH@ $(JMOD_CMD) $(JAVA_TOOL_FLAGS_SMALL)
JARSIGNER=@FIXPATH@ $(JARSIGNER_CMD)
JAVA = $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
JAVA_SMALL = $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
JAVA_JAVAC = $(JAVA_CMD) $(JAVA_FLAGS_JAVAC) $(JAVA_FLAGS)
JAVAC = $(JAVAC_CMD)
JAVADOC = $(JAVADOC_CMD)
JAR = $(JAR_CMD)
JLINK = $(JLINK_CMD)
JMOD = $(JMOD_CMD) $(JAVA_TOOL_FLAGS_SMALL)
# 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 = $(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@
JAVAC_FLAGS? = @JAVAC_FLAGS@
JTREG_JDK := @JTREG_JDK@
JTREG_JAVA = @FIXPATH@ $(JTREG_JDK)/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
BUILD_JAVA_FLAGS := @BOOTCYCLE_JVM_ARGS_BIG@
BUILD_JAVA=@FIXPATH@ $(BUILD_JDK)/bin/java $(BUILD_JAVA_FLAGS)
@@ -683,9 +710,7 @@ CCACHE:=@CCACHE@
CD:=cd
CHMOD:=@CHMOD@
CODESIGN:=@CODESIGN@
COMM:=@COMM@
CP:=@CP@
CPIO:=@CPIO@
CUT:=@CUT@
DATE:=@DATE@
DIFF:=@DIFF@
@@ -707,7 +732,7 @@ MKDIR:=@MKDIR@
MV:=@MV@
NAWK:=@NAWK@
NICE:=@NICE@
PANDOC:=@FIXPATH@ @PANDOC@
PANDOC:=@PANDOC@
PATCH:=@PATCH@
PRINTF:=@PRINTF@
READLINK:=@READLINK@
@@ -723,15 +748,14 @@ TIME:=@TIME@
IS_GNU_TIME:=@IS_GNU_TIME@
TR:=@TR@
TOUCH:=@TOUCH@
UNIQ:=@UNIQ@
WC:=@WC@
XARGS:=@XARGS@
ZIPEXE:=@ZIPEXE@
UNZIP:=@UNZIP@
MT:=@FIXPATH@ @MT@
RC:=@FIXPATH@ @RC@
DUMPBIN:=@FIXPATH@ @DUMPBIN@
CYGPATH:=@CYGPATH@
MT:=@MT@
RC:=@RC@
DUMPBIN:=@DUMPBIN@
PATHTOOL:=@PATHTOOL@
LDD:=@LDD@
OTOOL:=@OTOOL@
READELF:=@READELF@
@@ -749,7 +773,9 @@ JTREGEXE:=@JTREGEXE@
JIB_HOME:=@JIB_HOME@
XCODEBUILD=@XCODEBUILD@
DTRACE := @DTRACE@
FIXPATH:=@FIXPATH@
FIXPATH := @FIXPATH@
FIXPATH_BASE := @FIXPATH_BASE@
ULIMIT:=@ULIMIT@
TAR_TYPE:=@TAR_TYPE@
TAR_CREATE_EXTRA_PARAM:=@TAR_CREATE_EXTRA_PARAM@
@@ -766,9 +792,12 @@ 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@
####################################################
#

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2024, 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,6 +32,7 @@
# compilers and related tools that are used.
########################################################################
m4_include([toolchain_microsoft.m4])
# All valid toolchains, regardless of platform (used by help.m4)
VALID_TOOLCHAINS_all="gcc clang solstudio xlc microsoft"
@@ -91,7 +92,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 +143,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 [].
@@ -180,7 +181,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_FILENAME_PATTERNS],
SHARED_LIBRARY='[$]1.dll'
STATIC_LIBRARY='[$]1.lib'
OBJ_SUFFIX='.obj'
EXE_SUFFIX='.exe'
EXECUTABLE_SUFFIX='.exe'
else
LIBRARY_PREFIX=lib
SHARED_LIBRARY_SUFFIX='.so'
@@ -188,7 +189,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_FILENAME_PATTERNS],
SHARED_LIBRARY='lib[$]1.so'
STATIC_LIBRARY='lib[$]1.a'
OBJ_SUFFIX='.o'
EXE_SUFFIX=''
EXECUTABLE_SUFFIX=''
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
# For full static builds, we're overloading the SHARED_LIBRARY
# variables in order to limit the amount of changes required.
@@ -212,7 +213,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_FILENAME_PATTERNS],
AC_SUBST(SHARED_LIBRARY)
AC_SUBST(STATIC_LIBRARY)
AC_SUBST(OBJ_SUFFIX)
AC_SUBST(EXE_SUFFIX)
AC_SUBST(EXECUTABLE_SUFFIX)
])
# Determine which toolchain type to use, and make sure it is valid for this
@@ -278,6 +279,20 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
fi
AC_SUBST(TOOLCHAIN_TYPE)
# on AIX, check for xlclang++ on the PATH and TOOLCHAIN_PATH and use it if it is available
if test "x$OPENJDK_TARGET_OS" = xaix; then
if test "x$TOOLCHAIN_PATH" != x; then
XLC_TEST_PATH=${TOOLCHAIN_PATH}/
fi
XLCLANG_VERSION_OUTPUT=`${XLC_TEST_PATH}xlclang++ -qversion 2>&1 | $HEAD -n 1`
$ECHO "$XLCLANG_VERSION_OUTPUT" | $GREP "IBM XL C/C++ for AIX" > /dev/null
if test $? -eq 0; then
AC_MSG_NOTICE([xlclang++ output: $XLCLANG_VERSION_OUTPUT])
XLC_USES_CLANG=true
fi
fi
TOOLCHAIN_CC_BINARY_clang="clang"
TOOLCHAIN_CC_BINARY_gcc="gcc"
TOOLCHAIN_CC_BINARY_microsoft="cl"
@@ -290,6 +305,14 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
TOOLCHAIN_CXX_BINARY_solstudio="CC"
TOOLCHAIN_CXX_BINARY_xlc="xlC_r"
if test "x$OPENJDK_TARGET_OS" = xaix; then
if test "x$XLC_USES_CLANG" = xtrue; then
AC_MSG_NOTICE([xlclang++ detected, using it])
TOOLCHAIN_CC_BINARY_xlc="xlclang"
TOOLCHAIN_CXX_BINARY_xlc="xlclang++"
fi
fi
# Use indirect variable referencing
toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE
TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
@@ -315,9 +338,6 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
# special setup, e.g. additional paths etc.
AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
[
# FIXME: Is this needed?
AC_LANG(C++)
# Store the CFLAGS etc passed to the configure script.
ORG_CFLAGS="$CFLAGS"
ORG_CXXFLAGS="$CXXFLAGS"
@@ -325,44 +345,26 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
# autoconf magic only relies on PATH, so update it if tools dir is specified
OLD_PATH="$PATH"
# On Windows, we need to detect the visual studio installation first.
# This will change the PATH, but we need to keep that new PATH even
# after toolchain detection is done, since the compiler (on x86) uses
# it for DLL resolution in runtime.
if test "x$OPENJDK_BUILD_OS" = "xwindows" \
&& test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV
# Reset path to VS_PATH. It will include everything that was on PATH at the time we
# ran TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV.
PATH="$VS_PATH"
# The microsoft toolchain also requires INCLUDE and LIB to be set.
export INCLUDE="$VS_INCLUDE"
export LIB="$VS_LIB"
else
if test "x$XCODE_VERSION_OUTPUT" != x; then
# For Xcode, we set the Xcode version as TOOLCHAIN_VERSION
TOOLCHAIN_VERSION=`$ECHO $XCODE_VERSION_OUTPUT | $CUT -f 2 -d ' '`
TOOLCHAIN_DESCRIPTION="$TOOLCHAIN_DESCRIPTION from Xcode $TOOLCHAIN_VERSION"
else
# Currently we do not define this for other toolchains. This might change as the need arise.
TOOLCHAIN_VERSION=
fi
if test "x$XCODE_VERSION_OUTPUT" != x; then
# For Xcode, we set the Xcode version as TOOLCHAIN_VERSION
TOOLCHAIN_VERSION=`$ECHO $XCODE_VERSION_OUTPUT | $CUT -f 2 -d ' '`
TOOLCHAIN_DESCRIPTION="$TOOLCHAIN_DESCRIPTION from Xcode $TOOLCHAIN_VERSION"
fi
AC_SUBST(TOOLCHAIN_VERSION)
# Finally add TOOLCHAIN_PATH at the beginning, to allow --with-tools-dir to
# Finally prepend TOOLCHAIN_PATH to the PATH, to allow --with-tools-dir to
# override all other locations.
if test "x$TOOLCHAIN_PATH" != x; then
PATH=$TOOLCHAIN_PATH:$PATH
export PATH=$TOOLCHAIN_PATH:$PATH
fi
])
# Restore path, etc
AC_DEFUN_ONCE([TOOLCHAIN_POST_DETECTION],
[
# Restore old path, except for the microsoft toolchain, which requires VS_PATH
# to remain in place. Otherwise the compiler will not work in some siutations
# in later configure checks.
# Restore old path, except for the microsoft toolchain, which requires the
# toolchain path to remain in place. Otherwise the compiler will not work in
# some siutations in later configure checks.
if test "x$TOOLCHAIN_TYPE" != "xmicrosoft"; then
PATH="$OLD_PATH"
fi
@@ -371,6 +373,10 @@ AC_DEFUN_ONCE([TOOLCHAIN_POST_DETECTION],
# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
CFLAGS="$ORG_CFLAGS"
CXXFLAGS="$ORG_CXXFLAGS"
# filter out some unwanted additions autoconf may add to CXX; we saw this on macOS with autoconf 2.72
UTIL_GET_NON_MATCHING_VALUES(cxx_filtered, $CXX, -std=c++11 -std=gnu++11)
CXX="$cxx_filtered"
])
# Check if a compiler is of the toolchain type we expect, and save the version
@@ -430,7 +436,7 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
# 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 | $HEAD -n 1 | $TR -d '\r'`
COMPILER_VERSION_OUTPUT=`$COMPILER 2>&1 1>/dev/null | $HEAD -n 1 | $TR -d '\r'`
# Check that this is likely to be Microsoft CL.EXE.
$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft" > /dev/null
if test $? -ne 0; then
@@ -509,7 +515,7 @@ AC_DEFUN([TOOLCHAIN_FIND_COMPILER],
if test "x`basename [$]$1`" = "x[$]$1"; then
# A command without a complete path is provided, search $PATH.
AC_PATH_PROGS(POTENTIAL_$1, [$]$1)
UTIL_LOOKUP_PROGS(POTENTIAL_$1, [$]$1)
if test "x$POTENTIAL_$1" != x; then
$1=$POTENTIAL_$1
else
@@ -531,39 +537,21 @@ AC_DEFUN([TOOLCHAIN_FIND_COMPILER],
# If we are not cross compiling, then the default compiler name will be
# used.
$1=
# If TOOLCHAIN_PATH is set, check for all compiler names in there first
# before checking the rest of the PATH.
# FIXME: Now that we prefix the TOOLS_DIR to the PATH in the PRE_DETECTION
# step, this should not be necessary.
if test -n "$TOOLCHAIN_PATH"; then
PATH_save="$PATH"
PATH="$TOOLCHAIN_PATH"
AC_PATH_TOOL(TOOLCHAIN_PATH_$1, $SEARCH_LIST)
$1=$TOOLCHAIN_PATH_$1
PATH="$PATH_save"
fi
# AC_PATH_TOOL can't be run multiple times with the same variable,
# so create a new name for this run.
if test "x[$]$1" = x; then
AC_PATH_TOOL(POTENTIAL_$1, $SEARCH_LIST)
UTIL_LOOKUP_TOOLCHAIN_PROGS(POTENTIAL_$1, $SEARCH_LIST)
if test "x$POTENTIAL_$1" != x; then
$1=$POTENTIAL_$1
fi
if test "x[$]$1" = x; then
else
HELP_MSG_MISSING_DEPENDENCY([devkit])
AC_MSG_ERROR([Could not find a $COMPILER_NAME compiler. $HELP_MSG])
fi
fi
# Now we have a compiler binary in $1. Make sure it's okay.
BASIC_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
@@ -611,19 +599,26 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_LD_VERSION],
# 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
LINKER_VERSION_STRING=`$LD 2>&1 | $HEAD -n 1 | $TR -d '\r'`
LINKER_VERSION_STRING=`$LINKER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
# Extract version number
[ LINKER_VERSION_NUMBER=`$ECHO $LINKER_VERSION_STRING | \
$SED -e 's/.* \([0-9][0-9]*\(\.[0-9][0-9]*\)*\).*/\1/'` ]
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
# gcc -Wl,-version output typically looks like
# gcc -Wl,-version output typically looks like:
# GNU ld (GNU Binutils for Ubuntu) 2.26.1
# Copyright (C) 2015 Free Software Foundation, Inc.
# This program is free software; [...]
LINKER_VERSION_STRING=`$LD -Wl,-version 2>&1 | $HEAD -n 1`
# If using gold it will look like:
# GNU gold (GNU Binutils 2.30) 1.15
LINKER_VERSION_STRING=`$LINKER -Wl,--version 2> /dev/null | $HEAD -n 1`
# Extract version number
[ LINKER_VERSION_NUMBER=`$ECHO $LINKER_VERSION_STRING | \
$SED -e 's/.* \([0-9][0-9]*\(\.[0-9][0-9]*\)*\).*/\1/'` ]
if [ [[ "$LINKER_VERSION_STRING" == *gold* ]] ]; then
[ LINKER_VERSION_NUMBER=`$ECHO $LINKER_VERSION_STRING | \
$SED -e 's/.* \([0-9][0-9]*\(\.[0-9][0-9]*\)*\).*) .*/\1/'` ]
else
[ LINKER_VERSION_NUMBER=`$ECHO $LINKER_VERSION_STRING | \
$SED -e 's/.* \([0-9][0-9]*\(\.[0-9][0-9]*\)*\).*/\1/'` ]
fi
elif test "x$TOOLCHAIN_TYPE" = xclang; then
# clang -Wl,-v output typically looks like
# @(#)PROGRAM:ld PROJECT:ld64-305
@@ -632,7 +627,7 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_LD_VERSION],
# or
# GNU ld (GNU Binutils for Ubuntu) 2.26.1
LINKER_VERSION_STRING=`$LD -Wl,-v 2>&1 | $HEAD -n 1`
LINKER_VERSION_STRING=`$LINKER -Wl,-v 2>&1 | $HEAD -n 1`
# Check if we're using the GNU ld
$ECHO "$LINKER_VERSION_STRING" | $GREP "GNU" > /dev/null
if test $? -eq 0; then
@@ -652,6 +647,23 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_LD_VERSION],
AC_MSG_NOTICE([Using $TOOLCHAIN_TYPE $LINKER_NAME version $LINKER_VERSION_NUMBER @<:@$LINKER_VERSION_STRING@:>@])
])
# Make sure we did not pick up /usr/bin/link, which is the unix-style link
# executable.
#
# $1 = linker to test (LD or BUILD_LD)
AC_DEFUN(TOOLCHAIN_VERIFY_LINK_BINARY,
[
LINKER=[$]$1
AC_MSG_CHECKING([if the found link.exe is actually the Visual Studio linker])
$LINKER --version > /dev/null
if test $? -eq 0 ; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([$LINKER is the winenv link tool. Please check your PATH and rerun configure.])
else
AC_MSG_RESULT([yes])
fi
])
# Detect the core components of the toolchain, i.e. the compilers (CC and CXX),
# preprocessor (CPP and CXXCPP), the linker (LD), the assembler (AS) and the
# archiver (AR). Verify that the compilers are correct according to the
@@ -687,38 +699,27 @@ 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)
#
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# In the Microsoft toolchain we have a separate LD command "link".
# 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],[link],,, [$CYGWIN_LINK])
BASIC_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])
"$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
UTIL_LOOKUP_TOOLCHAIN_PROGS(LD, link)
TOOLCHAIN_VERIFY_LINK_BINARY(LD)
LDCXX="$LD"
# jaotc being a windows program expects the linker to be supplied with exe suffix.
LD_JAOTC="$LD$EXE_SUFFIX"
# jaotc being a windows program expects the linker to be supplied with exe suffix.but without
# fixpath
LD_JAOTC="${LD##$FIXPATH }"
else
# All other toolchains use the compiler to link.
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_LOOKUP_TOOLCHAIN_PROGS(LD_JAOTC, ld)
fi
AC_SUBST(LD)
AC_SUBST(LD_JAOTC)
@@ -740,14 +741,15 @@ 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)
UTIL_LOOKUP_PROGS(AS, 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?
elif test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
AS="$CC -c"
else
# On windows, the assember is "ml.exe"
UTIL_LOOKUP_TOOLCHAIN_PROGS(AS, ml)
fi
AC_SUBST(AS)
@@ -756,13 +758,12 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
#
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# The corresponding ar tool is lib.exe (used to create static libraries)
AC_CHECK_PROG([AR], [lib],[lib],,,)
UTIL_LOOKUP_TOOLCHAIN_PROGS(AR, lib)
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
BASIC_CHECK_TOOLS(AR, ar gcc-ar)
UTIL_LOOKUP_TOOLCHAIN_PROGS(AR, ar gcc-ar)
else
BASIC_CHECK_TOOLS(AR, ar)
UTIL_LOOKUP_TOOLCHAIN_PROGS(AR, ar)
fi
BASIC_FIXUP_EXECUTABLE(AR)
])
# Setup additional tools that is considered a part of the toolchain, but not the
@@ -771,49 +772,30 @@ 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_LOOKUP_PROGS(LIPO, lipo)
UTIL_REQUIRE_PROGS(OTOOL, otool)
UTIL_REQUIRE_PROGS(INSTALL_NAME_TOOL, install_name_tool)
fi
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
AC_CHECK_PROG([MT], [mt], [mt],,, [/usr/bin/mt])
BASIC_FIXUP_EXECUTABLE(MT)
# Setup the manifest tool (MT)
UTIL_LOOKUP_TOOLCHAIN_PROGS(MT, mt)
# Setup the resource compiler (RC)
AC_CHECK_PROG([RC], [rc], [rc],,, [/usr/bin/rc])
BASIC_FIXUP_EXECUTABLE(RC)
AC_CHECK_PROG([DUMPBIN], [dumpbin], [dumpbin],,,)
BASIC_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
# 'ac_executable_extensions' is unusable due to performance reasons).
# Notice that we intentionally don't fix up the path to MSBUILD because we
# will call it in a DOS shell during freetype detection on Windows (see
# 'LIB_SETUP_FREETYPE' in "libraries.m4"
AC_CHECK_PROG([MSBUILD], [msbuild.exe], [msbuild.exe],,,)
UTIL_LOOKUP_TOOLCHAIN_PROGS(RC, rc)
UTIL_LOOKUP_TOOLCHAIN_PROGS(DUMPBIN, dumpbin)
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)
UTIL_LOOKUP_PROGS(STRIP, strip)
UTIL_LOOKUP_PROGS(NM, nm)
UTIL_LOOKUP_PROGS(GNM, 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)
UTIL_LOOKUP_TOOLCHAIN_PROGS(STRIP, strip)
if test "x$TOOLCHAIN_TYPE" = xgcc; then
BASIC_CHECK_TOOLS(NM, nm gcc-nm)
UTIL_LOOKUP_TOOLCHAIN_PROGS(NM, nm gcc-nm)
else
BASIC_CHECK_TOOLS(NM, nm)
UTIL_LOOKUP_TOOLCHAIN_PROGS(NM, nm)
fi
BASIC_FIXUP_EXECUTABLE(NM)
GNM="$NM"
AC_SUBST(GNM)
fi
@@ -821,62 +803,51 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
# 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])
# 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
UTIL_LOOKUP_TOOLCHAIN_PROGS(OBJCOPY, gobjcopy 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
fi
BASIC_CHECK_TOOLS(OBJDUMP, [gobjdump objdump])
if test "x$OBJDUMP" != x; then
# Only used for compare.sh; we can live without it. BASIC_FIXUP_EXECUTABLE
# bails if argument is missing.
BASIC_FIXUP_EXECUTABLE(OBJDUMP)
fi
UTIL_LOOKUP_TOOLCHAIN_PROGS(OBJDUMP, gobjdump objdump)
case $TOOLCHAIN_TYPE in
gcc|clang|solstudio)
BASIC_CHECK_TOOLS(CXXFILT, [c++filt])
BASIC_CHECK_NONEMPTY(CXXFILT)
BASIC_FIXUP_EXECUTABLE(CXXFILT)
UTIL_REQUIRE_TOOLCHAIN_PROGS(CXXFILT, c++filt)
;;
esac
])
@@ -904,7 +875,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
@@ -950,63 +921,57 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
BUILD_SYSROOT="$BUILD_DEVKIT_SYSROOT"
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
BUILD_VS_INCLUDE="$BUILD_DEVKIT_VS_INCLUDE"
BUILD_VS_LIB="$BUILD_DEVKIT_VS_LIB"
# For historical reasons, paths are separated by ; in devkit.info
BUILD_VS_INCLUDE="${BUILD_DEVKIT_VS_INCLUDE//;/:}"
BUILD_VS_LIB="${BUILD_DEVKIT_VS_LIB//;/:}"
TOOLCHAIN_SETUP_VISUAL_STUDIO_SYSROOT_FLAGS([BUILD_])
TOOLCHAIN_SETUP_VISUAL_STUDIO_SYSROOT_FLAGS(BUILD_, BUILD_)
fi
fi
fi
# 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.
if test "x$OPENJDK_BUILD_OS" = xmacosx; then
BASIC_REQUIRE_PROGS(BUILD_CC, [clang cl cc gcc])
BASIC_REQUIRE_PROGS(BUILD_CXX, [clang++ cl CC g++])
else
BASIC_REQUIRE_PROGS(BUILD_CC, [cl cc gcc])
BASIC_REQUIRE_PROGS(BUILD_CXX, [cl CC g++])
fi
BASIC_FIXUP_EXECUTABLE(BUILD_CC)
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)
# Assume the C compiler is the assembler
BUILD_AS="$BUILD_CC -c"
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# In the Microsoft toolchain we have a separate LD command "link".
# Make sure we reject /usr/bin/link (as determined in CYGWIN_LINK), which is
# a cygwin program for something completely different.
AC_CHECK_PROG([BUILD_LD], [link$EXE_SUFFIX],[link$EXE_SUFFIX],,, [$CYGWIN_LINK])
BASIC_FIXUP_EXECUTABLE(BUILD_LD)
# Verify that we indeed succeeded with this trick.
AC_MSG_CHECKING([if the found link.exe is actually the Visual Studio linker])
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# If we got no devkit, we need to go hunting for the proper env
TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE($OPENJDK_BUILD_CPU, [$TOOLCHAIN_VERSION])
TOOLCHAIN_EXTRACT_VISUAL_STUDIO_ENV($OPENJDK_BUILD_CPU, BUILD_)
# 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=
# We cannot currently export the VS_PATH to spec.gmk. This is probably
# strictly not correct, but seems to work anyway.
"$BUILD_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])
# Convert VS_INCLUDE and VS_LIB into sysroot flags
TOOLCHAIN_SETUP_VISUAL_STUDIO_SYSROOT_FLAGS(BUILD_)
fi
fi
PATH="$old_path"
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
UTIL_REQUIRE_PROGS(BUILD_CC, cl, [$VS_PATH])
UTIL_REQUIRE_PROGS(BUILD_CXX, cl, [$VS_PATH])
# On windows, the assember is "ml.exe". We currently don't need this so
# do not require.
UTIL_LOOKUP_PROGS(BUILD_AS, ml, [$VS_PATH])
# On windows, the ar tool is lib.exe (used to create static libraries).
# We currently don't need this so do not require.
UTIL_LOOKUP_PROGS(BUILD_AR, lib, [$VS_PATH])
# In the Microsoft toolchain we have a separate LD command "link".
UTIL_REQUIRE_PROGS(BUILD_LD, link, [$VS_PATH])
TOOLCHAIN_VERIFY_LINK_BINARY(BUILD_LD)
BUILD_LDCXX="$BUILD_LD"
else
if test "x$OPENJDK_BUILD_OS" = xmacosx; then
UTIL_REQUIRE_PROGS(BUILD_CC, clang cc gcc)
UTIL_REQUIRE_PROGS(BUILD_CXX, clang++ CC g++)
else
UTIL_REQUIRE_PROGS(BUILD_CC, cc gcc)
UTIL_REQUIRE_PROGS(BUILD_CXX, CC g++)
fi
UTIL_LOOKUP_PROGS(BUILD_NM, nm gcc-nm)
UTIL_LOOKUP_PROGS(BUILD_AR, ar gcc-ar lib)
UTIL_LOOKUP_PROGS(BUILD_OBJCOPY, objcopy)
UTIL_LOOKUP_PROGS(BUILD_STRIP, strip)
# Assume the C compiler is the assembler
BUILD_AS="$BUILD_CC -c"
# Just like for the target compiler, use the compiler as linker
BUILD_LD="$BUILD_CC"
BUILD_LDCXX="$BUILD_CXX"
@@ -1056,7 +1021,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
# Check for extra potential brokenness.
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# On Windows, double-check that we got the right compiler.
CC_VERSION_OUTPUT=`$CC 2>&1 | $HEAD -n 1 | $TR -d '\r'`
CC_VERSION_OUTPUT=`$CC 2>&1 1>/dev/null | $HEAD -n 1 | $TR -d '\r'`
COMPILER_CPU_TEST=`$ECHO $CC_VERSION_OUTPUT | $SED -n "s/^.* \(.*\)$/\1/p"`
if test "x$OPENJDK_TARGET_CPU" = "xx86"; then
if test "x$COMPILER_CPU_TEST" != "x80x86" -a "x$COMPILER_CPU_TEST" != "xx86"; then
@@ -1096,116 +1061,3 @@ AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
fi
AC_SUBST(HOTSPOT_TOOLCHAIN_TYPE)
])
# Setup the JTReg Regression Test Harness.
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
[
AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
[Regression Test Harness @<:@probed@:>@])])
if test "x$with_jtreg" = xno; then
# jtreg disabled
AC_MSG_CHECKING([for jtreg test harness])
AC_MSG_RESULT([no, disabled])
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])
if test ! -d "$JT_HOME"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
fi
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
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
if test "x$JT_HOME" != x; then
# JT_HOME set in environment, use it
if test ! -d "$JT_HOME"; then
AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME])
JT_HOME=
else
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
fi
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)
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
fi
fi
AC_MSG_CHECKING([for jtreg test harness])
if test "x$JT_HOME" != x; then
AC_MSG_RESULT([$JT_HOME])
else
AC_MSG_RESULT([no, not found])
if test "x$with_jtreg" = xyes; then
AC_MSG_ERROR([--with-jtreg was specified, but no jtreg found.])
fi
fi
fi
BASIC_FIXUP_EXECUTABLE(JTREGEXE)
BASIC_FIXUP_PATH(JT_HOME)
AC_SUBST(JT_HOME)
AC_SUBST(JTREGEXE)
])
# Setup the JIB dependency resolver
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JIB],
[
AC_ARG_WITH(jib, [AS_HELP_STRING([--with-jib],
[Jib dependency management tool @<:@not used@:>@])])
if test "x$with_jib" = xno || test "x$with_jib" = x; then
# jib disabled
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(no)
elif test "x$with_jib" = xyes; then
AC_MSG_ERROR([Must supply a value to --with-jib])
else
JIB_HOME="${with_jib}"
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(${JIB_HOME})
if test ! -d "${JIB_HOME}"; then
AC_MSG_ERROR([--with-jib must be a directory])
fi
JIB_JAR=$(ls ${JIB_HOME}/lib/jib-*.jar)
if test ! -f "${JIB_JAR}"; then
AC_MSG_ERROR([Could not find jib jar file in ${JIB_HOME}])
fi
fi
AC_SUBST(JIB_HOME)
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, 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="2017 2019 2022 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"
@@ -103,35 +104,52 @@ VS_SDK_PLATFORM_NAME_2019=
VS_SUPPORTED_2019=false
VS_TOOLSET_SUPPORTED_2019=false
VS_DESCRIPTION_2022="Microsoft Visual Studio 2022"
VS_VERSION_INTERNAL_2022=143
VS_MSVCR_2022=vcruntime140.dll
VS_VCRUNTIME_1_2022=vcruntime140_1.dll
VS_MSVCP_2022=msvcp140.dll
VS_ENVVAR_2022="VS170COMNTOOLS"
VS_USE_UCRT_2022="true"
VS_VS_INSTALLDIR_2022="Microsoft Visual Studio/2022"
VS_EDITIONS_2022="BuildTools Community Professional Enterprise"
VS_SDK_INSTALLDIR_2022=
VS_VS_PLATFORM_NAME_2022="v143"
VS_SDK_PLATFORM_NAME_2022=
VS_SUPPORTED_2022=true
VS_TOOLSET_SUPPORTED_2022=true
################################################################################
AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
[
if test "x$VS_ENV_CMD" = x; then
VS_VERSION="$1"
VS_BASE="$2"
METHOD="$3"
TARGET_CPU="$1"
VS_VERSION="$2"
VS_BASE="$3"
METHOD="$4"
BASIC_WINDOWS_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
for edition in $VS_EDITIONS; do
if test -d "$VS_BASE/$edition"; then
VS_BASE="$VS_BASE/$edition"
break
fi
done
fi
UTIL_FIXUP_PATH(VS_BASE, NOFAIL)
if test "x$VS_BASE" != x && test -d "$VS_BASE"; then
# 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
for edition in $VS_EDITIONS; do
if test -d "$VS_BASE/$edition"; then
VS_BASE="$VS_BASE/$edition"
break
fi
done
fi
if test -d "$VS_BASE"; then
AC_MSG_NOTICE([Found Visual Studio installation at $VS_BASE using $METHOD])
if test "x$OPENJDK_TARGET_CPU" = xx86; then
if test "x$TARGET_CPU" = xx86; then
VCVARSFILES="vc/bin/vcvars32.bat vc/auxiliary/build/vcvars32.bat"
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
elif test "x$TARGET_CPU" = xx86_64; then
VCVARSFILES="vc/bin/amd64/vcvars64.bat vc/bin/x86_amd64/vcvarsx86_amd64.bat \
vc/auxiliary/build/vcvarsx86_amd64.bat vc/auxiliary/build/vcvars64.bat"
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
elif test "x$TARGET_CPU" = xaarch64; then
# for host x86-64, target aarch64
VCVARSFILES="vc/auxiliary/build/vcvarsamd64_arm64.bat \
vc/auxiliary/build/vcvarsx86_arm64.bat"
@@ -161,24 +179,27 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT],
[
if test "x$VS_ENV_CMD" = x; then
VS_VERSION="$1"
WIN_SDK_BASE="$2"
METHOD="$3"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(WIN_SDK_BASE)
if test -d "$WIN_SDK_BASE"; then
TARGET_CPU="$1"
VS_VERSION="$2"
WIN_SDK_BASE="$3"
METHOD="$4"
UTIL_FIXUP_PATH(WIN_SDK_BASE, NOFAIL)
if test "x$WIN_SDK_BASE" != x && 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.
if test ! -d "$WIN_SDK_BASE/lib"; then
AC_MSG_NOTICE([Found Windows SDK installation at $WIN_SDK_BASE using $METHOD])
AC_MSG_NOTICE([Warning: Installation is broken, lib dir is missing. Ignoring])
elif test -f "$WIN_SDK_BASE/Bin/SetEnv.Cmd"; then
elif test -f "$WIN_SDK_BASE/bin/setenv.cmd"; then
AC_MSG_NOTICE([Found Windows SDK installation at $WIN_SDK_BASE using $METHOD])
VS_ENV_CMD="$WIN_SDK_BASE/Bin/SetEnv.Cmd"
if test "x$OPENJDK_TARGET_CPU" = xx86; then
VS_ENV_CMD="$WIN_SDK_BASE/bin/setenv.cmd"
if test "x$TARGET_CPU" = xx86; then
VS_ENV_ARGS="/x86"
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
elif test "x$TARGET_CPU" = xx86_64; then
VS_ENV_ARGS="/x64"
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
elif test "x$TARGET_CPU" = xaarch64; then
VS_ENV_ARGS="/arm64"
fi
# PLATFORM_TOOLSET is used during the compilation of the freetype sources (see
@@ -207,7 +228,8 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
[specific MSVC toolset version to use, passed as -vcvars_ver argument to
pass to vcvarsall.bat (Windows only)])])
VS_VERSION="$1"
TARGET_CPU="$1"
VS_VERSION="$2"
eval VS_COMNTOOLS_VAR="\${VS_ENVVAR_${VS_VERSION}}"
eval VS_COMNTOOLS="\$${VS_COMNTOOLS_VAR}"
eval VS_INSTALL_DIR="\${VS_VS_INSTALLDIR_${VS_VERSION}}"
@@ -221,9 +243,9 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
# When using --with-tools-dir, assume it points to the correct and default
# version of Visual Studio or that --with-toolchain-version was also set.
if test "x$with_tools_dir" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$TARGET_CPU], [$VS_VERSION],
[$with_tools_dir/../..], [--with-tools-dir])
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$TARGET_CPU], [$VS_VERSION],
[$with_tools_dir/../../..], [--with-tools-dir])
if test "x$VS_ENV_CMD" = x; then
# Having specified an argument which is incorrect will produce an instant failure;
@@ -236,46 +258,46 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
fi
if test "x$VS_COMNTOOLS" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$TARGET_CPU], [$VS_VERSION],
[$VS_COMNTOOLS/../..], [$VS_COMNTOOLS_VAR variable])
fi
if test "x$PROGRAMFILES" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$TARGET_CPU], [$VS_VERSION],
[$PROGRAMFILES/$VS_INSTALL_DIR], [well-known name])
fi
# Work around the insanely named ProgramFiles(x86) env variable
PROGRAMFILES_X86="`env | $SED -n 's/^ProgramFiles(x86)=//p'`"
if test "x$PROGRAMFILES_X86" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$TARGET_CPU], [$VS_VERSION],
[$PROGRAMFILES_X86/$VS_INSTALL_DIR], [well-known name])
fi
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
[C:/Program Files/$VS_INSTALL_DIR], [well-known name])
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
[C:/Program Files (x86)/$VS_INSTALL_DIR], [well-known name])
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$TARGET_CPU], [$VS_VERSION],
[c:/program files/$VS_INSTALL_DIR], [well-known name])
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$TARGET_CPU], [$VS_VERSION],
[c:/program files (x86)/$VS_INSTALL_DIR], [well-known name])
if test "x$SDK_INSTALL_DIR" != x; then
if test "x$ProgramW6432" != x; then
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([${VS_VERSION}],
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([$TARGET_CPU], [$VS_VERSION],
[$ProgramW6432/$SDK_INSTALL_DIR], [well-known name])
fi
if test "x$PROGRAMW6432" != x; then
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([${VS_VERSION}],
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([$TARGET_CPU], [$VS_VERSION],
[$PROGRAMW6432/$SDK_INSTALL_DIR], [well-known name])
fi
if test "x$PROGRAMFILES" != x; then
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([${VS_VERSION}],
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([$TARGET_CPU], [$VS_VERSION],
[$PROGRAMFILES/$SDK_INSTALL_DIR], [well-known name])
fi
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([${VS_VERSION}],
[C:/Program Files/$SDK_INSTALL_DIR], [well-known name])
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([${VS_VERSION}],
[C:/Program Files (x86)/$SDK_INSTALL_DIR], [well-known name])
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([$TARGET_CPU], [$VS_VERSION],
[c:/program files/$SDK_INSTALL_DIR], [well-known name])
TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT([$TARGET_CPU], [$VS_VERSION],
[c:/program files (x86)/$SDK_INSTALL_DIR], [well-known name])
fi
VCVARS_VER=auto
if test "x$VS_TOOLSET_SUPPORTED" != x; then
if test "x$with_msvc_toolset_version" != x; then
VS_ENV_ARGS="$VS_ENV_ARGS -vcvars_ver=$with_msvc_toolset_version"
VCVARS_VER="$with_msvc_toolset_version"
fi
fi
])
@@ -306,30 +328,15 @@ 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}}"
eval PLATFORM_TOOLSET="\${VS_VS_PLATFORM_NAME_${VS_VERSION}}"
VS_PATH="$TOOLCHAIN_PATH:$PATH"
# Convert DEVKIT_VS_INCLUDE into windows style VS_INCLUDE so that it
# can still be exported as INCLUDE for compiler invocations without
# SYSROOT_CFLAGS
OLDIFS="$IFS"
IFS=";"
for i in $DEVKIT_VS_INCLUDE; do
ipath=$i
BASIC_WINDOWS_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])
VS_LIB="$VS_LIB;$libpath"
done
IFS="$OLDIFS"
# For historical reasons, paths are separated by ; in devkit.info
VS_INCLUDE=${DEVKIT_VS_INCLUDE//;/:}
VS_LIB=${DEVKIT_VS_LIB//;/:}
AC_MSG_NOTICE([Found devkit $VS_DESCRIPTION])
@@ -347,12 +354,13 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO],
fi
for VS_VERSION in $VS_VERSIONS_PROBE_LIST; do
TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE([$VS_VERSION])
TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE($OPENJDK_TARGET_CPU, [$VS_VERSION])
if test "x$VS_ENV_CMD" != x; then
TOOLCHAIN_VERSION=$VS_VERSION
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}}"
@@ -368,146 +376,118 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO],
fi
])
AC_DEFUN([TOOLCHAIN_EXTRACT_VISUAL_STUDIO_ENV],
[
TARGET_CPU=$1
AC_MSG_NOTICE([Trying to extract Visual Studio environment variables for $TARGET_CPU])
AC_MSG_NOTICE([using $VS_ENV_CMD $VS_ENV_ARGS])
VS_ENV_TMP_DIR="$CONFIGURESUPPORT_OUTPUTDIR/vs-env-$TARGET_CPU"
$MKDIR -p $VS_ENV_TMP_DIR
# 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.
OLDPATH="$PATH"
# Make sure we only capture additions to PATH needed by VS.
# Clear out path, but need system dir present for vsvars cmd file to be able to run
export PATH=$WINENV_PREFIX/c/windows/system32
# The "| cat" is to stop SetEnv.Cmd to mess with system colors on some systems
# We can't pass -vcvars_ver=$VCVARS_VER here because cmd.exe eats all '='
# in bat file arguments. :-(
$FIXPATH $CMD /c "$TOPDIR/make/scripts/extract-vs-env.cmd" "$VS_ENV_CMD" \
"$VS_ENV_TMP_DIR/set-vs-env.sh" $VCVARS_VER $VS_ENV_ARGS \
> $VS_ENV_TMP_DIR/extract-vs-env.log | $CAT 2>&1
PATH="$OLDPATH"
if test ! -s $VS_ENV_TMP_DIR/set-vs-env.sh; then
AC_MSG_NOTICE([Could not succesfully extract the environment variables needed for the VS setup.])
AC_MSG_NOTICE([Try setting --with-tools-dir to the VC/bin directory within the VS installation.])
AC_MSG_NOTICE([To analyze the problem, see extract-vs-env.log and extract-vs-env.bat in])
AC_MSG_NOTICE([$VS_ENV_TMP_DIR.])
AC_MSG_ERROR([Cannot continue])
fi
# Remove windows line endings
$SED -i -e 's|\r||g' $VS_ENV_TMP_DIR/set-vs-env.sh
# Now set all paths and other env variables by executing the generated
# shell script. This will allow the rest of the configure script to find
# and run the compiler in the proper way.
AC_MSG_NOTICE([Setting extracted environment variables for $TARGET_CPU])
. $VS_ENV_TMP_DIR/set-vs-env.sh
# Extract only what VS_ENV_CMD added to the PATH
VS_PATH=${PATH_AFTER/"$PATH_BEFORE"}
VS_PATH=${VS_PATH//::/:}
# Remove any paths containing # (typically F#) as that messes up make. This
# is needed if visual studio was installed with F# support.
[ VS_PATH=`$ECHO "$VS_PATH" | $SED 's/[^:#]*#[^:]*://g'` ]
# Sometimes case is off
if test -z "$WINDOWSSDKDIR"; then
WINDOWSSDKDIR="$WindowsSdkDir"
fi
# Now we have VS_PATH, VS_INCLUDE, VS_LIB. For further checking, we
# also define VCINSTALLDIR and WINDOWSSDKDIR. All are in
# unix style.
])
################################################################################
# Check if the VS env variables were setup prior to running configure.
# If not, then find vcvarsall.bat and run it automatically, and integrate
# the set env variables into the spec file.
AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
[
# Store path to cygwin link.exe to help excluding it when searching for
# VS linker. This must be done before changing the PATH when looking for VS.
AC_PATH_PROG(CYGWIN_LINK, link)
if test "x$CYGWIN_LINK" != x; then
AC_MSG_CHECKING([if the first found link.exe is actually the Cygwin link tool])
"$CYGWIN_LINK" --version > /dev/null
if test $? -eq 0 ; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
# This might be the VS linker. Don't exclude it later on.
CYGWIN_LINK=""
fi
fi
# First-hand choice is to locate and run the vsvars bat file.
# Locate the vsvars bat file and save it as VS_ENV_CMD
TOOLCHAIN_FIND_VISUAL_STUDIO
# If we have a devkit, skip all of the below.
# If we have a devkit, we don't need to run VS_ENV_CMD
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)
# We have found a Visual Studio environment on disk, let's extract variables
# from the vsvars bat file into shell variables in the configure script.
TOOLCHAIN_EXTRACT_VISUAL_STUDIO_ENV($OPENJDK_TARGET_CPU)
# Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat
AC_MSG_NOTICE([Trying to extract Visual Studio environment variables])
# We need to create a couple of temporary files.
VS_ENV_TMP_DIR="$CONFIGURESUPPORT_OUTPUTDIR/vs-env"
$MKDIR -p $VS_ENV_TMP_DIR
# 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])
WINPATH_BASH="$BASH"
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_BASH])
# Generate a DOS batch file which runs $VS_ENV_CMD, and then creates a shell
# script (executable by bash) that will setup the important variables.
EXTRACT_VC_ENV_BAT_FILE="$VS_ENV_TMP_DIR/extract-vs-env.bat"
$ECHO "@echo off" > $EXTRACT_VC_ENV_BAT_FILE
# This will end up something like:
# call C:/progra~2/micros~2.0/vc/bin/amd64/vcvars64.bat
$ECHO "call $WINPATH_VS_ENV_CMD $VS_ENV_ARGS" >> $EXTRACT_VC_ENV_BAT_FILE
# In some cases, the VS_ENV_CMD will change directory, change back so
# the set-vs-env.sh ends up in the right place.
$ECHO 'cd %~dp0' >> $EXTRACT_VC_ENV_BAT_FILE
# These will end up something like:
# C:/CygWin/bin/bash -c 'echo VS_PATH=\"$PATH\" > localdevenv.sh
# The trailing space for everyone except PATH is no typo, but is needed due
# to trailing \ in the Windows paths. These will be stripped later.
$ECHO "$WINPATH_BASH -c 'echo VS_PATH="'\"$PATH\" > set-vs-env.sh' \
>> $EXTRACT_VC_ENV_BAT_FILE
$ECHO "$WINPATH_BASH -c 'echo VS_INCLUDE="'\"$INCLUDE\;$include \" >> set-vs-env.sh' \
>> $EXTRACT_VC_ENV_BAT_FILE
$ECHO "$WINPATH_BASH -c 'echo VS_LIB="'\"$LIB\;$lib \" >> set-vs-env.sh' \
>> $EXTRACT_VC_ENV_BAT_FILE
$ECHO "$WINPATH_BASH -c 'echo VCINSTALLDIR="'\"$VCINSTALLDIR \" >> set-vs-env.sh' \
>> $EXTRACT_VC_ENV_BAT_FILE
$ECHO "$WINPATH_BASH -c 'echo VCToolsRedistDir="'\"$VCToolsRedistDir \" >> set-vs-env.sh' \
>> $EXTRACT_VC_ENV_BAT_FILE
$ECHO "$WINPATH_BASH -c 'echo WindowsSdkDir="'\"$WindowsSdkDir \" >> set-vs-env.sh' \
>> $EXTRACT_VC_ENV_BAT_FILE
$ECHO "$WINPATH_BASH -c 'echo WINDOWSSDKDIR="'\"$WINDOWSSDKDIR \" >> set-vs-env.sh' \
>> $EXTRACT_VC_ENV_BAT_FILE
# 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
cd $CURDIR
if test ! -s $VS_ENV_TMP_DIR/set-vs-env.sh; then
AC_MSG_NOTICE([Could not succesfully extract the envionment variables needed for the VS setup.])
AC_MSG_NOTICE([Try setting --with-tools-dir to the VC/bin directory within the VS installation])
AC_MSG_NOTICE([or run "bash.exe -l" from a VS command prompt and then run configure from there.])
AC_MSG_ERROR([Cannot continue])
fi
# Now set all paths and other env variables. This will allow the rest of
# the configure script to find and run the compiler in the proper way.
AC_MSG_NOTICE([Setting extracted environment variables])
. $VS_ENV_TMP_DIR/set-vs-env.sh
# Now we have VS_PATH, VS_INCLUDE, VS_LIB. For further checking, we
# also define VCINSTALLDIR, WindowsSdkDir and WINDOWSSDKDIR.
# also define VCINSTALLDIR and WINDOWSSDKDIR. All are in
# unix style.
else
# We did not find a vsvars bat file, let's hope we are run from a VS command prompt.
AC_MSG_NOTICE([Cannot locate a valid Visual Studio installation, checking current environment])
# We did not find a vsvars bat file.
AC_MSG_ERROR([Cannot locate a valid Visual Studio installation])
fi
fi
# At this point, we should have correct variables in the environment, or we can't continue.
AC_MSG_CHECKING([for Visual Studio variables])
# At this point, we should have correct variables in the environment
AC_MSG_CHECKING([that Visual Studio variables have been correctly extracted])
if test "x$VCINSTALLDIR" != x || test "x$WindowsSDKDir" != x \
|| test "x$WINDOWSSDKDIR" != x || test "x$DEVKIT_NAME" != x; then
if test "x$VCINSTALLDIR" != x || test "x$WINDOWSSDKDIR" != x \
|| test "x$DEVKIT_NAME" != x; then
if test "x$VS_INCLUDE" = x || test "x$VS_LIB" = x; then
AC_MSG_RESULT([present but broken])
AC_MSG_RESULT([no; Visual Studio present but broken])
AC_MSG_ERROR([Your VC command prompt seems broken, INCLUDE and/or LIB is missing.])
else
AC_MSG_RESULT([ok])
# Remove any trailing "\" ";" and " " from the variables.
VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED -e 's/\\\\*;* *$//'`
VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\*;* *$//'`
VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'`
VCToolsRedistDir=`$ECHO "$VCToolsRedistDir" | $SED 's/\\\\* *$//'`
WindowsSdkDir=`$ECHO "$WindowsSdkDir" | $SED 's/\\\\* *$//'`
WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'`
if test -z "$WINDOWSSDKDIR"; then
WINDOWSSDKDIR="$WindowsSdkDir"
fi
# Remove any paths containing # (typically F#) as that messes up make. This
# is needed if visual studio was installed with F# support.
VS_PATH=`$ECHO "$VS_PATH" | $SED 's/[[^:#]]*#[^:]*://g'`
AC_SUBST(VS_PATH)
AC_SUBST(VS_INCLUDE)
AC_SUBST(VS_LIB)
# Turn VS_PATH into TOOLCHAIN_PATH
TOOLCHAIN_PATH="$TOOLCHAIN_PATH:$VS_PATH"
# Convert VS_INCLUDE and VS_LIB into sysroot flags
TOOLCHAIN_SETUP_VISUAL_STUDIO_SYSROOT_FLAGS
fi
else
AC_MSG_RESULT([not found])
if test "x$VS_ENV_CMD" = x; then
AC_MSG_NOTICE([Cannot locate a valid Visual Studio or Windows SDK installation on disk,])
AC_MSG_NOTICE([nor is this script run from a Visual Studio command prompt.])
AC_MSG_NOTICE([Cannot locate a valid Visual Studio or Windows SDK installation on disk])
else
AC_MSG_NOTICE([Running the extraction script failed.])
AC_MSG_NOTICE([Running the extraction script failed])
fi
AC_MSG_NOTICE([Try setting --with-tools-dir to the VC/bin directory within the VS installation])
AC_MSG_NOTICE([or run "bash.exe -l" from a VS command prompt and then run configure from there.])
AC_MSG_NOTICE([Try setting --with-tools-dir to the VC/bin directory within the VS installation.])
AC_MSG_NOTICE([To analyze the problem, see extract-vs-env.log and extract-vs-env.bat in])
AC_MSG_NOTICE([$VS_ENV_TMP_DIR.])
AC_MSG_ERROR([Cannot continue])
fi
])
@@ -523,25 +503,15 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL],
# Need to check if the found msvcr is correct architecture
AC_MSG_CHECKING([found $DLL_NAME architecture])
MSVC_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVC_DLL"`
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
# The MSYS 'file' command returns "PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit"
# on x32 and "PE32+ executable for MS Windows (DLL) (GUI) Mono/.Net assembly" on x64 systems.
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
CORRECT_MSVCR_ARCH="PE32 executable"
else
CORRECT_MSVCR_ARCH="PE32+ executable"
fi
else
if test "x$OPENJDK_TARGET_CPU" = xx86; then
CORRECT_MSVCR_ARCH=386
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
CORRECT_MSVCR_ARCH=x86-64
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
# The cygwin 'file' command only returns "PE32+ executable (DLL) (console), for MS Windows",
# without specifying which architecture it is for specifically. This has been fixed upstream.
# https://github.com/file/file/commit/b849b1af098ddd530094bf779b58431395db2e10#diff-ff2eced09e6860de75057dd731d092aeR142
CORRECT_MSVCR_ARCH="PE32+ executable"
fi
if test "x$OPENJDK_TARGET_CPU" = xx86; then
CORRECT_MSVCR_ARCH=386
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
CORRECT_MSVCR_ARCH=x86-64
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
# The cygwin 'file' command only returns "PE32+ executable (DLL) (console), for MS Windows",
# without specifying which architecture it is for specifically. This has been fixed upstream.
# https://github.com/file/file/commit/b849b1af098ddd530094bf779b58431395db2e10#diff-ff2eced09e6860de75057dd731d092aeR142
CORRECT_MSVCR_ARCH="PE32+ executable"
fi
if $ECHO "$MSVC_DLL_FILETYPE" | $GREP "$CORRECT_MSVCR_ARCH" 2>&1 > /dev/null; then
AC_MSG_RESULT([ok])
@@ -570,20 +540,15 @@ 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)
if test "$VS_VERSION" -lt 2017; then
# Probe: Using well-known location from Visual Studio 12.0 and older
POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/$vs_target_cpu/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
POSSIBLE_MSVC_DLL="$VCINSTALLDIR/redist/$vs_target_cpu/microsoft.vc${VS_VERSION_INTERNAL}.crt/$DLL_NAME"
else
CYGWIN_VC_TOOLS_REDIST_DIR="$VCToolsRedistDir"
BASIC_FIXUP_PATH(CYGWIN_VC_TOOLS_REDIST_DIR)
# Probe: Using well-known location from VS 2017 and VS 2019
POSSIBLE_MSVC_DLL="`ls $CYGWIN_VC_TOOLS_REDIST_DIR/$vs_target_cpu/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME`"
POSSIBLE_MSVC_DLL="`ls $VCToolsRedistDir/$vs_target_cpu/microsoft.vc${VS_VERSION_INTERNAL}.crt/$DLL_NAME 2> /dev/null`"
fi
# In case any of the above finds more than one file, loop over them.
for possible_msvc_dll in $POSSIBLE_MSVC_DLL; do
$ECHO "POSSIBLE_MSVC_DLL $possible_msvc_dll"
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$possible_msvc_dll],
[well-known location in VCINSTALLDIR])
done
@@ -599,40 +564,44 @@ 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)
POSSIBLE_MSVC_DLL="$CYGWIN_SYSTEMROOT/system32/$DLL_NAME"
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[well-known location in SYSTEMROOT])
WIN_SYSTEMROOT="$SYSTEMROOT"
UTIL_FIXUP_PATH(WIN_SYSTEMROOT, NOFAIL)
if test "x$WIN_SYSTEMROOT" != x; then
POSSIBLE_MSVC_DLL="$WIN_SYSTEMROOT/system32/$DLL_NAME"
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[well-known location in SYSTEMROOT])
fi
fi
if test "x$MSVC_DLL" = x; then
# 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)
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
WIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
UTIL_FIXUP_PATH(WIN_VS_TOOLS_DIR, NOFAIL)
if test "x$WIN_VS_TOOLS_DIR" != x; then
POSSIBLE_MSVC_DLL=`$FIND "$WIN_VS_TOOLS_DIR" -name $DLL_NAME \
| $GREP -i /$vs_target_cpu/ | $HEAD --lines 1`
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[search of VS100COMNTOOLS])
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[search of VS100COMNTOOLS])
fi
fi
fi
if test "x$MSVC_DLL" = x; then
# Probe: Search wildly in the VCINSTALLDIR. We've probably lost by now.
# (This was the original behaviour; kept since it might turn something up)
if test "x$CYGWIN_VC_INSTALL_DIR" != x; then
if test "x$VCINSTALLDIR" != x; then
if test "x$OPENJDK_TARGET_CPU" = xx86; then
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
POSSIBLE_MSVC_DLL=`$FIND "$VCINSTALLDIR" -name $DLL_NAME \
| $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $GREP -v arm64 | $HEAD --lines 1`
if test "x$POSSIBLE_MSVC_DLL" = x; then
# We're grasping at straws now...
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $HEAD --lines 1`
POSSIBLE_MSVC_DLL=`$FIND "$VCINSTALLDIR" -name $DLL_NAME \
| $HEAD --lines 1`
fi
else
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $GREP $vs_target_cpu | $HEAD --lines 1`
POSSIBLE_MSVC_DLL=`$FIND "$VCINSTALLDIR" -name $DLL_NAME \
| $GREP x64 | $HEAD --lines 1`
fi
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
@@ -695,10 +664,35 @@ 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 x64 only) @<:@probed@:>@])])
if test "x$VCRUNTIME_1_NAME" != "x" && test "x$OPENJDK_TARGET_CPU" = xx86_64; 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
fi
AC_SUBST(VCRUNTIME_1_DLL)
AC_ARG_WITH(ucrt-dll-dir, [AS_HELP_STRING([--with-ucrt-dll-dir],
[path to Microsoft Windows Kit UCRT DLL dir (Windows only) @<:@probed@:>@])])
if test "x$USE_UCRT" = "xtrue"; then
if test "x$USE_UCRT" = "xtrue" && test "x$OPENJDK_TARGET_CPU" != xaarch64; then
AC_MSG_CHECKING([for UCRT DLL dir])
if test "x$with_ucrt_dll_dir" != x; then
if test -z "$(ls -d "$with_ucrt_dll_dir/"*.dll 2> /dev/null)"; then
@@ -707,26 +701,22 @@ 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])
dll_subdir=$OPENJDK_TARGET_CPU
if test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
if test "x$dll_subdir" = "xaarch64"; then
dll_subdir="arm64"
elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
elif test "x$dll_subdir" = "xx86_64"; then
dll_subdir="x64"
elif test "x$OPENJDK_TARGET_CPU" = "xx86"; then
dll_subdir="x86"
fi
UCRT_DLL_DIR="$CYGWIN_WINDOWSSDKDIR/Redist/ucrt/DLLs/$dll_subdir"
UCRT_DLL_DIR="$WINDOWSSDKDIR/redist/ucrt/dlls/$dll_subdir"
if test -z "$(ls -d "$UCRT_DLL_DIR/"*.dll 2> /dev/null)"; then
# Try with version subdir
UCRT_DLL_DIR="`ls -d $CYGWIN_WINDOWSSDKDIR/Redist/*/ucrt/DLLs/$dll_subdir \
UCRT_DLL_DIR="`ls -d $WINDOWSSDKDIR/redist/*/ucrt/dlls/$dll_subdir \
2> /dev/null | $SORT -d | $HEAD -n1`"
if test -z "$UCRT_DLL_DIR" \
|| test -z "$(ls -d "$UCRT_DLL_DIR/"*.dll 2> /dev/null)"; then
@@ -748,43 +738,24 @@ AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
# Setup the sysroot flags and add them to global CFLAGS and LDFLAGS so
# that configure can use them while detecting compilers.
# TOOLCHAIN_TYPE is available here.
# Param 1 - Optional prefix to all variables. (e.g BUILD_)
# Param 1 - Optional prefix to SYSROOT variables. (e.g BUILD_)
# Param 2 - Optional prefix to VS variables. (e.g BUILD_)
AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_SYSROOT_FLAGS],
[
# Convert $1VS_INCLUDE into $1SYSROOT_CFLAGS
OLDIFS="$IFS"
IFS=";"
for i in [$]$1VS_INCLUDE; do
ipath=$i
# Only process non-empty elements
if test "x$ipath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$ipath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([ipath])
$1SYSROOT_CFLAGS="[$]$1SYSROOT_CFLAGS -I$ipath"
fi
IFS=";"
fi
IFS=":"
# Convert VS_INCLUDE into SYSROOT_CFLAGS
for ipath in [$]$2VS_INCLUDE; do
$1SYSROOT_CFLAGS="[$]$1SYSROOT_CFLAGS -I$ipath"
done
# Convert $1VS_LIB into $1SYSROOT_LDFLAGS
for i in [$]$1VS_LIB; do
libpath=$i
# Only process non-empty elements
if test "x$libpath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$libpath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([libpath])
$1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -libpath:$libpath"
fi
IFS=";"
fi
# Convert VS_LIB into SYSROOT_LDFLAGS
for libpath in [$]$2VS_LIB; do
$1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -libpath:$libpath"
done
IFS="$OLDIFS"
AC_SUBST($1SYSROOT_CFLAGS)

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

@@ -0,0 +1,824 @@
#
# Copyright (c) 2011, 2024, 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])
###############################################################################
# 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))
]
)
])
# Delicate quoting and unquoting sequence to ensure the actual value is passed along unchanged
# For details on how this works, see https://git.openjdk.org/jdk/pull/11458#discussion_r1038173051
# WARNING: Proceed at the risk of your own sanity, getting this to work has made me completely
# incapable of feeling love or any other positive emotion
# ~Julian
m4_foreach([arg], m4_dquote(m4_dquote_elt($3)), [
m4_if(m4_index(arg, [: ]), -1, [m4_define([arg], m4_dquote(m4_bpatsubst(m4_dquote(arg), [:], [: ])))])
m4_define(arg_name, m4_substr(arg, 0, m4_index(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_bpatsubst(m4_dquote(m4_dquote(arg)), arg_name[: ]), [^\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-
# $2: The name of the argument to deprecate, in shell variable style (i.e. with _ instead of -)
# $3: Messages to user.
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])])
if test "x$enable_$2" != x; then
AC_MSG_WARN([Option --enable-$1 is deprecated and will be ignored.])
if test "x$3" != x; then
AC_MSG_WARN([$3])
fi
fi
])
###############################################################################
# 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"
translit(patsubst($2, --), -, _)="$[enable_]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 CHECK_AVAILABLE.
#
# 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>_ENABLED.
# 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(m4_quote(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(m4_quote(ARG_CHECKING_MSG), , [[for --enable-ARG_NAME]], [m4_normalize(ARG_CHECKING_MSG)]))
# If the code blocks are not given, set them to the empty statements to avoid
# tripping up bash.
m4_if(ARG_CHECK_AVAILABLE, , [m4_define([ARG_CHECK_AVAILABLE], [:])])
m4_if(ARG_IF_GIVEN, , [m4_define([ARG_IF_GIVEN], [:])])
m4_if(ARG_IF_NOT_GIVEN, , [m4_define([ARG_IF_NOT_GIVEN], [:])])
m4_if(ARG_IF_ENABLED, , [m4_define([ARG_IF_ENABLED], [:])])
m4_if(ARG_IF_DISABLED, , [m4_define([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
])
###############################################################################
# Helper functions for ARG_WITH, to validate different types of argument
# Dispatcher to call the correct UTIL_CHECK_TYPE_* function depending on the ARG_TYPE
AC_DEFUN([UTIL_CHECK_TYPE],
[
UTIL_CHECK_TYPE_$1($2)
])
AC_DEFUN([UTIL_CHECK_TYPE_string],
[
# All strings always passes
])
AC_DEFUN([UTIL_CHECK_TYPE_integer],
[
# Check that the argument is an integer
# Additional [] needed to keep m4 from mangling shell constructs.
[ if [[ ! "$1" =~ ^[0-9]+$ ]] ; then ]
FAILURE="Not an integer: $1"
fi
])
AC_DEFUN([UTIL_CHECK_TYPE_file],
[
# Check that the argument is an existing file
if test ! -f "$1" ; then
FAILURE="File $1 does not exist or is not readable"
fi
])
AC_DEFUN([UTIL_CHECK_TYPE_directory],
[
# Check that the argument is an existing directory
if test ! -d "$1" ; then
FAILURE="Directory $1 does not exist or is not readable"
fi
if test "[x]ARG_CHECK_FOR_FILES" != x; then
for file in ARG_CHECK_FOR_FILES; do
found_files=$($ECHO $(ls $1/$file 2> /dev/null))
if test "x$found_files" = x; then
FAILURE="Directory $1 does not contain $file"
break
elif ! test -e "$found_files"; then
FAILURE="Directory $1 contains multiple $file: $found_files"
break
fi
done
fi
])
AC_DEFUN([UTIL_CHECK_TYPE_literal],
[
# Check if it contains a space between non-space characters
# Additional [] needed to keep m4 from mangling shell constructs.
[ if [[ "$1" =~ [^' ']' '+[^' '] ]] ; then ]
FAILURE="Multiple words: $1"
fi
# Check that the selected variants are valid
UTIL_GET_NON_MATCHING_VALUES(invalid_value, $1, \
ARG_VALID_VALUES)
if test "x$invalid_value" != x; then
FAILURE="Invalid value: $invalid_value. Valid values are: ARG_VALID_VALUES"
fi
])
AC_DEFUN([UTIL_CHECK_TYPE_multivalue],
[
# We accept either space or comma as separator, but use space internally
values=`$ECHO $1 | $SED -e 's/,/ /g'`
# Check that the selected variants are valid
UTIL_GET_NON_MATCHING_VALUES(invalid_value, $values, \
ARG_VALID_VALUES)
if test "x$invalid_value" != x; then
FAILURE="Invalid value(s): $invalid_value. Valid values are: ARG_VALID_VALUES"
fi
# Update to version without comma
ARG_RESULT=$($ECHO $values)
])
AC_DEFUN([UTIL_CHECK_TYPE_features],
[
# We accept either space or comma as separator, but use space internally
feature_list=`$ECHO $1 | $SED -e 's/,/ /g'`
features_enabled=`$ECHO $feature_list | \
$AWK '{ for (i=1; i<=NF; i++) if (!match($i, /^-.*/)) printf("%s ", $i) }'`
features_disabled=`$ECHO $feature_list | \
$AWK '{ for (i=1; i<=NF; i++) if (match($i, /^-.*/)) printf("%s ", substr($i, 2))}'`
# Check that the selected features are valid
UTIL_GET_NON_MATCHING_VALUES(invalid_features, $features_enabled \
$features_disabled, ARG_VALID_VALUES)
if test "x$invalid_features" != x; then
FAILURE="Invalid feature(s): $invalid_features. Valid values are: ARG_VALID_VALUES"
fi
# Update to version without comma
ARG_RESULT=$($ECHO $feature_list)
])
###############################################################################
# Creates a command-line option using the --with-* pattern. Will return a
# string in the RESULT variable with the option provided by the user, or the
# empty string if the --with-* option was not given. The option can not be given
# if it is not available, as specified by AVAILABLE and/or CHECK_AVAILABLE.
#
# Arguments:
# NAME: The base name of this option (i.e. what follows --with-). Required.
# TYPE: The type of the value. Can be one of "string", "integer", "file",
# "directory", "literal", "multivalue" or "features". Required.
# DEFAULT: The default value for this option. Can be any valid string.
# Required.
# OPTIONAL: If this feature can be disabled. Defaults to false. If true,
# the feature can be disabled using --without-FOO, --with-FOO=no, or
# --with-FOO=. Check the ENABLED_RESULT variable for the enabled/disabled
# state.
# RESULT: The name of the variable to set to the result. Defaults to
# <NAME in uppercase>. Set to empty if ENABLED_RESULT is false.
# ENABLED_DEFAULT: If the value is enabled by default. Defaults to false. Only
# relevant if OPTIONAL is true.
# ENABLED_RESULT: The name of the variable to set to the enabled/disabled
# result state. Defaults to <NAME in uppercase>_ENABLED.
# 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, or "<none>" if DEFAULT is empty.
# 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.
# VALID_VALUES: A list of literals that are the allowed values. Only valid if
# TYPE is "literal", "multivalue" or "features".
# CHECK_VALUE: An optional code block to execute to determine if the value
# is correct. Must set FAILURE to a non-empty string if not. This string
# will be displayed. The value is given in $RESULT.
# CHECK_FOR_FILES: A list of files to verify the presence for. Only valid if
# TYPE is "directory". Paths are relative the directory given as value.
# Wildcards are accepted. Exactly one matching file must be found, for each
# listed file, or FAILURE is set.
# IF_AUTO: An optional code block to execute if the value is "auto", either by
# default or given by the command line. Must set RESULT to the calculated
# value.
# 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).
#
UTIL_DEFUN_NAMED([UTIL_ARG_WITH],
[*NAME *TYPE *DEFAULT OPTIONAL RESULT ENABLED_DEFAULT ENABLED_RESULT
AVAILABLE DESC DEFAULT_DESC CHECKING_MSG CHECK_AVAILABLE VALID_VALUES
CHECK_VALUE CHECK_FOR_FILES IF_AUTO IF_GIVEN IF_NOT_GIVEN], [$@],
[
##########################
# Part 1: Set up m4 macros
##########################
# If ENABLED_DEFAULT is not specified, set it to 'false'.
m4_define([ARG_ENABLED_DEFAULT], m4_if(ARG_ENABLED_DEFAULT, , false, ARG_ENABLED_DEFAULT))
# If AVAILABLE is not specified, set it to 'true'.
m4_define([ARG_AVAILABLE], m4_if(ARG_AVAILABLE, , true, ARG_AVAILABLE))
# If OPTIONAL is not specified, set it to 'false'.
m4_define([ARG_OPTIONAL], m4_if(ARG_OPTIONAL, , false, ARG_OPTIONAL))
# If DEFAULT_DESC is not specified, calculate it from DEFAULT.
m4_define([ARG_DEFAULT_DESC], m4_if(ARG_DEFAULT_DESC, , m4_if(ARG_DEFAULT, , <none>, ARG_DEFAULT), ARG_DEFAULT_DESC))
# If RESULT is not specified, set it to 'ARG_NAME'.
m4_define([ARG_RESULT], m4_if(ARG_RESULT, , m4_translit(ARG_NAME, [a-z-], [A-Z_]), ARG_RESULT))
# If ENABLED_RESULT is not specified, set it to 'ARG_NAME[_ENABLED]'.
m4_define([ARG_ENABLED_RESULT], m4_if(ARG_ENABLED_RESULT, , m4_translit(ARG_NAME, [a-z-], [A-Z_])[_ENABLED], ARG_ENABLED_RESULT))
# Construct shell variable names for the option
m4_define(ARG_OPTION, [with_]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(m4_quote(ARG_DESC), , [[Give a value for 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(m4_quote(ARG_CHECKING_MSG), , [[for --with-ARG_NAME]], [m4_normalize(ARG_CHECKING_MSG)]))
m4_define([ARG_HAS_AUTO_BLOCK], m4_if(ARG_IF_AUTO, , false, true))
# If the code blocks are not given, set them to the empty statements to avoid
# tripping up bash.
m4_if(ARG_CHECK_AVAILABLE, , [m4_define([ARG_CHECK_AVAILABLE], [:])])
m4_if(ARG_CHECK_VALUE, , [m4_define([ARG_CHECK_VALUE], [:])])
m4_if(ARG_CHECK_FOR_FILES, , [m4_define([ARG_CHECK_FOR_FILES], [:])])
m4_if(ARG_IF_AUTO, , [m4_define([ARG_IF_AUTO], [:])])
m4_if(ARG_IF_GIVEN, , [m4_define([ARG_IF_GIVEN], [:])])
m4_if(ARG_IF_NOT_GIVEN, , [m4_define([ARG_IF_NOT_GIVEN], [:])])
##########################
# Part 2: Set up autoconf shell code
##########################
# Check that OPTIONAL has a valid value
if test "[x]ARG_OPTIONAL" != xtrue && test "[x]ARG_OPTIONAL" != xfalse ; then
AC_MSG_ERROR([Internal error: Argument OPTIONAL to [UTIL_ARG_WITH] can only be true or false, was: 'ARG_OPTIONAL'])
fi
# Check that ENABLED_DEFAULT has a valid value
if test "[x]ARG_ENABLED_DEFAULT" != xtrue && test "[x]ARG_ENABLED_DEFAULT" != xfalse ; then
AC_MSG_ERROR([Internal error: Argument ENABLED_DEFAULT to [UTIL_ARG_WITH] can only be true or false, was: 'ARG_ENABLED_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_WITH] can only be true or false, was: 'ARG_AVAILABLE'])
fi
# Check that TYPE has a valid value
# Need to assign since we can't expand ARG TYPE inside the m4 quoted if statement
TEST_TYPE="ARG_TYPE"
# Additional [] needed to keep m4 from mangling shell constructs.
[ if [[ ! "$TEST_TYPE" =~ ^(string|integer|file|directory|literal|multivalue|features)$ ]] ; then ]
AC_MSG_ERROR([Internal error: Argument TYPE to [UTIL_ARG_WITH] must be a valid type, was: 'ARG_TYPE'])
fi
AC_ARG_WITH(ARG_NAME, AS_HELP_STRING([--with-]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$AVAILABLE = xfalse; then
ARG_RESULT="$ARG_OPTION"
ARG_ENABLED_RESULT=false
REASON="not available"
else
if test x$ARG_GIVEN = xfalse; then
ARG_RESULT="ARG_DEFAULT"
if test "[x]ARG_OPTIONAL" = xtrue; then
ARG_ENABLED_RESULT=ARG_ENABLED_DEFAULT
else
ARG_ENABLED_RESULT=true
fi
REASON="default"
else # ARG_GIVEN is true
# Special treatment of "yes" and "no" for "--with-ARG" and "--without-ARG"
if test "x$ARG_OPTION" = xyes || test "x$ARG_OPTION" = xno || test "x$ARG_OPTION" = x ; then
if test "[x]ARG_OPTIONAL" = xfalse; then
if test "x$ARG_OPTION" = x; then
# If not optional, the empty string is a valid value
ARG_RESULT=""
ARG_ENABLED_RESULT=true
REASON="from command line"
else
AC_MSG_RESULT([invalid])
AC_MSG_ERROR([Option [--with-]ARG_NAME must have a specified value])
fi
else
if test "x$ARG_OPTION" = xyes; then
ARG_RESULT="ARG_DEFAULT"
ARG_ENABLED_RESULT=true
REASON="default as enabled from command line"
else
# For optional values, both --without-FOO and --with-FOO= disables
ARG_RESULT=""
ARG_ENABLED_RESULT=false
REASON="from command line"
fi
fi
else
# The most common case -- the user gives a value for the option.
ARG_RESULT="$ARG_OPTION"
ARG_ENABLED_RESULT=true
REASON="from command line"
fi
fi
fi
if test "x$ARG_ENABLED_RESULT" = xfalse; then
if test "x$REASON" = "xnot available"; then
AC_MSG_RESULT([<invalid>, $REASON])
if test "x$ARG_RESULT" != "x" && test "x$ARG_RESULT" != "xno" ; then
AC_MSG_WARN([Option [--with-]ARG_NAME is not available for this configuration])
fi
else
AC_MSG_RESULT([<disabled>, $REASON])
fi
ARG_RESULT=""
else
if test [x]ARG_HAS_AUTO_BLOCK = xtrue && test "x$ARG_RESULT" = xauto; then
# Execute "auto" payload
ARG_IF_AUTO
ARG_RESULT="$RESULT"
REASON="$REASON (calculated from 'auto')"
fi
if test "x$ARG_RESULT" = x; then
AC_MSG_RESULT([<none>, $REASON])
else
AC_MSG_RESULT([$ARG_RESULT, $REASON])
fi
fi
# Verify value
# First use our dispatcher to verify that type requirements are satisfied
UTIL_CHECK_TYPE(ARG_TYPE, $ARG_RESULT)
if test "x$FAILURE" = x; then
# Execute custom verification payload, if present
RESULT="$ARG_RESULT"
ARG_CHECK_VALUE
ARG_RESULT="$RESULT"
fi
if test "x$FAILURE" != x; then
AC_MSG_NOTICE([Invalid value for [--with-]ARG_NAME: "$ARG_RESULT"])
AC_MSG_NOTICE([$FAILURE])
AC_MSG_ERROR([Cannot continue])
fi
# Execute result payloads, if present
if test x$ARG_GIVEN = xtrue; then
ARG_IF_GIVEN
else
ARG_IF_NOT_GIVEN
fi
])
###############################################################################
# Helper functions for CHECK_VALUE in ARG_WITH.
AC_DEFUN([UTIL_CHECK_STRING_NON_EMPTY],
[
if test "x$RESULT" = "x"; then
FAILURE="Value cannot be empty"
fi
])

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

@@ -0,0 +1,540 @@
#
# 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 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
# $2: if NOFAIL, errors will be silently ignored
AC_DEFUN([UTIL_FIXUP_PATH],
[
# Only process if variable expands to non-empty
path="[$]$1"
if test "x$path" != x; then
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$2" = "xNOFAIL"; then
quiet_option="-q"
fi
imported_path=`$FIXPATH_BASE $quiet_option import "$path"`
$FIXPATH_BASE verify "$imported_path"
if test $? -ne 0; then
if test "x$2" != "xNOFAIL"; then
AC_MSG_ERROR([The path of $1, which resolves as "$path", could not be imported.])
else
imported_path=""
fi
fi
if test "x$imported_path" != "x$path"; then
$1="$imported_path"
fi
else
[ if [[ "$path" =~ " " ]]; then ]
if test "x$2" != "xNOFAIL"; then
AC_MSG_NOTICE([The path of $1, which resolves as "$path", is invalid.])
AC_MSG_ERROR([Spaces are not allowed in this path.])
else
path=""
fi
fi
# Use eval to expand a potential ~.
eval new_path="$path"
if test ! -e "$new_path"; then
if test "x$2" != "xNOFAIL"; then
AC_MSG_ERROR([The path of $1, which resolves as "$new_path", is not found.])
else
new_path=""
fi
fi
# Make the path absolute
if test "x$new_path" != x; then
if test -d "$new_path"; then
path="`cd "$new_path"; pwd -L`"
else
dir="`$DIRNAME "$new_path"`"
base="`$BASENAME "$new_path"`"
path="`cd "$dir"; pwd -L`/$base"
fi
else
path=""
fi
$1="$path"
fi
fi
])
###############################################################################
# Check if the given file is a unix-style or windows-style executable, that is,
# if it expects paths in unix-style or windows-style.
# Returns "windows" or "unix" in $RESULT.
AC_DEFUN([UTIL_CHECK_WINENV_EXEC_TYPE],
[
# For cygwin and msys2, if it's linked with the correct helper lib, it
# accept unix paths
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin" || \
test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys2"; then
linked_libs=`$LDD $1 2>&1`
if test $? -ne 0; then
# Non-binary files (e.g. shell scripts) are unix files
RESULT=unix
else
[ if [[ "$linked_libs" =~ $WINENV_MARKER_DLL ]]; then ]
RESULT=unix
else
RESULT=windows
fi
fi
elif test "x$OPENJDK_BUILD_OS" = "xwindows"; then
# On WSL, we can check if it is a PE file
file_type=`$FILE -b $1 2>&1`
[ if [[ $file_type =~ PE.*Windows ]]; then ]
RESULT=windows
else
RESULT=unix
fi
else
RESULT=unix
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
# $2: Where to look for the command (replaces $PATH)
# $3: set to NOFIXPATH to skip prefixing FIXPATH, even if needed on platform
AC_DEFUN([UTIL_FIXUP_EXECUTABLE],
[
input="[$]$1"
# Only process if variable expands to non-empty
if test "x$input" != x; then
# First separate the path from the arguments. This will split at the first
# space.
[ if [[ "$OPENJDK_BUILD_OS" = "windows" && input =~ ^$FIXPATH ]]; then
line="${input#$FIXPATH }"
fixpath_prefix="$FIXPATH "
else
line="$input"
fixpath_prefix=""
fi ]
path="${line%% *}"
arguments="${line#"$path"}"
[ if ! [[ "$path" =~ /|\\ ]]; then ]
# This is a command without path (e.g. "gcc" or "echo")
command_type=`type -t "$path"`
if test "x$command_type" = xbuiltin || test "x$command_type" = xkeyword; then
# Shell builtin or keyword; we're done here
new_path="$path"
else
# Search in $PATH using bash built-in 'type -p'.
saved_path="$PATH"
if test "x$2" != x; then
PATH="$2"
fi
new_path=`type -p "$path"`
if test "x$new_path" = x && test "x$OPENJDK_BUILD_OS" = "xwindows"; then
# Try again with .exe
new_path="`type -p "$path.exe"`"
fi
PATH="$saved_path"
if test "x$new_path" = x; then
AC_MSG_NOTICE([The command for $1, which resolves as "$input", is not found in the PATH.])
AC_MSG_ERROR([Cannot locate $path])
fi
fi
else
# This is a path with slashes, don't look at $PATH
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
# fixpath.sh import will do all heavy lifting for us
new_path=`$FIXPATH_BASE import "$path"`
if test ! -e $new_path; then
# It failed, but maybe spaces were part of the path and not separating
# the command and argument. Retry using that assumption.
new_path=`$FIXPATH_BASE import "$input"`
if test ! -e $new_path; then
AC_MSG_NOTICE([The command for $1, which resolves as "$input", can not be found.])
AC_MSG_ERROR([Cannot locate $input])
fi
# It worked, clear all "arguments"
arguments=""
fi
else # on unix
# Make absolute
$1="$path"
UTIL_FIXUP_PATH($1, NOFAIL)
new_path="[$]$1"
if test ! -e $new_path; then
AC_MSG_NOTICE([The command for $1, which resolves as "$input", is not found])
[ if [[ "$path" =~ " " ]]; then ]
AC_MSG_NOTICE([This might be caused by spaces in the path, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate $path])
fi
if test ! -x $new_path; then
AC_MSG_NOTICE([The command for $1, which resolves as "$input", is not executable.])
AC_MSG_ERROR([Cannot execute command at $path])
fi
fi # end on unix
fi # end with or without slashes
# Now we have a usable command as new_path, with arguments in arguments
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$fixpath_prefix" = x; then
# Only mess around if fixpath_prefix was not given
UTIL_CHECK_WINENV_EXEC_TYPE("$new_path")
if test "x$RESULT" = xwindows; then
fixpath_prefix="$FIXPATH "
# make sure we have an .exe suffix (but not two)
new_path="${new_path%.exe}.exe"
else
# If we have gotten a .exe suffix, remove it
new_path="${new_path%.exe}"
fi
fi
fi
if test "x$3" = xNOFIXPATH; then
fixpath_prefix=""
fi
# Now join together the path and the arguments once again
new_complete="$fixpath_prefix$new_path$arguments"
$1="$new_complete"
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
# 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 by user]]])
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_PROGS($1, $tool_basename ${tool_basename}.exe)
tool_command="[$]$1"
if test "x$tool_command" = x; then
AC_MSG_ERROR([User supplied tool $1="$tool_basename" could not be found in PATH])
fi
else
# Otherwise we believe it is a complete path. Use it as it is.
if test ! -x "$tool_command" && test ! -x "${tool_command}.exe"; then
AC_MSG_ERROR([User supplied tool $1="$tool_command" does not exist or is not executable])
fi
if test ! -x "$tool_command"; then
tool_command="${tool_command}.exe"
fi
$1="$tool_command"
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
AC_MSG_CHECKING([for $1])
AC_MSG_RESULT([[$]$1 [[user supplied]]])
fi
fi
$3
fi
])
###############################################################################
# Locate a tool using proper methods.
# $1: variable to set
# $2: executable name (or list of names) to look for
# $3: [path]
# $4: set to NOFIXPATH to skip prefixing FIXPATH, even if needed on platform
AC_DEFUN([UTIL_LOOKUP_PROGS],
[
UTIL_SETUP_TOOL($1, [
$1=""
if test "x$3" != x; then
old_path="$PATH"
PATH="$3"
fi
for name in $2; do
AC_MSG_CHECKING(for $name)
command_type=`type -t "$name"`
if test "x$command_type" = xbuiltin || test "x$command_type" = xkeyword; then
# Shell builtin or keyword; we're done here
full_path="$name"
$1="$full_path"
AC_MSG_RESULT([[$full_path [builtin]]])
break
else
# Search in $PATH
old_ifs="$IFS"
IFS=":"
for elem in $PATH; do
IFS="$old_ifs"
if test "x$elem" = x; then
continue
fi
full_path="$elem/$name"
if test ! -e "$full_path" && test "x$OPENJDK_BUILD_OS" = "xwindows"; then
# Try again with .exe
full_path="$elem/$name.exe"
fi
if test -e "$full_path"; then
$1="$full_path"
UTIL_FIXUP_EXECUTABLE($1, $3, $4)
result="[$]$1"
# If we have FIXPATH enabled, strip all instances of it and prepend
# a single one, to avoid double fixpath prefixing.
if test "x$4" != xNOFIXPATH; then
[ if [[ $FIXPATH != "" && $result =~ ^"$FIXPATH " ]]; then ]
result="\$FIXPATH ${result#"$FIXPATH "}"
fi
fi
AC_MSG_RESULT([$result])
break 2;
fi
done
IFS="$old_ifs"
fi
AC_MSG_RESULT([[[not found]]])
done
if test "x$3" != x; then
PATH="$old_path"
fi
])
])
###############################################################################
# Call UTIL_SETUP_TOOL with AC_CHECK_TOOLS to locate the tool. This will look
# first for cross-compilation tools.
# $1: variable to set
# $2: executable name (or list of names) to look for
# $3: [path]
AC_DEFUN([UTIL_LOOKUP_TOOLCHAIN_PROGS],
[
if test "x$ac_tool_prefix" = x; then
UTIL_LOOKUP_PROGS($1, $2, $3)
else
prefixed_names=$(for name in $2; do echo ${ac_tool_prefix}${name} $name; done)
UTIL_LOOKUP_PROGS($1, $prefixed_names, $3)
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
])
###############################################################################
# Like UTIL_LOOKUP_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_LOOKUP_PROGS($1, $2, $3)
UTIL_CHECK_NONEMPTY($1)
])
###############################################################################
# Like UTIL_LOOKUP_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_TOOLCHAIN_PROGS],
[
UTIL_LOOKUP_TOOLCHAIN_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)
# The special macro will return an absolute path, and is only used for
# unix tools. No further processing needed.
])
###############################################################################
# Add FIXPATH prefix to variable. Normally this is done by UTIL_LOOKUP_PROGS
# or UTIL_FIXUP_EXECUTABLE, but in some circumstances this has to be done
# explicitly, such as when the command in question does not exist yet.
#
# $1: variable to add fixpath to
AC_DEFUN([UTIL_ADD_FIXPATH],
[
if test "x$FIXPATH" != x; then
$1="$FIXPATH [$]$1"
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 `pwd -P`
sym_link_dir=`pwd -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=`pwd -P`
sym_link_file=`$BASENAME $ISLINK`
let COUNTER=COUNTER+1
done
cd $STARTDIR
$1=$sym_link_dir/$sym_link_file
fi
fi
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2024, 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,16 +28,16 @@
DEFAULT_VERSION_FEATURE=11
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=15
DEFAULT_VERSION_UPDATE=25
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2022-04-19
DEFAULT_VERSION_DATE=2024-10-15
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11"
DEFAULT_PROMOTED_VERSION_PRE=
DEFAULT_PROMOTED_VERSION_PRE=ea
LAUNCHER_NAME=openjdk
PRODUCT_NAME=OpenJDK

112
make/common/CopyFiles.gmk Normal file
View File

@@ -0,0 +1,112 @@
#
# Copyright (c) 2011, 2019, 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.
#
ifeq (,$(_MAKEBASE_GMK))
$(error You must include MakeBase.gmk prior to including CopyFiles.gmk)
endif
################################################################################
#
# Code for handling the SetupCopyFiles macro.
#
################################################################################
define AddFileToCopy
# Helper macro for SetupCopyFiles
# 1 : Source file
# 2 : Dest file
# 3 : Variable to add targets to
# 4 : Macro to call for copy operation
# 5 : Action text to log
$2: $1
$$(call LogInfo, $(strip $5) $$(patsubst $(OUTPUTDIR)/%,%,$$(call DecodeSpace, $$@)))
$$($$(strip $4))
$3 += $2
$3_SOURCES += $1
endef
# Returns the value of the first argument
identity = \
$(strip $1)
# Setup make rules for copying files, with an option to do more complex
# processing instead of copying.
#
# Parameter 1 is the name of the rule. This name is used as variable prefix,
# and the targets generated are listed in a variable by that name.
#
# The list of all source files is returned in $1_SOURCES.
#
# Remaining parameters are named arguments. These include:
# SRC : Source root dir (defaults to dir of first file)
# DEST : Dest root dir
# FILES : List of files to copy with absolute paths, or path relative to SRC.
# Must be in SRC.
# FLATTEN : Set to flatten the directory structure in the DEST dir.
# MACRO : Optionally override the default macro used for making the copy.
# Default is 'install-file'
# NAME_MACRO : Optionally supply a macro that rewrites the target file name
# based on the source file name
# LOG_ACTION : Optionally specify a different action text for log messages
SetupCopyFiles = $(NamedParamsMacroTemplate)
define SetupCopyFilesBody
ifeq ($$($1_MACRO), )
$1_MACRO := install-file
endif
# Default SRC to the dir of the first file.
ifeq ($$($1_SRC), )
$1_SRC := $$(dir $$(firstword $$($1_FILES)))
endif
ifeq ($$($1_NAME_MACRO), )
$1_NAME_MACRO := identity
endif
ifeq ($$($1_LOG_ACTION), )
$1_LOG_ACTION := Copying
endif
# Remove any trailing slash from SRC and DEST
$1_SRC := $$(patsubst %/,%,$$($1_SRC))
$1_DEST := $$(patsubst %/,%,$$($1_DEST))
# Need to wrap arguments in DoubleDollar because of the eval nested inside an
# eval macro body.
$$(foreach f, $$(patsubst $$($1_SRC)/%,%,$$($1_FILES)), \
$$(eval $$(call AddFileToCopy, \
$$(call DoubleDollar, $$($1_SRC)/$$f), \
$$(call DoubleDollar, \
$$($1_DEST)/$$(call $$(strip $$($1_NAME_MACRO)),$$(if $$($1_FLATTEN),$$(notdir $$f),$$f)) \
), \
$1, \
$$($1_MACRO), \
$$($1_LOG_ACTION) \
)) \
)
endef

View File

@@ -53,6 +53,7 @@ define FindJtregGroupsBody
-e 's/^groups\w*=//p' $1/TEST.ROOT)
$1_JTREG_GROUP_FILES := $$(addprefix $1/, $$($1_JTREG_GROUP_FILENAMES))
$1_JTREG_TEST_GROUPS := $$(strip $$(shell $$(SED) -n \
-e 's/^\#.*//g' \
-e 's/\([^ ]*\)\w*=.*/\1/gp' $$(wildcard $$($1_JTREG_GROUP_FILES)) \
| $$(SORT) -u))
endif

View File

@@ -341,8 +341,8 @@ define SetupJavaCompilationBody
$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_REMOTE:=--server:portfile=$$(call FixPath,$$($1_SJAVAC_PORTFILE)),id=$1,sjavac=$$(subst \
$$(SPACE),%20,$$(subst $$(COMMA),%2C,$$(strip $$(call FixPath, $$($1_SERVER_JVM) $$($1_SJAVAC)))))
$1_COMPILE_TARGET := $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1_batch
$1_API_TARGET := $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$1_pubapi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2024, 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
@@ -64,6 +64,9 @@ define NEWLINE
endef
# Make sure we have a value (could be overridden on command line by caller)
CREATING_BUILDJDK ?= false
# Certain features only work in newer version of GNU Make. The build will still
# function in 3.81, but will be less performant.
ifeq (4.0, $(firstword $(sort 4.0 $(MAKE_VERSION))))
@@ -72,17 +75,17 @@ ifeq (4.0, $(firstword $(sort 4.0 $(MAKE_VERSION))))
RWILDCARD_WORKS := true
endif
##############################
# Functions
##############################
### Debug functions
# For convenience, MakeBase.gmk continues to include these separate files, at
# least for now.
# Prints the name and value of a variable
PrintVar = \
$(info $(strip $1) >$($(strip $1))<)
include $(TOPDIR)/make/common/Utils.gmk
include $(TOPDIR)/make/common/MakeIO.gmk
include $(TOPDIR)/make/common/CopyFiles.gmk
### Functions for timers
################################################################################
# Functions for timers
################################################################################
# Store the build times in this directory.
BUILDTIMESDIR=$(OUTPUTDIR)/make-support/build-times
@@ -118,227 +121,6 @@ define TargetExit
"`$(CAT) $(BUILDTIMESDIR)/build_time_diff_$(patsubst %-only,%,$@) | $(CUT) -f 1 -d ' '`"
endef
################################################################################
# This macro translates $ into \$ to protect the $ from expansion in the shell.
# To make this macro resilient against already escaped strings, first remove
# any present escapes before escaping so that no double escapes are added.
EscapeDollar = $(subst $$,\$$,$(subst \$$,$$,$(strip $1)))
################################################################################
# This macro works just like EscapeDollar above, but for #.
EscapeHash = $(subst \#,\\\#,$(subst \\\#,\#,$(strip $1)))
################################################################################
# This macro translates $ into $$ to protect the string from make itself.
DoubleDollar = $(subst $$,$$$$,$(strip $1))
################################################################################
# ListPathsSafely can be used to print command parameters to a file. This is
# typically done if the command line lenght risk being too long for the
# OS/shell. In later make versions, the file function can be used for this
# purpose. For earlier versions, a more complex implementation is provided.
#
# The function ListPathsSafely can be called either directly or, more commonly
# from a recipe line. If called from a recipe, it will be executed in the
# evaluation phase of that recipe, which means that it will write to the file
# before any other line in the recipe has been run.
ifeq ($(HAS_FILE_FUNCTION), true)
# Param 1 - Name of variable containing paths/arguments to output
# Param 2 - File to print to
# Param 3 - Set to true to append to file instead of overwriting
define ListPathsSafely
$$(call MakeDir, $$(dir $$(strip $2)))
$$(file $$(if $$(filter true, $$(strip $3)),>>,>) \
$$(strip $2),$$(subst $$(SPACE),$$(NEWLINE),$$(strip $$($$(strip $1)))))
endef
else # HAS_FILE_FUNCTION = false
$(eval compress_paths = \
$(strip $(shell $(CAT) $(TOPDIR)/make/common/support/ListPathsSafely-pre-compress.incl)))
compress_paths += \
$(subst $(TOPDIR),X97, \
$(subst $(OUTPUTDIR),X98, \
$(subst X,X00, \
$(subst $(SPACE),\n,$(strip $1)))))
$(eval compress_paths += \
$(strip $(shell $(CAT) $(TOPDIR)/make/common/support/ListPathsSafely-post-compress.incl)))
decompress_paths=$(SED) -f $(TOPDIR)/make/common/support/ListPathsSafely-uncompress.sed \
-e 's|X99|\\n|g' \
-e 's|X98|$(OUTPUTDIR)|g' -e 's|X97|$(TOPDIR)|g' \
-e 's|X00|X|g'
ListPathsSafely_IfPrintf = \
$(if $(word $3,$($(strip $1))), \
$(shell $(PRINTF) -- "$(strip $(call EscapeDollar, \
$(call compress_paths, $(wordlist $3,$4,$($(strip $1))))))\n" \
| $(decompress_paths) >> $2))
# Param 1 - Name of variable containing paths/arguments to output
# Param 2 - File to print to
# Param 3 - Set to true to append to file instead of overwriting
define ListPathsSafely
ifneq (,$$(word 30001,$$($$(strip $1))))
$$(error Cannot list safely more than 30000 paths. $1 has $$(words $$($$(strip $1))) paths!)
endif
$$(call MakeDir, $$(dir $2))
ifneq ($$(strip $3), true)
$$(shell $(RM) $$(strip $2))
endif
$$(call ListPathsSafely_IfPrintf,$1,$2,1,250)
$$(call ListPathsSafely_IfPrintf,$1,$2,251,500)
$$(call ListPathsSafely_IfPrintf,$1,$2,501,750)
$$(call ListPathsSafely_IfPrintf,$1,$2,751,1000)
$$(call ListPathsSafely_IfPrintf,$1,$2,1001,1250)
$$(call ListPathsSafely_IfPrintf,$1,$2,1251,1500)
$$(call ListPathsSafely_IfPrintf,$1,$2,1501,1750)
$$(call ListPathsSafely_IfPrintf,$1,$2,1751,2000)
$$(call ListPathsSafely_IfPrintf,$1,$2,2001,2250)
$$(call ListPathsSafely_IfPrintf,$1,$2,2251,2500)
$$(call ListPathsSafely_IfPrintf,$1,$2,2501,2750)
$$(call ListPathsSafely_IfPrintf,$1,$2,2751,3000)
$$(call ListPathsSafely_IfPrintf,$1,$2,3001,3250)
$$(call ListPathsSafely_IfPrintf,$1,$2,3251,3500)
$$(call ListPathsSafely_IfPrintf,$1,$2,3501,3750)
$$(call ListPathsSafely_IfPrintf,$1,$2,3751,4000)
$$(call ListPathsSafely_IfPrintf,$1,$2,4001,4250)
$$(call ListPathsSafely_IfPrintf,$1,$2,4251,4500)
$$(call ListPathsSafely_IfPrintf,$1,$2,4501,4750)
$$(call ListPathsSafely_IfPrintf,$1,$2,4751,5000)
$$(call ListPathsSafely_IfPrintf,$1,$2,5001,5250)
$$(call ListPathsSafely_IfPrintf,$1,$2,5251,5500)
$$(call ListPathsSafely_IfPrintf,$1,$2,5501,5750)
$$(call ListPathsSafely_IfPrintf,$1,$2,5751,6000)
$$(call ListPathsSafely_IfPrintf,$1,$2,6001,6250)
$$(call ListPathsSafely_IfPrintf,$1,$2,6251,6500)
$$(call ListPathsSafely_IfPrintf,$1,$2,6501,6750)
$$(call ListPathsSafely_IfPrintf,$1,$2,6751,7000)
$$(call ListPathsSafely_IfPrintf,$1,$2,7001,7250)
$$(call ListPathsSafely_IfPrintf,$1,$2,7251,7500)
$$(call ListPathsSafely_IfPrintf,$1,$2,7501,7750)
$$(call ListPathsSafely_IfPrintf,$1,$2,7751,8000)
$$(call ListPathsSafely_IfPrintf,$1,$2,8001,8250)
$$(call ListPathsSafely_IfPrintf,$1,$2,8251,8500)
$$(call ListPathsSafely_IfPrintf,$1,$2,8501,8750)
$$(call ListPathsSafely_IfPrintf,$1,$2,8751,9000)
$$(call ListPathsSafely_IfPrintf,$1,$2,9001,9250)
$$(call ListPathsSafely_IfPrintf,$1,$2,9251,9500)
$$(call ListPathsSafely_IfPrintf,$1,$2,9501,9750)
$$(call ListPathsSafely_IfPrintf,$1,$2,9751,10000)
$$(call ListPathsSafely_IfPrintf,$1,$2,10001,10250)
$$(call ListPathsSafely_IfPrintf,$1,$2,10251,10500)
$$(call ListPathsSafely_IfPrintf,$1,$2,10501,10750)
$$(call ListPathsSafely_IfPrintf,$1,$2,10751,11000)
$$(call ListPathsSafely_IfPrintf,$1,$2,11001,11250)
$$(call ListPathsSafely_IfPrintf,$1,$2,11251,11500)
$$(call ListPathsSafely_IfPrintf,$1,$2,11501,11750)
$$(call ListPathsSafely_IfPrintf,$1,$2,11751,12000)
$$(call ListPathsSafely_IfPrintf,$1,$2,12001,12250)
$$(call ListPathsSafely_IfPrintf,$1,$2,12251,12500)
$$(call ListPathsSafely_IfPrintf,$1,$2,12501,12750)
$$(call ListPathsSafely_IfPrintf,$1,$2,12751,13000)
$$(call ListPathsSafely_IfPrintf,$1,$2,13001,13250)
$$(call ListPathsSafely_IfPrintf,$1,$2,13251,13500)
$$(call ListPathsSafely_IfPrintf,$1,$2,13501,13750)
$$(call ListPathsSafely_IfPrintf,$1,$2,13751,14000)
$$(call ListPathsSafely_IfPrintf,$1,$2,14001,14250)
$$(call ListPathsSafely_IfPrintf,$1,$2,14251,14500)
$$(call ListPathsSafely_IfPrintf,$1,$2,14501,14750)
$$(call ListPathsSafely_IfPrintf,$1,$2,14751,15000)
$$(call ListPathsSafely_IfPrintf,$1,$2,15001,15250)
$$(call ListPathsSafely_IfPrintf,$1,$2,15251,15500)
$$(call ListPathsSafely_IfPrintf,$1,$2,15501,15750)
$$(call ListPathsSafely_IfPrintf,$1,$2,15751,16000)
$$(call ListPathsSafely_IfPrintf,$1,$2,16001,16250)
$$(call ListPathsSafely_IfPrintf,$1,$2,16251,16500)
$$(call ListPathsSafely_IfPrintf,$1,$2,16501,16750)
$$(call ListPathsSafely_IfPrintf,$1,$2,16751,17000)
$$(call ListPathsSafely_IfPrintf,$1,$2,17001,17250)
$$(call ListPathsSafely_IfPrintf,$1,$2,17251,17500)
$$(call ListPathsSafely_IfPrintf,$1,$2,17501,17750)
$$(call ListPathsSafely_IfPrintf,$1,$2,17751,18000)
$$(call ListPathsSafely_IfPrintf,$1,$2,18001,18250)
$$(call ListPathsSafely_IfPrintf,$1,$2,18251,18500)
$$(call ListPathsSafely_IfPrintf,$1,$2,18501,18750)
$$(call ListPathsSafely_IfPrintf,$1,$2,18751,19000)
$$(call ListPathsSafely_IfPrintf,$1,$2,19001,19250)
$$(call ListPathsSafely_IfPrintf,$1,$2,19251,19500)
$$(call ListPathsSafely_IfPrintf,$1,$2,19501,19750)
$$(call ListPathsSafely_IfPrintf,$1,$2,19751,20000)
$$(call ListPathsSafely_IfPrintf,$1,$2,20001,20250)
$$(call ListPathsSafely_IfPrintf,$1,$2,20251,20500)
$$(call ListPathsSafely_IfPrintf,$1,$2,20501,20750)
$$(call ListPathsSafely_IfPrintf,$1,$2,20751,21000)
$$(call ListPathsSafely_IfPrintf,$1,$2,21001,21250)
$$(call ListPathsSafely_IfPrintf,$1,$2,21251,21500)
$$(call ListPathsSafely_IfPrintf,$1,$2,21501,21750)
$$(call ListPathsSafely_IfPrintf,$1,$2,21751,22000)
$$(call ListPathsSafely_IfPrintf,$1,$2,22001,22250)
$$(call ListPathsSafely_IfPrintf,$1,$2,22251,22500)
$$(call ListPathsSafely_IfPrintf,$1,$2,22501,22750)
$$(call ListPathsSafely_IfPrintf,$1,$2,22751,23000)
$$(call ListPathsSafely_IfPrintf,$1,$2,23001,23250)
$$(call ListPathsSafely_IfPrintf,$1,$2,23251,23500)
$$(call ListPathsSafely_IfPrintf,$1,$2,23501,23750)
$$(call ListPathsSafely_IfPrintf,$1,$2,23751,24000)
$$(call ListPathsSafely_IfPrintf,$1,$2,24001,24250)
$$(call ListPathsSafely_IfPrintf,$1,$2,24251,24500)
$$(call ListPathsSafely_IfPrintf,$1,$2,24501,24750)
$$(call ListPathsSafely_IfPrintf,$1,$2,24751,25000)
$$(call ListPathsSafely_IfPrintf,$1,$2,25001,25250)
$$(call ListPathsSafely_IfPrintf,$1,$2,25251,25500)
$$(call ListPathsSafely_IfPrintf,$1,$2,25501,25750)
$$(call ListPathsSafely_IfPrintf,$1,$2,25751,26000)
$$(call ListPathsSafely_IfPrintf,$1,$2,26001,26250)
$$(call ListPathsSafely_IfPrintf,$1,$2,26251,26500)
$$(call ListPathsSafely_IfPrintf,$1,$2,26501,26750)
$$(call ListPathsSafely_IfPrintf,$1,$2,26751,27000)
$$(call ListPathsSafely_IfPrintf,$1,$2,27001,27250)
$$(call ListPathsSafely_IfPrintf,$1,$2,27251,27500)
$$(call ListPathsSafely_IfPrintf,$1,$2,27501,27750)
$$(call ListPathsSafely_IfPrintf,$1,$2,27751,28000)
$$(call ListPathsSafely_IfPrintf,$1,$2,28001,28250)
$$(call ListPathsSafely_IfPrintf,$1,$2,28251,28500)
$$(call ListPathsSafely_IfPrintf,$1,$2,28501,28750)
$$(call ListPathsSafely_IfPrintf,$1,$2,28751,29000)
$$(call ListPathsSafely_IfPrintf,$1,$2,29001,29250)
$$(call ListPathsSafely_IfPrintf,$1,$2,29251,29500)
$$(call ListPathsSafely_IfPrintf,$1,$2,29501,29750)
$$(call ListPathsSafely_IfPrintf,$1,$2,29751,30000)
endef
endif # HAS_FILE_FUNCTION
################################################################################
# A file containing a way to uniquely identify the source code revision that
@@ -371,6 +153,10 @@ define SetupLogging
endif
endif
ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)
SHELL := $$(SHELL) -x
endif
ifeq ($$(LOG_LEVEL), trace)
SHELL_NO_RECURSE := $$(SHELL)
# Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
@@ -410,21 +196,6 @@ endef
# Make sure logging is setup for everyone that includes MakeBase.gmk.
$(eval $(call SetupLogging))
################################################################################
# Creates a sequence of increasing numbers (inclusive).
# Param 1 - starting number
# Param 2 - ending number
sequence = \
$(wordlist $1, $2, $(strip \
$(eval SEQUENCE_COUNT :=) \
$(call _sequence-do,$(strip $2))))
_sequence-do = \
$(if $(word $1, $(SEQUENCE_COUNT)),, \
$(eval SEQUENCE_COUNT += .) \
$(words $(SEQUENCE_COUNT)) \
$(call _sequence-do,$1))
################################################################################
MAX_PARAMS := 36
@@ -466,16 +237,6 @@ define NamedParamsMacroTemplate
$(call $(0)Body,$(strip $1))
endef
################################################################################
# Replace question marks with space in string. This macro needs to be called on
# files from FindFiles in case any of them contains space in their file name,
# since FindFiles replaces space with ?.
# Param 1 - String to replace in
DecodeSpace = \
$(subst ?,$(SPACE),$(strip $1))
EncodeSpace = \
$(subst $(SPACE),?,$(strip $1))
################################################################################
# Make directory without forking mkdir if not needed.
#
@@ -503,17 +264,10 @@ MakeDir = \
MakeTargetDir = \
$(call MakeDir, $(dir $(call EncodeSpace, $@)))
################################################################################
# Assign a variable only if it is empty
# Param 1 - Variable to assign
# Param 2 - Value to assign
SetIfEmpty = \
$(if $($(strip $1)),,$(eval $(strip $1) := $2))
################################################################################
# All install-file and related macros automatically call DecodeSpace when needed.
ifeq ($(OPENJDK_TARGET_OS),solaris)
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.
@@ -539,7 +293,7 @@ ifeq ($(OPENJDK_TARGET_OS),solaris)
$(CP) -f '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'; \
fi
endef
else ifeq ($(OPENJDK_TARGET_OS),macosx)
else 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
@@ -577,114 +331,41 @@ define install-file-nolink
$(CP) -f '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
endef
################################################################################
# Take two paths and return the path of the last common directory.
# Ex: /foo/bar/baz, /foo/bar/banan -> /foo/bar
# foo/bar/baz, /foo/bar -> <empty>
#
# The x prefix is used to preserve the presence of the initial slash
#
# $1 - Path to compare
# $2 - Other path to compare
FindCommonPathPrefix = \
$(patsubst x%,%,$(subst $(SPACE),/,$(strip \
$(call FindCommonPathPrefixHelper, \
$(subst /,$(SPACE),x$(strip $1)), $(subst /,$(SPACE),x$(strip $2))) \
)))
FindCommonPathPrefixHelper = \
$(if $(call equals, $(firstword $1), $(firstword $2)), \
$(firstword $1) \
$(call FindCommonPathPrefixHelper, \
$(wordlist 2, $(words $1), $1), $(wordlist 2, $(words $2), $2) \
) \
)
# Convert a partial path into as many directory levels of ../, removing
# leading and following /.
# Ex: foo/bar/baz/ -> ../../..
# foo/bar -> ../..
# /foo -> ..
DirToDotDot = \
$(subst $(SPACE),/,$(foreach d, $(subst /,$(SPACE),$1),..))
# Computes the relative path from a directory to a file
# $1 - File to compute the relative path to
# $2 - Directory to compute the relative path from
RelativePath = \
$(eval $1_prefix := $(call FindCommonPathPrefix, $1, $2)) \
$(eval $1_dotdots := $(call DirToDotDot, $(patsubst $($(strip $1)_prefix)%, %, $2))) \
$(eval $1_dotdots := $(if $($(strip $1)_dotdots),$($(strip $1)_dotdots),.)) \
$(eval $1_suffix := $(patsubst $($(strip $1)_prefix)/%, %, $1)) \
$($(strip $1)_dotdots)/$($(strip $1)_suffix)
################################################################################
# link-file-* works similarly to install-file but creates a symlink instead.
# There are two versions, either creating a relative or an absolute link. Be
# careful when using this on Windows since the symlink created is only valid in
# the unix emulation environment.
define link-file-relative
# In msys2 we use mklink /J because its ln would perform a deep copy of the target.
# This inhibits performance and can lead to issues with long paths. With mklink /J
# relative linking does not work, so we handle the link as absolute path.
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
define link-file-relative
$(call MakeTargetDir)
$(RM) '$(call DecodeSpace, $@)'
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
endef
else
define link-file-relative
$(call MakeTargetDir)
$(RM) '$(call DecodeSpace, $@)'
$(LN) -s '$(call DecodeSpace, $(call RelativePath, $<, $(@D)))' '$(call DecodeSpace, $@)'
endef
endef
endif
define link-file-absolute
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
define link-file-absolute
$(call MakeTargetDir)
$(RM) '$(call DecodeSpace, $@)'
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
endef
else
define link-file-absolute
$(call MakeTargetDir)
$(RM) '$(call DecodeSpace, $@)'
$(LN) -s '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
endef
################################################################################
# Filter out duplicate sub strings while preserving order. Keeps the first occurance.
uniq = \
$(strip $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))))
# Returns all whitespace-separated words in $2 where at least one of the
# whitespace-separated words in $1 is a substring.
containing = \
$(strip \
$(foreach v,$(strip $2),\
$(call uniq,$(foreach p,$(strip $1),$(if $(findstring $p,$v),$v)))))
# Returns all whitespace-separated words in $2 where none of the
# whitespace-separated words in $1 is a substring.
not-containing = \
$(strip $(filter-out $(call containing,$1,$2),$2))
# Return a list of all string elements that are duplicated in $1.
dups = \
$(strip $(foreach v, $(sort $1), $(if $(filter-out 1, \
$(words $(filter $v, $1))), $v)))
# String equals
equals = \
$(and $(findstring $(strip $1),$(strip $2)),\
$(findstring $(strip $2),$(strip $1)))
# Remove a whole list of prefixes
# $1 - List of prefixes
# $2 - List of elements to process
remove-prefixes = \
$(strip $(if $1,$(patsubst $(firstword $1)%,%,\
$(call remove-prefixes,$(filter-out $(firstword $1),$1),$2)),$2))
# Convert the string given to upper case, without any $(shell)
# Inspired by http://lists.gnu.org/archive/html/help-make/2013-09/msg00009.html
uppercase_table := a,A b,B c,C d,D e,E f,F g,G h,H i,I j,J k,K l,L m,M n,N o,O \
p,P q,Q r,R s,S t,T u,U v,V w,W x,X y,Y z,Z
uppercase_internal = \
$(if $(strip $1), $$(subst $(firstword $1), $(call uppercase_internal, \
$(wordlist 2, $(words $1), $1), $2)), $2)
# Convert a string to upper case. Works only on a-z.
# $1 - The string to convert
uppercase = \
$(strip \
$(eval uppercase_result := $(call uppercase_internal, $(uppercase_table), $1)) \
$(uppercase_result) \
)
endef
endif
################################################################################
@@ -800,205 +481,24 @@ else
FindFiles = $(CacheFindFiles)
endif
################################################################################
define AddFileToCopy
# Helper macro for SetupCopyFiles
# 1 : Source file
# 2 : Dest file
# 3 : Variable to add targets to
# 4 : Macro to call for copy operation
# 5 : Action text to log
$2: $1
$$(call LogInfo, $(strip $5) $$(patsubst $(OUTPUTDIR)/%,%,$$(call DecodeSpace, $$@)))
$$($$(strip $4))
$3 += $2
$3_SOURCES += $1
endef
# Returns the value of the first argument
identity = \
$(strip $1)
# Setup make rules for copying files, with an option to do more complex
# processing instead of copying.
#
# Parameter 1 is the name of the rule. This name is used as variable prefix,
# and the targets generated are listed in a variable by that name.
#
# The list of all source files is returned in $1_SOURCES.
#
# Remaining parameters are named arguments. These include:
# SRC : Source root dir (defaults to dir of first file)
# DEST : Dest root dir
# FILES : List of files to copy with absolute paths, or path relative to SRC.
# Must be in SRC.
# FLATTEN : Set to flatten the directory structure in the DEST dir.
# MACRO : Optionally override the default macro used for making the copy.
# Default is 'install-file'
# NAME_MACRO : Optionally supply a macro that rewrites the target file name
# based on the source file name
# LOG_ACTION : Optionally specify a different action text for log messages
SetupCopyFiles = $(NamedParamsMacroTemplate)
define SetupCopyFilesBody
ifeq ($$($1_MACRO), )
$1_MACRO := install-file
endif
# Default SRC to the dir of the first file.
ifeq ($$($1_SRC), )
$1_SRC := $$(dir $$(firstword $$($1_FILES)))
endif
ifeq ($$($1_NAME_MACRO), )
$1_NAME_MACRO := identity
endif
ifeq ($$($1_LOG_ACTION), )
$1_LOG_ACTION := Copying
endif
# Remove any trailing slash from SRC and DEST
$1_SRC := $$(patsubst %/,%,$$($1_SRC))
$1_DEST := $$(patsubst %/,%,$$($1_DEST))
# Need to wrap arguments in DoubleDollar because of the eval nested inside an
# eval macro body.
$$(foreach f, $$(patsubst $$($1_SRC)/%,%,$$($1_FILES)), \
$$(eval $$(call AddFileToCopy, \
$$(call DoubleDollar, $$($1_SRC)/$$f), \
$$(call DoubleDollar, \
$$($1_DEST)/$$(call $$(strip $$($1_NAME_MACRO)),$$(if $$($1_FLATTEN),$$(notdir $$f),$$f)) \
), \
$1, \
$$($1_MACRO), \
$$($1_LOG_ACTION) \
)) \
)
endef
################################################################################
# Parse a multiple-keyword variable, like FOO="KEYWORD1=val1;KEYWORD2=val2;..."
# These will be converted into a series of variables like FOO_KEYWORD1=val1,
# FOO_KEYWORD2=val2, etc. Unknown keywords will cause an error.
#
# Parameter 1 is the name of the rule, and is also the name of the variable.
#
# Remaining parameters are named arguments. These include:
# SINGLE_KEYWORDS A list of valid keywords with single string values
# STRING_KEYWORDS A list of valid keywords, processed as string. This means
# that '%20' will be replaced by ' ' to allow for multi-word strings.
#
ParseKeywordVariable = $(NamedParamsMacroTemplate)
define ParseKeywordVariableBody
ifneq ($$($1), )
# To preserve spaces, substitute them with a hopefully unique pattern
# before splitting and then re-substitute spaces back.
$1_MANGLED := $$(subst $$(SPACE),||||,$$($1))
$$(foreach mangled_part, $$(subst ;, , $$($1_MANGLED)), \
$$(eval mangled_part_eval := $$(call DoubleDollar, $$(mangled_part))) \
$$(eval part := $$$$(subst ||||,$$$$(SPACE),$$$$(mangled_part_eval))) \
$$(eval $1_NO_MATCH := true) \
$$(foreach keyword, $$($1_SINGLE_KEYWORDS), \
$$(eval keyword_eval := $$(call DoubleDollar, $$(keyword))) \
$$(if $$(filter $$(keyword)=%, $$(part)), \
$$(eval $(strip $1)_$$$$(keyword_eval) := $$$$(strip $$$$(patsubst $$$$(keyword_eval)=%, %, $$$$(part)))) \
$$(eval $1_NO_MATCH := ) \
) \
) \
$$(foreach keyword, $$($1_STRING_KEYWORDS), \
$$(eval keyword_eval := $$(call DoubleDollar, $$(keyword))) \
$$(if $$(filter $$(keyword)=%, $$(part)), \
$$(eval $(strip $1)_$$$$(keyword_eval) := $$$$(strip $$$$(subst %20, , $$$$(patsubst $$$$(keyword_eval)=%, %, $$$$(part))))) \
$$(eval $1_NO_MATCH := ) \
) \
) \
$$(if $$($1_NO_MATCH), \
$$(if $$(filter $$(part), $$($1_SINGLE_KEYWORDS) $$($1_STRING_KEYWORDS)), \
$$(info Keyword $$(part) for $1 needs to be assigned a value.) \
, \
$$(info $$(part) is not a valid keyword for $1.) \
$$(info Valid keywords: $$($1_SINGLE_KEYWORDS) $$($1_STRING_KEYWORDS).) \
) \
$$(error Cannot continue) \
) \
)
endif
endef
################################################################################
# ShellQuote
#
# Quotes a string with single quotes and replaces single quotes with '\'' so
# that the contents survives being given to the shell.
ShellQuote = \
$(SQUOTE)$(subst $(SQUOTE),$(SQUOTE)\$(SQUOTE)$(SQUOTE),$(strip $1))$(SQUOTE)
################################################################################
# FixPath
#
# On Windows, converts a path from cygwin/unix style (e.g. /bin/foo) into
# "mixed mode" (e.g. c:/cygwin/bin/foo). On other platforms, return the path
# unchanged.
# This also converts a colon-separated list of paths to a semicolon-separated
# list.
# This is normally not needed since we use the FIXPATH prefix for command lines,
# but might be needed in certain circumstances.
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
FixPath = \
$(shell $(CYGPATH) -m $1)
$(strip $(subst \,\\, $(shell $(FIXPATH_BASE) print $(patsubst $(FIXPATH), , $1))))
else
FixPath = \
$1
endif
################################################################################
# Write to and read from file
# Param 1 - File to read
ReadFile = \
$(shell $(CAT) $1)
# Param 1 - Text to write
# Param 2 - File to write to
ifeq ($(HAS_FILE_FUNCTION), true)
WriteFile = \
$(file >$2,$(strip $1))
else
# Use printf to get consistent behavior on all platforms.
WriteFile = \
$(shell $(PRINTF) "%s" $(call ShellQuote, $1) > $2)
endif
# Param 1 - Text to write
# Param 2 - File to write to
ifeq ($(HAS_FILE_FUNCTION), true)
AppendFile = \
$(file >>$2,$(strip $1))
else
# Use printf to get consistent behavior on all platforms.
AppendFile = \
$(shell $(PRINTF) "%s" $(call ShellQuote, $1) >> $2)
endif
################################################################################
# FixPathList
#
# On Windows, converts a cygwin/unix style path list (colon-separated) into
# the native format (mixed mode, semicolon-separated). On other platforms,
# return the path list unchanged.
################################################################################
ifeq ($(OPENJDK_TARGET_OS), windows)
FixPathList = \
$(subst @,$(SPACE),$(subst $(SPACE),;,$(foreach entry,$(subst :,$(SPACE),\
$(subst $(SPACE),@,$(strip $1))),$(call FixPath, $(entry)))))
else
FixPathList = \
$1
endif
################################################################################
# DependOnVariable
#
@@ -1085,75 +585,6 @@ ExecuteWithLog = \
$(CP) $(strip $1).cmdline $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(subst /,_,$(patsubst $(OUTPUTDIR)/%,%,$(strip $1))).cmdline && \
exit $(DOLLAR)exitcode ) )
################################################################################
# Find lib dir for module
# Param 1 - module name
FindLibDirForModule = \
$(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1)
################################################################################
# Find executable dir for module
# Param 1 - module name
FindExecutableDirForModule = \
$(SUPPORT_OUTPUTDIR)/modules_cmds/$(strip $1)
################################################################################
# Return a string suitable for use after a -classpath or --module-path option. It
# will be correct and safe to use on all platforms. Arguments are given as space
# separate classpath entries. Safe for multiple nested calls.
# param 1 : A space separated list of classpath entries
# The surrounding strip is needed to keep additional whitespace out
PathList = \
"$(subst $(SPACE),$(PATH_SEP),$(strip $(subst $(DQUOTE),,$1)))"
################################################################################
# Check if a specified hotspot variant is being built, or at least one of a
# list of variants. Will return 'true' or 'false'.
# $1 - the variant to test for
check-jvm-variant = \
$(strip \
$(if $(filter-out $(VALID_JVM_VARIANTS), $1), \
$(error Internal error: Invalid variant tested: $1)) \
$(if $(filter $1, $(JVM_VARIANTS)), true, false))
################################################################################
# Converts a space separated list to a comma separated list.
#
# Replacing double-comma with a single comma is to workaround the issue with
# some version of make on windows that doesn't substitute spaces with one comma
# properly.
CommaList = \
$(strip \
$(subst $(COMMA)$(COMMA),$(COMMA),$(subst $(SPACE),$(COMMA),$(strip $1))) \
)
################################################################################
# Converts a space separated list to a colon separated list.
#
# Replacing double-colon with a single colon is to workaround the issue with
# some version of make on windows that doesn't substitute spaces with one colon
# properly.
ColonList = \
$(strip \
$(subst ::,:,$(subst $(SPACE),:,$(strip $1))) \
)
################################################################################
# Given a list of files, filters out locale specific files for translations
# that should be excluded from this build.
# $1 - The list of files to filter
# $2 - The suffix of the files that should be considered (.java or .properties)
FilterExcludedTranslations = \
$(strip $(if $(EXCLUDE_TRANSLATIONS), \
$(filter-out \
$(foreach suffix, $2, \
$(addprefix %_, $(addsuffix $(suffix), $(EXCLUDE_TRANSLATIONS))) \
), \
$1 \
), \
$1 \
))
################################################################################
# Hook to include the corresponding custom file, if present.

272
make/common/MakeIO.gmk Normal file
View File

@@ -0,0 +1,272 @@
#
# Copyright (c) 2011, 2019, 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.
#
ifeq (,$(_MAKEBASE_GMK))
$(error You must include MakeBase.gmk prior to including MakeIO.gmk)
endif
################################################################################
#
# Functions for dealing with reading and writing from makefiles. Prior to GNU
# Make 4.0, this was tricky business.
#
################################################################################
################################################################################
# ListPathsSafely can be used to print command parameters to a file. This is
# typically done if the command line lenght risk being too long for the
# OS/shell. In later make versions, the file function can be used for this
# purpose. For earlier versions, a more complex implementation is provided.
#
# The function ListPathsSafely can be called either directly or, more commonly
# from a recipe line. If called from a recipe, it will be executed in the
# evaluation phase of that recipe, which means that it will write to the file
# before any other line in the recipe has been run.
ifeq ($(HAS_FILE_FUNCTION), true)
# Param 1 - Name of variable containing paths/arguments to output
# Param 2 - File to print to
# Param 3 - Set to true to append to file instead of overwriting
define ListPathsSafely
$$(call MakeDir, $$(dir $$(strip $2)))
$$(file $$(if $$(filter true, $$(strip $3)),>>,>) \
$$(strip $2),$$(subst $$(SPACE),$$(NEWLINE),$$(strip $$($$(strip $1)))))
endef
else # HAS_FILE_FUNCTION = false
$(eval compress_paths = \
$(strip $(shell $(CAT) $(TOPDIR)/make/common/support/ListPathsSafely-pre-compress.incl)))
compress_paths += \
$(subst $(TOPDIR),X97, \
$(subst $(OUTPUTDIR),X98, \
$(subst X,X00, \
$(subst $(SPACE),\n,$(strip $1)))))
$(eval compress_paths += \
$(strip $(shell $(CAT) $(TOPDIR)/make/common/support/ListPathsSafely-post-compress.incl)))
decompress_paths=$(SED) -f $(TOPDIR)/make/common/support/ListPathsSafely-uncompress.sed \
-e 's|X99|\\n|g' \
-e 's|X98|$(OUTPUTDIR)|g' -e 's|X97|$(TOPDIR)|g' \
-e 's|X00|X|g'
ListPathsSafely_IfPrintf = \
$(if $(word $3,$($(strip $1))), \
$(shell $(PRINTF) -- "$(strip $(call EscapeDollar, \
$(call compress_paths, $(wordlist $3,$4,$($(strip $1))))))\n" \
| $(decompress_paths) >> $2))
# Param 1 - Name of variable containing paths/arguments to output
# Param 2 - File to print to
# Param 3 - Set to true to append to file instead of overwriting
define ListPathsSafely
ifneq (,$$(word 30001,$$($$(strip $1))))
$$(error Cannot list safely more than 30000 paths. $1 has $$(words $$($$(strip $1))) paths!)
endif
$$(call MakeDir, $$(dir $2))
ifneq ($$(strip $3), true)
$$(shell $(RM) $$(strip $2))
endif
$$(call ListPathsSafely_IfPrintf,$1,$2,1,250)
$$(call ListPathsSafely_IfPrintf,$1,$2,251,500)
$$(call ListPathsSafely_IfPrintf,$1,$2,501,750)
$$(call ListPathsSafely_IfPrintf,$1,$2,751,1000)
$$(call ListPathsSafely_IfPrintf,$1,$2,1001,1250)
$$(call ListPathsSafely_IfPrintf,$1,$2,1251,1500)
$$(call ListPathsSafely_IfPrintf,$1,$2,1501,1750)
$$(call ListPathsSafely_IfPrintf,$1,$2,1751,2000)
$$(call ListPathsSafely_IfPrintf,$1,$2,2001,2250)
$$(call ListPathsSafely_IfPrintf,$1,$2,2251,2500)
$$(call ListPathsSafely_IfPrintf,$1,$2,2501,2750)
$$(call ListPathsSafely_IfPrintf,$1,$2,2751,3000)
$$(call ListPathsSafely_IfPrintf,$1,$2,3001,3250)
$$(call ListPathsSafely_IfPrintf,$1,$2,3251,3500)
$$(call ListPathsSafely_IfPrintf,$1,$2,3501,3750)
$$(call ListPathsSafely_IfPrintf,$1,$2,3751,4000)
$$(call ListPathsSafely_IfPrintf,$1,$2,4001,4250)
$$(call ListPathsSafely_IfPrintf,$1,$2,4251,4500)
$$(call ListPathsSafely_IfPrintf,$1,$2,4501,4750)
$$(call ListPathsSafely_IfPrintf,$1,$2,4751,5000)
$$(call ListPathsSafely_IfPrintf,$1,$2,5001,5250)
$$(call ListPathsSafely_IfPrintf,$1,$2,5251,5500)
$$(call ListPathsSafely_IfPrintf,$1,$2,5501,5750)
$$(call ListPathsSafely_IfPrintf,$1,$2,5751,6000)
$$(call ListPathsSafely_IfPrintf,$1,$2,6001,6250)
$$(call ListPathsSafely_IfPrintf,$1,$2,6251,6500)
$$(call ListPathsSafely_IfPrintf,$1,$2,6501,6750)
$$(call ListPathsSafely_IfPrintf,$1,$2,6751,7000)
$$(call ListPathsSafely_IfPrintf,$1,$2,7001,7250)
$$(call ListPathsSafely_IfPrintf,$1,$2,7251,7500)
$$(call ListPathsSafely_IfPrintf,$1,$2,7501,7750)
$$(call ListPathsSafely_IfPrintf,$1,$2,7751,8000)
$$(call ListPathsSafely_IfPrintf,$1,$2,8001,8250)
$$(call ListPathsSafely_IfPrintf,$1,$2,8251,8500)
$$(call ListPathsSafely_IfPrintf,$1,$2,8501,8750)
$$(call ListPathsSafely_IfPrintf,$1,$2,8751,9000)
$$(call ListPathsSafely_IfPrintf,$1,$2,9001,9250)
$$(call ListPathsSafely_IfPrintf,$1,$2,9251,9500)
$$(call ListPathsSafely_IfPrintf,$1,$2,9501,9750)
$$(call ListPathsSafely_IfPrintf,$1,$2,9751,10000)
$$(call ListPathsSafely_IfPrintf,$1,$2,10001,10250)
$$(call ListPathsSafely_IfPrintf,$1,$2,10251,10500)
$$(call ListPathsSafely_IfPrintf,$1,$2,10501,10750)
$$(call ListPathsSafely_IfPrintf,$1,$2,10751,11000)
$$(call ListPathsSafely_IfPrintf,$1,$2,11001,11250)
$$(call ListPathsSafely_IfPrintf,$1,$2,11251,11500)
$$(call ListPathsSafely_IfPrintf,$1,$2,11501,11750)
$$(call ListPathsSafely_IfPrintf,$1,$2,11751,12000)
$$(call ListPathsSafely_IfPrintf,$1,$2,12001,12250)
$$(call ListPathsSafely_IfPrintf,$1,$2,12251,12500)
$$(call ListPathsSafely_IfPrintf,$1,$2,12501,12750)
$$(call ListPathsSafely_IfPrintf,$1,$2,12751,13000)
$$(call ListPathsSafely_IfPrintf,$1,$2,13001,13250)
$$(call ListPathsSafely_IfPrintf,$1,$2,13251,13500)
$$(call ListPathsSafely_IfPrintf,$1,$2,13501,13750)
$$(call ListPathsSafely_IfPrintf,$1,$2,13751,14000)
$$(call ListPathsSafely_IfPrintf,$1,$2,14001,14250)
$$(call ListPathsSafely_IfPrintf,$1,$2,14251,14500)
$$(call ListPathsSafely_IfPrintf,$1,$2,14501,14750)
$$(call ListPathsSafely_IfPrintf,$1,$2,14751,15000)
$$(call ListPathsSafely_IfPrintf,$1,$2,15001,15250)
$$(call ListPathsSafely_IfPrintf,$1,$2,15251,15500)
$$(call ListPathsSafely_IfPrintf,$1,$2,15501,15750)
$$(call ListPathsSafely_IfPrintf,$1,$2,15751,16000)
$$(call ListPathsSafely_IfPrintf,$1,$2,16001,16250)
$$(call ListPathsSafely_IfPrintf,$1,$2,16251,16500)
$$(call ListPathsSafely_IfPrintf,$1,$2,16501,16750)
$$(call ListPathsSafely_IfPrintf,$1,$2,16751,17000)
$$(call ListPathsSafely_IfPrintf,$1,$2,17001,17250)
$$(call ListPathsSafely_IfPrintf,$1,$2,17251,17500)
$$(call ListPathsSafely_IfPrintf,$1,$2,17501,17750)
$$(call ListPathsSafely_IfPrintf,$1,$2,17751,18000)
$$(call ListPathsSafely_IfPrintf,$1,$2,18001,18250)
$$(call ListPathsSafely_IfPrintf,$1,$2,18251,18500)
$$(call ListPathsSafely_IfPrintf,$1,$2,18501,18750)
$$(call ListPathsSafely_IfPrintf,$1,$2,18751,19000)
$$(call ListPathsSafely_IfPrintf,$1,$2,19001,19250)
$$(call ListPathsSafely_IfPrintf,$1,$2,19251,19500)
$$(call ListPathsSafely_IfPrintf,$1,$2,19501,19750)
$$(call ListPathsSafely_IfPrintf,$1,$2,19751,20000)
$$(call ListPathsSafely_IfPrintf,$1,$2,20001,20250)
$$(call ListPathsSafely_IfPrintf,$1,$2,20251,20500)
$$(call ListPathsSafely_IfPrintf,$1,$2,20501,20750)
$$(call ListPathsSafely_IfPrintf,$1,$2,20751,21000)
$$(call ListPathsSafely_IfPrintf,$1,$2,21001,21250)
$$(call ListPathsSafely_IfPrintf,$1,$2,21251,21500)
$$(call ListPathsSafely_IfPrintf,$1,$2,21501,21750)
$$(call ListPathsSafely_IfPrintf,$1,$2,21751,22000)
$$(call ListPathsSafely_IfPrintf,$1,$2,22001,22250)
$$(call ListPathsSafely_IfPrintf,$1,$2,22251,22500)
$$(call ListPathsSafely_IfPrintf,$1,$2,22501,22750)
$$(call ListPathsSafely_IfPrintf,$1,$2,22751,23000)
$$(call ListPathsSafely_IfPrintf,$1,$2,23001,23250)
$$(call ListPathsSafely_IfPrintf,$1,$2,23251,23500)
$$(call ListPathsSafely_IfPrintf,$1,$2,23501,23750)
$$(call ListPathsSafely_IfPrintf,$1,$2,23751,24000)
$$(call ListPathsSafely_IfPrintf,$1,$2,24001,24250)
$$(call ListPathsSafely_IfPrintf,$1,$2,24251,24500)
$$(call ListPathsSafely_IfPrintf,$1,$2,24501,24750)
$$(call ListPathsSafely_IfPrintf,$1,$2,24751,25000)
$$(call ListPathsSafely_IfPrintf,$1,$2,25001,25250)
$$(call ListPathsSafely_IfPrintf,$1,$2,25251,25500)
$$(call ListPathsSafely_IfPrintf,$1,$2,25501,25750)
$$(call ListPathsSafely_IfPrintf,$1,$2,25751,26000)
$$(call ListPathsSafely_IfPrintf,$1,$2,26001,26250)
$$(call ListPathsSafely_IfPrintf,$1,$2,26251,26500)
$$(call ListPathsSafely_IfPrintf,$1,$2,26501,26750)
$$(call ListPathsSafely_IfPrintf,$1,$2,26751,27000)
$$(call ListPathsSafely_IfPrintf,$1,$2,27001,27250)
$$(call ListPathsSafely_IfPrintf,$1,$2,27251,27500)
$$(call ListPathsSafely_IfPrintf,$1,$2,27501,27750)
$$(call ListPathsSafely_IfPrintf,$1,$2,27751,28000)
$$(call ListPathsSafely_IfPrintf,$1,$2,28001,28250)
$$(call ListPathsSafely_IfPrintf,$1,$2,28251,28500)
$$(call ListPathsSafely_IfPrintf,$1,$2,28501,28750)
$$(call ListPathsSafely_IfPrintf,$1,$2,28751,29000)
$$(call ListPathsSafely_IfPrintf,$1,$2,29001,29250)
$$(call ListPathsSafely_IfPrintf,$1,$2,29251,29500)
$$(call ListPathsSafely_IfPrintf,$1,$2,29501,29750)
$$(call ListPathsSafely_IfPrintf,$1,$2,29751,30000)
endef
endif # HAS_FILE_FUNCTION
################################################################################
# Write to and read from file
# Param 1 - File to read
ReadFile = \
$(shell $(CAT) $1)
# Param 1 - Text to write
# Param 2 - File to write to
ifeq ($(HAS_FILE_FUNCTION), true)
WriteFile = \
$(file >$2,$(strip $1))
else
# Use printf to get consistent behavior on all platforms.
WriteFile = \
$(shell $(PRINTF) "%s" $(call ShellQuote, $1) > $2)
endif
# Param 1 - Text to write
# Param 2 - File to write to
ifeq ($(HAS_FILE_FUNCTION), true)
AppendFile = \
$(file >>$2,$(strip $1))
else
# Use printf to get consistent behavior on all platforms.
AppendFile = \
$(shell $(PRINTF) "%s" $(call ShellQuote, $1) >> $2)
endif

View File

@@ -118,11 +118,11 @@ PLATFORM_MODULES += \
jdk.zipfs \
#
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
PLATFORM_MODULES += jdk.crypto.mscapi
endif
ifeq ($(OPENJDK_TARGET_OS), solaris)
ifeq ($(call isTargetOs, solaris), true)
PLATFORM_MODULES += jdk.crypto.ucrypto
endif
@@ -337,6 +337,7 @@ $(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \
sub(/\/\*.*\*\//, ""); \
gsub(/^ +\*.*/, ""); \
gsub(/ /, ""); \
gsub(/\r/, ""); \
printf(" %s", $$0) } \
END { printf("\n") }' $m && \
$(PRINTF) "TRANSITIVE_MODULES_$(call GetModuleNameFromModuleInfo, $m) :=" && \
@@ -350,6 +351,7 @@ $(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \
sub(/\/\*.*\*\//, ""); \
gsub(/^ +\*.*/, ""); \
gsub(/ /, ""); \
gsub(/\r/, ""); \
printf(" %s", $$0) } \
END { printf("\n") }' $m \
) >> $@ $(NEWLINE))

View File

@@ -73,11 +73,11 @@ define WriteCompileCommandsFragment
$(call LogInfo, Creating compile commands fragment for $(notdir $3))
$(call MakeDir, $(dir $1))
$(call WriteFile,{ \
"directory": "$(strip $2)"$(COMMA) \
"file": "$(strip $3)"$(COMMA) \
"directory": "$(strip $(call FixPath, $2))"$(COMMA) \
"file": "$(strip $(call FixPath, $3))"$(COMMA) \
"command": "$(strip $(subst $(DQUOTE),\$(DQUOTE),$(subst \,\\,\
$(subst $(FIXPATH),,$4))))"$(COMMA) \
"output": "$(strip $5)" \
$(subst $(FIXPATH),,$(call FixPath, $4)))))"$(COMMA) \
"output": "$(strip $(call FixPath, $5))" \
}$(COMMA), \
$1)
endef
@@ -177,12 +177,6 @@ $(strip \
)
endef
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.cygwin)
UNIX_PATH_PREFIX := /cygdrive
else ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys)
UNIX_PATH_PREFIX :=
endif
# This pattern is used to transform the output of the microsoft CL compiler
# into a make syntax dependency file (.d)
WINDOWS_SHOWINCLUDE_SED_PATTERN := \
@@ -190,7 +184,7 @@ WINDOWS_SHOWINCLUDE_SED_PATTERN := \
-e 's|Note: including file: *||' \
-e 's|\r||g' \
-e 's|\\|/|g' \
-e 's|^\([a-zA-Z]\):|$(UNIX_PATH_PREFIX)/\1|g' \
-e 's|^\([a-zA-Z]\):|$(WINENV_PREFIX)/\1|g' \
-e '\|$(TOPDIR)|I !d' \
-e 's|$$$$| \\|g' \
#
@@ -289,10 +283,15 @@ endif
# 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
ifeq ($(MACOSX_CODESIGN_MODE), debug)
CODESIGN_PLIST_SUFFIX := -debug
else
CODESIGN_PLIST_SUFFIX :=
endif
DEFAULT_ENTITLEMENTS_FILE := $(ENTITLEMENTS_DIR)/default$(CODESIGN_PLIST_SUFFIX).plist
GetEntitlementsFile = \
$(foreach f, $(ENTITLEMENTS_DIR)/$(strip $(notdir $1)).plist, \
$(foreach f, $(ENTITLEMENTS_DIR)/$(strip $(notdir $1))$(CODESIGN_PLIST_SUFFIX).plist, \
$(if $(wildcard $f), $f, $(DEFAULT_ENTITLEMENTS_FILE)) \
)
@@ -360,10 +359,15 @@ define SetupCompileNativeFileBody
endif
endif
ifneq ($(DISABLE_WARNING_PREFIX), )
$1_WARNINGS_FLAGS := $$(addprefix $(DISABLE_WARNING_PREFIX), \
$$($$($1_BASE)_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)_$$($1_FILENAME)))
endif
$1_BASE_CFLAGS := $$($$($1_BASE)_CFLAGS) $$($$($1_BASE)_EXTRA_CFLAGS) \
$$($$($1_BASE)_SYSROOT_CFLAGS)
$$($$($1_BASE)_SYSROOT_CFLAGS) $$($1_WARNINGS_FLAGS)
$1_BASE_CXXFLAGS := $$($$($1_BASE)_CXXFLAGS) $$($$($1_BASE)_EXTRA_CXXFLAGS) \
$$($$($1_BASE)_SYSROOT_CFLAGS) $$($1_EXTRA_CXXFLAGS)
$$($$($1_BASE)_SYSROOT_CFLAGS) $$($1_EXTRA_CXXFLAGS) $$($1_WARNINGS_FLAGS)
$1_BASE_ASFLAGS := $$($$($1_BASE)_ASFLAGS) $$($$($1_BASE)_EXTRA_ASFLAGS)
ifneq ($$(filter %.c, $$($1_FILENAME)), )
@@ -558,7 +562,7 @@ define SetupNativeCompilationBody
ifeq ($$($1_TYPE), EXECUTABLE)
$1_PREFIX :=
ifeq ($$($1_SUFFIX), )
$1_SUFFIX := $(EXE_SUFFIX)
$1_SUFFIX := $(EXECUTABLE_SUFFIX)
endif
else
$1_PREFIX := $(LIBRARY_PREFIX)
@@ -743,9 +747,13 @@ define SetupNativeCompilationBody
# Pick up disabled warnings, if possible on this platform.
ifneq ($(DISABLE_WARNING_PREFIX), )
$1_EXTRA_CFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), \
$$(DISABLED_WARNINGS) \
$$(DISABLED_WARNINGS_C) \
$$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)) \
$$($1_DISABLED_WARNINGS_C_$(TOOLCHAIN_TYPE)))
$1_EXTRA_CXXFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), \
$$(DISABLED_WARNINGS) \
$$(DISABLED_WARNINGS_CXX) \
$$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)) \
$$($1_DISABLED_WARNINGS_CXX_$(TOOLCHAIN_TYPE)))
endif
@@ -763,6 +771,7 @@ 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))
@@ -915,7 +924,7 @@ define SetupNativeCompilationBody
$(TOUCH) $$@
# On windows we need to create a resource file
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
ifneq ($$($1_VERSIONINFO_RESOURCE), )
$1_RES := $$($1_OBJECT_DIR)/$$($1_BASENAME).res
$1_RES_DEPS_FILE := $$($1_RES).d
@@ -956,7 +965,7 @@ define SetupNativeCompilationBody
ifneq ($(DISABLE_MAPFILES), true)
$1_REAL_MAPFILE := $$($1_MAPFILE)
ifneq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), false)
ifneq ($$($1_REORDER), )
$1_REAL_MAPFILE := $$($1_OBJECT_DIR)/mapfile
@@ -971,8 +980,8 @@ define SetupNativeCompilationBody
# Pickup extra OPENJDK_TARGET_OS_TYPE and/or OPENJDK_TARGET_OS dependent variables
# for LDFLAGS and LIBS
$1_EXTRA_LDFLAGS := $$($1_LDFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS))
$1_EXTRA_LIBS := $$($1_LIBS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LIBS_$(OPENJDK_TARGET_OS))
$1_EXTRA_LDFLAGS += $$($1_LDFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS))
$1_EXTRA_LIBS += $$($1_LIBS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LIBS_$(OPENJDK_TARGET_OS))
ifneq ($$($1_REAL_MAPFILE), )
$1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE))
endif
@@ -990,7 +999,7 @@ define SetupNativeCompilationBody
# Only copy debug symbols for dynamic libraries and programs.
ifneq ($$($1_TYPE), STATIC_LIBRARY)
# Generate debuginfo files.
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
$1_EXTRA_LDFLAGS += -debug "-pdb:$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).pdb" \
"-map:$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).map"
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
@@ -999,7 +1008,7 @@ define SetupNativeCompilationBody
$1_DEBUGINFO_FILES := $$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).pdb \
$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).map
else ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), )
else ifeq ($(call isTargetOs, linux solaris), true)
$1_DEBUGINFO_FILES := $$($1_OUTPUT_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
@@ -1015,13 +1024,13 @@ define SetupNativeCompilationBody
$1_DEBUGINFO_FILES := $$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).debuginfo
$1_CREATE_DEBUGINFO_CMDS := $(CP) $$($1_TARGET) $$($1_DEBUGINFO_FILES)
else ifeq ($(OPENJDK_TARGET_OS), macosx)
else ifeq ($(call isTargetOs, macosx), true)
$1_DEBUGINFO_FILES := \
$$($1_OUTPUT_DIR)/$$($1_BASENAME).dSYM/Contents/Info.plist \
$$($1_OUTPUT_DIR)/$$($1_BASENAME).dSYM/Contents/Resources/DWARF/$$($1_BASENAME)
$1_CREATE_DEBUGINFO_CMDS := \
$(DSYMUTIL) --out $$($1_OUTPUT_DIR)/$$($1_BASENAME).dSYM $$($1_TARGET)
endif # OPENJDK_TARGET_OS
endif
# Since the link rule creates more than one file that we want to track,
# we have to use some tricks to get make to cooperate. To properly
@@ -1107,7 +1116,7 @@ define SetupNativeCompilationBody
endif
endif
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
ifeq ($$($1_EMBED_MANIFEST), true)
$1_EXTRA_LDFLAGS += -manifest:embed
endif
@@ -1187,7 +1196,7 @@ define SetupNativeCompilationBody
# Keep as much as possible on one execution line for best performance
# on Windows
$$(call LogInfo, Linking $$($1_BASENAME))
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
$$(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) \
@@ -1205,16 +1214,21 @@ define SetupNativeCompilationBody
$$($1_CREATE_DEBUGINFO_CMDS)
$$($1_STRIP_CMD)
endif
ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetOs, windows), true)
ifneq ($$($1_MANIFEST), )
$$($1_MT) -nologo -manifest $$($1_MANIFEST) -identity:"$$($1_NAME).exe, version=$$($1_MANIFEST_VERSION)" -outputresource:$$@;#1
endif
endif
# This only works if the openjdk_codesign identity is present on the system. Let
# silently fail otherwise.
ifneq ($(CODESIGN), )
# On macosx, optionally run codesign on every binary.
# Remove signature explicitly first to avoid warnings if the linker
# added a default adhoc signature.
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
$(CODESIGN) --remove-signature $$@
$(CODESIGN) -f -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp --options runtime \
--entitlements $$(call GetEntitlementsFile, $$@) $$@
else ifeq ($(MACOSX_CODESIGN_MODE), debug)
$(CODESIGN) --remove-signature $$@
$(CODESIGN) -f -s - --entitlements $$(call GetEntitlementsFile, $$@) $$@
endif
endif

View File

@@ -51,7 +51,8 @@ $$($1_$2_OUTPUT_FILE): $$($1_SRC)/$2 $$($1_$2_VARDEPS_FILE)
$$(call LogInfo, Converting $2 to html)
$$(call MakeDir, $$($1_$2_TARGET_DIR) $$(SUPPORT_OUTPUTDIR)/markdown)
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \
$$(PANDOC) $$($1_OPTIONS) -f markdown -t html5 --standalone \
$$(PANDOC) $$($1_OPTIONS) -f $$(PANDOC_MARKDOWN_FLAG) \
-t html5 --standalone \
$$($1_$2_CSS_OPTION) $$($1_$2_OPTIONS) '$$<' -o '$$@')
ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)
TOO_LONG_LINES=`$$(GREP) -E -e '^.{80}.+$$$$' $$<` || true ; \

View File

@@ -62,7 +62,11 @@ define SetupTestFilesCompilationBody
$1_OUTPUT_SUBDIR := lib
$1_BASE_CFLAGS := $(CFLAGS_JDKLIB)
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKLIB)
$1_LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN)
ifeq ($(call isTargetOs, windows), false)
$1_LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN) -pthread
else
$1_LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN)
endif
$1_COMPILATION_TYPE := LIBRARY
else ifeq ($$($1_TYPE), PROGRAM)
$1_PREFIX = exe

365
make/common/Utils.gmk Normal file
View File

@@ -0,0 +1,365 @@
#
# Copyright (c) 2011, 2019, 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.
#
ifeq (,$(_MAKEBASE_GMK))
$(error You must include MakeBase.gmk prior to including Utils.gmk)
endif
################################################################################
#
# Common utility functions
#
################################################################################
### Debug functions
# Prints the name and value of a variable
PrintVar = \
$(info $(strip $1) >$($(strip $1))<)
################################################################################
# This macro translates $ into \$ to protect the $ from expansion in the shell.
# To make this macro resilient against already escaped strings, first remove
# any present escapes before escaping so that no double escapes are added.
EscapeDollar = $(subst $$,\$$,$(subst \$$,$$,$(strip $1)))
################################################################################
# This macro works just like EscapeDollar above, but for #.
EscapeHash = $(subst \#,\\\#,$(subst \\\#,\#,$(strip $1)))
################################################################################
# This macro translates $ into $$ to protect the string from make itself.
DoubleDollar = $(subst $$,$$$$,$(strip $1))
################################################################################
# Creates a sequence of increasing numbers (inclusive).
# Param 1 - starting number
# Param 2 - ending number
sequence = \
$(wordlist $1, $2, $(strip \
$(eval SEQUENCE_COUNT :=) \
$(call _sequence-do,$(strip $2))))
_sequence-do = \
$(if $(word $1, $(SEQUENCE_COUNT)),, \
$(eval SEQUENCE_COUNT += .) \
$(words $(SEQUENCE_COUNT)) \
$(call _sequence-do,$1))
################################################################################
# Replace question marks with space in string. This macro needs to be called on
# files from FindFiles in case any of them contains space in their file name,
# since FindFiles replaces space with ?.
# Param 1 - String to replace in
DecodeSpace = \
$(subst ?,$(SPACE),$(strip $1))
EncodeSpace = \
$(subst $(SPACE),?,$(strip $1))
################################################################################
# Assign a variable only if it is empty
# Param 1 - Variable to assign
# Param 2 - Value to assign
SetIfEmpty = \
$(if $($(strip $1)),,$(eval $(strip $1) := $2))
################################################################################
# Take two paths and return the path of the last common directory.
# Ex: /foo/bar/baz, /foo/bar/banan -> /foo/bar
# foo/bar/baz, /foo/bar -> <empty>
#
# The x prefix is used to preserve the presence of the initial slash
#
# $1 - Path to compare
# $2 - Other path to compare
FindCommonPathPrefix = \
$(patsubst x%,%,$(subst $(SPACE),/,$(strip \
$(call FindCommonPathPrefixHelper, \
$(subst /,$(SPACE),x$(strip $1)), $(subst /,$(SPACE),x$(strip $2))) \
)))
FindCommonPathPrefixHelper = \
$(if $(call equals, $(firstword $1), $(firstword $2)), \
$(firstword $1) \
$(call FindCommonPathPrefixHelper, \
$(wordlist 2, $(words $1), $1), $(wordlist 2, $(words $2), $2) \
) \
)
# Convert a partial path into as many directory levels of ../, removing
# leading and following /.
# Ex: foo/bar/baz/ -> ../../..
# foo/bar -> ../..
# /foo -> ..
DirToDotDot = \
$(subst $(SPACE),/,$(foreach d, $(subst /,$(SPACE),$1),..))
# Computes the relative path from a directory to a file
# $1 - File to compute the relative path to
# $2 - Directory to compute the relative path from
RelativePath = \
$(eval $1_prefix := $(call FindCommonPathPrefix, $1, $2)) \
$(eval $1_dotdots := $(call DirToDotDot, $(patsubst $($(strip $1)_prefix)%, %, $2))) \
$(eval $1_dotdots := $(if $($(strip $1)_dotdots),$($(strip $1)_dotdots),.)) \
$(eval $1_suffix := $(patsubst $($(strip $1)_prefix)/%, %, $1)) \
$($(strip $1)_dotdots)/$($(strip $1)_suffix)
################################################################################
# Filter out duplicate sub strings while preserving order. Keeps the first occurance.
uniq = \
$(strip $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))))
# Returns all whitespace-separated words in $2 where at least one of the
# whitespace-separated words in $1 is a substring.
containing = \
$(strip \
$(foreach v,$(strip $2),\
$(call uniq,$(foreach p,$(strip $1),$(if $(findstring $p,$v),$v)))))
# Returns all whitespace-separated words in $2 where none of the
# whitespace-separated words in $1 is a substring.
not-containing = \
$(strip $(filter-out $(call containing,$1,$2),$2))
# Return a list of all string elements that are duplicated in $1.
dups = \
$(strip $(foreach v, $(sort $1), $(if $(filter-out 1, \
$(words $(filter $v, $1))), $v)))
# String equals
equals = \
$(and $(findstring $(strip $1),$(strip $2)),\
$(findstring $(strip $2),$(strip $1)))
# Remove a whole list of prefixes
# $1 - List of prefixes
# $2 - List of elements to process
remove-prefixes = \
$(strip $(if $1,$(patsubst $(firstword $1)%,%,\
$(call remove-prefixes,$(filter-out $(firstword $1),$1),$2)),$2))
# Convert the string given to upper case, without any $(shell)
# Inspired by http://lists.gnu.org/archive/html/help-make/2013-09/msg00009.html
uppercase_table := a,A b,B c,C d,D e,E f,F g,G h,H i,I j,J k,K l,L m,M n,N o,O \
p,P q,Q r,R s,S t,T u,U v,V w,W x,X y,Y z,Z
uppercase_internal = \
$(if $(strip $1), $$(subst $(firstword $1), $(call uppercase_internal, \
$(wordlist 2, $(words $1), $1), $2)), $2)
# Convert a string to upper case. Works only on a-z.
# $1 - The string to convert
uppercase = \
$(strip \
$(eval uppercase_result := $(call uppercase_internal, $(uppercase_table), $1)) \
$(uppercase_result) \
)
################################################################################
# Boolean operators.
# Return the word "true" if all the boolean words given as argument is "true",
# and returns "false" otherwise. Boolean words must be "true" or "false". It is
# an error to supply a non-boolean word. An empty string is considered "true".
And = \
$(strip $(if $(filter-out true false, $1), $(error Non-boolean values: $1)) \
$(if $(strip $(filter-out true, $1)), false, true))
# Return the word "false" if all the boolean words given as argument is "false",
# and returns "true" otherwise. Boolean words must be "true" or "false". It is
# an error to supply a non-boolean word. An empty string is considered "false".
Or = \
$(strip $(if $(filter-out true false, $1), $(error Non-boolean values: $1)) \
$(if $(strip $(filter-out false, $1)), true, false))
################################################################################
# Parse a multiple-keyword variable, like FOO="KEYWORD1=val1;KEYWORD2=val2;..."
# These will be converted into a series of variables like FOO_KEYWORD1=val1,
# FOO_KEYWORD2=val2, etc. Unknown keywords will cause an error.
#
# Parameter 1 is the name of the rule, and is also the name of the variable.
#
# Remaining parameters are named arguments. These include:
# SINGLE_KEYWORDS A list of valid keywords with single string values
# STRING_KEYWORDS A list of valid keywords, processed as string. This means
# that '%20' will be replaced by ' ' to allow for multi-word strings.
#
ParseKeywordVariable = $(NamedParamsMacroTemplate)
define ParseKeywordVariableBody
ifneq ($$($1), )
# To preserve spaces, substitute them with a hopefully unique pattern
# before splitting and then re-substitute spaces back.
$1_MANGLED := $$(subst $$(SPACE),||||,$$($1))
$$(foreach mangled_part, $$(subst ;, , $$($1_MANGLED)), \
$$(eval mangled_part_eval := $$(call DoubleDollar, $$(mangled_part))) \
$$(eval part := $$$$(subst ||||,$$$$(SPACE),$$$$(mangled_part_eval))) \
$$(eval $1_NO_MATCH := true) \
$$(foreach keyword, $$($1_SINGLE_KEYWORDS), \
$$(eval keyword_eval := $$(call DoubleDollar, $$(keyword))) \
$$(if $$(filter $$(keyword)=%, $$(part)), \
$$(eval $(strip $1)_$$$$(keyword_eval) := $$$$(strip $$$$(patsubst $$$$(keyword_eval)=%, %, $$$$(part)))) \
$$(eval $1_NO_MATCH := ) \
) \
) \
$$(foreach keyword, $$($1_STRING_KEYWORDS), \
$$(eval keyword_eval := $$(call DoubleDollar, $$(keyword))) \
$$(if $$(filter $$(keyword)=%, $$(part)), \
$$(eval $(strip $1)_$$$$(keyword_eval) := $$$$(strip $$$$(subst %20, , $$$$(patsubst $$$$(keyword_eval)=%, %, $$$$(part))))) \
$$(eval $1_NO_MATCH := ) \
) \
) \
$$(if $$($1_NO_MATCH), \
$$(if $$(filter $$(part), $$($1_SINGLE_KEYWORDS) $$($1_STRING_KEYWORDS)), \
$$(info Keyword $$(part) for $1 needs to be assigned a value.) \
, \
$$(info $$(part) is not a valid keyword for $1.) \
$$(info Valid keywords: $$($1_SINGLE_KEYWORDS) $$($1_STRING_KEYWORDS).) \
) \
$$(error Cannot continue) \
) \
)
endif
endef
################################################################################
# ShellQuote
#
# Quotes a string with single quotes and replaces single quotes with '\'' so
# that the contents survives being given to the shell.
ShellQuote = \
$(SQUOTE)$(subst $(SQUOTE),$(SQUOTE)\$(SQUOTE)$(SQUOTE),$(strip $1))$(SQUOTE)
################################################################################
# Find lib dir for module
# Param 1 - module name
FindLibDirForModule = \
$(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1)
################################################################################
# Find executable dir for module
# Param 1 - module name
FindExecutableDirForModule = \
$(SUPPORT_OUTPUTDIR)/modules_cmds/$(strip $1)
################################################################################
# Return a string suitable for use after a -classpath or --module-path option. It
# will be correct and safe to use on all platforms. Arguments are given as space
# separate classpath entries. Safe for multiple nested calls.
# param 1 : A space separated list of classpath entries
# The surrounding strip is needed to keep additional whitespace out
PathList = \
"$(subst $(SPACE),:,$(strip $(subst $(DQUOTE),,$1)))"
################################################################################
# Check if a specified hotspot variant is being built, or at least one of a
# list of variants. Will return 'true' or 'false'.
# $1 - the variant to test for
check-jvm-variant = \
$(strip \
$(if $(filter-out $(VALID_JVM_VARIANTS), $1), \
$(error Internal error: Invalid variant tested: $1)) \
$(if $(filter $1, $(JVM_VARIANTS)), true, false))
################################################################################
# Check if our build or target conforms to certain restrictions. This set of
# functions all work in similar ways, testing the property that the name
# implies, so e.g. isTargetCpu test the CPU of the target system.
#
# $1 - A property, or a space separated list of properties to test for.
#
# Returns true if the actual property matches one of the properties in the list,
# and false otherwise.
#
# Examples: $(call isTargetOs, linux solaris) will return true when executed
# on either linux or solaris, and false otherwise.
# $(call isBuildCpuArch, x86) will return true iff the build CPU Arch is x86.
isTargetOs = \
$(strip $(if $(filter $(OPENJDK_TARGET_OS), $1), true, false))
isTargetOsType = \
$(strip $(if $(filter $(OPENJDK_TARGET_OS_TYPE), $1), true, false))
isTargetCpu = \
$(strip $(if $(filter $(OPENJDK_TARGET_CPU), $1), true, false))
isTargetCpuArch = \
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_ARCH), $1), true, false))
isTargetCpuBits = \
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_BITS), $1), true, false))
isBuildOs = \
$(strip $(if $(filter $(OPENJDK_BUILD_OS), $1), true, false))
isBuildOsType = \
$(strip $(if $(filter $(OPENJDK_BUILD_OS_TYPE), $1), true, false))
isBuildOsEnv = \
$(strip $(if $(filter $(OPENJDK_BUILD_OS_ENV), $1), true, false))
isBuildCpu = \
$(strip $(if $(filter $(OPENJDK_BUILD_CPU), $1), true, false))
isBuildCpuArch = \
$(strip $(if $(filter $(OPENJDK_BUILD_CPU_ARCH), $1), true, false))
################################################################################
# Converts a space separated list to a comma separated list.
#
# Replacing double-comma with a single comma is to workaround the issue with
# some version of make on windows that doesn't substitute spaces with one comma
# properly.
CommaList = \
$(strip \
$(subst $(COMMA)$(COMMA),$(COMMA),$(subst $(SPACE),$(COMMA),$(strip $1))) \
)
################################################################################
# Converts a space separated list to a colon separated list.
#
# Replacing double-colon with a single colon is to workaround the issue with
# some version of make on windows that doesn't substitute spaces with one colon
# properly.
ColonList = \
$(strip \
$(subst ::,:,$(subst $(SPACE),:,$(strip $1))) \
)
################################################################################
# Given a list of files, filters out locale specific files for translations
# that should be excluded from this build.
# $1 - The list of files to filter
# $2 - The suffix of the files that should be considered (.java or .properties)
FilterExcludedTranslations = \
$(strip $(if $(EXCLUDE_TRANSLATIONS), \
$(filter-out \
$(foreach suffix, $2, \
$(addprefix %_, $(addsuffix $(suffix), $(EXCLUDE_TRANSLATIONS))) \
), \
$1 \
), \
$1 \
))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2020, 2022, 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,21 +23,19 @@
# questions.
#
# Versions and download locations for dependencies used by pre-submit testing.
# Versions and download locations for dependencies used by GitHub Actions (GHA)
BOOT_JDK_VERSION=11
JTREG_VERSION=5.1
JTREG_BUILD=b01
GTEST_VERSION=1.8.1
JTREG_VERSION=7.3.1+1
LINUX_X64_BOOT_JDK_FILENAME=openjdk-11_linux-x64_bin.tar.gz
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.12_7.tar.gz
LINUX_X64_BOOT_JDK_SHA256=8770f600fc3b89bf331213c7aa21f8eedd9ca5d96036d1cd48cb2748a3dbefd2
LINUX_X64_BOOT_JDK_EXT=tar.gz
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.23%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.23_9.tar.gz
LINUX_X64_BOOT_JDK_SHA256=23e47ea7a3015be3240f21185fd902adebdcf76530757c9b482c7eb5bd3417c2
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-11_windows-x64_bin.zip
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_windows_hotspot_11.0.12_7.zip
WINDOWS_X64_BOOT_JDK_SHA256=c54123dd4b0d6473221539e7003b8ca1c1757c5588c46465565b03bf8781f807
WINDOWS_X64_BOOT_JDK_EXT=zip
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.23%2B9/OpenJDK11U-jdk_x64_windows_hotspot_11.0.23_9.zip
WINDOWS_X64_BOOT_JDK_SHA256=d7a9f8ceee9a5785dcbbcbec20a07b1366efec59ba652ef7e03f6f7d10f52b85
MACOS_X64_BOOT_JDK_FILENAME=openjdk-11_osx-x64_bin.tar.gz
MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.12%2B7/OpenJDK11U-jdk_x64_mac_hotspot_11.0.12_7.tar.gz
MACOS_X64_BOOT_JDK_SHA256=13d056ee9a57bf2d5b3af4504c8f8cf7a246c4dff78f96b70dd05dad98075855
MACOS_X64_BOOT_JDK_EXT=tar.gz
MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.23%2B9/OpenJDK11U-jdk_x64_mac_hotspot_11.0.23_9.tar.gz
MACOS_X64_BOOT_JDK_SHA256=4dbd21d9a0311d321f5886eda50c3086026ed61d02e1a85f7b8c2e9ad557bf03

View File

@@ -232,7 +232,7 @@ var getJibProfilesCommon = function (input, data) {
// List of the main profile names used for iteration
common.main_profile_names = [
"linux-x64", "linux-x86", "macosx-x64", "solaris-x64",
"solaris-sparcv9", "windows-x64", "windows-x86",
"solaris-sparcv9", "windows-x64", "windows-x86", "windows-aarch64",
"linux-aarch64", "linux-arm32", "linux-arm64", "linux-arm-vfp-hflt",
"linux-arm-vfp-hflt-dyn"
];
@@ -415,7 +415,7 @@ var getJibProfilesProfiles = function (input, common, data) {
target_cpu: "x64",
dependencies: ["devkit", "graalunit_lib"],
configure_args: concat(common.configure_args_64bit, "--with-zlib=system",
"--with-macosx-version-max=10.9.0"),
"--with-macosx-version-max=10.12.00"),
},
"solaris-x64": {
@@ -449,6 +449,15 @@ var getJibProfilesProfiles = function (input, common, data) {
configure_args: concat(common.configure_args_32bit),
},
"windows-aarch64": {
target_os: "windows",
target_cpu: "aarch64",
dependencies: ["devkit", "build_devkit"],
configure_args: [
"--openjdk-target=aarch64-unknown-cygwin",
],
},
"linux-aarch64": {
target_os: "linux",
target_cpu: "aarch64",
@@ -598,11 +607,7 @@ var getJibProfilesProfiles = function (input, common, data) {
profiles[bootcyclePrebuiltName].default_make_targets = [ "product-images" ];
});
//
// Define artifacts for profiles
//
// Macosx bundles are named osx
// tar.gz.
var artifactData = {
"linux-x64": {
platform: "linux-x64",
@@ -611,7 +616,7 @@ var getJibProfilesProfiles = function (input, common, data) {
platform: "linux-x86",
},
"macosx-x64": {
platform: "osx-x64",
platform: "macos-x64",
jdk_subdir: "jdk-" + data.version + ".jdk/Contents/Home",
},
"solaris-x64": {
@@ -628,6 +633,10 @@ var getJibProfilesProfiles = function (input, common, data) {
platform: "windows-x86",
jdk_suffix: "zip",
},
"windows-aarch64": {
platform: "windows-aarch64",
jdk_suffix: "zip",
},
"linux-aarch64": {
platform: "linux-aarch64",
},
@@ -746,10 +755,7 @@ var getJibProfilesProfiles = function (input, common, data) {
target_os: input.build_os,
target_cpu: input.build_cpu,
dependencies: [ "jtreg", "gnumake", "boot_jdk", "devkit", "jib" ],
labels: "test",
environment: {
"JT_JAVA": common.boot_jdk_home
}
labels: "test"
}
};
profiles = concatObjects(profiles, testOnlyProfiles);
@@ -853,18 +859,18 @@ var getJibProfilesProfiles = function (input, common, data) {
var getJibProfilesDependencies = function (input, common) {
var devkit_platform_revisions = {
linux_x64: "gcc7.3.0-OEL6.4+1.1",
linux_x64: "gcc8.2.0-OL6.4+1.0",
macosx_x64: "Xcode11.3.1-MacOSX10.15+1.0",
solaris_x64: "SS12u4-Solaris11u1+1.0",
solaris_sparcv9: "SS12u4-Solaris11u1+1.1",
windows_x64: "VS2017-15.9.16+1.0",
windows_x64: "VS2017-15.9.16+1.1",
linux_aarch64: (input.profile != null && input.profile.indexOf("arm64") >= 0
? "gcc-linaro-aarch64-linux-gnu-4.8-2013.11_linux+1.0"
: "gcc7.3.0-Fedora27+1.1"),
: "gcc8.2.0-Fedora27+1.0"),
linux_arm: (input.profile != null && input.profile.indexOf("hflt") >= 0
? "gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux+1.0"
: (input.profile != null && input.profile.indexOf("arm32") >= 0
? "gcc7.3.0-Fedora27+1.1"
? "gcc8.2.0-Fedora27+1.0"
: "arm-linaro-4.7+1.0"
)
)
@@ -873,6 +879,21 @@ var getJibProfilesDependencies = function (input, common) {
var devkit_platform = (input.target_cpu == "x86"
? input.target_os + "_x64"
: input.target_platform);
if (input.target_platform == "windows_aarch64") {
devkit_platform = "windows_x64";
}
var devkit_cross_prefix = "";
if (!(input.target_os == "windows")) {
if (input.build_platform != input.target_platform
&& input.build_platform != devkit_platform) {
devkit_cross_prefix = input.build_platform + "-to-";
}
}
var devkit_cross_prefix = "";
if (input.target_platform != input.build_platform) {
devkit_cross_prefix = input.build_platform + "-to-";
}
var boot_jdk_platform = (input.build_os == "macosx" ? "osx" : input.build_os)
+ "-" + input.build_cpu;
@@ -897,7 +918,7 @@ var getJibProfilesDependencies = function (input, common) {
devkit: {
organization: common.organization,
ext: "tar.gz",
module: "devkit-" + devkit_platform,
module: "devkit-" + devkit_cross_prefix + devkit_platform,
revision: devkit_platform_revisions[devkit_platform],
environment: {
"DEVKIT_HOME": input.get("devkit", "home_path"),
@@ -920,10 +941,9 @@ var getJibProfilesDependencies = function (input, common) {
jtreg: {
server: "jpg",
product: "jtreg",
version: "5.1",
build_number: "b01",
checksum_file: "MD5_VALUES",
file: "bundles/jtreg_bin-5.1.zip",
version: "7.3.1",
build_number: "1",
file: "bundles/jtreg-7.3.1+1.zip",
environment_name: "JT_HOME",
environment_path: input.get("jtreg", "install_path") + "/jtreg/bin"
},
@@ -1187,13 +1207,17 @@ var versionArgs = function(input, common) {
"--with-version-pre=" + version_numbers.get("DEFAULT_PROMOTED_VERSION_PRE"),
"--without-version-opt");
} else if (input.build_type == "ci") {
var optString = input.build_id_data.ciBuildNumber;
var ciBuildNumber = input.build_id_data.ciBuildNumber;
var preString = input.build_id_data.projectName;
if (preString == "jdk") {
preString = version_numbers.get("DEFAULT_PROMOTED_VERSION_PRE");
}
args = concat(args, "--with-version-pre=" + preString,
"--with-version-opt=" + optString);
"--with-version-opt=" + ciBuildNumber);
if (input.target_os == "macosx") {
args = concat(args, "--with-macosx-bundle-build-version="
+ common.build_number + "." + ciBuildNumber);
}
} else {
args = concat(args, "--with-version-opt=" + common.build_id);
}

View File

@@ -31,7 +31,7 @@ $(eval $(call IncludeCustomExtension, copy/Copy-java.base.gmk))
################################################################################
ifneq ($(findstring $(OPENJDK_TARGET_OS), windows aix),)
ifeq ($(call isTargetOs, aix), true)
TZMAPPINGS_SRC := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/conf
@@ -43,8 +43,11 @@ ifneq ($(findstring $(OPENJDK_TARGET_OS), windows aix),)
endif
################################################################################
# Copy the microsoft runtime libraries on windows
ifeq ($(OPENJDK_TARGET_OS), windows)
# Copy the microsoft runtime libraries on windows, but only if we are not
# creating a buildjdk. If we are, the provided runtime librareis are made for
# the target platform, not the build platform (and we should not need to bundle
# anything with the minimalistic, locally-only buildjdk.)
ifeq ($(OPENJDK_TARGET_OS)+$(CREATING_BUILDJDK), windows+false)
# Chmod to avoid permission issues if bundles are unpacked on unix platforms.
define copy-and-chmod
@@ -59,12 +62,17 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
FILES := $(MSVCR_DLL), \
MACRO := copy-and-chmod))
$(eval $(call SetupCopyFiles,COPY_VCRUNTIME_1, \
DEST := $(LIB_DST_DIR), \
FILES := $(VCRUNTIME_1_DLL), \
MACRO := copy-and-chmod))
$(eval $(call SetupCopyFiles,COPY_MSVCP, \
DEST := $(LIB_DST_DIR), \
FILES := $(MSVCP_DLL), \
MACRO := copy-and-chmod))
TARGETS += $(COPY_MSVCR) $(COPY_MSVCP)
TARGETS += $(COPY_MSVCR) $(COPY_VCRUNTIME_1) $(COPY_MSVCP)
ifneq ($(UCRT_DLL_DIR), )
$(eval $(call SetupCopyFiles, COPY_UCRT_DLLS, \
@@ -81,7 +89,7 @@ endif
################################################################################
# In jvm.cfg, the first listed KNOWN variant is the default. On most build
# configurations, that is the server variant.
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), windows-x86)
ifeq ($(call And, $(call isTargetOs, windows) $(call isTargetCpu, x86)), true)
DEFAULT_CFG_VARIANT ?= client
endif
DEFAULT_CFG_VARIANT ?= server
@@ -143,7 +151,7 @@ DEF_POLICY_DST := $(LIB_DST_DIR)/security/default.policy
DEF_POLICY_SRC_LIST := $(DEF_POLICY_SRC)
DEF_POLICY_SRC_LIST += $(CUSTOM_POLICY_SRC_LIST)
ifneq ($(filter $(OPENJDK_TARGET_OS), windows solaris), )
ifeq ($(call isTargetOs, windows solaris), true)
DEF_POLICY_SRC_LIST += $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/lib/security/default.policy
endif
@@ -183,7 +191,7 @@ $(eval $(call SetupCopyFiles, COPY_NET_PROPERTIES, \
TARGETS += $(COPY_NET_PROPERTIES)
ifeq ($(OPENJDK_TARGET_OS), solaris)
ifeq ($(call isTargetOs, solaris), true)
$(eval $(call SetupCopyFiles, COPY_SDP_CONF, \
FILES := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/conf/sdp/sdp.conf.template, \
DEST := $(CONF_DST_DIR)/sdp, \

View File

@@ -27,7 +27,7 @@ include CopyCommon.gmk
################################################################################
ifeq ($(OPENJDK_TARGET_OS), solaris)
ifeq ($(call isTargetOs, solaris), true)
SUNPKCS11_CFG_SRC := \
$(TOPDIR)/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg

View File

@@ -27,7 +27,7 @@ include CopyCommon.gmk
################################################################################
ifeq ($(OPENJDK_TARGET_OS), solaris)
ifeq ($(call isTargetOs, solaris), true)
UCRYPTO_CFG_SRC := $(TOPDIR)/src/jdk.crypto.ucrypto/solaris/conf/security/ucrypto-solaris.cfg
UCRYPTO_CFG_DST := $(CONF_DST_DIR)/security/ucrypto-solaris.cfg

View File

@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>@@VERSION@@</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>@@VERSION@@</string>
<string>@@BUILD_VERSION@@</string>
<key>NSMicrophoneUsageDescription</key>
<string>The application is requesting access to the microphone.</string>
<key>JavaVM</key>
@@ -33,9 +33,9 @@
<key>JVMMinimumFrameworkVersion</key>
<string>13.2.9</string>
<key>JVMMinimumSystemVersion</key>
<string>10.6.0</string>
<string>@@MACOSX_VERSION_MIN@@</string>
<key>JVMPlatformVersion</key>
<string>@@PLATFORM_VERSION@@</string>
<string>@@VERSION@@</string>
<key>JVMVendor</key>
<string>@@VENDOR@@</string>
<key>JVMVersion</key>

View File

@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>@@VERSION@@</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>@@VERSION@@</string>
<string>@@BUILD_VERSION@@</string>
<key>NSMicrophoneUsageDescription</key>
<string>The application is requesting access to the microphone.</string>
<key>JavaVM</key>
@@ -29,9 +29,9 @@
<key>JVMMinimumFrameworkVersion</key>
<string>13.2.9</string>
<key>JVMMinimumSystemVersion</key>
<string>10.6.0</string>
<string>@@MACOSX_VERSION_MIN@@</string>
<key>JVMPlatformVersion</key>
<string>@@PLATFORM_VERSION@@</string>
<string>@@VERSION@@</string>
<key>JVMVendor</key>
<string>@@VENDOR@@</string>
<key>JVMVersion</key>

View File

@@ -7,10 +7,11 @@
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>@@VERSION@@</string>
<key>CFBundleVersion</key>
<string>@@BUILD_VERSION@@</string>
<key>NSMicrophoneUsageDescription</key>
<string>The application is requesting access to the microphone.</string>
@@EXTRA@@
</dict>
</plist>

View File

@@ -0,0 +1,20 @@
Owner: CN=Certainly Root E1, O=Certainly, C=US
Issuer: CN=Certainly Root E1, O=Certainly, C=US
Serial number: 62533b1470333275cf98d9ab9bfccf8
Valid from: Thu Apr 01 00:00:00 GMT 2021 until: Sun Apr 01 00:00:00 GMT 2046
Signature algorithm name: SHA384withECDSA
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
Version: 3
-----BEGIN CERTIFICATE-----
MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQsw
CQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlu
bHkgUm9vdCBFMTAeFw0yMTA0MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJ
BgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlubHkxGjAYBgNVBAMTEUNlcnRhaW5s
eSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4fxzf7flHh4axpMCK
+IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9YBk2
QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8E
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4
hevIIgcwCgYIKoZIzj0EAwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozm
ut6Dacpps6kFtZaSF4fC0urQe87YQVt8rgIwRt7qy12a7DLCZRawTDBcMPPaTnOG
BtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR
-----END CERTIFICATE-----

View File

@@ -0,0 +1,38 @@
Owner: CN=Certainly Root R1, O=Certainly, C=US
Issuer: CN=Certainly Root R1, O=Certainly, C=US
Serial number: 8e0ff94b907168653354f4d44439b7e0
Valid from: Thu Apr 01 00:00:00 GMT 2021 until: Sun Apr 01 00:00:00 GMT 2046
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAw
PTELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2Vy
dGFpbmx5IFJvb3QgUjEwHhcNMjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9
MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0
YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANA2
1B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O5MQT
vqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbed
aFySpvXl8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b0
1C7jcvk2xusVtyWMOvwlDbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5
r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGIXsXwClTNSaa/ApzSRKft43jvRl5tcdF5
cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkNKPl6I7ENPT2a/Z2B7yyQ
wHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQAjeZjOVJ
6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA
2CnbrlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyH
Wyf5QBGenDPBt+U1VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMR
eiFPCyEQtkA6qyI6BJyLm4SGcprSp6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB
/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTgqj8ljZ9EXME66C6u
d0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAszHQNTVfSVcOQr
PbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d
8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi
1wrykXprOQ4vMMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrd
rRT90+7iIgXr0PK3aBLXWopBGsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9di
taY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+gjwN/KUD+nsa2UUeYNrEjvn8K8l7
lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgHJBu6haEaBQmAupVj
yTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7fpYn
Kx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLy
yCwzk5Iwx06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5n
wXARPbv0+Em34yaXOp/SX3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6
OV+KmalBWQewLK8=
-----END CERTIFICATE-----

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