Compare commits

...

899 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Aleksei Voitylov
88954e1e81 8298737: 8296772 backport to jdk11u caused build error on sparc
Reviewed-by: goetz
2022-12-19 08:16:53 +00:00
Andrew John Hughes
77d919a870 8297804: (tz) Update Timezone Data to 2022g
Backport-of: ce896731d3
2022-12-15 01:46:14 +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
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
Matthias Baesken
26e599dce2 8247272: SA ELF file support has never worked for 64-bit causing address to symbol name mapping to fail
Backport-of: fd206e1e7e
2022-02-22 15:34:07 +00:00
Kimura Yukihiro
259bbf5ff5 8233986: ProblemList javax/swing/plaf/basic/BasicTextUI/8001470/bug8001470.java for windows-x64
Reviewed-by: phh
2022-02-18 21:36:26 +00:00
Alexey Bakhtin
57003eea5e 8274524: SSLSocket.close() hangs if it is called during the ssl handshake
Reviewed-by: phh
Backport-of: 58dae60da0
2022-02-17 13:20:48 +00:00
Kimura Yukihiro
e2f792c549 8255239: The timezone of the hs_err_pid log file is corrupted in Japanese locale
Backport-of: b46d73bee8
2022-02-17 12:53:18 +00:00
Andrew John Hughes
d6bf0d1e7d 8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication
Backport-of: d1aeca117c
2022-02-17 01:48:40 +00:00
Reka Kovacs
b5f8c318f4 8254072: AArch64: Get rid of --disable-warnings-as-errors on Windows+ARM64 build
Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Reviewed-by: burban, aph
Backport-of: d2812f780e
2022-02-16 20:23:45 +00:00
Vladimir Kempik
0aa5f75d7a 8262894: [macos_aarch64] SIGBUS in Assembler::ld_st2
Reviewed-by: adinn, burban
Backport-of: 8a4a9117f5
2022-02-16 08:30:34 +00:00
Vladimir Kempik
69583df39b 8266889: [macosx-aarch64] Crash with SIGBUS in MarkActivationClosure::do_code_blob during vmTestbase/nsk/jvmti/.../bi04t002 test run
Reviewed-by: akozlov, adinn, burban
Backport-of: 381bd62107
2022-02-16 08:29:09 +00:00
Ahmed Muhsin
aa42c4d71f 8241004: NMT tests fail on unaligned thread size with debug build
Backport-of: 0b20eafb30
2022-02-15 19:35:35 +00:00
Vladimir Kempik
eb0708f75a 8253795: Implementation of JEP 391: macOS/AArch64 Port
8253816: Support macOS W^X
8253817: Support macOS Aarch64 ABI in Interpreter
8253818: Support macOS Aarch64 ABI for compiled wrappers
8253819: Implement os/cpu for macOS/AArch64
8253839: Update tests and JDK code for macOS/Aarch64
8254941: Implement Serviceability Agent for macOS/AArch64
8255776: Change build system for macOS/AArch64
8262903: [macos_aarch64] Thread::current() called on detached thread
8262896: [macos_aarch64] Crash in jni_fast_GetLongField

Reviewed-by: adinn, burban, aph
Backport-of: dbc9e4b50c
2022-02-15 14:09:52 +00:00
Matthias Baesken
fe17b44f36 8280414: Memory leak in DefaultProxySelector
Backport-of: fe77250fa4
2022-02-15 07:49:13 +00:00
Aleksey Shipilev
fd7d0d3d68 8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1}
Reviewed-by: kvn
Backport-of: a24f44d17d
2022-02-14 11:15:22 +00:00
Aleksey Shipilev
bd420d2aad 8279076: C2: Bad AD file when matching SqrtF with UseSSE=0
Reviewed-by: roland, kvn
Backport-of: 9d5ae2e380
2022-02-14 08:37:33 +00:00
Denghui Dong
29eb422cb8 8281520: JFR: A wrong parameter is passed to the constructor of LeakKlassWriter
Reviewed-by: phh
2022-02-11 16:48:03 +00:00
Martin Doerr
d79e7105cf 8281599: test/lib/jdk/test/lib/KnownOIDs.java is redundant since JDK-8268801
Reviewed-by: phh, clanger
2022-02-11 09:04:46 +00:00
Goetz Lindenmaier
6c26ba2599 8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently
Backport-of: f1c20e91d8
2022-02-11 08:12:22 +00:00
Martin Doerr
f4e14a685e 8281061: [s390] JFR runs into assertions while validating interpreter frames
Reviewed-by: lucy, goetz
Backport-of: 7f19c70070
2022-02-10 10:30:06 +00:00
Martin Doerr
668c20035d 8280155: [PPC64, s390] frame size checks are not yet correct
Reviewed-by: lucy
Backport-of: f37bfeadcf
2022-02-10 10:21:15 +00:00
Martin Doerr
6921496c51 8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks
Reviewed-by: lucy, goetz
Backport-of: c809d34f9e
2022-02-10 09:31:10 +00:00
Liam Miller-Cushon
1db4ed1a62 8261205: AssertionError: Cannot add metadata to an intersection type
Reviewed-by: phh
Backport-of: 81f39ed3e0
2022-02-09 17:27:57 +00:00
Aleksey Shipilev
18a088335b 8277992: Add fast jdk_svc subtests to jdk:tier3
Reviewed-by: serb
Backport-of: 30f0c64753
2022-02-09 11:32:19 +00:00
Goetz Lindenmaier
cd7d8c6c5d 8216969: ParseException thrown for certain months with russian locale
Backport-of: 0623444ae5
2022-02-09 07:55:40 +00:00
Paul Hohensee
288c9f7d6a 8278381: [GCC 11] Address::make_raw() does not initialize rspec
Backport-of: 4f594e6a28
2022-02-08 14:52:29 +00:00
Vladimir Kempik
afb94aeae8 8264650: Cross-compilation to macos/aarch64
Reviewed-by: burban
Backport-of: 7f9ece23dc
2022-02-08 10:20:00 +00:00
Goetz Lindenmaier
562e4febbe Merge 2022-02-08 07:32:31 +00:00
Sergey Bylokhov
01c38c4ffa 8256321: Some "inactive" color profiles use the wrong profile class
Backport-of: a6c088131b
2022-02-03 08:15:12 +00:00
Dan Lutker
85c81d9515 8280999: array_bounds should be array-bounds after 8278507
Reviewed-by: phh, sgehwolf
2022-02-01 13:43:02 +00:00
Goetz Lindenmaier
ef288cd3cc 8177814: jdk/editpad is not in jdk TEST.groups
Reviewed-by: mbaesken
Backport-of: cfe7471f17
2022-02-01 07:43:13 +00:00
Bernhard Urban-Forster
10b18394e2 8279702: [macosx] ignore xcodebuild warnings on M1
Reviewed-by: clanger
Backport-of: 4b520f0001
2022-01-31 22:38:16 +00:00
Dmitry Cherepanov
6837e1484b 8280786: Build failure on Solaris after 8262392
Reviewed-by: bae, shade
2022-01-27 17:18:15 +00:00
Aleksey Shipilev
b240c60427 8218546: Unable to connect to https://google.com using java.net.HttpClient
Backport-of: 10a281c485
2022-01-27 11:59:20 +00:00
Aleksey Shipilev
b6df15056b 8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134
Backport-of: f48a3e86d0
2022-01-26 15:41:36 +00:00
Goetz Lindenmaier
84ed967160 8279833: Loop optimization issue in String.encodeUTF8_UTF16
Reviewed-by: stuefe
Backport-of: ff85659311
2022-01-26 08:18:10 +00:00
Goetz Lindenmaier
8352e3857b 8273277: C2: Move conditional negation into rc_predicate
Backport-of: 710f496456
2022-01-26 08:08:04 +00:00
Goetz Lindenmaier
9700ded633 8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost"
Backport-of: 9573022978
2022-01-26 08:05:19 +00:00
Liam Miller-Cushon
e279d07852 8236210: javac generates wrong annotation for fields generated from record components
Reviewed-by: phh
Backport-of: 0f98701e87
2022-01-25 22:07:28 +00:00
Goetz Lindenmaier
e651f0943b 8236505: Mark jdk/editpad/EditPadTest.java as @headful
Backport-of: 7acec3f161
2022-01-25 09:19:00 +00:00
Sergey Bylokhov
d91ce05655 8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
Reviewed-by: phh
Backport-of: 03473b4c27
2022-01-23 06:09:58 +00:00
Goetz Lindenmaier
8ce956417d 8271202: C1: assert(false) failed: live_in set of first block must be empty
Backport-of: 54b800d56d
2022-01-22 10:04:04 +00:00
Goetz Lindenmaier
809b01573e 8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
Reviewed-by: phh
Backport-of: b46f0b0b1f
2022-01-22 10:01:53 +00:00
Goetz Lindenmaier
efe46bbf2f 8275610: C2: Object field load floats above its null check resulting in a segfault
Reviewed-by: phh
Backport-of: 7c6f57fcb1
2022-01-22 09:59:51 +00:00
Sergey Bylokhov
716ceb71ce 8266421: Deadlock in Sound System
Reviewed-by: phh, aph
Backport-of: f6f82c3168
2022-01-21 23:20:55 +00:00
Bernhard Urban-Forster
b5cae57381 8274795: AArch64: avoid spilling and restoring r18 in macro assembler
Reviewed-by: aph
Backport-of: ede3f4e94c
2022-01-21 21:38:40 +00:00
Yi-Fan Tsai
914d48cbe8 8232533: G1 uses only a single thread for pretouching the java heap
Backport-of: 9611320f69
2022-01-21 16:20:46 +00:00
Goetz Lindenmaier
ec039288ca 8273933: [TESTBUG] Test must run without preallocated exceptions
Backport-of: 4d95a5d6dc
2022-01-21 12:20:23 +00:00
Goetz Lindenmaier
cba6c0421b 8268542: serviceability/logging/TestFullNames.java tests only 1st test case
Backport-of: 74007890bb
2022-01-21 12:18:21 +00:00
Goetz Lindenmaier
521144c8b1 8251998: remove usage of PropertyResolvingWrapper in vmTestbase/jit/t
Backport-of: 6612598a13
2022-01-21 12:01:15 +00:00
Aleksey Shipilev
f69e75f143 8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests
Backport-of: a143372818
2022-01-21 11:30:09 +00:00
Aleksey Shipilev
574c04c098 8273433: Enable parallelism in vmTestbase_nsk_sysdict tests
Backport-of: 5ca26cbddb
2022-01-21 11:01:34 +00:00
Zhengyu Gu
5ffd40d3eb 8273341: Update Siphash to version 1.0
Backport-of: 6cf4cd1aa4
2022-01-20 14:20:08 +00:00
Goetz Lindenmaier
0c4803b5ec 8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
Reviewed-by: mdoerr
Backport-of: 6f0e8da6d3
2022-01-19 20:32:34 +00:00
Goetz Lindenmaier
3352b565dc 8275326: C2: assert(no_dead_loop) failed: dead loop detected
Backport-of: 70d5dffb4e
2022-01-19 20:21:57 +00:00
Goetz Lindenmaier
ad94355583 8251127: clean up FileInstaller $test.src $cwd in remaining vmTestbase_vm_compiler tests
Backport-of: c98fd38979
2022-01-19 19:59:10 +00:00
Goetz Lindenmaier
9ca6369971 8252005: narrow disabling of allowSmartActionArgs in vmTestbase
Backport-of: b2da6e1a90
2022-01-19 19:51:14 +00:00
Goetz Lindenmaier
32219cae29 Merge 2022-01-19 10:23:26 +00:00
Aleksey Shipilev
66bdaa2f57 8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
Reviewed-by: aph
Backport-of: 4d9b3f4cee
2022-01-18 12:12:29 +00:00
Liam Miller-Cushon
4a5caa00b6 8193277: SimpleFileObject inconsistency between getName and getShortName
Backport-of: 0720686823
2022-01-17 22:38:04 +00:00
Liam Miller-Cushon
e7b89f7df9 8225559: assertion error at TransTypes.visitApply
Backport-of: de61328d30
2022-01-17 22:37:17 +00:00
Liam Miller-Cushon
5ab97c4d50 8220634: SymLinkArchiveTest should handle not being able to create symlinks
Reviewed-by: phh
Backport-of: ab3f5e3e15
2022-01-17 21:48:30 +00:00
Liam Miller-Cushon
a29949b1bb 8214026: Canonicalized archive paths appearing in diagnostics
Backport-of: bddbbd85f9
2022-01-17 20:40:27 +00:00
Goetz Lindenmaier
538013a2a1 8251126: nsk.share.GoldChecker should read golden file from ${test.src}
Backport-of: b37b1a391a
2022-01-17 20:39:14 +00:00
Goetz Lindenmaier
fac0f5a93a 8237798: rewrite vmTestbase/jit/tiered from shell to java
Backport-of: fc8d71b119
2022-01-17 20:37:15 +00:00
Goetz Lindenmaier
f5ade3e0ba 8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"
Reviewed-by: mbaesken
Backport-of: 4d95a5d6dc
2022-01-17 20:34:00 +00:00
Aleksey Shipilev
89f4d44106 8210194: [TESTBUG] jvmti_FollowRefObjects.cpp missing initializer for member _jvmtiHeapCallbacks::heap_reference_callback
Backport-of: 3c135ae705
2022-01-17 08:22:54 +00:00
Goetz Lindenmaier
898b8de87d 8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last
Backport-of: 90f96fb4db
2022-01-15 14:06:03 +00:00
Goetz Lindenmaier
e3da580443 8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time
Backport-of: 2cac565b24
2022-01-15 13:58:07 +00:00
Goetz Lindenmaier
96c8499014 8277328: jdk/jshell/CommandCompletionTest.java failures on Windows
Backport-of: 3955b037da
2022-01-14 14:18:52 +00:00
Goetz Lindenmaier
3a96302cf3 8251132: make main classes public in vmTestbase/jit tests
Backport-of: 65577cf58a
2022-01-14 13:02:30 +00:00
Goetz Lindenmaier
00dc442f64 8274465: Fix javax/swing/text/ParagraphView/6364882/bug6364882.java failures
Backport-of: bb4500d0d2
2022-01-13 13:59:44 +00:00
Goetz Lindenmaier
e79e383206 8273634: [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/bug6364882.java
Backport-of: 67e52a3078
2022-01-13 13:51:52 +00:00
Goetz Lindenmaier
ffbef52899 8249019: clean up FileInstaller $test.src $cwd in vmTestbase_vm_compiler tests
Backport-of: c5ad1daa96
2022-01-13 13:37:48 +00:00
Zhengyu Gu
40d7d034a9 8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"
Reviewed-by: phh
Backport-of: 172aed1a2d
2022-01-13 13:27:21 +00:00
Sergey Nazarkin
5a3a17bf2b 8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest
Backport-of: 6613ce64d7
2022-01-11 15:16:55 +00:00
Zhengyu Gu
f1a15a47dc 8273682: Upgrade Jline to 3.20.0
Backport-of: b8cb76ad21
2022-01-11 14:17:02 +00:00
Goetz Lindenmaier
1c7af7ecbb 8256154: Some TestNG tests require default constructors
Backport-of: 5ed704484e
2022-01-11 12:49:59 +00:00
Goetz Lindenmaier
5c08cfd3b9 8237787: rewrite vmTestbase/vm/compiler/CodeCacheInfo* from shell to java
Backport-of: c484e1cee0
2022-01-11 12:47:13 +00:00
Goetz Lindenmaier
c3be0355d4 8223142: Clean-up WS and CB.
Reviewed-by: phh
Backport-of: 7bb9062f84
2022-01-11 12:44:41 +00:00
Zhengyu Gu
03bfa8cf4d 8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
Reviewed-by: shade
Backport-of: 769f14db84
2022-01-10 15:01:38 +00:00
Zhengyu Gu
fee395598d 8278172: java/nio/channels/FileChannel/BlockDeviceSize.java should only run on Linux
Backport-of: 0d938cedca
2022-01-10 13:40:42 +00:00
Zhengyu Gu
f7998d6389 8279077: JFR crashes on Linux ppc due to missing crash protector in signal handler
Backport-of: 250ef7dd34d2622864a6d7f92b645405997fad98
2022-01-10 13:24:45 +00:00
Aleksey Shipilev
e1ee008c5c 8279225: [arm32] C1 longs comparison operation destroys argument registers
Backport-of: 299022dfac
2022-01-10 11:48:49 +00:00
Goetz Lindenmaier
7e7043e8dc 8276623: JDK-8275650 accidentally pushed "out" file
Backport-of: 38fdf4f1d2
2022-01-10 07:40:54 +00:00
Aleksey Shipilev
914fb55c3c 8279379: GHA: Print tests that are in error
Backport-of: 06f3713271
2022-01-07 11:18:40 +00:00
Goetz Lindenmaier
a96e70c87b 8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime
Backport-of: 97d3280eb4
2022-01-06 15:56:35 +00:00
Goetz Lindenmaier
2ccf515bb6 8274658: ISO 4217 Amendment 170 Update
Backport-of: 4a38659524
2022-01-06 15:53:38 +00:00
Goetz Lindenmaier
fb3947698a 8239502: [TEST_BUG] Test javax/swing/text/FlowView/6318524/bug6318524.java never fails
Backport-of: b7425b63f6
2022-01-06 15:51:03 +00:00
Zhengyu Gu
be7343dfc9 8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for
Backport-of: 09e8c8c64a
2022-01-05 13:53:10 +00:00
Goetz Lindenmaier
de11e6b983 8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11
Reviewed-by: clanger
Backport-of: 32895ac609
2022-01-05 07:11:32 +00:00
Jie Fu
0096d51b05 8268014: Build failure on SUSE Linux Enterprise Server 11.4 (s390x) due to 'SYS_get_mempolicy' was not declared
Backport-of: fbaebd4243
2021-12-31 13:56:46 +00:00
Jie Fu
d356b8988d 8241423: NUMA APIs fail to work in dockers due to dependent syscalls are disabled by default
Backport-of: 1413f9e070
2021-12-31 13:43:53 +00:00
Goetz Lindenmaier
9fb29891b6 Merge 2021-12-29 15:46:58 +00:00
Vladimir Kempik
6fb1a9e467 8065704: Set LC_ALL=C for all relevant commands in the build system
Reviewed-by: jiefu, phh
Backport-of: 54a3efc829
2021-12-29 10:34:07 +00:00
Reka Kovacs
994276cd10 8254827: JVMCI: Enable it for Windows+AArch64
Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Reviewed-by: aph
Backport-of: 88ee973334
2021-12-27 07:38:42 +00:00
Vladimir Kozlov
8989823727 8276314: [JVMCI] check alignment of call displacement during code installation
Reviewed-by: dnsimon, goetz
Backport-of: 2f4b5405f0
2021-12-22 18:48:08 +00:00
Zhengyu Gu
fdf21b6a3e 8265150: AsyncGetCallTrace crashes on ResourceMark
Reviewed-by: phh
Backport-of: 267c024eb5
2021-12-22 14:15:05 +00:00
Zhengyu Gu
2893731284 8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here"
Reviewed-by: mdoerr
Backport-of: a907b2b144
2021-12-22 14:13:24 +00:00
Goetz Lindenmaier
cd8ea374d1 8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F
Backport-of: 6cf70f5f08
2021-12-22 12:04:16 +00:00
Goetz Lindenmaier
fc54784ed3 8258554: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F
Backport-of: c7c53d016e
2021-12-22 11:41:27 +00:00
Aleksey Shipilev
bf7c965392 8277385: Zero: Enable CompactStrings support
Backport-of: 3f847fe89a
2021-12-22 11:28:13 +00:00
Aleksey Shipilev
bd97b56531 8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx
Backport-of: bef5c7a286
2021-12-22 11:27:18 +00:00
Aleksey Shipilev
d3c2dc0c89 8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx
Reviewed-by: goetz
Backport-of: 0fbd2713f1
2021-12-22 11:26:36 +00:00
Zhengyu Gu
ec89f1b6c3 8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily
Reviewed-by: mdoerr
Backport-of: 8822d41fdc
2021-12-20 16:16:50 +00:00
Thomas Stuefe
b07b90fbbd 8278309: [windows] use of uninitialized OSThread::_state
Reviewed-by: mdoerr
Backport-of: 54993b1307
2021-12-20 10:46:32 +00:00
Dongbo He
86c2995eae 8202142: jfr/event/io/TestInstrumentation is unstable
Reviewed-by: phh, mli
Backport-of: 0b9ff0c3a4
2021-12-17 02:24:23 +00:00
Goetz Lindenmaier
4b6814546e Merge
Reviewed-by: mdoerr
2021-12-15 12:28:51 +00:00
Vladimir Kempik
90c933e6ed 8207793: [TESTBUG] runtime/Metaspace/FragmentMetaspace.java fails: heap needs to be increased
Reduce test time and allow OOM.

Reviewed-by: stuefe
Backport-of: 98242123a3
2021-12-15 12:08:07 +00:00
Vladimir Kempik
9363d55147 8211170: AArch64: Warnings in C1 and template interpreter
Backport-of: 08828a5a4f
2021-12-15 12:06:54 +00:00
Goetz Lindenmaier
c94151b792 8273575: memory leak in appendBootClassPath(), paths must be deallocated
Backport-of: 45e4e30909e316e53e8cded176ffe3f47302f3aa
2021-12-15 07:26:09 +00:00
Goetz Lindenmaier
ba1a0e875c 8266187: Memory leak in appendBootClassPath()
Backport-of: aa90df6f51
2021-12-15 07:15:10 +00:00
Goetz Lindenmaier
c8c546bc44 8240904: Screen flashes on test failures when running tests from make
Reviewed-by: mdoerr
Backport-of: 59563a4ca9
2021-12-15 07:05:49 +00:00
Vladimir Kempik
b77a165757 8234930: Use MAP_JIT when allocating pages for code cache on macOS
Co-authored-by: Anton Kozlov <akozlov@openjdk.org>
Reviewed-by: stuefe, xliu
Backport-of: 2273f9555a
2021-12-13 08:06:30 +00:00
Zhengyu Gu
9bc99d878e 8275811: Incorrect instance to dispose
Reviewed-by: mdoerr
Backport-of: cddc6ce446
2021-12-10 13:42:30 +00:00
Paul Hohensee
180fbf08b4 8186780: clang fastdebug assertion failure in os_linux_x86:os::verify_stack_alignment()
Backport-of: 6d44ff7d93
2021-12-09 20:56:59 +00:00
Paul Hohensee
cfff97ad53 8266171: -Warray-bounds happens in imageioJPEG.c
Reviewed-by: serb
Backport-of: b1725550a2
2021-12-09 16:43:10 +00:00
Paul Hohensee
a672963c8d 8266170: -Wnonnull happens in classLoaderData.inline.hpp
Reviewed-by: mdoerr
Backport-of: a1c942c02b
2021-12-09 15:51:21 +00:00
Paul Hohensee
98fb4f5e18 8207011: Remove uses of the register storage class specifier
Backport-of: 6ffd168ad1
2021-12-09 14:36:55 +00:00
Paul Hohensee
b68a942563 8266172: -Wstringop-overflow happens in vmError.cpp
Reviewed-by: mdoerr
Backport-of: c97f56cdaf
2021-12-09 14:35:37 +00:00
Goetz Lindenmaier
99870b4b8a 8274714: Incorrect verifier protected access error message
Backport-of: e39bdc9ddb
2021-12-09 12:54:45 +00:00
Goetz Lindenmaier
16bfc05b11 8273514: java/util/DoubleStreamSums/CompensatedSums.java failure
Backport-of: f531b5c796
2021-12-09 12:51:18 +00:00
Goetz Lindenmaier
a481c9a669 8214761: Bug in parallel Kahan summation implementation
Backport-of: dd871819a0
2021-12-09 12:44:23 +00:00
Goetz Lindenmaier
eaa4197ff8 8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong
Reviewed-by: phh
Backport-of: fe7d70886c
2021-12-09 11:37:39 +00:00
Goetz Lindenmaier
15f3e0edf0 8255035: Update BCEL to Version 6.5.0
Backport-of: 1a0ff28ea1
2021-12-09 11:35:23 +00:00
Goetz Lindenmaier
c3aaef39ce 8257769: Cipher.getParameters() throws NPE for ChaCha20-Poly1305
Backport-of: 500ab45770
2021-12-09 11:33:22 +00:00
Goetz Lindenmaier
9bf52e6085 8233827: Enable screenshots in the enhanced failure handler on Linux/macOS
Reviewed-by: mdoerr
Backport-of: 5705a55161
2021-12-09 11:31:11 +00:00
Goetz Lindenmaier
4beb4adcfd 8210236: Prepare ciReceiverTypeData::translate_receiver_data_from for concurrent class unloading
Backport-of: a602e0b80c
2021-12-09 11:29:06 +00:00
Martin Doerr
8878ffc74f 8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12
Reviewed-by: serb
Backport-of: febcc72a54
2021-12-09 09:59:17 +00:00
Martin Doerr
554498d107 8199079: Test javax/swing/UIDefaults/6302464/bug6302464.java is unstable
Reviewed-by: serb
Backport-of: 41fc7ddd8d
2021-12-09 09:53:44 +00:00
Goetz Lindenmaier
9b96ac982e Merge 2021-12-08 10:13:10 +00:00
Sergey Bylokhov
eb2a92fdb0 8256373: [Windows/HiDPI] The Frame#setBounds does not work in a minimized state
Backport-of: b5ce8af3d7
2021-12-08 00:40:46 +00:00
Aleksey Shipilev
d0445aa78e 8274523: java/lang/management/MemoryMXBean/MemoryTest.java test should handle Shenandoah
Reviewed-by: goetz, zgu
Backport-of: f8415a9b2f
2021-12-07 14:28:40 +00:00
Goetz Lindenmaier
38bfb43c85 8208074: [TESTBUG] vmTestbase/nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption/TestDescription.java failed with NullPointerException
Fixed refactoring caused by JDK-8203820

Backport-of: 16f9e07ba1
2021-12-07 13:24:16 +00:00
Paul Hohensee
3a452af4d3 8266168: -Wmaybe-uninitialized happens in check_code.c
Backport-of: 0f9852c63b
2021-12-06 16:26:36 +00:00
Paul Hohensee
c82d66c4e8 8266174: -Wmisleading-indentation happens in libmlib_image sources
Backport-of: 49372149e5
2021-12-06 16:25:48 +00:00
Andrew John Hughes
f8ed0fecfd 8251558: J2DBench should support shaped and translucent windows
Reviewed-by: shade
Backport-of: 484864c932
2021-12-06 13:36:23 +00:00
Vladimir Kempik
db702ee987 8254940: AArch64: Cleanup non-product thread members
Backport-of: 4ffed326fa
2021-12-02 05:22:46 +00:00
Paul Hohensee
126a16ec22 8266173: -Wmaybe-uninitialized happens in jni_util.c
Reviewed-by: simonis
Backport-of: 4a9f2319c9
2021-12-01 21:23:51 +00:00
Paul Hohensee
9d07232c3f 8263185: Mallinfo deprecated in glibc 2.33
Reviewed-by: simonis
Backport-of: 454af8719e
2021-12-01 21:22:48 +00:00
Paul Hohensee
78ab2fb02b 8257467: [TESTBUG] -Wdeprecated-declarations is reported at sigset() in exesigtest.c
Backport-of: fb139cff1a
2021-12-01 18:19:37 +00:00
Paul Hohensee
12ffc99d1d 8266176: -Wmaybe-uninitialized happens in libArrayIndexOutOfBoundsExceptionTest.c
Backport-of: 39abac98f9
2021-12-01 18:18:27 +00:00
Matthias Baesken
a0c349bdf2 8274265: Suspicious string concatenation in logTestUtils.inline.hpp
Backport-of: c57a6c62ba
2021-12-01 15:58:38 +00:00
Boris Ulasevich
35964ca9a4 8222825: ARM32 SIGILL issue on single core CPU (not supported PLDW instruction)
Reviewed-by: shade
Backport-of: 989fa190a6
2021-12-01 13:53:09 +00:00
Aleksey Shipilev
d2ed8cdb69 8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly
Backport-of: 0488ebdf14
2021-12-01 11:09:32 +00:00
Martin Doerr
596816e1a9 8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Backport-of: 0699220830
2021-11-30 22:24:39 +00:00
Alex Kasko
1f885a14cc 8272345: macos doesn't check os::set_boot_path() result
Reviewed-by: phh
Backport-of: bd27bb9cbe
2021-11-30 19:24:52 +00:00
Goetz Lindenmaier
e0cb8fa3b1 8277796: Bump update version for OpenJDK: jdk-11.0.15
Reviewed-by: mdoerr
2021-11-30 17:30:13 +00:00
3729 changed files with 149877 additions and 74205 deletions

File diff suppressed because it is too large Load Diff

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,7 +1,7 @@
[general]
project=jdk-updates
jbs=JDK
version=11.0.14.1
version=11.0.18
[checks]
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace

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

@@ -73,8 +73,9 @@
<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 +195,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 +225,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>
@@ -359,6 +362,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2019. Versions older than 2017 are unlikely to continue working for long.</p>
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p>
<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>
<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>
<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>
@@ -380,6 +384,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 +394,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 +403,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 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 +412,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 +420,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 +429,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>
@@ -679,7 +690,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 +700,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 +708,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 +944,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
@@ -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`.
@@ -1088,7 +1105,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 +1126,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 +1140,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 +1150,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 +1195,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 +1512,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

@@ -157,7 +157,9 @@ 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>

View File

@@ -317,7 +317,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

View File

@@ -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

@@ -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
@@ -272,7 +272,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

@@ -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

@@ -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

@@ -53,6 +53,7 @@ define create-info-file
$(call info-file-item, "JAVA_VERSION_DATE", "$(VERSION_DATE)")
$(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
# Setup _NT_SYMBOL_PATH on Windows, which points to our pdb files.
ifeq ($(OPENJDK_TARGET_OS), windows)
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 ($(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
# 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 RETRY_COUNT REPEAT_COUNT, \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
EXTRA_PROBLEM_LISTS AOT_MODULES, \
))
@@ -652,6 +640,15 @@ define SetupRunJtregTestBody
JTREG_VERBOSE ?= fail,error,summary
JTREG_RETAIN ?= fail,error
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)
@@ -771,6 +768,18 @@ define SetupRunJtregTestBody
done
endif
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-workdir-$1 $$($1_AOT_TARGETS)
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')

View File

@@ -209,15 +209,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
@@ -230,7 +224,7 @@ else ifeq ($(OPENJDK_TARGET_OS), macosx)
NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
else ifeq ($(OPENJDK_TARGET_OS), solaris)
NUM_CORES := $(shell LC_MESSAGES=C /usr/sbin/psrinfo -v | $(GREP) -c on-line)
NUM_CORES := $(shell /usr/sbin/psrinfo -v | $(GREP) -c on-line)
MEMORY_SIZE := $(shell \
/usr/sbin/prtconf 2> /dev/null | $(GREP) "^Memory [Ss]ize" | $(AWK) '{print $$3}' \
)
@@ -301,7 +295,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

@@ -27,6 +27,9 @@
# Fake minimalistic spec file for RunTestsPrebuilt.gmk.
################################################################################
# Make sure all shell commands are executed with the C locale
export LC_ALL := C
define VerifyVariable
ifeq ($$($1), )
$$(info Error: Variable $1 is missing, needed by RunTestPrebuiltSpec.gmk)
@@ -113,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)
@@ -122,7 +124,6 @@ JAVAC := $(FIXPATH) $(JAVAC_CMD)
JAR := $(FIXPATH) $(JAR_CMD)
JLINK := $(FIXPATH) $(JLINK_CMD)
JMOD := $(FIXPATH) $(JMOD_CMD)
JARSIGNER := $(FIXPATH) $(JARSIGNER_CMD)
BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/JAVA
################################################################################
@@ -164,7 +165,6 @@ TAIL := tail
TEE := tee
TR := tr
TOUCH := touch
UNIQ := uniq
WC := wc
XARGS := xargs
ZIPEXE := zip
@@ -172,6 +172,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)
@@ -184,7 +185,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'

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

@@ -0,0 +1,542 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
m4_include([basic_tools.m4])
m4_include([basic_windows.m4])
###############################################################################
AC_DEFUN_ONCE([BASIC_INIT],
[
# Save the original command line. This is passed to us by the wrapper configure script.
AC_SUBST(CONFIGURE_COMMAND_LINE)
# AUTOCONF might be set in the environment by the user. Preserve for "make reconfigure".
AC_SUBST(AUTOCONF)
# Save the path variable before it gets changed
ORIGINAL_PATH="$PATH"
AC_SUBST(ORIGINAL_PATH)
DATE_WHEN_CONFIGURED=`date`
AC_SUBST(DATE_WHEN_CONFIGURED)
AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
])
###############################################################################
# Check that there are no unprocessed overridden variables left.
# If so, they are an incorrect argument and we will exit with an error.
AC_DEFUN([BASIC_CHECK_LEFTOVER_OVERRIDDEN],
[
if test "x$CONFIGURE_OVERRIDDEN_VARIABLES" != x; then
# Replace the separating ! with spaces before presenting for end user.
unknown_variables=${CONFIGURE_OVERRIDDEN_VARIABLES//!/ }
AC_MSG_WARN([The following variables might be unknown to configure: $unknown_variables])
fi
])
###############################################################################
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
[
# Save the current directory this script was started from
CONFIGURE_START_DIR="$PWD"
# We might need to rewrite ORIGINAL_PATH, if it includes "#", to quote them
# for make. We couldn't do this when we retrieved ORIGINAL_PATH, since SED
# was not available at that time.
REWRITTEN_PATH=`$ECHO "$ORIGINAL_PATH" | $SED -e 's/#/\\\\#/g'`
if test "x$REWRITTEN_PATH" != "x$ORIGINAL_PATH"; then
ORIGINAL_PATH="$REWRITTEN_PATH"
AC_MSG_NOTICE([Rewriting ORIGINAL_PATH to $REWRITTEN_PATH])
fi
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
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([extra-path], [AS_HELP_STRING([--with-extra-path],
[prepend these directories to the default path])],
[UTIL_PREPEND_TO_PATH([EXTRA_PATH],$with_extra_path)]
)
if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
# If a devkit has been supplied, find xcodebuild in the toolchain_path.
# If not, detect if Xcode is installed by running xcodebuild -version
# if no Xcode installed, xcodebuild exits with 1
# if Xcode is installed, even if xcode-select is misconfigured, then it exits with 0
if test "x$DEVKIT_ROOT" != x || /usr/bin/xcodebuild -version >/dev/null 2>&1; then
# We need to use xcodebuild in the toolchain dir provided by the user
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,480 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
###############################################################################
# Setup the most fundamental tools that relies on not much else to set up,
# but is used by much of the early bootstrap code.
AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
[
# 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)
# First are all the fundamental 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(ECHO, echo)
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(TR, tr)
UTIL_REQUIRE_PROGS(UNAME, uname)
UTIL_REQUIRE_PROGS(WC, wc)
UTIL_REQUIRE_PROGS(WHICH, which)
UTIL_REQUIRE_PROGS(XARGS, xargs)
# Then required tools that require some special treatment.
UTIL_REQUIRE_SPECIAL(AWK, [AC_PROG_AWK])
UTIL_REQUIRE_SPECIAL(GREP, [AC_PROG_GREP])
UTIL_REQUIRE_SPECIAL(EGREP, [AC_PROG_EGREP])
UTIL_REQUIRE_SPECIAL(FGREP, [AC_PROG_FGREP])
UTIL_REQUIRE_SPECIAL(SED, [AC_PROG_SED])
# Optional tools, we can do without them
UTIL_LOOKUP_PROGS(DF, df)
UTIL_LOOKUP_PROGS(NICE, nice)
UTIL_LOOKUP_PROGS(READLINK, greadlink readlink)
# These are only needed on some platforms
UTIL_LOOKUP_PROGS(PATHTOOL, cygpath wslpath)
UTIL_LOOKUP_PROGS(LSB_RELEASE, lsb_release)
UTIL_LOOKUP_PROGS(CMD, cmd.exe, $PATH:/cygdrive/c/windows/system32:/mnt/c/windows/system32:/c/windows/system32)
# 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.
AC_MSG_CHECKING([if make --output-sync is supported])
if $MAKE --version -O > /dev/null 2>&1; then
OUTPUT_SYNC_SUPPORTED=true
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([for output-sync value])
AC_ARG_WITH([output-sync], [AS_HELP_STRING([--with-output-sync],
[set make output sync type if supported by make. @<:@recurse@:>@])],
[OUTPUT_SYNC=$with_output_sync])
if test "x$OUTPUT_SYNC" = "x"; then
OUTPUT_SYNC=none
fi
AC_MSG_RESULT([$OUTPUT_SYNC])
if ! $MAKE --version -O$OUTPUT_SYNC > /dev/null 2>&1; then
AC_MSG_ERROR([Make did not the support the value $OUTPUT_SYNC as output sync type.])
fi
else
OUTPUT_SYNC_SUPPORTED=false
AC_MSG_RESULT([no])
fi
AC_SUBST(OUTPUT_SYNC_SUPPORTED)
AC_SUBST(OUTPUT_SYNC)
])
###############################################################################
# Goes looking for a usable version of GNU make.
AC_DEFUN([BASIC_CHECK_GNU_MAKE],
[
UTIL_SETUP_TOOL(MAKE,
[
# Try our hardest to locate a correct version of GNU make
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)
if test "x$CODESIGN" != "x"; then
# Check for user provided code signing identity.
# If no identity was provided, fall back to "openjdk_codesign".
AC_ARG_WITH([macosx-codesign-identity], [AS_HELP_STRING([--with-macosx-codesign-identity],
[specify the code signing identity])],
[MACOSX_CODESIGN_IDENTITY=$with_macosx_codesign_identity],
[MACOSX_CODESIGN_IDENTITY=openjdk_codesign]
)
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
# Verify that the codesign certificate is present
AC_MSG_CHECKING([if codesign certificate is present])
$RM codesign-testfile
$TOUCH codesign-testfile
$CODESIGN -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile 2>&AS_MESSAGE_LOG_FD \
>&AS_MESSAGE_LOG_FD || CODESIGN=
$RM codesign-testfile
if test "x$CODESIGN" = x; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
# Verify that the codesign has --option runtime
AC_MSG_CHECKING([if codesign has --option runtime])
$RM codesign-testfile
$TOUCH codesign-testfile
$CODESIGN --option runtime -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile \
2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
$RM codesign-testfile
if test "x$CODESIGN" = x; then
AC_MSG_ERROR([codesign does not have --option runtime. macOS 10.13.6 and above is required.])
else
AC_MSG_RESULT([yes])
fi
fi
fi
UTIL_REQUIRE_PROGS(SETFILE, SetFile)
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

@@ -1,6 +1,7 @@
#!/bin/sh
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2021, Azul Systems, Inc. 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
@@ -46,6 +47,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
@@ -106,6 +118,14 @@ if [ "x$OUT" = x ]; then
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
if [ `uname -m` = arm64 ]; then
OUT=aarch64`echo $OUT | sed -e 's/[^-]*//'`
fi
fi
# Test and fix cpu on Macosx when C preprocessor is not on the path
echo $OUT | grep i386-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

@@ -35,7 +35,7 @@ AC_DEFUN([BPERF_CHECK_CORES],
FOUND_CORES=yes
elif test -x /usr/sbin/psrinfo; then
# Looks like a Solaris system
NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line`
NUM_CORES=`/usr/sbin/psrinfo -v | grep -c on-line`
FOUND_CORES=yes
elif test -x /usr/sbin/sysctl; then
# Looks like a MacOSX system
@@ -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

@@ -42,7 +42,7 @@ export CMP="@CMP@"
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 +84,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

@@ -43,6 +43,9 @@ fi
export CONFIG_SHELL=$BASH
export _as_can_reexec=no
# Make sure all shell commands are executed with the C locale
export LC_ALL=C
if test "x$CUSTOM_CONFIG_DIR" != x; then
custom_hook=$CUSTOM_CONFIG_DIR/custom-hook.m4
if test ! -e $custom_hook; then

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])
@@ -107,6 +106,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
@@ -216,9 +217,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
@@ -288,6 +286,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

@@ -121,7 +121,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,6 +164,7 @@ 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"
;;
solstudio)
@@ -168,8 +173,8 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
;;
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-"
@@ -528,10 +533,10 @@ 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"
# 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-"
@@ -585,6 +590,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"

View File

@@ -201,7 +201,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}"

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
@@ -111,19 +111,25 @@ AC_DEFUN([FLAGS_SETUP_MACOSX_VERSION],
[
# Additional macosx handling
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
# The expected format for <version> is either nn.n.n or nn.nn.nn. See
# /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/AvailabilityVersions.h
# MACOSX_VERSION_MIN specifies the lowest version of Macosx that the built
# binaries should be compatible with, even if compiled on a newer version
# of the OS. It currently has a hard coded value. Setting this also limits
# exposure to API changes in header files. Bumping this is likely to
# require code changes to build.
MACOSX_VERSION_MIN=10.9.0
if test "x$OPENJDK_TARGET_CPU_ARCH" = xaarch64; then
MACOSX_VERSION_MIN=11.00.00
else
MACOSX_VERSION_MIN=10.12.0
fi
MACOSX_VERSION_MIN_NODOTS=${MACOSX_VERSION_MIN//\./}
AC_SUBST(MACOSX_VERSION_MIN)
# Setting --with-macosx-version-max=<version> makes it an error to build or
# link to macosx APIs that are newer than the given OS version. The expected
# format for <version> is either nn.n.n or nn.nn.nn. See /usr/include/AvailabilityMacros.h.
# link to macosx APIs that are newer than the given OS version.
AC_ARG_WITH([macosx-version-max], [AS_HELP_STRING([--with-macosx-version-max],
[error on use of newer functionality. @<:@macosx@:>@])],
[
@@ -232,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)
])
@@ -240,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
@@ -258,6 +273,14 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
fi
fi
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
MACHINE_FLAG="$MACHINE_FLAG -arch arm64"
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
MACHINE_FLAG="$MACHINE_FLAG -arch x86_64"
fi
fi
# FIXME: global flags are not used yet...
# The "global" flags will *always* be set. Without them, it is not possible to
# get a working compilation.
@@ -266,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"
@@ -288,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],
@@ -385,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],
@@ -417,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"])
@@ -448,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"])
@@ -479,7 +503,7 @@ BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
# IF_FALSE: [RUN-IF-FALSE])
# ------------------------------------------------------------
# Check that the C and C++ compilers support an argument
BASIC_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
UTIL_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[
FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
@@ -511,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,8 +36,6 @@ 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=
@@ -54,6 +52,10 @@ AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
pkgutil_help $MISSING_DEPENDENCY ;;
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, 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
@@ -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
@@ -274,6 +277,14 @@ AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_CDS],
fi
fi
# Disable CDS on macos-aarch64
if test "x$OPENJDK_TARGET_OS" = "xmacosx" && test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
ENABLE_CDS="false"
if test "x$enable_cds" = "xyes"; then
AC_MSG_ERROR([CDS is currently not supported on macOS/aarch64. Remove --enable-cds.])
fi
fi
AC_SUBST(ENABLE_CDS)
])
@@ -283,7 +294,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.
@@ -299,7 +310,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"])
@@ -307,12 +318,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
@@ -413,7 +424,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
# Only enable jvmci on x86_64, sparcv9 and aarch64
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xsparcv9" || \
test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-aarch64" ; then
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
AC_MSG_RESULT([yes])
JVM_FEATURES_jvmci="jvmci"
INCLUDE_JVMCI="true"
@@ -444,10 +455,11 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
JVM_FEATURES_graal="graal"
INCLUDE_GRAAL="true"
else
# By default enable graal build on x64 or where AOT is available.
# By default enable graal build on x64/aarch64 or where AOT is available.
# graal build requires jvmci.
if test "x$JVM_FEATURES_jvmci" = "xjvmci" && \
(test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" || \
test "x$ENABLE_AOT" = "xtrue") ; then
AC_MSG_RESULT([yes])
JVM_FEATURES_graal="graal"
@@ -545,7 +557,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)
])
###############################################################################
@@ -559,10 +571,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'"'
@@ -575,7 +587,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

@@ -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)

View File

@@ -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

@@ -51,7 +51,6 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_GRAALUNIT],
fi
fi
BASIC_FIXUP_PATH([GRAALUNIT_LIB])
UTIL_FIXUP_PATH([GRAALUNIT_LIB])
AC_SUBST(GRAALUNIT_LIB)
])

View File

@@ -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
@@ -529,6 +571,9 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
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 +602,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],

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.
@@ -46,6 +51,9 @@ COMMA:=,
# What make to use for main processing, after bootstrapping top-level Makefile.
MAKE := @MAKE@
# Make sure all shell commands are executed with the C locale
export LC_ALL := C
# The default make arguments
MAKE_ARGS = $(MAKE_LOG_FLAGS) -r -R -I $(TOPDIR)/make/common SPEC=$(SPEC) \
MAKE_LOG_FLAGS="$(MAKE_LOG_FLAGS)" $(MAKE_LOG_VARS)
@@ -72,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
@@ -88,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@
@@ -102,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.
@@ -110,19 +124,26 @@ 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@
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@
@@ -154,6 +175,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@
@@ -451,7 +473,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@
@@ -477,12 +499,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@
@@ -503,7 +525,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@
@@ -512,22 +534,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@
@@ -580,7 +602,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@
@@ -602,28 +624,25 @@ 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@
BUILD_JAVA_FLAGS := @BOOTCYCLE_JVM_ARGS_BIG@
BUILD_JAVA=@FIXPATH@ $(BUILD_JDK)/bin/java $(BUILD_JAVA_FLAGS)
@@ -680,9 +699,7 @@ CCACHE:=@CCACHE@
CD:=cd
CHMOD:=@CHMOD@
CODESIGN:=@CODESIGN@
COMM:=@COMM@
CP:=@CP@
CPIO:=@CPIO@
CUT:=@CUT@
DATE:=@DATE@
DIFF:=@DIFF@
@@ -704,7 +721,7 @@ MKDIR:=@MKDIR@
MV:=@MV@
NAWK:=@NAWK@
NICE:=@NICE@
PANDOC:=@FIXPATH@ @PANDOC@
PANDOC:=@PANDOC@
PATCH:=@PATCH@
PRINTF:=@PRINTF@
READLINK:=@READLINK@
@@ -720,15 +737,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@
@@ -746,7 +762,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@
@@ -763,9 +781,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, 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
@@ -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
@@ -229,7 +230,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
if test -n "$XCODEBUILD"; then
# On Mac OS X, default toolchain to clang after Xcode 5
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version 2>&1 | $HEAD -n 1`
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version | $HEAD -n 1`
$ECHO "$XCODE_VERSION_OUTPUT" | $GREP "Xcode " > /dev/null
if test $? -ne 0; then
AC_MSG_ERROR([Failed to determine Xcode version.])
@@ -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
@@ -430,7 +432,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 +511,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 +533,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,7 +595,7 @@ 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/'` ]
@@ -620,7 +604,7 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_LD_VERSION],
# 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`
LINKER_VERSION_STRING=`$LINKER -Wl,--version 2>&1 | $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/'` ]
@@ -632,7 +616,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 +636,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 +688,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 +730,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 +747,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 +761,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 +792,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 +864,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 +910,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 +1010,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
@@ -1110,7 +1064,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then
# An explicit path is specified, use it.
JT_HOME="$with_jtreg"
BASIC_FIXUP_PATH([JT_HOME])
UTIL_FIXUP_PATH([JT_HOME])
if test ! -d "$JT_HOME"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
fi
@@ -1150,7 +1104,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
if test "x$JT_HOME" = x; then
# JT_HOME is not set in environment, or was deemed invalid.
# Try to find jtreg on path
BASIC_PATH_PROGS(JTREGEXE, jtreg)
UTIL_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)`
@@ -1176,8 +1130,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
fi
fi
BASIC_FIXUP_EXECUTABLE(JTREGEXE)
BASIC_FIXUP_PATH(JT_HOME)
UTIL_FIXUP_EXECUTABLE(JTREGEXE)
UTIL_FIXUP_PATH(JT_HOME)
AC_SUBST(JT_HOME)
AC_SUBST(JTREGEXE)
])

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)

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

@@ -0,0 +1,228 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
m4_include([util_paths.m4])
###############################################################################
# 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($2), [
m4_if(m4_bregexp(arg, [^\*]), -1,
[
m4_set_add(legal_named_args, arg)
],
[
m4_set_add(legal_named_args, m4_substr(arg, 1))
m4_set_add(required_named_args, m4_substr(arg, 1))
]
)
])
m4_foreach([arg], [$3], [
m4_define(arg_name, m4_substr(arg, 0, m4_bregexp(arg, [: ])))
m4_set_contains(legal_named_args, arg_name, [],[AC_MSG_ERROR([Internal error: arg_name is not a valid named argument to [$1]. Valid arguments are '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_substr(arg, m4_incr(m4_incr(m4_bregexp(arg, [: ])))))
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)
])
])
###############################################################################
# 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
])
###############################################################################
# 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, -, _)"
])
])

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

@@ -28,12 +28,12 @@
DEFAULT_VERSION_FEATURE=11
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=14
DEFAULT_VERSION_PATCH=1
DEFAULT_VERSION_UPDATE=18
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2022-02-08
DEFAULT_VERSION_DATE=2023-01-17
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11"

View File

@@ -121,7 +121,7 @@ define add_file_to_clean
$1_CLEAN_$$($2_TARGET) := 1
$$($1_BIN)$$($1_MODULE_SUBDIR)$$($2_TARGET) : $2
$(MKDIR) -p $$(@D)
export LC_ALL=C ; ( $(CAT) $$< && $(ECHO) "" ) \
( $(CAT) $$< && $(ECHO) "" ) \
| $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' \
-e 's/\([^\\]\)!/\1\\!/g' -e 's/^[ ]*#.*/#/g' \
| $(SED) -f "$(TOPDIR)/make/common/support/unicode2x.sed" \
@@ -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

@@ -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))))
@@ -944,11 +947,13 @@ ShellQuote = \
# 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)
FixPath = \
$(shell $(CYGPATH) -m $1)
$(strip $(subst \,\\, $(shell $(FIXPATH_BASE) print $(patsubst $(FIXPATH), , $1))))
else
FixPath = \
$1
@@ -983,22 +988,6 @@ else
$(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
#
@@ -1104,7 +1093,7 @@ FindExecutableDirForModule = \
# 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)))"
"$(subst $(SPACE),:,$(strip $(subst $(DQUOTE),,$1)))"
################################################################################
# Check if a specified hotspot variant is being built, or at least one of a

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' \
#
@@ -558,7 +552,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)
@@ -1213,7 +1207,7 @@ define SetupNativeCompilationBody
# This only works if the openjdk_codesign identity is present on the system. Let
# silently fail otherwise.
ifneq ($(CODESIGN), )
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp --options runtime \
$(CODESIGN) -f -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp --options runtime \
--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

@@ -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",
},
@@ -857,7 +866,7 @@ var getJibProfilesDependencies = function (input, common) {
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"),
@@ -873,6 +882,16 @@ 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 boot_jdk_platform = (input.build_os == "macosx" ? "osx" : input.build_os)
+ "-" + input.build_cpu;
@@ -920,10 +939,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: "6",
build_number: "1",
file: "bundles/jtreg-6+1.zip",
environment_name: "JT_HOME",
environment_path: input.get("jtreg", "install_path") + "/jtreg/bin"
},
@@ -1187,13 +1205,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

@@ -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
@@ -26,18 +26,18 @@
# Versions and download locations for dependencies used by pre-submit testing.
BOOT_JDK_VERSION=11
JTREG_VERSION=5.1
JTREG_BUILD=b01
JTREG_VERSION=6
JTREG_BUILD=1
GTEST_VERSION=1.8.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_FILENAME=openjdk-11.0.14.1_linux-x64_bin.tar.gz
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.14.1_1.tar.gz
LINUX_X64_BOOT_JDK_SHA256=43fb84f8063ad9bf6b6d694a67b8f64c8827552b920ec5ce794dfe5602edffe7
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_FILENAME=openjdk-11.0.14.1_windows-x64_bin.zip
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_x64_windows_hotspot_11.0.14.1_1.zip
WINDOWS_X64_BOOT_JDK_SHA256=3e7da701aa92e441418299714f0ed6db10c3bb1e2db625c35a2c2cd9cc619731
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_FILENAME=openjdk-11.0.14.1_osx-x64_bin.tar.gz
MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.14.1%2B1/OpenJDK11U-jdk_x64_mac_hotspot_11.0.14.1_1.tar.gz
MACOS_X64_BOOT_JDK_SHA256=8c69808f5d9d209b195575e979de0e43cdf5d0f1acec1853a569601fe2c1f743

View File

@@ -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, \

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

@@ -1,5 +1,5 @@
#
# Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2000, 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
@@ -32,7 +32,7 @@ formatVersion=3
# Version of the currency code information in this class.
# It is a serial number that accompanies with each amendment.
dataVersion=169
dataVersion=174
# List of all valid ISO 4217 currency codes.
# To ensure compatibility, do not remove codes.
@@ -51,10 +51,10 @@ all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036
MTL470-MUR480-MVR462-MWK454-MXN484-MXV979-MYR458-MZM508-MZN943-NAD516-NGN566-\
NIO558-NLG528-NOK578-NPR524-NZD554-OMR512-PAB590-PEN604-PGK598-PHP608-\
PKR586-PLN985-PTE620-PYG600-QAR634-ROL642-RON946-RSD941-RUB643-RUR810-RWF646-SAR682-\
SBD090-SCR690-SDD736-SDG938-SEK752-SGD702-SHP654-SIT705-SKK703-SLL694-SOS706-\
SBD090-SCR690-SDD736-SDG938-SEK752-SGD702-SHP654-SIT705-SKK703-SLE925-SLL694-SOS706-\
SRD968-SRG740-SSP728-STD678-STN930-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-UYI940-\
UYU858-UZS860-VEB862-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
UYU858-UZS860-VEB862-VED926-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
XBB956-XBC957-XBD958-XCD951-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWL932-\
ZWN942-ZWR935
@@ -189,7 +189,7 @@ CR=CRC
# COTE D'IVOIRE
CI=XOF
# CROATIA
HR=HRK
HR=HRK;2022-12-31-23-00-00;EUR
# CUBA
CU=CUP
# Cura\u00e7ao
@@ -317,6 +317,8 @@ KI=AUD
KP=KPW
# KOREA (THE REPUBLIC OF)
KR=KRW
# KOSOVO - Not in ISO 3166/4217
XK=EUR
# KUWAIT
KW=KWD
# KYRGYZSTAN
@@ -482,7 +484,7 @@ CS=CSD
# SEYCHELLES
SC=SCR
# SIERRA LEONE
SL=SLL
SL=SLE
# SINGAPORE
SG=SGD
# SLOVAKIA

View File

@@ -1,4 +1,4 @@
File-Date: 2020-09-29
File-Date: 2021-05-11
%%
Type: language
Subtag: aa
@@ -2925,6 +2925,11 @@ Description: Arigidi
Added: 2009-07-29
%%
Type: language
Subtag: aqk
Description: Aninka
Added: 2021-02-20
%%
Type: language
Subtag: aql
Description: Algic languages
Added: 2009-07-29
@@ -4878,6 +4883,8 @@ Type: language
Subtag: bic
Description: Bikaru
Added: 2009-07-29
Deprecated: 2021-02-20
Preferred-Value: bir
%%
Type: language
Subtag: bid
@@ -4903,6 +4910,8 @@ Type: language
Subtag: bij
Description: Vaghat-Ya-Bijim-Legeri
Added: 2009-07-29
Deprecated: 2021-02-20
Comments: see dkg, jbm, tyy
%%
Type: language
Subtag: bik
@@ -5279,6 +5288,8 @@ Type: language
Subtag: blg
Description: Balau
Added: 2009-07-29
Deprecated: 2021-02-20
Preferred-Value: iba
%%
Type: language
Subtag: blh
@@ -5766,6 +5777,11 @@ Description: Banda-Banda
Added: 2009-07-29
%%
Type: language
Subtag: bpe
Description: Bauni
Added: 2021-02-20
%%
Type: language
Subtag: bpg
Description: Bonggo
Added: 2009-07-29
@@ -8626,6 +8642,11 @@ Added: 2009-07-29
Macrolanguage: cr
%%
Type: language
Subtag: csx
Description: Cambodian Sign Language
Added: 2021-02-20
%%
Type: language
Subtag: csy
Description: Siyin Chin
Added: 2009-07-29
@@ -8707,6 +8728,11 @@ Description: Chol
Added: 2009-07-29
%%
Type: language
Subtag: cty
Description: Moundadan Chetty
Added: 2021-02-20
%%
Type: language
Subtag: ctz
Description: Zacatepec Chatino
Added: 2009-07-29
@@ -9674,6 +9700,11 @@ Description: Dakpakha
Added: 2009-07-29
%%
Type: language
Subtag: dkg
Description: Kadung
Added: 2021-02-20
%%
Type: language
Subtag: dkk
Description: Dakka
Added: 2009-07-29
@@ -10587,6 +10618,11 @@ Description: Egyptian (Ancient)
Added: 2005-10-16
%%
Type: language
Subtag: ehs
Description: Miyakubo Sign Language
Added: 2021-02-20
%%
Type: language
Subtag: ehu
Description: Ehueun
Added: 2009-07-29
@@ -10774,6 +10810,11 @@ Description: Northern Emberá
Added: 2009-07-29
%%
Type: language
Subtag: emq
Description: Eastern Minyag
Added: 2021-02-20
%%
Type: language
Subtag: ems
Description: Pacific Gulf Yupik
Added: 2009-07-29
@@ -10799,6 +10840,11 @@ Description: Epigraphic Mayan
Added: 2009-07-29
%%
Type: language
Subtag: emz
Description: Mbessa
Added: 2021-02-20
%%
Type: language
Subtag: ena
Description: Apali
Added: 2009-07-29
@@ -12279,6 +12325,11 @@ Description: Githabul
Added: 2013-09-10
%%
Type: language
Subtag: gii
Description: Girirra
Added: 2021-02-20
%%
Type: language
Subtag: gil
Description: Gilbertese
Added: 2005-10-16
@@ -12354,6 +12405,8 @@ Type: language
Subtag: gji
Description: Geji
Added: 2009-07-29
Deprecated: 2021-02-20
Comments: see gyz, zbu
%%
Type: language
Subtag: gjk
@@ -12418,6 +12471,11 @@ Description: ǂUngkue
Added: 2015-02-12
%%
Type: language
Subtag: glb
Description: Belning
Added: 2021-02-20
%%
Type: language
Subtag: glc
Description: Bon Gula
Added: 2009-07-29
@@ -13360,6 +13418,12 @@ Description: Gunya
Added: 2009-07-29
%%
Type: language
Subtag: gyz
Description: Geji
Description: Gyaazi
Added: 2021-02-20
%%
Type: language
Subtag: gza
Description: Ganza
Added: 2009-07-29
@@ -13704,6 +13768,12 @@ Description: Hunde
Added: 2009-07-29
%%
Type: language
Subtag: hkh
Description: Khah
Description: Poguli
Added: 2021-02-20
%%
Type: language
Subtag: hkk
Description: Hunjara-Kaina Ke
Added: 2009-07-29
@@ -15411,6 +15481,11 @@ Description: Barikewa
Added: 2012-08-12
%%
Type: language
Subtag: jbm
Description: Bijim
Added: 2021-02-20
%%
Type: language
Subtag: jbn
Description: Nafusi
Added: 2009-07-29
@@ -15569,7 +15644,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: jid
Description: Bu
Description: Bu (Kaduna State)
Added: 2009-07-29
%%
Type: language
@@ -15671,6 +15746,11 @@ Description: Koro (India)
Added: 2012-08-12
%%
Type: language
Subtag: jks
Description: Amami Koniya Sign Language
Added: 2021-02-20
%%
Type: language
Subtag: jku
Description: Labir
Added: 2009-07-29
@@ -15844,7 +15924,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: jrt
Description: Jorto
Description: Jakattoe
Added: 2009-07-29
%%
Type: language
@@ -17779,7 +17859,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: koe
Description: Kacipo-Balesi
Description: Kacipo-Bale Suri
Added: 2009-07-29
%%
Type: language
@@ -20723,6 +20803,12 @@ Description: Lasgerdi
Added: 2009-07-29
%%
Type: language
Subtag: lsb
Description: Burundian Sign Language
Description: Langue des Signes Burundaise
Added: 2021-02-20
%%
Type: language
Subtag: lsd
Description: Lishana Deni
Added: 2009-07-29
@@ -21043,6 +21129,11 @@ Description: Lewo
Added: 2009-07-29
%%
Type: language
Subtag: lxm
Description: Lakurumau
Added: 2021-02-20
%%
Type: language
Subtag: lya
Description: Layakha
Added: 2009-07-29
@@ -23788,6 +23879,8 @@ Type: language
Subtag: mvm
Description: Muya
Added: 2009-07-29
Deprecated: 2021-02-20
Comments: see emq, wmg
%%
Type: language
Subtag: mvn
@@ -25096,6 +25189,8 @@ Type: language
Subtag: ngo
Description: Ngoni
Added: 2009-07-29
Deprecated: 2021-02-20
Comments: see xnj, xnq
%%
Type: language
Subtag: ngp
@@ -26182,6 +26277,11 @@ Description: Kyan-Karyaw Naga
Added: 2013-09-10
%%
Type: language
Subtag: nqt
Description: Nteng
Added: 2021-02-20
%%
Type: language
Subtag: nqy
Description: Akyaung Ari Naga
Added: 2012-08-12
@@ -27006,6 +27106,11 @@ Description: Old Chinese
Added: 2009-07-29
%%
Type: language
Subtag: ocm
Description: Old Cham
Added: 2021-02-20
%%
Type: language
Subtag: oco
Description: Old Cornish
Added: 2009-07-29
@@ -27151,6 +27256,11 @@ Description: Okobo
Added: 2009-07-29
%%
Type: language
Subtag: okc
Description: Kobo
Added: 2021-02-20
%%
Type: language
Subtag: okd
Description: Okodia
Added: 2009-07-29
@@ -27232,6 +27342,11 @@ Description: Okpe (Northwestern Edo)
Added: 2009-07-29
%%
Type: language
Subtag: okz
Description: Old Khmer
Added: 2021-02-20
%%
Type: language
Subtag: ola
Description: Walungge
Added: 2009-07-29
@@ -27370,6 +27485,11 @@ Description: Old Mon
Added: 2009-07-29
%%
Type: language
Subtag: omy
Description: Old Malay
Added: 2021-02-20
%%
Type: language
Subtag: ona
Description: Ona
Added: 2009-07-29
@@ -27605,6 +27725,11 @@ Description: Osing
Added: 2009-07-29
%%
Type: language
Subtag: osn
Description: Old Sundanese
Added: 2021-02-20
%%
Type: language
Subtag: oso
Description: Ososo
Added: 2009-07-29
@@ -27891,6 +28016,8 @@ Type: language
Subtag: pat
Description: Papitalai
Added: 2009-07-29
Deprecated: 2021-02-20
Preferred-Value: kxr
%%
Type: language
Subtag: pau
@@ -28856,6 +28983,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: png
Description: Pangu
Description: Pongu
Added: 2009-07-29
%%
@@ -30764,6 +30892,11 @@ Description: Rwa
Added: 2009-07-29
%%
Type: language
Subtag: rwl
Description: Ruwila
Added: 2021-02-20
%%
Type: language
Subtag: rwm
Description: Amba (Uganda)
Added: 2009-07-29
@@ -32644,6 +32777,11 @@ Description: Squamish
Added: 2009-07-29
%%
Type: language
Subtag: sqx
Description: Kufr Qassem Sign Language (KQSL)
Added: 2021-02-20
%%
Type: language
Subtag: sra
Description: Saruga
Added: 2009-07-29
@@ -33059,7 +33197,13 @@ Deprecated: 2010-03-11
Comments: see ulw, yan
%%
Type: language
Subtag: suo
Description: Bouni
Added: 2021-02-20
%%
Type: language
Subtag: suq
Description: Tirmaga-Chai Suri
Description: Suri
Added: 2009-07-29
%%
@@ -36127,6 +36271,11 @@ Description: Teke-Tyee
Added: 2009-07-29
%%
Type: language
Subtag: tyy
Description: Tiyaa
Added: 2021-02-20
%%
Type: language
Subtag: tyz
Description: Tày
Added: 2009-07-29
@@ -36538,6 +36687,11 @@ Description: Ngarinyin
Added: 2009-07-29
%%
Type: language
Subtag: uni
Description: Uni
Added: 2021-02-20
%%
Type: language
Subtag: unk
Description: Enawené-Nawé
Added: 2009-07-29
@@ -37037,6 +37191,8 @@ Type: language
Subtag: vki
Description: Ija-Zuba
Added: 2009-07-29
Deprecated: 2021-02-20
Comments: see vkn, vkz
%%
Type: language
Subtag: vkj
@@ -37060,6 +37216,11 @@ Description: Kamakan
Added: 2009-07-29
%%
Type: language
Subtag: vkn
Description: Koro Nulu
Added: 2021-02-20
%%
Type: language
Subtag: vko
Description: Kodeoha
Added: 2009-07-29
@@ -37081,6 +37242,11 @@ Description: Kurrama
Added: 2009-07-29
%%
Type: language
Subtag: vkz
Description: Koro Zuba
Added: 2021-02-20
%%
Type: language
Subtag: vlp
Description: Valpei
Added: 2009-07-29
@@ -37313,7 +37479,8 @@ Added: 2009-07-29
%%
Type: language
Subtag: wad
Description: Wandamen
Description: Wamesa
Description: Wondama
Added: 2009-07-29
%%
Type: language
@@ -37958,6 +38125,11 @@ Description: Wambule
Added: 2009-07-29
%%
Type: language
Subtag: wmg
Description: Western Minyag
Added: 2021-02-20
%%
Type: language
Subtag: wmh
Description: Waima'a
Added: 2009-07-29
@@ -38163,6 +38335,8 @@ Type: language
Subtag: wra
Description: Warapu
Added: 2009-07-29
Deprecated: 2021-02-20
Comments: see bpe, suo, uni
%%
Type: language
Subtag: wrb
@@ -39340,6 +39514,11 @@ Description: Ngarigu
Added: 2013-09-10
%%
Type: language
Subtag: xnj
Description: Ngoni (Tanzania)
Added: 2021-02-20
%%
Type: language
Subtag: xnk
Description: Nganakarti
Added: 2013-09-10
@@ -39360,6 +39539,11 @@ Description: Anglo-Norman
Added: 2009-07-29
%%
Type: language
Subtag: xnq
Description: Ngoni (Mozambique)
Added: 2021-02-20
%%
Type: language
Subtag: xnr
Description: Kangri
Added: 2009-07-29
@@ -41069,6 +41253,11 @@ Description: Yugoslavian Sign Language
Added: 2009-07-29
%%
Type: language
Subtag: ysm
Description: Myanmar Sign Language
Added: 2021-02-20
%%
Type: language
Subtag: ysn
Description: Sani
Added: 2009-07-29
@@ -41523,6 +41712,11 @@ Description: Batui
Added: 2009-07-29
%%
Type: language
Subtag: zbu
Description: Bu (Bauchi State)
Added: 2021-02-20
%%
Type: language
Subtag: zbw
Description: West Berawan
Added: 2009-07-29
@@ -41749,6 +41943,11 @@ Description: Khazar
Added: 2009-07-29
%%
Type: language
Subtag: zla
Description: Zula
Added: 2021-02-20
%%
Type: language
Subtag: zle
Description: East Slavic languages
Added: 2009-07-29
@@ -42861,6 +43060,13 @@ Preferred-Value: csr
Prefix: sgn
%%
Type: extlang
Subtag: csx
Description: Cambodian Sign Language
Added: 2021-02-20
Preferred-Value: csx
Prefix: sgn
%%
Type: extlang
Subtag: czh
Description: Huizhou Chinese
Added: 2009-07-29
@@ -42913,6 +43119,13 @@ Preferred-Value: ecs
Prefix: sgn
%%
Type: extlang
Subtag: ehs
Description: Miyakubo Sign Language
Added: 2021-02-20
Preferred-Value: ehs
Prefix: sgn
%%
Type: extlang
Subtag: esl
Description: Egypt Sign Language
Added: 2009-07-29
@@ -43197,6 +43410,13 @@ Preferred-Value: jhs
Prefix: sgn
%%
Type: extlang
Subtag: jks
Description: Amami Koniya Sign Language
Added: 2021-02-20
Preferred-Value: jks
Prefix: sgn
%%
Type: extlang
Subtag: jls
Description: Jamaican Sign Language
Added: 2010-03-11
@@ -43310,6 +43530,14 @@ Preferred-Value: lls
Prefix: sgn
%%
Type: extlang
Subtag: lsb
Description: Burundian Sign Language
Description: Langue des Signes Burundaise
Added: 2021-02-20
Preferred-Value: lsb
Prefix: sgn
%%
Type: extlang
Subtag: lsg
Description: Lyons Sign Language
Added: 2009-07-29
@@ -43817,6 +44045,13 @@ Preferred-Value: sqs
Prefix: sgn
%%
Type: extlang
Subtag: sqx
Description: Kufr Qassem Sign Language (KQSL)
Added: 2021-02-20
Preferred-Value: sqx
Prefix: sgn
%%
Type: extlang
Subtag: ssh
Description: Shihhi Arabic
Added: 2009-07-29
@@ -44107,6 +44342,13 @@ Preferred-Value: ysl
Prefix: sgn
%%
Type: extlang
Subtag: ysm
Description: Myanmar Sign Language
Added: 2021-02-20
Preferred-Value: ysm
Prefix: sgn
%%
Type: extlang
Subtag: yue
Description: Yue Chinese
Description: Cantonese
@@ -44855,6 +45097,11 @@ Description: Osmanya
Added: 2005-10-16
%%
Type: script
Subtag: Ougr
Description: Old Uyghur
Added: 2021-02-12
%%
Type: script
Subtag: Palm
Description: Palmyrene
Added: 2010-04-10
@@ -44865,6 +45112,16 @@ Description: Pau Cin Hau
Added: 2013-12-02
%%
Type: script
Subtag: Pcun
Description: Proto-Cuneiform
Added: 2021-02-12
%%
Type: script
Subtag: Pelm
Description: Proto-Elamite
Added: 2021-02-12
%%
Type: script
Subtag: Perm
Description: Old Permic
Added: 2005-10-16
@@ -44911,11 +45168,21 @@ Description: Inscriptional Parthian
Added: 2007-12-05
%%
Type: script
Subtag: Psin
Description: Proto-Sinaitic
Added: 2021-02-12
%%
Type: script
Subtag: Qaaa..Qabx
Description: Private use
Added: 2005-10-16
%%
Type: script
Subtag: Ranj
Description: Ranjana
Added: 2021-02-12
%%
Type: script
Subtag: Rjng
Description: Rejang
Description: Redjang
@@ -45128,6 +45395,11 @@ Description: Tirhuta
Added: 2011-08-16
%%
Type: script
Subtag: Tnsa
Description: Tangsa
Added: 2021-03-05
%%
Type: script
Subtag: Toto
Description: Toto
Added: 2020-05-12
@@ -45148,6 +45420,11 @@ Description: Visible Speech
Added: 2005-10-16
%%
Type: script
Subtag: Vith
Description: Vithkuqi
Added: 2021-03-05
%%
Type: script
Subtag: Wara
Description: Warang Citi
Description: Varang Kshiti
@@ -46892,6 +47169,14 @@ Prefix: hy
Comments: Preferred tag is hyw
%%
Type: variant
Subtag: arkaika
Description: Arcaicam Esperantom
Description: Arkaika Esperanto
Added: 2020-12-17
Prefix: eo
Comments: Archaic Esperanto variant devised by Manuel Halvelik
%%
Type: variant
Subtag: asante
Description: Asante Twi
Description: Ashanti Twi
@@ -47083,6 +47368,16 @@ Subtag: grclass
Description: Classical Occitan orthography
Added: 2018-04-22
Prefix: oc
Prefix: oc-aranes
Prefix: oc-auvern
Prefix: oc-cisaup
Prefix: oc-creiss
Prefix: oc-gascon
Prefix: oc-lemosin
Prefix: oc-lengadoc
Prefix: oc-nicard
Prefix: oc-provenc
Prefix: oc-vivaraup
Comments: Classical written standard for Occitan developed in 1935 by
Alibèrt
%%
@@ -47091,12 +47386,25 @@ Subtag: grital
Description: Italian-inspired Occitan orthography
Added: 2018-04-22
Prefix: oc
Prefix: oc-cisaup
Prefix: oc-nicard
Prefix: oc-provenc
%%
Type: variant
Subtag: grmistr
Description: Mistralian or Mistralian-inspired Occitan orthography
Added: 2018-04-22
Prefix: oc
Prefix: oc-aranes
Prefix: oc-auvern
Prefix: oc-cisaup
Prefix: oc-creiss
Prefix: oc-gascon
Prefix: oc-lemosin
Prefix: oc-lengadoc
Prefix: oc-nicard
Prefix: oc-provenc
Prefix: oc-vivaraup
Comments: Written standard developed by Romanilha in 1853 and used by
Mistral and the Félibres, including derived standards such as Escolo
dóu Po, Escolo Gaston Febus, and others

View File

@@ -1,2 +1,2 @@
Github: https://raw.githubusercontent.com/publicsuffix/list/cbbba1d234670453df9c930dfbf510c0474d4301/public_suffix_list.dat
Date: 2020-04-24
Github: https://raw.githubusercontent.com/publicsuffix/list/3c213aab32b3c014f171b1673d4ce9b5cd72bf1c/public_suffix_list.dat
Date: 2021-11-27

File diff suppressed because it is too large Load Diff

View File

@@ -21,4 +21,4 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
tzdata2021e
tzdata2022g

View File

@@ -120,22 +120,6 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 16
0:00 Algeria WE%sT 1981 May
1:00 - CET
# Angola
# Benin
# See Africa/Lagos.
# Botswana
# See Africa/Maputo.
# Burkina Faso
# See Africa/Abidjan.
# Burundi
# See Africa/Maputo.
# Cameroon
# See Africa/Lagos.
# Cape Verde / Cabo Verde
#
# From Paul Eggert (2018-02-16):
@@ -150,9 +134,6 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia
-2:00 - -02 1975 Nov 25 2:00
-1:00 - -01
# Central African Republic
# See Africa/Lagos.
# Chad
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
@@ -160,39 +141,36 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
1:00 1:00 WAST 1980 Mar 8
1:00 - WAT
# Comoros
# See Africa/Nairobi.
# Burkina Faso
# Côte d'Ivoire (Ivory Coast)
# The Gambia
# Ghana
# Guinea
# Iceland
# Mali
# Mauritania
# St Helena
# Senegal
# Sierra Leone
# Togo
# Democratic Republic of the Congo
# See Africa/Lagos for the western part and Africa/Maputo for the eastern.
# The other parts of the St Helena territory are similar:
# Tristan da Cunha: on GMT, say Whitman and the CIA
# Ascension: on GMT, say the USNO (1995-12-21) and the CIA
# Gough (scientific station since 1955; sealers wintered previously):
# on GMT, says the CIA
# Inaccessible, Nightingale: uninhabited
# Republic of the Congo
# See Africa/Lagos.
# Côte d'Ivoire / Ivory Coast
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Abidjan -0:16:08 - LMT 1912
0:00 - GMT
Link Africa/Abidjan Africa/Accra # Ghana
Link Africa/Abidjan Africa/Bamako # Mali
Link Africa/Abidjan Africa/Banjul # The Gambia
Link Africa/Abidjan Africa/Conakry # Guinea
Link Africa/Abidjan Africa/Dakar # Senegal
Link Africa/Abidjan Africa/Freetown # Sierra Leone
Link Africa/Abidjan Africa/Lome # Togo
Link Africa/Abidjan Africa/Nouakchott # Mauritania
Link Africa/Abidjan Africa/Ouagadougou # Burkina Faso
Link Africa/Abidjan Atlantic/St_Helena # St Helena
# Djibouti
# See Africa/Nairobi.
###############################################################################
# Egypt
# Milne says Cairo used 2:05:08.9, the local mean time of the Abbasizeh
# observatory; round to nearest. Milne also says that the official time for
# observatory. Milne also says that the official time for
# Egypt was mean noon at the Great Pyramid, 2:04:30.5, but apparently this
# did not apply to Cairo, Alexandria, or Port Said.
@@ -377,36 +355,10 @@ Rule Egypt 2014 only - Jul 31 24:00 1:00 S
Rule Egypt 2014 only - Sep lastThu 24:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#STDOFF 2:05:08.9
Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
2:00 Egypt EE%sT
# Equatorial Guinea
# See Africa/Lagos.
# Eritrea
# See Africa/Nairobi.
# Eswatini (formerly Swaziland)
# See Africa/Johannesburg.
# Ethiopia
# See Africa/Nairobi.
#
# Unfortunately tzdb records only Western clock time in use in Ethiopia,
# as the tzdb format is not up to properly recording a common Ethiopian
# timekeeping practice that is based on solar time. See:
# Mortada D. If you have a meeting in Ethiopia, you'd better double
# check the time. PRI's The World. 2015-01-30 15:15 -05.
# https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time
# Gabon
# See Africa/Lagos.
# The Gambia
# Ghana
# Guinea
# See Africa/Abidjan.
# Guinea-Bissau
#
# From Paul Eggert (2018-02-16):
@@ -419,7 +371,16 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u
-1:00 - -01 1975
0:00 - GMT
# Comoros
# Djibouti
# Eritrea
# Ethiopia
# Kenya
# Madagascar
# Mayotte
# Somalia
# Tanzania
# Uganda
# From P Chan (2020-10-24):
#
@@ -430,7 +391,7 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u
# At midnight on 30 June 1928 the clocks throughout Kenya was put forward
# half an hour by the Alteration of Time Ordinance, 1928.
# https://gazettes.africa/archive/ke/1928/ke-government-gazette-dated-1928-05-11-no-28.pdf
# [Ordinance No. 11 of 1928, The Offical Gazette, 1928-06-26, p 813]
# [Ordinance No. 11 of 1928, The Official Gazette, 1928-06-26, p 813]
# https://books.google.com/books?id=2S0S6os32ZUC&pg=PA813
#
# The 1928 ordinance was repealed by the Alteration of Time (repeal) Ordinance,
@@ -462,6 +423,14 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u
# The 1908-05-01 announcement does not give an effective date,
# so just say "1908 May".
# From Paul Eggert (2018-09-11):
# Unfortunately tzdb records only Western clock time in use in Ethiopia,
# as the tzdb format is not up to properly recording a common Ethiopian
# timekeeping practice that is based on solar time. See:
# Mortada D. If you have a meeting in Ethiopia, you'd better double
# check the time. PRI's The World. 2015-01-30 15:15 -05.
# https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Nairobi 2:27:16 - LMT 1908 May
2:30 - +0230 1928 Jun 30 24:00
@@ -469,18 +438,6 @@ Zone Africa/Nairobi 2:27:16 - LMT 1908 May
2:30 - +0230 1936 Dec 31 24:00
2:45 - +0245 1942 Jul 31 24:00
3:00 - EAT
Link Africa/Nairobi Africa/Addis_Ababa # Ethiopia
Link Africa/Nairobi Africa/Asmara # Eritrea
Link Africa/Nairobi Africa/Dar_es_Salaam # Tanzania
Link Africa/Nairobi Africa/Djibouti
Link Africa/Nairobi Africa/Kampala # Uganda
Link Africa/Nairobi Africa/Mogadishu # Somalia
Link Africa/Nairobi Indian/Antananarivo # Madagascar
Link Africa/Nairobi Indian/Comoro
Link Africa/Nairobi Indian/Mayotte
# Lesotho
# See Africa/Johannesburg.
# Liberia
#
@@ -561,16 +518,6 @@ Zone Africa/Tripoli 0:52:44 - LMT 1920
1:00 Libya CE%sT 2013 Oct 25 2:00
2:00 - EET
# Madagascar
# See Africa/Nairobi.
# Malawi
# See Africa/Maputo.
# Mali
# Mauritania
# See Africa/Abidjan.
# Mauritius
# From Steffen Thorsen (2008-06-25):
@@ -664,8 +611,6 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# Agalega Is, Rodriguez
# no information; probably like Indian/Mauritius
# Mayotte
# See Africa/Nairobi.
# Morocco
# See Africa/Ceuta for Spanish Morocco.
@@ -941,6 +886,10 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
# (setq islamic-year (+ 1 islamic-year))))
#
# From Milamber (2021-03-31, 2022-03-10), confirming these predictions:
# https://www.mmsp.gov.ma/fr/actualites.aspx?id=2076
# https://www.ecoactu.ma/horaires-administration-ramadan-gmtheure-gmt-a-partir-de-dimanche-27-mars/
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Morocco 1939 only - Sep 12 0:00 1:00 -
@@ -1154,7 +1103,14 @@ Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
0:00 Morocco +00/+01 2018 Oct 28 3:00
1:00 Morocco +01/+00
# Botswana
# Burundi
# Democratic Republic of the Congo (eastern)
# Malawi
# Mozambique
# Rwanda
# Zambia
# Zimbabwe
#
# Shanks gives 1903-03-01 for the transition to CAT.
# Perhaps the 1911-05-26 Portuguese decree
@@ -1164,14 +1120,6 @@ Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Maputo 2:10:20 - LMT 1903 Mar
2:00 - CAT
Link Africa/Maputo Africa/Blantyre # Malawi
Link Africa/Maputo Africa/Bujumbura # Burundi
Link Africa/Maputo Africa/Gaborone # Botswana
Link Africa/Maputo Africa/Harare # Zimbabwe
Link Africa/Maputo Africa/Kigali # Rwanda
Link Africa/Maputo Africa/Lubumbashi # E Dem. Rep. of Congo
Link Africa/Maputo Africa/Lusaka # Zambia
# Namibia
@@ -1250,9 +1198,16 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
# 2:00 - CAT
# End of rearguard section.
# Niger
# See Africa/Lagos.
# Angola
# Benin
# Cameroon
# Central African Republic
# Democratic Republic of the Congo (western)
# Republic of the Congo
# Equatorial Guinea
# Gabon
# Niger
# Nigeria
# From P Chan (2020-12-03):
@@ -1318,44 +1273,6 @@ Zone Africa/Lagos 0:13:35 - LMT 1905 Jul 1
0:13:35 - LMT 1914 Jan 1
0:30 - +0030 1919 Sep 1
1:00 - WAT
Link Africa/Lagos Africa/Bangui # Central African Republic
Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo
Link Africa/Lagos Africa/Douala # Cameroon
Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west)
Link Africa/Lagos Africa/Libreville # Gabon
Link Africa/Lagos Africa/Luanda # Angola
Link Africa/Lagos Africa/Malabo # Equatorial Guinea
Link Africa/Lagos Africa/Niamey # Niger
Link Africa/Lagos Africa/Porto-Novo # Benin
# Réunion
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
4:00 - +04
#
# Scattered Islands (Îles Éparses) administered from Réunion are as follows.
# The following information about them is taken from
# Îles Éparses (<http://www.outre-mer.gouv.fr/domtom/ile.htm>, 1997-07-22,
# in French; no longer available as of 1999-08-17).
# We have no info about their time zone histories.
#
# Bassas da India - uninhabited
# Europa Island - inhabited from 1905 to 1910 by two families
# Glorioso Is - inhabited until at least 1958
# Juan de Nova - uninhabited
# Tromelin - inhabited until at least 1958
# Rwanda
# See Africa/Maputo.
# St Helena
# See Africa/Abidjan.
# The other parts of the St Helena territory are similar:
# Tristan da Cunha: on GMT, say Whitman and the CIA
# Ascension: on GMT, say the USNO (1995-12-21) and the CIA
# Gough (scientific station since 1955; sealers wintered previously):
# on GMT, says the CIA
# Inaccessible, Nightingale: uninhabited
# São Tomé and Príncipe
@@ -1375,48 +1292,19 @@ Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
# From Michael Deckers (2018-12-30):
# https://www.legis-palop.org/download.jsp?idFile=102818
# ... [The legal time of the country, which coincides with universal
# coordinated time, will be restituted at 2 o'clock on day 1 of January, 2019.]
# coordinated time, will be reinstituted at 2 o'clock on day 1 of January, 2019.]
Zone Africa/Sao_Tome 0:26:56 - LMT 1884
#STDOFF -0:36:44.68
-0:36:45 - LMT 1912 Jan 1 00:00u # Lisbon MT
0:00 - GMT 2018 Jan 1 01:00
1:00 - WAT 2019 Jan 1 02:00
0:00 - GMT
# Senegal
# See Africa/Abidjan.
# Seychelles
# From P Chan (2020-11-27):
# Standard Time was adopted on 1907-01-01.
#
# Standard Time Ordinance (Chapter 237)
# The Laws of Seychelles in Force on the 31st December, 1971, Vol. 6, p 571
# https://books.google.com/books?id=efE-AQAAIAAJ&pg=PA571
#
# From Tim Parenti (2020-12-05):
# A footnote on https://books.google.com/books?id=DYdDAQAAMAAJ&pg=PA1689
# confirms that Ordinance No. 9 of 1906 "was brought into force on the 1st
# January, 1907."
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Mahe 3:41:48 - LMT 1907 Jan 1 # Victoria
4:00 - +04
# From Paul Eggert (2001-05-30):
# Aldabra, Farquhar, and Desroches, originally dependencies of the
# Seychelles, were transferred to the British Indian Ocean Territory
# in 1965 and returned to Seychelles control in 1976. We don't know
# whether this affected their time zone, so omit this for now.
# Possibly the islands were uninhabited.
# Sierra Leone
# See Africa/Abidjan.
# Somalia
# See Africa/Nairobi.
# Eswatini (Swaziland)
# Lesotho
# South Africa
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule SA 1942 1943 - Sep Sun>=15 2:00 1:00 -
Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
@@ -1424,8 +1312,6 @@ Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
1:30 - SAST 1903 Mar
2:00 SA SAST
Link Africa/Johannesburg Africa/Maseru # Lesotho
Link Africa/Johannesburg Africa/Mbabane # Eswatini
#
# Marion and Prince Edward Is
# scientific station since 1947
@@ -1474,12 +1360,6 @@ Zone Africa/Juba 2:06:28 - LMT 1931
3:00 - EAT 2021 Feb 1 00:00
2:00 - CAT
# Tanzania
# See Africa/Nairobi.
# Togo
# See Africa/Abidjan.
# Tunisia
# From Gwillim Law (2005-04-30):
@@ -1577,10 +1457,3 @@ Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
1:00 Tunisia CE%sT
# Uganda
# See Africa/Nairobi.
# Zambia
# Zimbabwe
# See Africa/Maputo.

View File

@@ -180,9 +180,7 @@ Zone Antarctica/Mawson 0 - -00 1954 Feb 13
# St Paul Island - near Amsterdam, uninhabited
# fishing stations operated variously 1819/1931
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Kerguelen 0 - -00 1950 # Port-aux-Français
5:00 - +05
# Kerguelen - see Indian/Maldives.
#
# year-round base in the main continent
# Dumont d'Urville - see Pacific/Port_Moresby.
@@ -265,31 +263,7 @@ Zone Antarctica/Troll 0 - -00 2005 Feb 12
# year-round from 1960/61 to 1992
# Vostok, since 1957-12-16, temporarily closed 1994-02/1994-11
# From Craig Mundell (1994-12-15):
# http://quest.arc.nasa.gov/antarctica/QA/computers/Directions,Time,ZIP
# Vostok, which is one of the Russian stations, is set on the same
# time as Moscow, Russia.
#
# From Lee Hotz (2001-03-08):
# I queried the folks at Columbia who spent the summer at Vostok and this is
# what they had to say about time there:
# "in the US Camp (East Camp) we have been on New Zealand (McMurdo)
# time, which is 12 hours ahead of GMT. The Russian Station Vostok was
# 6 hours behind that (although only 2 miles away, i.e. 6 hours ahead
# of GMT). This is a time zone I think two hours east of Moscow. The
# natural time zone is in between the two: 8 hours ahead of GMT."
#
# From Paul Eggert (2001-05-04):
# This seems to be hopelessly confusing, so I asked Lee Hotz about it
# in person. He said that some Antarctic locations set their local
# time so that noon is the warmest part of the day, and that this
# changes during the year and does not necessarily correspond to mean
# solar noon. So the Vostok time might have been whatever the clocks
# happened to be during their visit. So we still don't really know what time
# it is at Vostok. But we'll guess +06.
#
Zone Antarctica/Vostok 0 - -00 1957 Dec 16
6:00 - +06
# See Asia/Urumqi.
# S Africa - year-round bases
# Marion Island, -4653+03752
@@ -355,4 +329,4 @@ Zone Antarctica/Rothera 0 - -00 1976 Dec 1
# we have to go around and set them back 5 minutes or so.
# Maybe if we let them run fast all of the time, we'd get to leave here sooner!!
#
# See 'australasia' for Antarctica/McMurdo.
# See Pacific/Auckland.

View File

@@ -172,9 +172,6 @@ Zone Asia/Baku 3:19:24 - LMT 1924 May 2
4:00 EUAsia +04/+05 1997
4:00 Azer +04/+05
# Bahrain
# See Asia/Qatar.
# Bangladesh
# From Alexander Krivenyshev (2009-05-13):
# According to newspaper Asian Tribune (May 6, 2009) Bangladesh may introduce
@@ -277,13 +274,8 @@ Zone Indian/Chagos 4:49:40 - LMT 1907
5:00 - +05 1996
6:00 - +06
# Brunei
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Brunei 7:39:40 - LMT 1926 Mar # Bandar Seri Begawan
7:30 - +0730 1933
8:00 - +08
# Burma / Myanmar
# Cocos (Keeling) Islands
# Myanmar (Burma)
# Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon.
@@ -300,10 +292,6 @@ Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon
9:00 - +09 1945 May 3
6:30 - +0630
# Cambodia
# See Asia/Bangkok.
# China
# From Phake Nick (2020-04-15):
@@ -367,12 +355,9 @@ Rule Shang 1919 only - Sep 30 24:00 0 S
# in the city at the time for people who use different time standard to adjust
# their clock to their preferred time.
#
# a. For the 1940 May 31 spring forward, the essay claim that it was
# coordinared between the international settlement authority and the French
# concession authority and have gathered support from Hong Kong and Xiamen,
# that it would spring forward an hour from May 31 "midnight", and the essay
# claim "Hong Kong government implemented the spring forward in the same time
# on the same date as Shanghai".
# a. For the 1940 May 31 spring forward, the essay [says] ... "Hong
# Kong government implemented the spring forward in the same time on
# the same date as Shanghai".
#
# b. For the 1940 fall back, it was said that they initially intended to do
# so on September 30 00:59 at night, however they postponed it to October 12
@@ -568,7 +553,7 @@ Rule PRC 1987 1991 - Apr Sun>=11 2:00 1:00 D
# Zhongyuan Time ("Central plain Time") UT +08
# Now part of Asia/Shanghai.
# most of China
# Milne gives 8:05:43.2 for Xujiahui Observatory time; round to nearest.
# Milne gives 8:05:43.2 for Xujiahui Observatory time....
# Guo says Shanghai switched to UT +08 "from the end of the 19th century".
#
# Long-shu Time (probably as Long and Shu were two names of the area) UT +07
@@ -687,18 +672,19 @@ Rule PRC 1987 1991 - Apr Sun>=11 2:00 1:00 D
# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Beijing time, used throughout China; represented by Shanghai.
#STDOFF 8:05:43.2
Zone Asia/Shanghai 8:05:43 - LMT 1901
8:00 Shang C%sT 1949 May 28
8:00 PRC C%sT
# Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi
# / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.)
# Vostok base in Antarctica matches this since 1970.
Zone Asia/Urumqi 5:50:20 - LMT 1928
6:00 - +06
# Hong Kong
# Milne gives 7:36:41.7; round this.
# Milne gives 7:36:41.7.
# From Lee Yiu Chung (2009-10-24):
# I found there are some mistakes for the...DST rule for Hong
@@ -882,7 +868,8 @@ Rule HK 1973 only - Dec 30 3:30 1:00 S
Rule HK 1979 only - May 13 3:30 1:00 S
Rule HK 1979 only - Oct 21 3:30 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Hong_Kong 7:36:42 - LMT 1904 Oct 30 0:36:42
#STDOFF 7:36:41.7
Zone Asia/Hong_Kong 7:36:42 - LMT 1904 Oct 29 17:00u
8:00 - HKT 1941 Jun 15 3:00
8:00 1:00 HKST 1941 Oct 1 4:00
8:00 0:30 HKWT 1941 Dec 25
@@ -1197,10 +1184,6 @@ Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14
3:00 - +03 2017 Oct 29 1:00u
2:00 EUAsia EE%sT
# Classically, Cyprus belongs to Asia; e.g. see Herodotus, Histories, I.72.
# However, for various reasons many users expect to find it under Europe.
Link Asia/Nicosia Europe/Nicosia
# Georgia
# From Paul Eggert (1994-11-19):
# Today's _Economist_ (p 60) reports that Georgia moved its clocks forward
@@ -1357,7 +1340,7 @@ Zone Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 # Kolkata
#
# From Paul Eggert (2014-09-06):
# The 1876 Report of the Secretary of the [US] Navy, p 306 says that Batavia
# civil time was 7:07:12.5; round to even for Jakarta.
# civil time was 7:07:12.5.
#
# From Gwillim Law (2001-05-28), overriding Shanks & Pottenger:
# http://www.sumatera-inc.com/go_to_invest/about_indonesia.asp#standtime
@@ -1393,10 +1376,11 @@ Zone Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 # Kolkata
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Java, Sumatra
#STDOFF 7:07:12.5
Zone Asia/Jakarta 7:07:12 - LMT 1867 Aug 10
# Shanks & Pottenger say the next transition was at 1924 Jan 1 0:13,
# but this must be a typo.
7:07:12 - BMT 1923 Dec 31 23:47:12 # Batavia
7:07:12 - BMT 1923 Dec 31 16:40u # Batavia
7:20 - +0720 1932 Nov
7:30 - +0730 1942 Mar 23
9:00 - +09 1945 Sep 23
@@ -1428,6 +1412,111 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
# Iran
# From Roozbeh Pournader (2022-05-30):
# Here's an order from the Cabinet to the rest of the government to switch to
# Tehran time, which is mentioned to be already at +03:30:
# https://qavanin.ir/Law/TreeText/180138
# Just in case that goes away, I also saved a copy at archive.org:
# https://web.archive.org/web/20220530111940/https://qavanin.ir/Law/TreeText/180138
# Here's my translation:
#
# "Circular on Matching the Hours of Governmental and Official Circles
# in Provinces
# Approved 1314/03/22 [=1935-06-13]
# According to the ruling of the Honorable Cabinet, it is ordered that from
# now on in all internal provinces of the country, governmental and official
# circles set their time to match Tehran time (three hours and half before
# Greenwich)....
#
# I still haven't found out when Tehran itself switched to +03:30....
#
# From Paul Eggert (2022-06-05):
# Although the above says Tehran was at +03:30 before 1935-06-13, we don't
# know when it switched to +03:30. For now, use 1935-06-13 as the switch date.
# Although most likely wrong, we have no better info.
# From Roozbeh Pournader (2022-06-01):
# This is from Kayhan newspaper, one of the major Iranian newspapers, from
# March 20, 1978, page 2:
#
# "Pull the clocks 60 minutes forward
# As we informed before, from the fourth day of the month Farvardin of the
# new year [=1978-03-24], clocks will be pulled forward, and people's daily
# work and life program will start one hour earlier than the current program.
# On the 1st day of the month Farvardin of this year [=1977-03-21], they had
# pulled the clocks forward by one hour, but in the month of Mehr
# [=1977-09-23], the clocks were pulled back by 30 minutes.
# In this way, from the 4th day of the month Farvardin, clocks will be ahead
# of the previous years by one hour and a half.
# According to the new program, during the night of 4th of Farvardin, when
# the midnight, meaning 24 o'clock is announced, the hands of the clock must
# be pulled forward by one hour and thus consider midnight 1 o'clock in the
# forenoon."
#
# This implies that in September 1977, when the daylight savings time was
# done with, Iran didn't go back to +03:30, but immediately to +04:00.
#
#
# This is from the major Iranian newspaper Ettela'at, dated [1978-08-03]...,
# page 32. It looks like they decided to get the clocks back to +4:00
# just in time for Ramadan that year:
#
# "Tomorrow Night, Pull the Clocks Back by One Hour
# At 1 o'clock in the forenoon of Saturday 14 Mordad [=1978-08-05], the
# clocks will be pulled one hour back and instead of 1 o'clock in the
# forenoon, Radio Iran will announce 24 o'clock.
# This decision was made in the Cabinet of Ministers meeting of 25 Tir
# [=1978-07-16], [...]
# At the beginning of the year 2537 [=March 1978: Iran was using a different
# year number for a few years then, based on the Coronation of Cyrus the
# Great], the country's official time was pulled forward by one hour and now
# the official time is one hour and a half ahead compared to last year,
# because in Farvardin of last year [=March 1977], the official time was
# pulled forward one hour and this continued until the second half of last
# year [=September 1977] until in the second half of last year the official
# time was pulled back half an hour and that half hour still remains."
#
# This matches the time of the true noon published in the newspapers, as they
# clearly go from +05:00 to +04:00 after that date (which happened during a
# long weekend in Iran).
# From Roozbeh Pournader (2022-05-31):
# [Movahedi S. Cultural preconceptions of time: Can we use operational time
# to meddle in God's Time? Comp Stud Soc Hist. 1985;27(3):385-400]
# https://www.jstor.org/stable/178704
# Here's the quotes from the paper:
# 1. '"Iran's official time keeper moved the clock one hour forward as from
# March 22, 1977 (Farvardin 2, 2536) to make maximum use of daylight and save
# in energy consumption. Thus Iran joined such other countries as Britain in
# observing what is known as 'daylight saving.' The proposal was originally
# put forward by the Ministry of Energy, in no way having any influence on
# observing religious ceremonies. Moving time one hour forward in summer
# means that at 11:00 o'clock on March 21, the official time was set as
# midnight March 22. Then September 24 will actually begin one hour later
# than the end of September 23 [...]." Iran's time base thus continued to be
# Greenwich Mean Time plus three and one-half hours (plus four and one-half
# hours in summer).'
#
# The article sources this from Iran Almanac and Book of Facts, 1977, Tehran:
# Echo of Iran, which is on Google Books at
# https://www.google.com/books/edition/Iran_Almanac_and_Book_of_Facts/9ybVAAAAMAAJ.
# (I confirmed it by searching for snippets.)
#
# 2. "After the fall of the shah, the revolutionary government returned to
# daylight-saving time (DST) on 26 May 1979."
#
# This seems to have been announced just one day in advance, on 25 May 1979.
#
# The change in 1977 clearly seems to be the first daylight savings effort in
# Iran. But the article doesn't mention what happened in 1978 (which was
# still during the shah's government), or how things continued in 1979
# onwards (which was during the Islamic Republic).
# From Francis Santoni (2022-06-01):
# for Iran and 1977 the effective change is only 20 October
# (UIT No. 143 17.XI.1977) and not 23 September (UIT No. 141 13.IX.1977).
# UIT is the Operational Bulletin of International Telecommunication Union.
# From Roozbeh Pournader (2003-03-15):
# This is an English translation of what I just found (originally in Persian).
# The Gregorian dates in brackets are mine:
@@ -1462,65 +1551,12 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
# leap year calculation involved. There has never been any serious
# plan to change that law....
#
# From Paul Eggert (2018-11-30):
# Go with Shanks & Pottenger before Sept. 1991, and with Pournader thereafter.
# I used the following code in GNU Emacs 26.1 to generate the "Rule Iran"
# lines from 2008 through 2087. Emacs 26.1 uses Ed Reingold's
# cal-persia implementation of Birashk's approximation, which in the
# 2008-2087 range disagrees with the astronomical Persian calendar
# for Persian years 1404 (Gregorian 2025) and 1437 (Gregorian 2058), so
# the following code special-cases those years. See Table 15.1, page 264, of:
# Edward M. Reingold and Nachum Dershowitz, Calendrical Calculations:
# The Ultimate Edition, Cambridge University Press (2018).
# https://www.cambridge.org/fr/academic/subjects/computer-science/computing-general-interest/calendrical-calculations-ultimate-edition-4th-edition
# Page 258, footnote 2, of this book says there is some dispute over what will
# happen in 2091 (and some other years after that), so this code
# stops in 2087, as 2088 and 2089 agree with the "max" rule below.
# (cl-loop
# initially (require 'cal-persia)
# with first-persian-year = 1387
# with last-persian-year = 1466
# ;; Exceptional years in the above range,
# ;; from Reingold & Dershowitz Table 15.1, page 264:
# with exceptional-persian-years = '(1404 1437)
# with range-start = nil
# for persian-year from first-persian-year to last-persian-year
# do
# (let*
# ((exceptional-year-offset
# (if (member persian-year exceptional-persian-years) 1 0))
# (beg-dst-absolute
# (+ (calendar-persian-to-absolute (list 1 1 persian-year))
# exceptional-year-offset))
# (end-dst-absolute
# (+ (calendar-persian-to-absolute (list 6 30 persian-year))
# exceptional-year-offset))
# (next-year-beg-dst-absolute
# (+ (calendar-persian-to-absolute (list 1 1 (1+ persian-year)))
# (if (member (1+ persian-year) exceptional-persian-years) 1 0)))
# (beg-dst (calendar-gregorian-from-absolute beg-dst-absolute))
# (end-dst (calendar-gregorian-from-absolute end-dst-absolute))
# (next-year-beg-dst (calendar-gregorian-from-absolute
# next-year-beg-dst-absolute))
# (year (calendar-extract-year beg-dst))
# (range-end (if range-start year "only")))
# (setq range-start (or range-start year))
# (when (or (/= (calendar-extract-day beg-dst)
# (calendar-extract-day next-year-beg-dst))
# (= persian-year last-persian-year))
# (insert
# (format
# "Rule\tIran\t%d\t%s\t-\t%s\t%2d\t24:00\t1:00\t-\n"
# range-start range-end
# (calendar-month-name (calendar-extract-month beg-dst) t)
# (calendar-extract-day beg-dst)))
# (insert
# (format
# "Rule\tIran\t%d\t%s\t-\t%s\t%2d\t24:00\t0\t-\n"
# range-start range-end
# (calendar-month-name (calendar-extract-month end-dst) t)
# (calendar-extract-day end-dst)))
# (setq range-start nil))))
# From Paul Eggert (2022-06-30):
# Go with Pournader for 1935 through spring 1979, and for timestamps
# after August 1991; go with with Shanks & Pottenger for other timestamps.
# Go with Santoni's citation of the UIT for fall 1977, as 20 October 1977
# is 28 Mehr 1356, consistent with the "Mehr" in Pournader's source.
# Assume that the UIT's "1930" is UTC, i.e., 24:00 local time.
#
# From Oscar van Vlijmen (2005-03-30), writing about future
# discrepancies between cal-persia and the Iranian calendar:
@@ -1554,10 +1590,23 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
# be changed back to its previous state on the 24 hours of the
# thirtieth day of Shahrivar.
#
# From Ali Mirjamali (2022-05-10):
# Official IR News Agency announcement: irna.ir/xjJ3TT
# ...
# Highlights: DST will be cancelled for the next Iranian year 1402
# (i.e 2023-March-21) and forthcoming years.
#
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Iran 1978 1980 - Mar 20 24:00 1:00 -
Rule Iran 1978 only - Oct 20 24:00 0 -
# Work around a bug in zic 2022a and earlier.
Rule Iran 1910 only - Jan 1 00:00 0 -
#
Rule Iran 1977 only - Mar 21 23:00 1:00 -
Rule Iran 1977 only - Oct 20 24:00 0 -
Rule Iran 1978 only - Mar 24 24:00 1:00 -
Rule Iran 1978 only - Aug 5 01:00 0 -
Rule Iran 1979 only - May 26 24:00 1:00 -
Rule Iran 1979 only - Sep 18 24:00 0 -
Rule Iran 1980 only - Mar 20 24:00 1:00 -
Rule Iran 1980 only - Sep 22 24:00 0 -
Rule Iran 1991 only - May 2 24:00 1:00 -
Rule Iran 1992 1995 - Mar 21 24:00 1:00 -
@@ -1588,85 +1637,13 @@ Rule Iran 2017 2019 - Mar 21 24:00 1:00 -
Rule Iran 2017 2019 - Sep 21 24:00 0 -
Rule Iran 2020 only - Mar 20 24:00 1:00 -
Rule Iran 2020 only - Sep 20 24:00 0 -
Rule Iran 2021 2023 - Mar 21 24:00 1:00 -
Rule Iran 2021 2023 - Sep 21 24:00 0 -
Rule Iran 2024 only - Mar 20 24:00 1:00 -
Rule Iran 2024 only - Sep 20 24:00 0 -
Rule Iran 2025 2027 - Mar 21 24:00 1:00 -
Rule Iran 2025 2027 - Sep 21 24:00 0 -
Rule Iran 2028 2029 - Mar 20 24:00 1:00 -
Rule Iran 2028 2029 - Sep 20 24:00 0 -
Rule Iran 2030 2031 - Mar 21 24:00 1:00 -
Rule Iran 2030 2031 - Sep 21 24:00 0 -
Rule Iran 2032 2033 - Mar 20 24:00 1:00 -
Rule Iran 2032 2033 - Sep 20 24:00 0 -
Rule Iran 2034 2035 - Mar 21 24:00 1:00 -
Rule Iran 2034 2035 - Sep 21 24:00 0 -
Rule Iran 2036 2037 - Mar 20 24:00 1:00 -
Rule Iran 2036 2037 - Sep 20 24:00 0 -
Rule Iran 2038 2039 - Mar 21 24:00 1:00 -
Rule Iran 2038 2039 - Sep 21 24:00 0 -
Rule Iran 2040 2041 - Mar 20 24:00 1:00 -
Rule Iran 2040 2041 - Sep 20 24:00 0 -
Rule Iran 2042 2043 - Mar 21 24:00 1:00 -
Rule Iran 2042 2043 - Sep 21 24:00 0 -
Rule Iran 2044 2045 - Mar 20 24:00 1:00 -
Rule Iran 2044 2045 - Sep 20 24:00 0 -
Rule Iran 2046 2047 - Mar 21 24:00 1:00 -
Rule Iran 2046 2047 - Sep 21 24:00 0 -
Rule Iran 2048 2049 - Mar 20 24:00 1:00 -
Rule Iran 2048 2049 - Sep 20 24:00 0 -
Rule Iran 2050 2051 - Mar 21 24:00 1:00 -
Rule Iran 2050 2051 - Sep 21 24:00 0 -
Rule Iran 2052 2053 - Mar 20 24:00 1:00 -
Rule Iran 2052 2053 - Sep 20 24:00 0 -
Rule Iran 2054 2055 - Mar 21 24:00 1:00 -
Rule Iran 2054 2055 - Sep 21 24:00 0 -
Rule Iran 2056 2057 - Mar 20 24:00 1:00 -
Rule Iran 2056 2057 - Sep 20 24:00 0 -
Rule Iran 2058 2059 - Mar 21 24:00 1:00 -
Rule Iran 2058 2059 - Sep 21 24:00 0 -
Rule Iran 2060 2062 - Mar 20 24:00 1:00 -
Rule Iran 2060 2062 - Sep 20 24:00 0 -
Rule Iran 2063 only - Mar 21 24:00 1:00 -
Rule Iran 2063 only - Sep 21 24:00 0 -
Rule Iran 2064 2066 - Mar 20 24:00 1:00 -
Rule Iran 2064 2066 - Sep 20 24:00 0 -
Rule Iran 2067 only - Mar 21 24:00 1:00 -
Rule Iran 2067 only - Sep 21 24:00 0 -
Rule Iran 2068 2070 - Mar 20 24:00 1:00 -
Rule Iran 2068 2070 - Sep 20 24:00 0 -
Rule Iran 2071 only - Mar 21 24:00 1:00 -
Rule Iran 2071 only - Sep 21 24:00 0 -
Rule Iran 2072 2074 - Mar 20 24:00 1:00 -
Rule Iran 2072 2074 - Sep 20 24:00 0 -
Rule Iran 2075 only - Mar 21 24:00 1:00 -
Rule Iran 2075 only - Sep 21 24:00 0 -
Rule Iran 2076 2078 - Mar 20 24:00 1:00 -
Rule Iran 2076 2078 - Sep 20 24:00 0 -
Rule Iran 2079 only - Mar 21 24:00 1:00 -
Rule Iran 2079 only - Sep 21 24:00 0 -
Rule Iran 2080 2082 - Mar 20 24:00 1:00 -
Rule Iran 2080 2082 - Sep 20 24:00 0 -
Rule Iran 2083 only - Mar 21 24:00 1:00 -
Rule Iran 2083 only - Sep 21 24:00 0 -
Rule Iran 2084 2086 - Mar 20 24:00 1:00 -
Rule Iran 2084 2086 - Sep 20 24:00 0 -
Rule Iran 2087 only - Mar 21 24:00 1:00 -
Rule Iran 2087 only - Sep 21 24:00 0 -
#
# The following rules are approximations starting in the year 2088.
# These are the best post-2088 approximations available, given the
# restrictions of a single rule using ordinary Gregorian dates.
# At some point this table will need to be extended, though quite
# possibly Iran will change the rules first.
Rule Iran 2088 max - Mar 20 24:00 1:00 -
Rule Iran 2088 max - Sep 20 24:00 0 -
Rule Iran 2021 2022 - Mar 21 24:00 1:00 -
Rule Iran 2021 2022 - Sep 21 24:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Tehran 3:25:44 - LMT 1916
3:25:44 - TMT 1946 # Tehran Mean Time
3:30 - +0330 1977 Nov
3:25:44 - TMT 1935 Jun 13 # Tehran Mean Time
3:30 Iran +0330/+0430 1977 Oct 20 24:00
4:00 Iran +04/+05 1979
3:30 Iran +0330/+0430
@@ -2262,6 +2239,17 @@ Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u
# From the Arabic version, it seems to say it would be at midnight
# (assume 24:00) on the last Thursday in February, starting from 2022.
# From Issam Al-Zuwairi (2022-10-05):
# The Council of Ministers in Jordan decided Wednesday 5th October 2022,
# that daylight saving time (DST) will be throughout the year....
#
# From Brian Inglis (2022-10-06):
# https://petra.gov.jo/Include/InnerPage.jsp?ID=45567&lang=en&name=en_news
#
# From Paul Eggert (2022-10-05):
# Like Syria, model this as a transition from EEST +03 (DST) to plain +03
# (non-DST) at the point where DST would otherwise have ended.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Jordan 1973 only - Jun 6 0:00 1:00 S
Rule Jordan 1973 1975 - Oct 1 0:00 0 -
@@ -2293,11 +2281,12 @@ Rule Jordan 2005 only - Sep lastFri 0:00s 0 -
Rule Jordan 2006 2011 - Oct lastFri 0:00s 0 -
Rule Jordan 2013 only - Dec 20 0:00 0 -
Rule Jordan 2014 2021 - Mar lastThu 24:00 1:00 S
Rule Jordan 2014 max - Oct lastFri 0:00s 0 -
Rule Jordan 2022 max - Feb lastThu 24:00 1:00 S
Rule Jordan 2014 2022 - Oct lastFri 0:00s 0 -
Rule Jordan 2022 only - Feb lastThu 24:00 1:00 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Amman 2:23:44 - LMT 1931
2:00 Jordan EE%sT
2:00 Jordan EE%sT 2022 Oct 28 0:00s
3:00 - +03
# Kazakhstan
@@ -2488,9 +2477,9 @@ Zone Asia/Amman 2:23:44 - LMT 1931
# the third time belt (before 1930 this means +03).
# From Alexander Konzurovski (2018-12-20):
# Qyzyolrda Region (Asia/Qyzylorda) is changing its time zone from
# UTC+6 to UTC+5 effective December 21st, 2018. The legal document is
# located here: http://adilet.zan.kz/rus/docs/P1800000817 (russian language).
# (Asia/Qyzylorda) is changing its time zone from UTC+6 to UTC+5
# effective December 21st, 2018....
# http://adilet.zan.kz/rus/docs/P1800000817 (russian language).
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#
@@ -2723,14 +2712,6 @@ Zone Asia/Pyongyang 8:23:00 - LMT 1908 Apr 1
8:30 - KST 2018 May 4 23:30
9:00 - KST
###############################################################################
# Kuwait
# See Asia/Riyadh.
# Laos
# See Asia/Bangkok.
# Lebanon
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
@@ -2762,25 +2743,15 @@ Rule Lebanon 1999 max - Oct lastSun 0:00 0 -
Zone Asia/Beirut 2:22:00 - LMT 1880
2:00 Lebanon EE%sT
# Malaysia
# Brunei
# Malaysia (eastern)
#
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule NBorneo 1935 1941 - Sep 14 0:00 0:20 -
Rule NBorneo 1935 1941 - Dec 14 0:00 0 -
#
# peninsular Malaysia
# taken from Mok Ly Yng (2003-10-30)
# https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html
# This agrees with Singapore since 1905-06-01.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Kuala_Lumpur 6:46:46 - LMT 1901 Jan 1
6:55:25 - SMT 1905 Jun 1 # Singapore M.T.
7:00 - +07 1933 Jan 1
7:00 0:20 +0720 1936 Jan 1
7:20 - +0720 1941 Sep 1
7:30 - +0730 1942 Feb 16
9:00 - +09 1945 Sep 12
7:30 - +0730 1982 Jan 1
8:00 - +08
# For peninsular Malaysia see Asia/Singapore.
#
# Sabah & Sarawak
# From Paul Eggert (2014-08-12):
# The data entries here are mostly from Shanks & Pottenger, but the 1942, 1945
@@ -2959,9 +2930,6 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920
5:30 - +0530 1986
5:45 - +0545
# Oman
# See Asia/Dubai.
# Pakistan
# From Rives McDow (2002-03-13):
@@ -3416,10 +3384,6 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# The winter time in 2015 started on October 23 at 01:00.
# https://wafa.ps/ar_page.aspx?id=CgpCdYa670694628582aCgpCdY
# http://www.palestinecabinet.gov.ps/portal/meeting/details/27583
#
# From Paul Eggert (2019-04-10):
# For now, guess spring-ahead transitions are at 00:00 on the Saturday
# preceding March's last Sunday (i.e., Sat>=24).
# From P Chan (2021-10-18):
# http://wafa.ps/Pages/Details/34701
@@ -3429,8 +3393,24 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# ... winter time will begin in Palestine from Friday 10-29, 01:00 AM
# by 60 minutes backwards.
#
# From Paul Eggert (2021-10-20):
# Guess future fall transitions on October's last Friday at 01:00.
# From Tim Parenti (2021-10-25), per Paul Eggert (2021-10-24):
# Guess future fall transitions at 01:00 on the Friday preceding October's
# last Sunday (i.e., Fri>=23), as this is more consistent with recent practice.
# From Heba Hamad (2022-03-10):
# summer time will begin in Palestine from Sunday 03-27-2022, 00:00 AM.
# From Heba Hamad (2022-08-30):
# winter time will begin in Palestine from Saturday 10-29, 02:00 AM by
# 60 minutes backwards. Also the state of Palestine adopted the summer
# and winter time for the years: 2023,2024,2025,2026 ...
# https://mm.icann.org/pipermail/tz/attachments/20220830/9f024566/Time-0001.pdf
# (2022-08-31): ... the Saturday before the last Sunday in March and October
# at 2:00 AM ,for the years from 2023 to 2026.
# (2022-09-05): https://mtit.pna.ps/Site/New/1453
#
# From Paul Eggert (2022-08-31):
# For now, assume that this rule will also be used after 2026.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
@@ -3462,13 +3442,16 @@ Rule Palestine 2013 only - Sep 27 0:00 0 -
Rule Palestine 2014 only - Oct 24 0:00 0 -
Rule Palestine 2015 only - Mar 28 0:00 1:00 S
Rule Palestine 2015 only - Oct 23 1:00 0 -
Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S
Rule Palestine 2016 2018 - Oct Sat>=24 1:00 0 -
Rule Palestine 2016 2018 - Mar Sat<=30 1:00 1:00 S
Rule Palestine 2016 2018 - Oct Sat<=30 1:00 0 -
Rule Palestine 2019 only - Mar 29 0:00 1:00 S
Rule Palestine 2019 only - Oct Sat>=24 0:00 0 -
Rule Palestine 2020 max - Mar Sat>=24 0:00 1:00 S
Rule Palestine 2019 only - Oct Sat<=30 0:00 0 -
Rule Palestine 2020 2021 - Mar Sat<=30 0:00 1:00 S
Rule Palestine 2020 only - Oct 24 1:00 0 -
Rule Palestine 2021 max - Oct lastFri 1:00 0 -
Rule Palestine 2021 only - Oct 29 1:00 0 -
Rule Palestine 2022 only - Mar 27 0:00 1:00 S
Rule Palestine 2022 max - Oct Sat<=30 2:00 0 -
Rule Palestine 2023 max - Mar Sat<=30 2:00 1:00 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
@@ -3557,14 +3540,18 @@ Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31
9:00 - JST 1944 Nov
8:00 Phil P%sT
# Bahrain
# Qatar
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha
4:00 - +04 1972 Jun
3:00 - +03
Link Asia/Qatar Asia/Bahrain
# Kuwait
# Saudi Arabia
# Yemen
#
# Japan's year-round bases in Antarctica match this since 1970.
#
# From Paul Eggert (2018-08-29):
# Time in Saudi Arabia and other countries in the Arabian peninsula was not
@@ -3609,9 +3596,6 @@ Link Asia/Qatar Asia/Bahrain
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14
3:00 - +03
Link Asia/Riyadh Antarctica/Syowa
Link Asia/Riyadh Asia/Aden # Yemen
Link Asia/Riyadh Asia/Kuwait
# Singapore
# taken from Mok Ly Yng (2003-10-30)
@@ -3624,7 +3608,7 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1
7:20 - +0720 1941 Sep 1
7:30 - +0730 1942 Feb 16
9:00 - +09 1945 Sep 12
7:30 - +0730 1982 Jan 1
7:30 - +0730 1981 Dec 31 16:00u
8:00 - +08
# Spratly Is
@@ -3840,19 +3824,27 @@ Rule Syria 2007 only - Nov Fri>=1 0:00 0 -
# Our brief summary:
# https://www.timeanddate.com/news/time/syria-dst-2012.html
# From Arthur David Olson (2012-03-27):
# Assume last Friday in March going forward XXX.
# From Steffen Thorsen (2022-10-05):
# Syria is adopting year-round DST, starting this autumn....
# From https://www.enabbaladi.net/archives/607812
# "This [the decision] came after the weekly government meeting today,
# Tuesday 4 October ..."
#
# From Paul Eggert (2022-10-05):
# Like Jordan, model this as a transition from EEST +03 (DST) to plain +03
# (non-DST) at the point where DST would otherwise have ended.
Rule Syria 2008 only - Apr Fri>=1 0:00 1:00 S
Rule Syria 2008 only - Nov 1 0:00 0 -
Rule Syria 2009 only - Mar lastFri 0:00 1:00 S
Rule Syria 2010 2011 - Apr Fri>=1 0:00 1:00 S
Rule Syria 2012 max - Mar lastFri 0:00 1:00 S
Rule Syria 2009 max - Oct lastFri 0:00 0 -
Rule Syria 2012 2022 - Mar lastFri 0:00 1:00 S
Rule Syria 2009 2022 - Oct lastFri 0:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Damascus 2:25:12 - LMT 1920 # Dimashq
2:00 Syria EE%sT
2:00 Syria EE%sT 2022 Oct 28 0:00
3:00 - +03
# Tajikistan
# From Shanks & Pottenger.
@@ -3860,16 +3852,18 @@ Zone Asia/Damascus 2:25:12 - LMT 1920 # Dimashq
Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2
5:00 - +05 1930 Jun 21
6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
5:00 1:00 +05/+06 1991 Sep 9 2:00s
5:00 1:00 +06 1991 Sep 9 2:00s
5:00 - +05
# Cambodia
# Christmas I
# Laos
# Thailand
# Vietnam (northern)
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Bangkok 6:42:04 - LMT 1880
6:42:04 - BMT 1920 Apr # Bangkok Mean Time
7:00 - +07
Link Asia/Bangkok Asia/Phnom_Penh # Cambodia
Link Asia/Bangkok Asia/Vientiane # Laos
# Turkmenistan
# From Shanks & Pottenger.
@@ -3880,11 +3874,15 @@ Zone Asia/Ashgabat 3:53:32 - LMT 1924 May 2 # or Ashkhabad
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00
5:00 - +05
# Oman
# Réunion
# Seychelles
# United Arab Emirates
#
# The Crozet Is also observe Réunion time; see the 'antarctica' file.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Dubai 3:41:12 - LMT 1920
4:00 - +04
Link Asia/Dubai Asia/Muscat # Oman
# Uzbekistan
# Byalokoz 1919 says Uzbekistan was 4:27:53.
@@ -3896,14 +3894,15 @@ Zone Asia/Samarkand 4:27:53 - LMT 1924 May 2
6:00 - +06 1982 Apr 1
5:00 RussiaAsia +05/+06 1992
5:00 - +05
# Milne says Tashkent was 4:37:10.8; round to nearest.
# Milne says Tashkent was 4:37:10.8.
#STDOFF 4:37:10.8
Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
5:00 - +05 1930 Jun 21
6:00 RussiaAsia +06/+07 1991 Mar 31 2:00
5:00 RussiaAsia +05/+06 1992
5:00 - +05
# Vietnam
# Vietnam (southern)
# From Paul Eggert (2014-10-04):
# Milne gives 7:16:56 for the meridian of Saigon in 1899, as being
@@ -3915,7 +3914,7 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
# The English-language name of Vietnam's most populous city is "Ho Chi Minh
# City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters.
# From Paul Eggert (2014-10-21) after a heads-up from Trần Ngọc Quân:
# From Paul Eggert (2022-07-27) after a 2014 heads-up from Trần Ngọc Quân:
# Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)"
# (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50,
# is quoted verbatim in:
@@ -3927,8 +3926,8 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
# The 1906 transition was effective July 1 and standardized Indochina to
# Phù Liễn Observatory, legally 104° 17' 17" east of Paris.
# It's unclear whether this meant legal Paris Mean Time (00:09:21) or
# the Paris Meridian (2° 20' 14.03" E); the former yields 07:06:30.1333...
# and the latter 07:06:29.333... so either way it rounds to 07:06:30,
# the Paris Meridian; for now guess the former and round the exact
# 07:06:30.1333... to 07:06:30.13 as the legal spec used 66 2/3 ms precision.
# which is used below even though the modern-day Phù Liễn Observatory
# is closer to 07:06:31. Abbreviate Phù Liễn Mean Time as PLMT.
#
@@ -3955,7 +3954,8 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
# NXB Thuận Hoá, Huế, 1995.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 Jul 1
#STDOFF 7:06:30.13
Zone Asia/Ho_Chi_Minh 7:06:30 - LMT 1906 Jul 1
7:06:30 - PLMT 1911 May 1 # Phù Liễn MT
7:00 - +07 1942 Dec 31 23:00
8:00 - +08 1945 Mar 14 23:00
@@ -3976,7 +3976,3 @@ Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 Jul 1
# For timestamps in north Vietnam back to 1970 (the tzdb cutoff),
# use Asia/Bangkok; see the VN entries in the file zone1970.tab.
# For timestamps before 1970, see Asia/Hanoi in the file 'backzone'.
# Yemen
# See Asia/Riyadh.

View File

@@ -274,19 +274,6 @@ Zone Antarctica/Macquarie 0 - -00 1899 Nov
10:00 1:00 AEDT 2011
10:00 AT AE%sT
# Christmas
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Christmas 7:02:52 - LMT 1895 Feb
7:00 - +07
# Cocos (Keeling) Is
# These islands were ruled by the Ross family from about 1830 to 1978.
# We don't know when standard time was introduced; for now, we guess 1900.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Cocos 6:27:40 - LMT 1900
6:30 - +0630
# Fiji
# Milne gives 11:55:44 for Suva.
@@ -422,8 +409,14 @@ Zone Indian/Cocos 6:27:40 - LMT 1900
# concerned shifting arrival and departure times, which may look like a simple
# thing but requires some significant logistical adjustments domestically and
# internationally."
# Assume for now that DST will resume with the recent pre-2020 rules for the
# 2022/2023 season.
# From Shalvin Narayan (2022-10-27):
# Please note that there will not be any daylight savings time change
# in Fiji for 2022-2023....
# https://www.facebook.com/FijianGovernment/posts/pfbid0mmWVTYmTibn66ybpFda75pDcf34SSpoSaskJW5gXwaKo5Sgc7273Q4fXWc6kQV6Hl
#
# From Paul Eggert (2022-10-27):
# For now, assume DST is suspended indefinitely.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 -
@@ -438,8 +431,6 @@ Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 -
Rule Fiji 2015 2021 - Jan Sun>=12 3:00 0 -
Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 -
Rule Fiji 2020 only - Dec 20 2:00 1:00 -
Rule Fiji 2022 max - Nov Sun>=8 2:00 1:00 -
Rule Fiji 2023 max - Jan Sun>=12 3:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
12:00 Fiji +12/+13
@@ -455,7 +446,9 @@ Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete
# Clipperton (near North America) is administered from French Polynesia;
# it is uninhabited.
# Guam
# N Mariana Is
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
# http://guamlegislature.com/Public_Laws_5th/PL05-025.pdf
@@ -495,12 +488,20 @@ Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31
9:00 - +09 1944 Jul 31
10:00 Guam G%sT 2000 Dec 23
10:00 - ChST # Chamorro Standard Time
Link Pacific/Guam Pacific/Saipan # N Mariana Is
# Kiribati
# Kiribati (Gilbert Is)
# Marshall Is
# Tuvalu
# Wake
# Wallis & Futuna
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki
12:00 - +12
# Kiribati (except Gilbert Is)
# See Pacific/Tarawa for the Gilbert Is.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Kanton 0 - -00 1937 Aug 31
-12:00 - -12 1979 Oct
-11:00 - -11 1994 Dec 31
@@ -510,19 +511,9 @@ Zone Pacific/Kiritimati -10:29:20 - LMT 1901
-10:00 - -10 1994 Dec 31
14:00 - +14
# N Mariana Is
# See Pacific/Guam.
# Marshall Is
# See Pacific/Tarawa for most locations.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Majuro 11:24:48 - LMT 1901
11:00 - +11 1914 Oct
9:00 - +09 1919 Feb 1
11:00 - +11 1937
10:00 - +10 1941 Apr 1
9:00 - +09 1944 Jan 30
11:00 - +11 1969 Oct
12:00 - +12
Zone Pacific/Kwajalein 11:09:20 - LMT 1901
11:00 - +11 1937
10:00 - +10 1941 Apr 1
@@ -532,22 +523,9 @@ Zone Pacific/Kwajalein 11:09:20 - LMT 1901
12:00 - +12
# Micronesia
# For Chuuk and Yap see Pacific/Port_Moresby.
# For Pohnpei see Pacific/Guadalcanal.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Chuuk -13:52:52 - LMT 1844 Dec 31
10:07:08 - LMT 1901
10:00 - +10 1914 Oct
9:00 - +09 1919 Feb 1
10:00 - +10 1941 Apr 1
9:00 - +09 1945 Aug
10:00 - +10
Zone Pacific/Pohnpei -13:27:08 - LMT 1844 Dec 31 # Kolonia
10:32:52 - LMT 1901
11:00 - +11 1914 Oct
9:00 - +09 1919 Feb 1
11:00 - +11 1937
10:00 - +10 1941 Apr 1
9:00 - +09 1945 Aug
11:00 - +11
Zone Pacific/Kosrae -13:08:04 - LMT 1844 Dec 31
10:51:56 - LMT 1901
11:00 - +11 1914 Oct
@@ -582,6 +560,7 @@ Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13 # Nouméa
###############################################################################
# New Zealand
# McMurdo Station and Scott Base in Antarctica use Auckland time.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule NZ 1927 only - Nov 6 2:00 1:00 S
@@ -617,12 +596,11 @@ Rule Chatham 2008 max - Apr Sun>=1 2:45s 0 -
Zone Pacific/Auckland 11:39:04 - LMT 1868 Nov 2
11:30 NZ NZ%sT 1946 Jan 1
12:00 NZ NZ%sT
Zone Pacific/Chatham 12:13:48 - LMT 1868 Nov 2
12:15 - +1215 1946 Jan 1
12:45 Chatham +1245/+1345
Link Pacific/Auckland Antarctica/McMurdo
# Auckland Is
# uninhabited; Māori and Moriori, colonial settlers, pastoralists, sealers,
# and scientific personnel have wintered
@@ -681,7 +659,7 @@ Zone Pacific/Rarotonga 13:20:56 - LMT 1899 Dec 26 # Avarua
# Niue
# See Pacific/Raratonga comments for 1952 transition.
# See Pacific/Rarotonga comments for 1952 transition.
#
# From Tim Parenti (2021-09-13):
# Consecutive contemporaneous editions of The Air Almanac listed -11:20 for
@@ -716,7 +694,6 @@ Zone Pacific/Palau -15:02:04 - LMT 1844 Dec 31 # Koror
Zone Pacific/Port_Moresby 9:48:40 - LMT 1880
9:48:32 - PMMT 1895 # Port Moresby Mean Time
10:00 - +10
Link Pacific/Port_Moresby Antarctica/DumontDUrville
#
# From Paul Eggert (2014-10-13):
# Base the Bougainville entry on the Arawa-Kieta region, which appears to have
@@ -749,10 +726,10 @@ Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown
-8:00 - -08
# American Samoa
# Midway
Zone Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5
-11:22:48 - LMT 1911
-11:00 - SST # S=Samoa
Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands
# Samoa (formerly and also known as Western Samoa)
@@ -883,11 +860,6 @@ Zone Pacific/Tongatapu 12:19:12 - LMT 1945 Sep 10
13:00 - +13 1999
13:00 Tonga +13/+14
# Tuvalu
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Funafuti 11:56:52 - LMT 1901
12:00 - +12
# US minor outlying islands
@@ -938,17 +910,9 @@ Zone Pacific/Funafuti 11:56:52 - LMT 1901
# Kingman
# uninhabited
# Midway
# See Pacific/Pago_Pago.
# Palmyra
# uninhabited since World War II; was probably like Pacific/Kiritimati
# Wake
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Wake 11:06:28 - LMT 1901
12:00 - +12
# Vanuatu
@@ -985,11 +949,6 @@ Rule Vanuatu 1992 only - Oct Sat>=22 24:00 1:00 -
Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
11:00 Vanuatu +11/+12
# Wallis and Futuna
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Wallis 12:15:20 - LMT 1901
12:00 - +12
###############################################################################
# NOTES
@@ -1306,6 +1265,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# to have the extra hour of sunshine removed from their area." See:
# Daylight saving coming to WA in 2019. Guardian Express. 2018-04-01.
# https://www.communitynews.com.au/guardian-express/news/exclusive-daylight-savings-coming-wa-summer-2018/
# [The article ends with "Today's date is April 1."]
# Queensland
@@ -1849,16 +1809,12 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# "In Marshall Islands, Friday is followed by Sunday", NY Times. 1993-08-22.
# https://www.nytimes.com/1993/08/22/world/in-marshall-islands-friday-is-followed-by-sunday.html
# From Phake Nick (2018-10-27):
# <https://wiki.suikawiki.org/n/南洋群島の標準時> ... pointed out that
# currently tzdata say Pacific/Kwajalein switched from GMT+11 to GMT-12 in
# 1969 October without explanation, however an 1993 article from NYT say it
# synchorized its day with US mainland about 40 years ago and thus the switch
# should occur at around 1950s instead.
#
# From Paul Eggert (2018-11-18):
# The NYT (actually, AP) article is vague and possibly wrong about this.
# The article says the earlier switch was "40 years ago when the United States
# From Paul Eggert (2022-03-31):
# Phake Nick (2018-10-27) noted <https://wiki.suikawiki.org/n/南洋群島の標準時>'s
# citation of a 1993 AP article published in the New York Times saying
# Kwajalein synchronized its day with the US mainland about 40 years earlier.
# However the AP article is vague and possibly wrong about this. The article
# says the earlier switch was "about 40 years ago when the United States
# Army established a missile test range here". However, the Kwajalein Test
# Center was established on 1960-10-01 and was run by the US Navy. It was
# transferred to the US Army on 1964-07-01. See "Seize the High Ground"
@@ -1905,13 +1861,6 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Like the Ladrones (see Guam commentary), assume the Spanish East Indies
# kept American time until the Philippines switched at the end of 1844.
# Alan Eugene Davis writes (1996-03-16),
# "I am certain, having lived there for the past decade, that 'Truk'
# (now properly known as Chuuk) ... is in the time zone GMT+10."
#
# Shanks & Pottenger write that Truk switched from UT +10 to +11
# on 1978-10-01; ignore this for now.
# From Paul Eggert (1999-10-29):
# The Federated States of Micronesia Visitors Board writes in
# The Federated States of Micronesia - Visitor Information (1999-01-26)
@@ -2242,7 +2191,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# through the third Sunday in January at 03:00, like Fiji, for now.
# From David Wade (2017-10-18):
# In August government was disolved by the King. The current prime minister
# In August government was dissolved by the King. The current prime minister
# continued in office in care taker mode. It is easy to see that few
# decisions will be made until elections 16th November.
#
@@ -2250,26 +2199,6 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# For now, guess that DST is discontinued. That's what the IATA is guessing.
# Wake
# From Vernice Anderson, Personal Secretary to Philip Jessup,
# US Ambassador At Large (oral history interview, 1971-02-02):
#
# Saturday, the 14th [of October, 1950] - ... The time was all the
# more confusing at that point, because we had crossed the
# International Date Line, thus getting two Sundays. Furthermore, we
# discovered that Wake Island had two hours of daylight saving time
# making calculation of time in Washington difficult if not almost
# impossible.
#
# https://www.trumanlibrary.org/oralhist/andrsonv.htm
# From Paul Eggert (2003-03-23):
# We have no other report of DST in Wake Island, so omit this info for now.
# See also the commentary for Micronesia.
###############################################################################
# The International Date Line

View File

@@ -27,54 +27,33 @@
# 2009-05-17 by Arthur David Olson.
# This file provides links from old or merged timezone names to current ones.
# Many names changed in late 1993. Several of these names are
# Many names changed in 1993 and in 1995, and many merged names moved here
# in the period from 2013 through 2022. Several of these names are
# also present in the file 'backzone', which has data important only
# for pre-1970 timestamps and so is out of scope for tzdb proper.
# Link TARGET LINK-NAME
Link Africa/Nairobi Africa/Asmera
Link Africa/Abidjan Africa/Timbuktu
Link America/Argentina/Catamarca America/Argentina/ComodRivadavia
Link America/Adak America/Atka
Link America/Argentina/Buenos_Aires America/Buenos_Aires
Link America/Argentina/Catamarca America/Catamarca
Link America/Panama America/Coral_Harbour
Link America/Argentina/Cordoba America/Cordoba
Link America/Tijuana America/Ensenada
Link America/Indiana/Indianapolis America/Fort_Wayne
Link America/Nuuk America/Godthab
Link America/Indiana/Indianapolis America/Indianapolis
Link America/Argentina/Jujuy America/Jujuy
Link America/Indiana/Knox America/Knox_IN
Link America/Kentucky/Louisville America/Louisville
Link America/Argentina/Mendoza America/Mendoza
Link America/Toronto America/Montreal
Link America/Rio_Branco America/Porto_Acre
Link America/Argentina/Cordoba America/Rosario
Link America/Tijuana America/Santa_Isabel
Link America/Denver America/Shiprock
Link America/Puerto_Rico America/Virgin
Link Pacific/Auckland Antarctica/South_Pole
Link Asia/Ashgabat Asia/Ashkhabad
Link Asia/Kolkata Asia/Calcutta
Link Asia/Shanghai Asia/Chongqing
Link Asia/Shanghai Asia/Chungking
Link Asia/Dhaka Asia/Dacca
Link Asia/Shanghai Asia/Harbin
Link Asia/Urumqi Asia/Kashgar
Link Asia/Kathmandu Asia/Katmandu
Link Asia/Macau Asia/Macao
Link Asia/Yangon Asia/Rangoon
Link Asia/Ho_Chi_Minh Asia/Saigon
Link Asia/Jerusalem Asia/Tel_Aviv
Link Asia/Thimphu Asia/Thimbu
Link Asia/Makassar Asia/Ujung_Pandang
Link Asia/Ulaanbaatar Asia/Ulan_Bator
Link Atlantic/Faroe Atlantic/Faeroe
Link Europe/Oslo Atlantic/Jan_Mayen
Link Australia/Sydney Australia/ACT
Link Australia/Sydney Australia/Canberra
Link Australia/Hobart Australia/Currie
# Although this file is optional and tzdb will work if you omit it by
# building with 'make BACKWARD=', in practice downstream users
# typically use this file for backward compatibility.
# This file is divided into sections, one for each major reason for a
# backward compatibility link. Each section is sorted by link name.
# A "#= TARGET1" comment labels each link inserted only because some
# .zi parsers (including tzcode through 2022e) mishandle links to links.
# The comment says what the target would be if these parsers were fixed
# so that data could contain links to links. For example, the line
# "Link Australia/Sydney Australia/ACT #= Australia/Canberra" would be
# "Link Australia/Canberra Australia/ACT" were it not that data lines
# refrain from linking to links like Australia/Canberra, which means
# the Australia/ACT line links instead to Australia/Sydney,
# Australia/Canberra's target.
# Pre-1993 naming conventions
# Link TARGET LINK-NAME #= TARGET1
Link Australia/Sydney Australia/ACT #= Australia/Canberra
Link Australia/Lord_Howe Australia/LHI
Link Australia/Sydney Australia/NSW
Link Australia/Darwin Australia/North
@@ -84,7 +63,7 @@ Link Australia/Hobart Australia/Tasmania
Link Australia/Melbourne Australia/Victoria
Link Australia/Perth Australia/West
Link Australia/Broken_Hill Australia/Yancowinna
Link America/Rio_Branco Brazil/Acre
Link America/Rio_Branco Brazil/Acre #= America/Porto_Acre
Link America/Noronha Brazil/DeNoronha
Link America/Sao_Paulo Brazil/East
Link America/Manaus Brazil/West
@@ -104,17 +83,36 @@ Link Pacific/Easter Chile/EasterIsland
Link America/Havana Cuba
Link Africa/Cairo Egypt
Link Europe/Dublin Eire
# Vanguard section, for most .zi parsers.
#Link GMT Etc/GMT
#Link GMT Etc/GMT+0
#Link GMT Etc/GMT-0
#Link GMT Etc/GMT0
#Link GMT Etc/Greenwich
# Rearguard section, for TZUpdater 2.3.2 and earlier.
Link Etc/GMT Etc/GMT+0
Link Etc/GMT Etc/GMT-0
Link Etc/GMT Etc/GMT0
Link Etc/GMT Etc/Greenwich
# End of rearguard section.
Link Etc/UTC Etc/UCT
Link Europe/London Europe/Belfast
Link Europe/Chisinau Europe/Tiraspol
Link Etc/UTC Etc/Universal
Link Etc/UTC Etc/Zulu
Link Europe/London GB
Link Europe/London GB-Eire
# Vanguard section, for most .zi parsers.
#Link GMT GMT+0
#Link GMT GMT-0
#Link GMT GMT0
#Link GMT Greenwich
# Rearguard section, for TZUpdater 2.3.2 and earlier.
Link Etc/GMT GMT+0
Link Etc/GMT GMT-0
Link Etc/GMT GMT0
Link Etc/GMT Greenwich
# End of rearguard section.
Link Asia/Hong_Kong Hongkong
Link Atlantic/Reykjavik Iceland
Link Africa/Abidjan Iceland #= Atlantic/Reykjavik
Link Asia/Tehran Iran
Link Asia/Jerusalem Israel
Link America/Jamaica Jamaica
@@ -126,14 +124,8 @@ Link America/Mazatlan Mexico/BajaSur
Link America/Mexico_City Mexico/General
Link Pacific/Auckland NZ
Link Pacific/Chatham NZ-CHAT
Link America/Denver Navajo
Link America/Denver Navajo #= America/Shiprock
Link Asia/Shanghai PRC
Link Pacific/Kanton Pacific/Enderbury
Link Pacific/Honolulu Pacific/Johnston
Link Pacific/Pohnpei Pacific/Ponape
Link Pacific/Pago_Pago Pacific/Samoa
Link Pacific/Chuuk Pacific/Truk
Link Pacific/Chuuk Pacific/Yap
Link Europe/Warsaw Poland
Link Europe/Lisbon Portugal
Link Asia/Taipei ROC
@@ -157,3 +149,193 @@ Link Etc/UTC UTC
Link Etc/UTC Universal
Link Europe/Moscow W-SU
Link Etc/UTC Zulu
# Two-part names that were renamed mostly to three-part names in 1995
# Link TARGET LINK-NAME #= TARGET1
Link America/Argentina/Buenos_Aires America/Buenos_Aires
Link America/Argentina/Catamarca America/Catamarca
Link America/Argentina/Cordoba America/Cordoba
Link America/Indiana/Indianapolis America/Indianapolis
Link America/Argentina/Jujuy America/Jujuy
Link America/Indiana/Knox America/Knox_IN
Link America/Kentucky/Louisville America/Louisville
Link America/Argentina/Mendoza America/Mendoza
Link America/Puerto_Rico America/Virgin #= America/St_Thomas
Link Pacific/Pago_Pago Pacific/Samoa
# Pre-2013 practice, which typically had a Zone per zone.tab line
# Link TARGET LINK-NAME
Link Africa/Abidjan Africa/Accra
Link Africa/Nairobi Africa/Addis_Ababa
Link Africa/Nairobi Africa/Asmara
Link Africa/Abidjan Africa/Bamako
Link Africa/Lagos Africa/Bangui
Link Africa/Abidjan Africa/Banjul
Link Africa/Maputo Africa/Blantyre
Link Africa/Lagos Africa/Brazzaville
Link Africa/Maputo Africa/Bujumbura
Link Africa/Abidjan Africa/Conakry
Link Africa/Abidjan Africa/Dakar
Link Africa/Nairobi Africa/Dar_es_Salaam
Link Africa/Nairobi Africa/Djibouti
Link Africa/Lagos Africa/Douala
Link Africa/Abidjan Africa/Freetown
Link Africa/Maputo Africa/Gaborone
Link Africa/Maputo Africa/Harare
Link Africa/Nairobi Africa/Kampala
Link Africa/Maputo Africa/Kigali
Link Africa/Lagos Africa/Kinshasa
Link Africa/Lagos Africa/Libreville
Link Africa/Abidjan Africa/Lome
Link Africa/Lagos Africa/Luanda
Link Africa/Maputo Africa/Lubumbashi
Link Africa/Maputo Africa/Lusaka
Link Africa/Lagos Africa/Malabo
Link Africa/Johannesburg Africa/Maseru
Link Africa/Johannesburg Africa/Mbabane
Link Africa/Nairobi Africa/Mogadishu
Link Africa/Lagos Africa/Niamey
Link Africa/Abidjan Africa/Nouakchott
Link Africa/Abidjan Africa/Ouagadougou
Link Africa/Lagos Africa/Porto-Novo
Link America/Puerto_Rico America/Anguilla
Link America/Puerto_Rico America/Antigua
Link America/Puerto_Rico America/Aruba
Link America/Panama America/Atikokan
Link America/Puerto_Rico America/Blanc-Sablon
Link America/Panama America/Cayman
Link America/Phoenix America/Creston
Link America/Puerto_Rico America/Curacao
Link America/Puerto_Rico America/Dominica
Link America/Puerto_Rico America/Grenada
Link America/Puerto_Rico America/Guadeloupe
Link America/Puerto_Rico America/Kralendijk
Link America/Puerto_Rico America/Lower_Princes
Link America/Puerto_Rico America/Marigot
Link America/Puerto_Rico America/Montserrat
Link America/Toronto America/Nassau
Link America/Puerto_Rico America/Port_of_Spain
Link America/Puerto_Rico America/St_Barthelemy
Link America/Puerto_Rico America/St_Kitts
Link America/Puerto_Rico America/St_Lucia
Link America/Puerto_Rico America/St_Thomas
Link America/Puerto_Rico America/St_Vincent
Link America/Puerto_Rico America/Tortola
Link Pacific/Port_Moresby Antarctica/DumontDUrville
Link Pacific/Auckland Antarctica/McMurdo
Link Asia/Riyadh Antarctica/Syowa
Link Asia/Urumqi Antarctica/Vostok
Link Europe/Berlin Arctic/Longyearbyen
Link Asia/Riyadh Asia/Aden
Link Asia/Qatar Asia/Bahrain
Link Asia/Kuching Asia/Brunei
Link Asia/Singapore Asia/Kuala_Lumpur
Link Asia/Riyadh Asia/Kuwait
Link Asia/Dubai Asia/Muscat
Link Asia/Bangkok Asia/Phnom_Penh
Link Asia/Bangkok Asia/Vientiane
Link Africa/Abidjan Atlantic/Reykjavik
Link Africa/Abidjan Atlantic/St_Helena
Link Europe/Brussels Europe/Amsterdam
Link Europe/Prague Europe/Bratislava
Link Europe/Zurich Europe/Busingen
Link Europe/Berlin Europe/Copenhagen
Link Europe/London Europe/Guernsey
Link Europe/London Europe/Isle_of_Man
Link Europe/London Europe/Jersey
Link Europe/Belgrade Europe/Ljubljana
Link Europe/Brussels Europe/Luxembourg
Link Europe/Helsinki Europe/Mariehamn
Link Europe/Paris Europe/Monaco
Link Europe/Berlin Europe/Oslo
Link Europe/Belgrade Europe/Podgorica
Link Europe/Rome Europe/San_Marino
Link Europe/Belgrade Europe/Sarajevo
Link Europe/Belgrade Europe/Skopje
Link Europe/Berlin Europe/Stockholm
Link Europe/Zurich Europe/Vaduz
Link Europe/Rome Europe/Vatican
Link Europe/Belgrade Europe/Zagreb
Link Africa/Nairobi Indian/Antananarivo
Link Asia/Bangkok Indian/Christmas
Link Asia/Yangon Indian/Cocos
Link Africa/Nairobi Indian/Comoro
Link Indian/Maldives Indian/Kerguelen
Link Asia/Dubai Indian/Mahe
Link Africa/Nairobi Indian/Mayotte
Link Asia/Dubai Indian/Reunion
Link Pacific/Port_Moresby Pacific/Chuuk
Link Pacific/Tarawa Pacific/Funafuti
Link Pacific/Tarawa Pacific/Majuro
Link Pacific/Pago_Pago Pacific/Midway
Link Pacific/Guadalcanal Pacific/Pohnpei
Link Pacific/Guam Pacific/Saipan
Link Pacific/Tarawa Pacific/Wake
Link Pacific/Tarawa Pacific/Wallis
# Non-zone.tab locations with timestamps since 1970 that duplicate
# those of an existing location
# Link TARGET LINK-NAME
Link Africa/Abidjan Africa/Timbuktu
Link America/Argentina/Catamarca America/Argentina/ComodRivadavia
Link America/Adak America/Atka
Link America/Panama America/Coral_Harbour
Link America/Tijuana America/Ensenada
Link America/Indiana/Indianapolis America/Fort_Wayne
Link America/Toronto America/Montreal
Link America/Toronto America/Nipigon
Link America/Iqaluit America/Pangnirtung
Link America/Rio_Branco America/Porto_Acre
Link America/Winnipeg America/Rainy_River
Link America/Argentina/Cordoba America/Rosario
Link America/Tijuana America/Santa_Isabel
Link America/Denver America/Shiprock
Link America/Toronto America/Thunder_Bay
Link Pacific/Auckland Antarctica/South_Pole
Link Asia/Shanghai Asia/Chongqing
Link Asia/Shanghai Asia/Harbin
Link Asia/Urumqi Asia/Kashgar
Link Asia/Jerusalem Asia/Tel_Aviv
Link Europe/Berlin Atlantic/Jan_Mayen
Link Australia/Sydney Australia/Canberra
Link Australia/Hobart Australia/Currie
Link Europe/London Europe/Belfast
Link Europe/Chisinau Europe/Tiraspol
Link Europe/Kyiv Europe/Uzhgorod
Link Europe/Kyiv Europe/Zaporozhye
Link Pacific/Kanton Pacific/Enderbury
Link Pacific/Honolulu Pacific/Johnston
Link Pacific/Port_Moresby Pacific/Yap
# Alternate names for the same location
# Link TARGET LINK-NAME #= TARGET1
Link Africa/Nairobi Africa/Asmera #= Africa/Asmara
Link America/Nuuk America/Godthab
Link Asia/Ashgabat Asia/Ashkhabad
Link Asia/Kolkata Asia/Calcutta
Link Asia/Shanghai Asia/Chungking #= Asia/Chongqing
Link Asia/Dhaka Asia/Dacca
# Istanbul is in both continents.
Link Europe/Istanbul Asia/Istanbul
Link Asia/Kathmandu Asia/Katmandu
Link Asia/Macau Asia/Macao
Link Asia/Yangon Asia/Rangoon
Link Asia/Ho_Chi_Minh Asia/Saigon
Link Asia/Thimphu Asia/Thimbu
Link Asia/Makassar Asia/Ujung_Pandang
Link Asia/Ulaanbaatar Asia/Ulan_Bator
Link Atlantic/Faroe Atlantic/Faeroe
Link Europe/Kyiv Europe/Kiev
# Classically, Cyprus is in Asia; e.g. see Herodotus, Histories, I.72.
# However, for various reasons many users expect to find it under Europe.
Link Asia/Nicosia Europe/Nicosia
Link Pacific/Guadalcanal Pacific/Ponape #= Pacific/Pohnpei
Link Pacific/Port_Moresby Pacific/Truk #= Pacific/Chuuk

View File

@@ -39,22 +39,23 @@
# Do not use a POSIX TZ setting like TZ='GMT+4', which is four hours
# behind GMT but uses the completely misleading abbreviation "GMT".
Zone Etc/GMT 0 - GMT
# The following zone is used by tzcode functions like gmtime,
# which load the "UTC" file to handle seconds properly.
Zone Etc/UTC 0 - UTC
# Functions like gmtime load the "GMT" file to handle leap seconds properly.
# Vanguard section, which works with most .zi parsers.
#Zone GMT 0 - GMT
# Rearguard section, for TZUpdater 2.3.2 and earlier.
Zone Etc/GMT 0 - GMT
# The following link uses older naming conventions,
# but it belongs here, not in the file 'backward',
# as functions like gmtime load the "GMT" file to handle leap seconds properly.
# We want this to work even on installations that omit the other older names.
# as it is needed for tzcode releases through 2022a,
# where functions like gmtime load "GMT" instead of the "Etc/UTC".
# We want this to work even on installations that omit 'backward'.
Link Etc/GMT GMT
Link Etc/UTC Etc/Universal
Link Etc/UTC Etc/Zulu
Link Etc/GMT Etc/Greenwich
Link Etc/GMT Etc/GMT-0
Link Etc/GMT Etc/GMT+0
Link Etc/GMT Etc/GMT0
# End of rearguard section.
# Be consistent with POSIX TZ settings in the Zone names,
# even though this is the opposite of what many people expect.

File diff suppressed because it is too large Load Diff

View File

@@ -26,13 +26,13 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
# From Paul Eggert (2015-05-02):
# From Paul Eggert (2022-11-18):
# This file contains a table of two-letter country codes. Columns are
# separated by a single tab. Lines beginning with '#' are comments.
# All text uses UTF-8 encoding. The columns of the table are as follows:
#
# 1. ISO 3166-1 alpha-2 country code, current as of
# ISO 3166-1 N976 (2018-11-06). See: Updates on ISO 3166-1
# ISO 3166-1 N1087 (2022-09-02). See: Updates on ISO 3166-1
# https://isotc.iso.org/livelink/livelink/Open/16944257
# 2. The usual English name for the coded region,
# chosen so that alphabetic sorting of subsets produces helpful lists.
@@ -261,7 +261,7 @@ SY Syria
SZ Eswatini (Swaziland)
TC Turks & Caicos Is
TD Chad
TF French Southern & Antarctic Lands
TF French Southern Territories
TG Togo
TH Thailand
TJ Tajikistan

View File

@@ -95,11 +95,11 @@ Leap 2016 Dec 31 23:59:60 + S
# Any additional leap seconds will come after this.
# This Expires line is commented out for now,
# so that pre-2020a zic implementations do not reject this file.
#Expires 2022 Jun 28 00:00:00
#Expires 2023 Jun 28 00:00:00
# POSIX timestamps for the data in this file:
#updated 1467936000 (2016-07-08 00:00:00 UTC)
#expires 1656374400 (2022-06-28 00:00:00 UTC)
#expires 1687910400 (2023-06-28 00:00:00 UTC)
# Updated through IERS Bulletin C62
# File expires on: 28 June 2022
# Updated through IERS Bulletin C64
# File expires on: 28 June 2023

View File

@@ -367,8 +367,7 @@ Zone PST8PDT -8:00 US P%sT
# From Paul Eggert (2014-09-06):
# Monthly Notices of the Royal Astronomical Society 44, 4 (1884-02-08), 208
# says that New York City Hall time was 3 minutes 58.4 seconds fast of
# Eastern time (i.e., -4:56:01.6) just before the 1883 switch. Round to the
# nearest second.
# Eastern time (i.e., -4:56:01.6) just before the 1883 switch.
# Rule NAME FROM TO - IN ON AT SAVE LETTER
Rule NYC 1920 only - Mar lastSun 2:00 1:00 D
@@ -377,7 +376,8 @@ Rule NYC 1921 1966 - Apr lastSun 2:00 1:00 D
Rule NYC 1921 1954 - Sep lastSun 2:00 0 S
Rule NYC 1955 1966 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/New_York -4:56:02 - LMT 1883 Nov 18 12:03:58
#STDOFF -4:56:01.6
Zone America/New_York -4:56:02 - LMT 1883 Nov 18 17:00u
-5:00 US E%sT 1920
-5:00 NYC E%sT 1942
-5:00 US E%sT 1946
@@ -462,7 +462,7 @@ Rule Chicago 1922 1966 - Apr lastSun 2:00 1:00 D
Rule Chicago 1922 1954 - Sep lastSun 2:00 0 S
Rule Chicago 1955 1966 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24
Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1920
-6:00 Chicago C%sT 1936 Mar 1 2:00
-5:00 - EST 1936 Nov 15 2:00
@@ -471,7 +471,7 @@ Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24
-6:00 Chicago C%sT 1967
-6:00 US C%sT
# Oliver County, ND switched from mountain to central time on 1992-10-25.
Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 12:14:48
Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 1992 Oct 25 2:00
-6:00 US C%sT
# Morton County, ND, switched from mountain to central time on
@@ -481,7 +481,7 @@ Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 12:14:48
# Jones, Mellette, and Todd Counties in South Dakota;
# but in practice these other counties were already observing central time.
# See <http://www.epa.gov/fedrgstr/EPA-IMPACT/2003/October/Day-28/i27056.htm>.
Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 12:14:21
Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 2003 Oct 26 2:00
-6:00 US C%sT
@@ -498,7 +498,7 @@ Zone America/North_Dakota/New_Salem -6:45:39 - LMT 1883 Nov 18 12:14:21
# largest city in Mercer County). Google Maps places Beulah's city hall
# at 47° 15' 51" N, 101° 46' 40" W, which yields an offset of 6h47'07".
Zone America/North_Dakota/Beulah -6:47:07 - LMT 1883 Nov 18 12:12:53
Zone America/North_Dakota/Beulah -6:47:07 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 2010 Nov 7 2:00
-6:00 US C%sT
@@ -530,7 +530,7 @@ Rule Denver 1921 only - May 22 2:00 0 S
Rule Denver 1965 1966 - Apr lastSun 2:00 1:00 D
Rule Denver 1965 1966 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Denver -6:59:56 - LMT 1883 Nov 18 12:00:04
Zone America/Denver -6:59:56 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 1920
-7:00 Denver M%sT 1942
-7:00 US M%sT 1946
@@ -583,7 +583,7 @@ Rule CA 1950 1966 - Apr lastSun 1:00 1:00 D
Rule CA 1950 1961 - Sep lastSun 2:00 0 S
Rule CA 1962 1966 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02
Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 20:00u
-8:00 US P%sT 1946
-8:00 CA P%sT 1967
-8:00 US P%sT
@@ -845,14 +845,13 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
# Go with the Arizona State Library instead.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 11:31:42
Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 19:00u
-7:00 US M%sT 1944 Jan 1 0:01
-7:00 - MST 1944 Apr 1 0:01
-7:00 US M%sT 1944 Oct 1 0:01
-7:00 - MST 1967
-7:00 US M%sT 1968 Mar 21
-7:00 - MST
Link America/Phoenix America/Creston
# From Arthur David Olson (1988-02-13):
# A writer from the Inter Tribal Council of Arizona, Inc.,
@@ -873,7 +872,7 @@ Link America/Phoenix America/Creston
# switched four weeks late in 1974.
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:15:11
Zone America/Boise -7:44:49 - LMT 1883 Nov 18 20:00u
-8:00 US P%sT 1923 May 13 2:00
-7:00 US M%sT 1974
-7:00 - MST 1974 Feb 3 2:00
@@ -945,7 +944,7 @@ Rule Indianapolis 1941 only - Jun 22 2:00 1:00 D
Rule Indianapolis 1941 1954 - Sep lastSun 2:00 0 S
Rule Indianapolis 1946 1954 - Apr lastSun 2:00 1:00 D
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Indianapolis -5:44:38 - LMT 1883 Nov 18 12:15:22
Zone America/Indiana/Indianapolis -5:44:38 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1920
-6:00 Indianapolis C%sT 1942
-6:00 US C%sT 1946
@@ -965,7 +964,7 @@ Rule Marengo 1951 only - Sep lastSun 2:00 0 S
Rule Marengo 1954 1960 - Apr lastSun 2:00 1:00 D
Rule Marengo 1954 1960 - Sep lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 12:14:37
Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1951
-6:00 Marengo C%sT 1961 Apr 30 2:00
-5:00 - EST 1969
@@ -989,7 +988,7 @@ Rule Vincennes 1960 only - Oct lastSun 2:00 0 S
Rule Vincennes 1961 only - Sep lastSun 2:00 0 S
Rule Vincennes 1962 1963 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 12:09:53
Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1946
-6:00 Vincennes C%sT 1964 Apr 26 2:00
-5:00 - EST 1969
@@ -1009,7 +1008,7 @@ Rule Perry 1955 1960 - Sep lastSun 2:00 0 S
Rule Perry 1956 1963 - Apr lastSun 2:00 1:00 D
Rule Perry 1961 1963 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 12:12:57
Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1946
-6:00 Perry C%sT 1964 Apr 26 2:00
-5:00 - EST 1967 Oct 29 2:00
@@ -1026,7 +1025,7 @@ Rule Pike 1955 1960 - Sep lastSun 2:00 0 S
Rule Pike 1956 1964 - Apr lastSun 2:00 1:00 D
Rule Pike 1961 1964 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Petersburg -5:49:07 - LMT 1883 Nov 18 12:10:53
Zone America/Indiana/Petersburg -5:49:07 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1955
-6:00 Pike C%sT 1965 Apr 25 2:00
-5:00 - EST 1966 Oct 30 2:00
@@ -1048,7 +1047,7 @@ Rule Starke 1955 1956 - Oct lastSun 2:00 0 S
Rule Starke 1957 1958 - Sep lastSun 2:00 0 S
Rule Starke 1959 1961 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 12:13:30
Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1947
-6:00 Starke C%sT 1962 Apr 29 2:00
-5:00 - EST 1963 Oct 27 2:00
@@ -1064,7 +1063,7 @@ Rule Pulaski 1946 1954 - Sep lastSun 2:00 0 S
Rule Pulaski 1955 1956 - Oct lastSun 2:00 0 S
Rule Pulaski 1957 1960 - Sep lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 12:13:35
Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1946
-6:00 Pulaski C%sT 1961 Apr 30 2:00
-5:00 - EST 1969
@@ -1075,7 +1074,7 @@ Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 12:13:35
#
# Switzerland County, Indiana, did not observe DST from 1973 through 2005.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 12:19:44
Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1954 Apr 25 2:00
-5:00 - EST 1969
-5:00 US E%sT 1973
@@ -1111,7 +1110,7 @@ Rule Louisville 1950 1961 - Apr lastSun 2:00 1:00 D
Rule Louisville 1950 1955 - Sep lastSun 2:00 0 S
Rule Louisville 1956 1961 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 12:16:58
Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1921
-6:00 Louisville C%sT 1942
-6:00 US C%sT 1946
@@ -1145,7 +1144,7 @@ Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 12:16:58
# Federal Register 65, 160 (2000-08-17), pp 50154-50158.
# https://www.gpo.gov/fdsys/pkg/FR-2000-08-17/html/00-20854.htm
#
Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36
Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 18:00u
-6:00 US C%sT 1946
-6:00 - CST 1968
-6:00 US C%sT 2000 Oct 29 2:00
@@ -1626,23 +1625,6 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
# Ontario
# From Paul Eggert (2006-07-09):
# Shanks & Pottenger write that since 1970 most of Ontario has been like
# Toronto.
# Thunder Bay skipped DST in 1973.
# Many smaller locales did not observe peacetime DST until 1974;
# Nipigon (EST) and Rainy River (CST) are the largest that we know of.
# Far west Ontario is like Winnipeg; far east Quebec is like Halifax.
# From Jeffery Nichols (2020-02-06):
# According to the [Shanks] atlas, those western Ontario zones are huge,
# covering most of Ontario northwest of Sault Ste Marie and Timmins.
# The zones seem to include towns bigger than the ones they're named after,
# like Dryden in America/Rainy_River and Wawa (and maybe Attawapiskat) in
# America/Nipigon. I assume it's too much trouble to change the name of the
# zone (like when you found out that America/Glace_Bay includes Sydney, Nova
# Scotia)....
# From Mark Brader (2003-07-26):
# [According to the Toronto Star] Orillia, Ontario, adopted DST
# effective Saturday, 1912-06-22, 22:00; the article mentions that
@@ -1663,17 +1645,6 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
# From Mark Brader (2010-03-06):
#
# Currently the database has:
#
# # Ontario
#
# # From Paul Eggert (2006-07-09):
# # Shanks & Pottenger write that since 1970 most of Ontario has been like
# # Toronto.
# # Thunder Bay skipped DST in 1973.
# # Many smaller locales did not observe peacetime DST until 1974;
# # Nipigon (EST) and Rainy River (CST) are the largest that we know of.
#
# In the (Toronto) Globe and Mail for Saturday, 1955-09-24, in the bottom
# right corner of page 1, it says that Toronto will return to standard
# time at 2 am Sunday morning (which agrees with the database), and that:
@@ -1681,10 +1652,8 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
# The one-hour setback will go into effect throughout most of Ontario,
# except in areas like Windsor which remains on standard time all year.
#
# Windsor is, of course, a lot larger than Nipigon.
#
# I only came across this incidentally. I don't know if Windsor began
# observing DST when Detroit did, or in 1974, or on some other date.
# ... I don't know if Windsor began observing DST when Detroit did,
# or in 1974, or on some other date.
#
# By the way, the article continues by noting that:
#
@@ -1766,23 +1735,7 @@ Rule Toronto 1951 1956 - Sep lastSun 2:00 0 S
# Toronto Star, which said that DST was ending 1971-10-31 as usual.
Rule Toronto 1957 1973 - Oct lastSun 2:00 0 S
# From Paul Eggert (2003-07-27):
# Willett (1914-03) writes (p. 17) "In the Cities of Fort William, and
# Port Arthur, Ontario, the principle of the Bill has been in
# operation for the past three years, and in the City of Moose Jaw,
# Saskatchewan, for one year."
# From David Bryan via Tory Tronrud, Director/Curator,
# Thunder Bay Museum (2003-11-12):
# There is some suggestion, however, that, by-law or not, daylight
# savings time was being practiced in Fort William and Port Arthur
# before 1909.... [I]n 1910, the line between the Eastern and Central
# Time Zones was permanently moved about two hundred miles west to
# include the Thunder Bay area.... When Canada adopted daylight
# savings time in 1916, Fort William and Port Arthur, having done so
# already, did not change their clocks.... During the Second World
# War,... [t]he cities agreed to implement DST during the summer
# months for the remainder of the war years.
# The Bahamas match Toronto since 1970.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Toronto -5:17:32 - LMT 1895
@@ -1791,22 +1744,6 @@ Zone America/Toronto -5:17:32 - LMT 1895
-5:00 Canada E%sT 1946
-5:00 Toronto E%sT 1974
-5:00 Canada E%sT
Link America/Toronto America/Nassau
Zone America/Thunder_Bay -5:57:00 - LMT 1895
-6:00 - CST 1910
-5:00 - EST 1942
-5:00 Canada E%sT 1970
-5:00 Toronto E%sT 1973
-5:00 - EST 1974
-5:00 Canada E%sT
Zone America/Nipigon -5:53:04 - LMT 1895
-5:00 Canada E%sT 1940 Sep 29
-5:00 1:00 EDT 1942 Feb 9 2:00s
-5:00 Canada E%sT
Zone America/Rainy_River -6:18:16 - LMT 1895
-6:00 Canada C%sT 1940 Sep 29
-6:00 1:00 CDT 1942 Feb 9 2:00s
-6:00 Canada C%sT
# For Atikokan see America/Panama.
@@ -2055,6 +1992,37 @@ Zone America/Fort_Nelson -8:10:47 - LMT 1884
# Northwest Territories, Nunavut, Yukon
# From Chris Walton (2022-11-06):
# Whitehorse Star - Thursday April 22, 1965 - page 1
# title: DST Starts Monday ...
# https://www.newspapers.com/image/578587481/
# The title of this first article is wrong and/or misleading.
# Also, the start time shown in the article is vague; it simply says "after
# midnight" when it probably should have stated 2:00a.m....
#
# Whitehorse Star - Monday October 25, 1965 - page 15 ...
# https://www.newspapers.com/image/578589147/
# The 1965 Yukon Council minutes can be found here:
# http://assets.yukonarchives.ca/PER_YG_06_1965_C20_S02_v1.pdf
# ... I do not currently believe that NWT touched any of its clocks in 1965....
#
# Whitehorse Star - Thursday Feb 24,1966 - page 2
# title: It's Time for YDT ...
# https://www.newspapers.com/image/578575979/ ...
# America/Whitehorse as a permanent change from UTC-9(YST) to
# UTC-8(PST) at 00:00 on Sunday February 27, 1966....
#
# Whitehorse Star - Friday April 28,1972 - page 6
# title: Daylight Saving Time for N.W.T....
# https://www.newspapers.com/image/578701610/ ...
# Nunavut and NWT zones ... DST starting in 1972.... Start and End ...
# should be the same as the rest of Canada
#
#
# From Paul Eggert (2022-11-06):
# For now, assume Yukon's 1965-04-22 spring forward was 00:00 -> 02:00, as this
# seems likely than 02:00 -> 04:00 and matches "after midnight".
# From Paul Eggert (2006-03-22):
# Dawson switched to PST in 1973. Inuvik switched to MST in 1979.
# Mathew Englander (1996-10-07) gives the following refs:
@@ -2169,6 +2137,13 @@ Zone America/Fort_Nelson -8:10:47 - LMT 1884
# * Interpretation Act, RSY 2002, c 125
# https://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html
# From Chris Walton (2022-11-06):
# The 5th edition of the Atlas of Canada contains a time zone map that
# shows both legislated and observed time zone boundaries.
# All communities on Baffin Island are shown to be observing Eastern time.
# The date on the map is 1984.
# https://ftp.maps.canada.ca/pub/nrcan_rncan/raster/atlas_5_ed/eng/other/referencemaps/mcr4056.pdf
# From Rives McDow (1999-09-04):
# Nunavut ... moved ... to incorporate the whole territory into one time zone.
# Nunavut moves to single time zone Oct. 31
@@ -2181,40 +2156,7 @@ Zone America/Fort_Nelson -8:10:47 - LMT 1884
# From Paul Eggert (1999-09-20):
# Basic Facts: The New Territory
# http://www.nunavut.com/basicfacts/english/basicfacts_1territory.html
# (1999) reports that Pangnirtung operates on eastern time,
# and that Coral Harbour does not observe DST. We don't know when
# Pangnirtung switched to eastern time; we'll guess 1995.
# From Rives McDow (1999-11-08):
# On October 31, when the rest of Nunavut went to Central time,
# Pangnirtung wobbled. Here is the result of their wobble:
#
# The following businesses and organizations in Pangnirtung use Central Time:
#
# First Air, Power Corp, Nunavut Construction, Health Center, RCMP,
# Eastern Arctic National Parks, A & D Specialist
#
# The following businesses and organizations in Pangnirtung use Eastern Time:
#
# Hamlet office, All other businesses, Both schools, Airport operator
#
# This has made for an interesting situation there, which warranted the news.
# No one there that I spoke with seems concerned, or has plans to
# change the local methods of keeping time, as it evidently does not
# really interfere with any activities or make things difficult locally.
# They plan to celebrate New Year's turn-over twice, one hour apart,
# so it appears that the situation will last at least that long.
# The Nunavut Intergovernmental Affairs hopes that they will "come to
# their senses", but the locals evidently don't see any problem with
# the current state of affairs.
# From Michaela Rodrigue, writing in the
# Nunatsiaq News (1999-11-19):
# http://www.nunatsiaqonline.ca/archives/nunavut991130/nvt91119_17.html
# Clyde River, Pangnirtung and Sanikiluaq now operate with two time zones,
# central - or Nunavut time - for government offices, and eastern time
# for municipal offices and schools.... Igloolik [was similar but then]
# made the switch to central time on Saturday, Nov. 6.
# (1999) reports that ... Coral Harbour does not observe DST.
# From Paul Eggert (2000-10-02):
# Matthews and Vincent (1998) say the following, but we lack histories
@@ -2373,18 +2315,12 @@ Rule NT_YK 1919 only - Nov 1 0:00 0 S
Rule NT_YK 1942 only - Feb 9 2:00 1:00 W # War
Rule NT_YK 1945 only - Aug 14 23:00u 1:00 P # Peace
Rule NT_YK 1945 only - Sep 30 2:00 0 S
Rule NT_YK 1965 only - Apr lastSun 0:00 2:00 DD
Rule NT_YK 1965 only - Oct lastSun 2:00 0 S
Rule NT_YK 1980 1986 - Apr lastSun 2:00 1:00 D
Rule NT_YK 1980 2006 - Oct lastSun 2:00 0 S
Rule NT_YK 1972 1986 - Apr lastSun 2:00 1:00 D
Rule NT_YK 1972 2006 - Oct lastSun 2:00 0 S
Rule NT_YK 1987 2006 - Apr Sun>=1 2:00 1:00 D
Rule Yukon 1965 only - Apr lastSun 0:00 2:00 DD
Rule Yukon 1965 only - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
# aka Panniqtuuq
Zone America/Pangnirtung 0 - -00 1921 # trading post est.
-4:00 NT_YK A%sT 1995 Apr Sun>=1 2:00
-5:00 Canada E%sT 1999 Oct 31 2:00
-6:00 Canada C%sT 2000 Oct 29 2:00
-5:00 Canada E%sT
# formerly Frobisher Bay
Zone America/Iqaluit 0 - -00 1942 Aug # Frobisher Bay est.
-5:00 NT_YK E%sT 1999 Oct 31 2:00
@@ -2417,13 +2353,15 @@ Zone America/Inuvik 0 - -00 1953 # Inuvik founded
-7:00 NT_YK M%sT 1980
-7:00 Canada M%sT
Zone America/Whitehorse -9:00:12 - LMT 1900 Aug 20
-9:00 NT_YK Y%sT 1967 May 28 0:00
-8:00 NT_YK P%sT 1980
-9:00 NT_YK Y%sT 1965
-9:00 Yukon Y%sT 1966 Feb 27 0:00
-8:00 - PST 1980
-8:00 Canada P%sT 2020 Nov 1
-7:00 - MST
Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
-9:00 NT_YK Y%sT 1973 Oct 28 0:00
-8:00 NT_YK P%sT 1980
-9:00 NT_YK Y%sT 1965
-9:00 Yukon Y%sT 1973 Oct 28 0:00
-8:00 - PST 1980
-8:00 Canada P%sT 2020 Nov 1
-7:00 - MST
@@ -2639,7 +2577,23 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
# 5- The islands, reefs and keys shall take their timezone from the
# longitude they are located at.
# From Paul Eggert (2022-10-28):
# The new Mexican law was published today:
# https://www.dof.gob.mx/nota_detalle.php?codigo=5670045&fecha=28/10/2022
# This abolishes DST except where US DST rules are observed,
# and in addition changes all of Chihuahua to -06 with no DST.
# From Heitor David Pinto (2022-11-28):
# Now the northern municipalities want to have the same time zone as the
# respective neighboring cities in the US, for example Juárez in UTC-7 with
# DST, matching El Paso, and Ojinaga in UTC-6 with DST, matching Presidio....
# the president authorized the publication of the decree for November 29,
# so the time change would occur on November 30 at 0:00.
# http://puentelibre.mx/noticia/ciudad_juarez_cambio_horario_noviembre_2022/
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Mexico 1931 only - May 1 23:00 1:00 D
Rule Mexico 1931 only - Oct 1 0:00 0 S
Rule Mexico 1939 only - Feb 5 0:00 1:00 D
Rule Mexico 1939 only - Jun 25 0:00 0 S
Rule Mexico 1940 only - Dec 9 0:00 1:00 D
@@ -2652,89 +2606,108 @@ Rule Mexico 1996 2000 - Apr Sun>=1 2:00 1:00 D
Rule Mexico 1996 2000 - Oct lastSun 2:00 0 S
Rule Mexico 2001 only - May Sun>=1 2:00 1:00 D
Rule Mexico 2001 only - Sep lastSun 2:00 0 S
Rule Mexico 2002 max - Apr Sun>=1 2:00 1:00 D
Rule Mexico 2002 max - Oct lastSun 2:00 0 S
Rule Mexico 2002 2022 - Apr Sun>=1 2:00 1:00 D
Rule Mexico 2002 2022 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Quintana Roo; represented by Cancún
Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 0:12:56
Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 6:00u
-6:00 - CST 1981 Dec 23
-5:00 Mexico E%sT 1998 Aug 2 2:00
-6:00 Mexico C%sT 2015 Feb 1 2:00
-5:00 - EST
# Campeche, Yucatán; represented by Mérida
Zone America/Merida -5:58:28 - LMT 1922 Jan 1 0:01:32
Zone America/Merida -5:58:28 - LMT 1922 Jan 1 6:00u
-6:00 - CST 1981 Dec 23
-5:00 - EST 1982 Dec 2
-6:00 Mexico C%sT
# Coahuila, Nuevo León, Tamaulipas (near US border)
# This includes the following municipalities:
# in Coahuila: Ocampo, Acuña, Zaragoza, Jiménez, Piedras Negras, Nava,
# Guerrero, Hidalgo.
# in Nuevo León: Anáhuac, Los Aldama.
# in Coahuila: Acuña, Allende, Guerrero, Hidalgo, Jiménez, Morelos, Nava,
# Ocampo, Piedras Negras, Villa Unión, Zaragoza
# in Nuevo León: Anáhuac
# in Tamaulipas: Nuevo Laredo, Guerrero, Mier, Miguel Alemán, Camargo,
# Gustavo Díaz Ordaz, Reynosa, Río Bravo, Valle Hermoso, Matamoros.
# See: Inicia mañana Horario de Verano en zona fronteriza, El Universal,
# 2016-03-12
# http://www.eluniversal.com.mx/articulo/estados/2016/03/12/inicia-manana-horario-de-verano-en-zona-fronteriza
Zone America/Matamoros -6:40:00 - LMT 1921 Dec 31 23:20:00
# https://www.dof.gob.mx/nota_detalle.php?codigo=5670045&fecha=28/10/2022
Zone America/Matamoros -6:30:00 - LMT 1922 Jan 1 6:00u
-6:00 - CST 1988
-6:00 US C%sT 1989
-6:00 Mexico C%sT 2010
-6:00 US C%sT
# Durango; Coahuila, Nuevo León, Tamaulipas (away from US border)
Zone America/Monterrey -6:41:16 - LMT 1921 Dec 31 23:18:44
Zone America/Monterrey -6:41:16 - LMT 1922 Jan 1 6:00u
-6:00 - CST 1988
-6:00 US C%sT 1989
-6:00 Mexico C%sT
# Central Mexico
Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 0:23:24
Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-7:00 Mexico M%sT 1932 Apr 1
-6:00 Mexico C%sT 2001 Sep 30 2:00
-6:00 - CST 2002 Feb 20
-6:00 Mexico C%sT
# Chihuahua (near US border)
# Chihuahua (near US border - western side)
# This includes the municipalities of Janos, Ascensión, Juárez, Guadalupe,
# Práxedis G Guerrero, Coyame del Sotol, Ojinaga, and Manuel Benavides.
# (See the 2016-03-12 El Universal source mentioned above.)
Zone America/Ojinaga -6:57:40 - LMT 1922 Jan 1 0:02:20
# and Práxedis G Guerrero.
# http://gaceta.diputados.gob.mx/PDF/65/2a022/nov/20221124-VII.pdf
Zone America/Ciudad_Juarez -7:05:56 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1996
-6:00 Mexico C%sT 1998
-6:00 - CST 1998 Apr Sun>=1 3:00
-7:00 Mexico M%sT 2010
-7:00 US M%sT 2022 Oct 30 2:00
-6:00 - CST 2022 Nov 30 0:00
-7:00 US M%sT
# Chihuahua (away from US border)
Zone America/Chihuahua -7:04:20 - LMT 1921 Dec 31 23:55:40
# Chihuahua (near US border - eastern side)
# The municipalities of Coyame del Sotol, Ojinaga, and Manuel Benavides.
# http://gaceta.diputados.gob.mx/PDF/65/2a022/nov/20221124-VII.pdf
Zone America/Ojinaga -6:57:40 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1996
-6:00 Mexico C%sT 1998
-6:00 - CST 1998 Apr Sun>=1 3:00
-7:00 Mexico M%sT
# Sonora
Zone America/Hermosillo -7:23:52 - LMT 1921 Dec 31 23:36:08
-7:00 Mexico M%sT 2010
-7:00 US M%sT 2022 Oct 30 2:00
-6:00 - CST 2022 Nov 30 0:00
-6:00 US C%sT
# Chihuahua (away from US border)
Zone America/Chihuahua -7:04:20 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1996
-6:00 Mexico C%sT 1998
-6:00 - CST 1998 Apr Sun>=1 3:00
-7:00 Mexico M%sT 2022 Oct 30 2:00
-6:00 - CST
# Sonora
Zone America/Hermosillo -7:23:52 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1942 Apr 24
-7:00 - MST 1949 Jan 14
-8:00 - PST 1970
-7:00 Mexico M%sT 1999
-7:00 - MST
# Baja California Sur, Nayarit (except Bahía de Banderas), Sinaloa
Zone America/Mazatlan -7:05:40 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1942 Apr 24
-7:00 - MST 1949 Jan 14
-8:00 - PST 1970
-7:00 Mexico M%sT
# Bahía de Banderas
# From Alexander Krivenyshev (2010-04-21):
# According to news, Bahía de Banderas (Mexican state of Nayarit)
# changed time zone UTC-7 to new time zone UTC-6 on April 4, 2010 (to
@@ -2762,25 +2735,10 @@ Zone America/Hermosillo -7:23:52 - LMT 1921 Dec 31 23:36:08
# From Arthur David Olson (2010-05-01):
# Use "Bahia_Banderas" to keep the name to fourteen characters.
# Mazatlán
Zone America/Mazatlan -7:05:40 - LMT 1921 Dec 31 23:54:20
Zone America/Bahia_Banderas -7:01:00 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-6:00 - CST 1942 Apr 24
-7:00 - MST 1949 Jan 14
-8:00 - PST 1970
-7:00 Mexico M%sT
# Bahía de Banderas
Zone America/Bahia_Banderas -7:01:00 - LMT 1921 Dec 31 23:59:00
-7:00 - MST 1927 Jun 10 23:00
-6:00 - CST 1930 Nov 15
-7:00 - MST 1931 May 1 23:00
-6:00 - CST 1931 Oct
-7:00 - MST 1932 Apr 1
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1942 Apr 24
-7:00 - MST 1949 Jan 14
-8:00 - PST 1970
@@ -2788,7 +2746,7 @@ Zone America/Bahia_Banderas -7:01:00 - LMT 1921 Dec 31 23:59:00
-6:00 Mexico C%sT
# Baja California
Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1924
-8:00 - PST 1927 Jun 10 23:00
-7:00 - MST 1930 Nov 15
@@ -2825,23 +2783,19 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
# http://dof.gob.mx/nota_detalle.php?codigo=5127480&fecha=06/01/2010
# It has been moved to the 'backward' file.
#
# From Paul Eggert (2022-10-28):
# Today's new law states that the entire state of Baja California
# follows US DST rules, which agrees with simplifications noted above.
#
#
# Revillagigedo Is
# no information
###############################################################################
# Anguilla
# Antigua and Barbuda
# See America/Puerto_Rico.
# The Bahamas
# See America/Toronto.
# Barbados
# For 1899 Milne gives -3:58:29.2; round that.
# For 1899 Milne gives -3:58:29.2.
# From P Chan (2020-12-09 and 2020-12-11):
# Standard time of GMT-4 was adopted in 1911.
@@ -2885,6 +2839,7 @@ Rule Barb 1978 1980 - Apr Sun>=15 2:00 1:00 D
Rule Barb 1979 only - Sep 30 2:00 0 S
Rule Barb 1980 only - Sep 25 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#STDOFF -3:58:29.2
Zone America/Barbados -3:58:29 - LMT 1911 Aug 28 # Bridgetown
-4:00 Barb A%sT 1944
-4:00 Barb AST/-0330 1945
@@ -2945,10 +2900,10 @@ Zone America/Belize -5:52:48 - LMT 1912 Apr 1
# Bermuda
# From Paul Eggert (2020-11-24):
# From Paul Eggert (2022-07-27):
# For 1899 Milne gives -4:19:18.3 as the meridian of the clock tower,
# Bermuda dockyard, Ireland I. This agrees with standard offset given in the
# Daylight Saving Act, 1917 cited below. Round that to the nearest second.
# Daylight Saving Act, 1917 cited below.
# It is not known when this time became standard for Bermuda; guess 1890.
# The transition to -04 was specified by:
# 1930: The Time Zone Act, 1929 (1929: No. 39) [1929-11-08]
@@ -3043,21 +2998,16 @@ Rule Bermuda 1956 only - May Sun>=22 2:00 1:00 D
Rule Bermuda 1956 only - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#STDOFF -4:19:18.3
Zone Atlantic/Bermuda -4:19:18 - LMT 1890 # Hamilton
-4:19:18 Bermuda BMT/BST 1930 Jan 1 2:00
-4:00 Bermuda A%sT 1974 Apr 28 2:00
-4:00 Canada A%sT 1976
-4:00 US A%sT
# Caribbean Netherlands
# See America/Puerto_Rico.
# Cayman Is
# See America/Panama.
# Costa Rica
# Milne gives -5:36:13.3 as San José mean time; round to nearest.
# Milne gives -5:36:13.3 as San José mean time.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule CR 1979 1980 - Feb lastSun 0:00 1:00 D
@@ -3069,6 +3019,7 @@ Rule CR 1991 only - Jul 1 0:00 0 S
Rule CR 1992 only - Mar 15 0:00 0 S
# There are too many San Josés elsewhere, so we'll use 'Costa Rica'.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#STDOFF -5:36:13.3
Zone America/Costa_Rica -5:36:13 - LMT 1890 # San José
-5:36:13 - SJMT 1921 Jan 15 # San José Mean Time
-6:00 CR C%sT
@@ -3279,9 +3230,6 @@ Zone America/Havana -5:29:28 - LMT 1890
-5:29:36 - HMT 1925 Jul 19 12:00 # Havana MT
-5:00 Cuba C%sT
# Dominica
# See America/Puerto_Rico.
# Dominican Republic
# From Steffen Thorsen (2000-10-30):
@@ -3328,12 +3276,6 @@ Rule Salv 1987 1988 - Sep lastSun 0:00 0 S
Zone America/El_Salvador -5:56:48 - LMT 1921 # San Salvador
-6:00 Salv C%sT
# Grenada
# Guadeloupe
# St Barthélemy
# St Martin (French part)
# See America/Puerto_Rico.
# Guatemala
#
# From Gwillim Law (2006-04-22), after a heads-up from Oscar van Vlijmen:
@@ -3491,7 +3433,7 @@ Zone America/Tegucigalpa -5:48:52 - LMT 1921 Apr
# Jamaica
# Shanks & Pottenger give -5:07:12, but Milne records -5:07:10.41 from an
# unspecified official document, and says "This time is used throughout the
# island". Go with Milne. Round to the nearest second as required by zic.
# island". Go with Milne.
#
# Shanks & Pottenger give April 28 for the 1974 spring-forward transition, but
# Lance Neita writes that Prime Minister Michael Manley decreed it January 5.
@@ -3504,6 +3446,7 @@ Zone America/Tegucigalpa -5:48:52 - LMT 1921 Apr
# http://www.jamaicaobserver.com/columns/The-politician-in-all-of-us_17573647
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#STDOFF -5:07:10.41
Zone America/Jamaica -5:07:10 - LMT 1890 # Kingston
-5:07:10 - KMT 1912 Feb # Kingston Mean Time
-5:00 - EST 1974
@@ -3518,9 +3461,6 @@ Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
-4:00 1:00 ADT 1980 Sep 28
-4:00 - AST
# Montserrat
# See America/Puerto_Rico.
# Nicaragua
#
# This uses Shanks & Pottenger for times before 2005.
@@ -3586,44 +3526,39 @@ Zone America/Managua -5:45:08 - LMT 1890
-5:00 - EST 1997
-6:00 Nic C%sT
# Cayman Is
# Panama
#
# Atikokan and Coral Harbour, Canada, match Panama since 1970.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Panama -5:18:08 - LMT 1890
-5:19:36 - CMT 1908 Apr 22 # Colón Mean Time
-5:00 - EST
Link America/Panama America/Atikokan
Link America/Panama America/Cayman
# Anguilla
# Antigua & Barbuda
# Aruba
# Caribbean Netherlands
# Curaçao
# Dominica
# Grenada
# Guadeloupe
# Montserrat
# Puerto Rico
# St Barthélemy
# St Kitts-Nevis
# Sint Maarten / St Martin
# St Lucia
# St Vincent & the Grenadines
# Trinidad & Tobago
# Virgin Is (UK & US)
#
# There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan
-4:00 - AST 1942 May 3
-4:00 US A%sT 1946
-4:00 - AST
Link America/Puerto_Rico America/Anguilla
Link America/Puerto_Rico America/Antigua
Link America/Puerto_Rico America/Aruba
Link America/Puerto_Rico America/Curacao
Link America/Puerto_Rico America/Blanc-Sablon # Quebec (Lower North Shore)
Link America/Puerto_Rico America/Dominica
Link America/Puerto_Rico America/Grenada
Link America/Puerto_Rico America/Guadeloupe
Link America/Puerto_Rico America/Kralendijk # Caribbean Netherlands
Link America/Puerto_Rico America/Lower_Princes # Sint Maarten
Link America/Puerto_Rico America/Marigot # St Martin (French part)
Link America/Puerto_Rico America/Montserrat
Link America/Puerto_Rico America/Port_of_Spain # Trinidad & Tobago
Link America/Puerto_Rico America/St_Barthelemy # St Barthélemy
Link America/Puerto_Rico America/St_Kitts # St Kitts & Nevis
Link America/Puerto_Rico America/St_Lucia
Link America/Puerto_Rico America/St_Thomas # Virgin Islands (US)
Link America/Puerto_Rico America/St_Vincent
Link America/Puerto_Rico America/Tortola # Virgin Islands (UK)
# St Kitts-Nevis
# St Lucia
# See America/Puerto_Rico.
# St Pierre and Miquelon
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
@@ -3633,12 +3568,6 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
-3:00 - -03 1987
-3:00 Canada -03/-02
# St Vincent and the Grenadines
# See America/Puerto_Rico.
# Sint Maarten
# See America/Puerto_Rico.
# Turks and Caicos
#
# From Chris Dunn in
@@ -3701,17 +3630,13 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Grand_Turk -4:44:32 - LMT 1890
#STDOFF -5:07:10.41
-5:07:10 - KMT 1912 Feb # Kingston Mean Time
-5:00 - EST 1979
-5:00 US E%sT 2015 Mar 8 2:00
-4:00 - AST 2018 Mar 11 3:00
-5:00 US E%sT
# British Virgin Is
# US Virgin Is
# See America/Puerto_Rico.
# Local Variables:
# coding: utf-8
# End:

View File

@@ -423,6 +423,7 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1:00 -
#
# Buenos Aires (BA), Capital Federal (CF),
Zone America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 Oct 31
#STDOFF -4:16:48.25
-4:16:48 - CMT 1920 May # Córdoba Mean Time
-4:00 - -04 1930 Dec
-4:00 Arg -04/-03 1969 Oct 5
@@ -440,6 +441,7 @@ Zone America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 Oct 31
# - Santiago del Estero switched to -4:00 on 1991-04-01,
# then to -3:00 on 1991-04-26.
#
#STDOFF -4:16:48.25
Zone America/Argentina/Cordoba -4:16:48 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May
-4:00 - -04 1930 Dec
@@ -452,6 +454,7 @@ Zone America/Argentina/Cordoba -4:16:48 - LMT 1894 Oct 31
#
# Salta (SA), La Pampa (LP), Neuquén (NQ), Rio Negro (RN)
Zone America/Argentina/Salta -4:21:40 - LMT 1894 Oct 31
#STDOFF -4:16:48.25
-4:16:48 - CMT 1920 May
-4:00 - -04 1930 Dec
-4:00 Arg -04/-03 1969 Oct 5
@@ -464,6 +467,7 @@ Zone America/Argentina/Salta -4:21:40 - LMT 1894 Oct 31
#
# Tucumán (TM)
Zone America/Argentina/Tucuman -4:20:52 - LMT 1894 Oct 31
#STDOFF -4:16:48.25
-4:16:48 - CMT 1920 May
-4:00 - -04 1930 Dec
-4:00 Arg -04/-03 1969 Oct 5
@@ -477,6 +481,7 @@ Zone America/Argentina/Tucuman -4:20:52 - LMT 1894 Oct 31
#
# La Rioja (LR)
Zone America/Argentina/La_Rioja -4:27:24 - LMT 1894 Oct 31
#STDOFF -4:16:48.25
-4:16:48 - CMT 1920 May
-4:00 - -04 1930 Dec
-4:00 Arg -04/-03 1969 Oct 5
@@ -491,6 +496,7 @@ Zone America/Argentina/La_Rioja -4:27:24 - LMT 1894 Oct 31
#
# San Juan (SJ)
Zone America/Argentina/San_Juan -4:34:04 - LMT 1894 Oct 31
#STDOFF -4:16:48.25
-4:16:48 - CMT 1920 May
-4:00 - -04 1930 Dec
-4:00 Arg -04/-03 1969 Oct 5
@@ -505,6 +511,7 @@ Zone America/Argentina/San_Juan -4:34:04 - LMT 1894 Oct 31
#
# Jujuy (JY)
Zone America/Argentina/Jujuy -4:21:12 - LMT 1894 Oct 31
#STDOFF -4:16:48.25
-4:16:48 - CMT 1920 May
-4:00 - -04 1930 Dec
-4:00 Arg -04/-03 1969 Oct 5
@@ -520,6 +527,7 @@ Zone America/Argentina/Jujuy -4:21:12 - LMT 1894 Oct 31
#
# Catamarca (CT), Chubut (CH)
Zone America/Argentina/Catamarca -4:23:08 - LMT 1894 Oct 31
#STDOFF -4:16:48.25
-4:16:48 - CMT 1920 May
-4:00 - -04 1930 Dec
-4:00 Arg -04/-03 1969 Oct 5
@@ -534,6 +542,7 @@ Zone America/Argentina/Catamarca -4:23:08 - LMT 1894 Oct 31
#
# Mendoza (MZ)
Zone America/Argentina/Mendoza -4:35:16 - LMT 1894 Oct 31
#STDOFF -4:16:48.25
-4:16:48 - CMT 1920 May
-4:00 - -04 1930 Dec
-4:00 Arg -04/-03 1969 Oct 5
@@ -556,6 +565,7 @@ Rule SanLuis 2008 2009 - Mar Sun>=8 0:00 0 -
Rule SanLuis 2007 2008 - Oct Sun>=8 0:00 1:00 -
Zone America/Argentina/San_Luis -4:25:24 - LMT 1894 Oct 31
#STDOFF -4:16:48.25
-4:16:48 - CMT 1920 May
-4:00 - -04 1930 Dec
-4:00 Arg -04/-03 1969 Oct 5
@@ -574,6 +584,7 @@ Zone America/Argentina/San_Luis -4:25:24 - LMT 1894 Oct 31
#
# Santa Cruz (SC)
Zone America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 Oct 31
#STDOFF -4:16:48.25
-4:16:48 - CMT 1920 May
-4:00 - -04 1930 Dec
-4:00 Arg -04/-03 1969 Oct 5
@@ -586,6 +597,7 @@ Zone America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 Oct 31
#
# Tierra del Fuego, Antártida e Islas del Atlántico Sur (TF)
Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31
#STDOFF -4:16:48.25
-4:16:48 - CMT 1920 May
-4:00 - -04 1930 Dec
-4:00 Arg -04/-03 1969 Oct 5
@@ -596,9 +608,6 @@ Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31
-3:00 Arg -03/-02 2008 Oct 18
-3:00 - -03
# Aruba
# See America/Puerto_Rico.
# Bolivia
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/La_Paz -4:32:36 - LMT 1890
@@ -668,7 +677,7 @@ Zone America/La_Paz -4:32:36 - LMT 1890
# From Rodrigo Severo (2004-10-04):
# It's just the biannual change made necessary by the much hyped, supposedly
# modern Brazilian eletronic voting machines which, apparently, can't deal
# modern Brazilian ... voting machines which, apparently, can't deal
# with a time change between the first and the second rounds of the elections.
# From Steffen Thorsen (2007-09-20):
@@ -1109,7 +1118,7 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# Chile
# From Paul Eggert (2015-04-03):
# From Paul Eggert (2022-03-15):
# Shanks & Pottenger says America/Santiago introduced standard time in
# 1890 and rounds its UT offset to 70W40; guess that in practice this
# was the same offset as in 1916-1919. It also says Pacific/Easter
@@ -1132,7 +1141,7 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# Historia de la hora oficial de Chile (retrieved 2012-10-24). See:
# https://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm
# A fancier Spanish version (requiring mouse-clicking) is at:
# http://www.horaoficial.cl/historia_hora.html
# http://www.horaoficial.cl/historia_hora.php
# Conflicts between [1] and [2] were resolved as follows:
#
# - [1] says the 1910 transition was Jan 1, [2] says Jan 10 and cites
@@ -1141,7 +1150,8 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# - [1] says SMT was -4:42:45, [2] says Chile's official time from
# 1916 to 1919 was -4:42:46.3, the meridian of Chile's National
# Astronomical Observatory (OAN), then located in what is now
# Quinta Normal in Santiago. Go with [2], rounding it to -4:42:46.
# Quinta Normal in Santiago. Go with [1], as this matches the meridian
# referred to by the relevant Chilean laws to this day.
#
# - [1] says the 1918 transition was Sep 1, [2] says Sep 10 and cites
# Boletín No. 22, Aviso No. 129/1918 (1918-08-23). Go with [2].
@@ -1163,6 +1173,39 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# this is known to work for DST transitions starting in 2008 and
# may well be true for earlier transitions.
# From Tim Parenti (2022-07-06):
# For a brief period of roughly six weeks in 1946, DST was only observed on an
# emergency basis in specific regions of central Chile; namely, "the national
# territory between the provinces of Coquimbo and Concepción, inclusive".
# This was enacted by Decree 3,891, dated 1946-07-13, and took effect
# 1946-07-14 24:00, advancing these central regions to -03.
# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19460715/#page/1
# The decree contemplated "[t]hat this advancement of the Official Time, even
# though it has been proposed for the cities of Santiago and Valparaíso only,
# must be agreed with that of other cities, due to the connection of various
# activities that require it, such as, for example, the operation of rail
# services". It was originally set to expire after 30 days but was extended
# through 1946-08-31 by Decree 4,506, dated 1946-08-13.
# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19460814/#page/1
#
# Law Number 8,522, promulgated 1946-08-27, reunified Chilean clocks at their
# new "Summer Time" of -04, reckoned as that of "the meridian of the
# Astronomical Observatory of Lo Espejo, advanced by 42 minutes and 45
# seconds". Although this law specified the new Summer Time to start on 1
# September each year, a special "transitional article" started it a few days
# early, as soon as the law took effect. As the law was to take force "from
# the date of its publication in the 'Diario Oficial', which happened the
# following day, presume the change took place in Santiago and its environs
# from 24:00 -03 to 23:00 -04 on Wednesday 1946-08-28. Although this was a
# no-op for wall clocks in the north and south of the country, put their formal
# start to DST an hour later when they reached 24:00 -04.
# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19460828/#page/1
# After a brief "Winter Time" stint at -05 beginning 1947-04-01, Law Number
# 8,777, promulgated 1947-05-17, established year-round -04 "from 23:00 on the
# second day after it is published in the 'Diario Oficial'." It was published
# on Monday 1947-05-19 and so took effect from Wednesday 1947-05-21 23:00.
# https://www.diariooficial.interior.gob.cl/versiones-anteriores/do-h/19470519/#page/1
# From Eduardo Krell (1995-10-19):
# The law says to switch to DST at midnight [24:00] on the second SATURDAY
# of October.... The law is the same for March and October.
@@ -1275,11 +1318,25 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# So we extend the new rules on Saturdays at 24:00 mainland time indefinitely.
# From Juan Correa (2019-02-04):
# http://www.diariooficial.interior.gob.cl/publicaciones/2018/11/23/42212/01/1498738.pdf
# From Paul Eggert (2019-09-01):
# The above says the Magallanes exception expires 2022-04-02 at 24:00,
# so in theory, they will revert to -04/-03 after that.
# For now, assume that they will not revert,
# since they have extended the expiration date once already.
# From Juan Correa (2022-04-02):
# I found there was a decree published last Thursday that will keep
# Magallanes region to UTC -3 "indefinitely". The decree is available at
# https://www.diariooficial.interior.gob.cl/publicaciones/2022/03/31/43217-B/01/2108910.pdf
# From Juan Correa (2022-08-09):
# the Internal Affairs Ministry (Ministerio del Interior) informed DST
# for America/Santiago will start on midnight of September 11th;
# and will end on April 1st, 2023. Magallanes region (America/Punta_Arenas)
# will keep UTC -3 "indefinitely"... This is because on September 4th
# we will have a voting whether to approve a new Constitution.
#
# From Eduardo Romero Urra (2022-08-17):
# https://www.diariooficial.interior.gob.cl/publicaciones/2022/08/13/43327/01/2172567.pdf
#
# From Paul Eggert (2022-08-17):
# Although the presidential decree stops at fall 2026, assume that
# similar DST rules will continue thereafter.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Chile 1927 1931 - Sep 1 0:00 1:00 -
@@ -1317,34 +1374,37 @@ Rule Chile 2012 2014 - Sep Sun>=2 4:00u 1:00 -
Rule Chile 2016 2018 - May Sun>=9 3:00u 0 -
Rule Chile 2016 2018 - Aug Sun>=9 4:00u 1:00 -
Rule Chile 2019 max - Apr Sun>=2 3:00u 0 -
Rule Chile 2019 max - Sep Sun>=2 4:00u 1:00 -
Rule Chile 2019 2021 - Sep Sun>=2 4:00u 1:00 -
Rule Chile 2022 only - Sep Sun>=9 4:00u 1:00 -
Rule Chile 2023 max - Sep Sun>=2 4:00u 1:00 -
# IATA SSIM anomalies: (1992-02) says 1992-03-14;
# (1996-09) says 1998-03-08. Ignore these.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Santiago -4:42:46 - LMT 1890
-4:42:46 - SMT 1910 Jan 10 # Santiago Mean Time
Zone America/Santiago -4:42:45 - LMT 1890
-4:42:45 - SMT 1910 Jan 10 # Santiago Mean Time
-5:00 - -05 1916 Jul 1
-4:42:46 - SMT 1918 Sep 10
-4:42:45 - SMT 1918 Sep 10
-4:00 - -04 1919 Jul 1
-4:42:46 - SMT 1927 Sep 1
-4:42:45 - SMT 1927 Sep 1
-5:00 Chile -05/-04 1932 Sep 1
-4:00 - -04 1942 Jun 1
-5:00 - -05 1942 Aug 1
-4:00 - -04 1946 Jul 15
-4:00 1:00 -03 1946 Sep 1 # central Chile
-4:00 - -04 1947 Apr 1
-4:00 - -04 1946 Jul 14 24:00
-4:00 1:00 -03 1946 Aug 28 24:00 # central CL
-5:00 1:00 -04 1947 Mar 31 24:00
-5:00 - -05 1947 May 21 23:00
-4:00 Chile -04/-03
Zone America/Punta_Arenas -4:43:40 - LMT 1890
-4:42:46 - SMT 1910 Jan 10
-4:42:45 - SMT 1910 Jan 10
-5:00 - -05 1916 Jul 1
-4:42:46 - SMT 1918 Sep 10
-4:42:45 - SMT 1918 Sep 10
-4:00 - -04 1919 Jul 1
-4:42:46 - SMT 1927 Sep 1
-4:42:45 - SMT 1927 Sep 1
-5:00 Chile -05/-04 1932 Sep 1
-4:00 - -04 1942 Jun 1
-5:00 - -05 1942 Aug 1
-4:00 - -04 1947 Apr 1
-4:00 - -04 1946 Aug 28 24:00
-5:00 1:00 -04 1947 Mar 31 24:00
-5:00 - -05 1947 May 21 23:00
-4:00 Chile -04/-03 2016 Dec 4
-3:00 - -03
@@ -1378,28 +1438,25 @@ Zone Antarctica/Palmer 0 - -00 1965
# Colombia
# Milne gives 4:56:16.4 for Bogotá time in 1899; round to nearest. He writes,
# Milne gives 4:56:16.4 for Bogotá time in 1899. He writes,
# "A variation of fifteen minutes in the public clocks of Bogota is not rare."
# From Alois Treindl (2022-11-10):
# End of time change in Colombia 1993 ... should be 6 February 24h ...
# DECRETO 267 DE 1993
# https://www.suin-juriscol.gov.co/viewDocument.asp?ruta=Decretos/1061335
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule CO 1992 only - May 3 0:00 1:00 -
Rule CO 1993 only - Apr 4 0:00 0 -
Rule CO 1992 only - May 3 0:00 1:00 -
Rule CO 1993 only - Feb 6 24:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#STDOFF -4:56:16.4
Zone America/Bogota -4:56:16 - LMT 1884 Mar 13
-4:56:16 - BMT 1914 Nov 23 # Bogotá Mean Time
-5:00 CO -05/-04
# Malpelo, Providencia, San Andres
# no information; probably like America/Bogota
# Curaçao
# See America/Puerto_Rico.
#
# From Arthur David Olson (2011-06-15):
# use links for places with new iso3166 codes.
# The name "Lower Prince's Quarter" is both longer than fourteen characters
# and contains an apostrophe; use "Lower_Princes"....
# From Paul Eggert (2021-09-29):
# These backward-compatibility links now are in the 'northamerica' file.
# Ecuador
#
@@ -1715,9 +1772,6 @@ Zone America/Paramaribo -3:40:40 - LMT 1911
-3:30 - -0330 1984 Oct
-3:00 - -03
# Trinidad and Tobago
# See America/Puerto_Rico.
# Uruguay
# From Paul Eggert (1993-11-18):
# Uruguay wins the prize for the strangest peacetime manipulation of the rules.

View File

@@ -137,13 +137,9 @@ CA +4606-06447 America/Moncton Atlantic - New Brunswick
CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore)
CA +4339-07923 America/Toronto Eastern - ON, QC (most areas)
CA +4901-08816 America/Nipigon Eastern - ON, QC (no DST 1967-73)
CA +4823-08915 America/Thunder_Bay Eastern - ON (Thunder Bay)
CA +6344-06828 America/Iqaluit Eastern - NU (most east areas)
CA +6608-06544 America/Pangnirtung Eastern - NU (Pangnirtung)
CA +6344-06828 America/Iqaluit Eastern - NU (most areas)
CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H)
CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba
CA +4843-09434 America/Rainy_River Central - ON (Rainy R, Ft Frances)
CA +744144-0944945 America/Resolute Central - NU (Resolute)
CA +624900-0920459 America/Rankin_Inlet Central - NU (central)
CA +5024-10439 America/Regina CST - SK (most areas)
@@ -153,7 +149,7 @@ CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west)
CA +6227-11421 America/Yellowknife Mountain - NT (central)
CA +682059-1334300 America/Inuvik Mountain - NT (west)
CA +4906-11631 America/Creston MST - BC (Creston)
CA +5946-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
CA +5546-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
CA +6043-13503 America/Whitehorse MST - Yukon (east)
CA +6404-13925 America/Dawson MST - Yukon (west)
@@ -303,17 +299,18 @@ MT +3554+01431 Europe/Malta
MU -2010+05730 Indian/Mauritius
MV +0410+07330 Indian/Maldives
MW -1547+03500 Africa/Blantyre
MX +1924-09909 America/Mexico_City Central Time
MX +2105-08646 America/Cancun Eastern Standard Time - Quintana Roo
MX +2058-08937 America/Merida Central Time - Campeche, Yucatan
MX +2540-10019 America/Monterrey Central Time - Durango; Coahuila, Nuevo Leon, Tamaulipas (most areas)
MX +2550-09730 America/Matamoros Central Time US - Coahuila, Nuevo Leon, Tamaulipas (US border)
MX +2313-10625 America/Mazatlan Mountain Time - Baja California Sur, Nayarit, Sinaloa
MX +2838-10605 America/Chihuahua Mountain Time - Chihuahua (most areas)
MX +2934-10425 America/Ojinaga Mountain Time US - Chihuahua (US border)
MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora
MX +3232-11701 America/Tijuana Pacific Time US - Baja California
MX +2048-10515 America/Bahia_Banderas Central Time - Bahia de Banderas
MX +1924-09909 America/Mexico_City Central Mexico
MX +2105-08646 America/Cancun Quintana Roo
MX +2058-08937 America/Merida Campeche, Yucatan
MX +2540-10019 America/Monterrey Durango; Coahuila, Nuevo Leon, Tamaulipas (most areas)
MX +2550-09730 America/Matamoros Coahuila, Nuevo Leon, Tamaulipas (US border)
MX +2838-10605 America/Chihuahua Chihuahua (most areas)
MX +3144-10629 America/Ciudad_Juarez Chihuahua (US border - west)
MX +2934-10425 America/Ojinaga Chihuahua (US border - east)
MX +2313-10625 America/Mazatlan Baja California Sur, Nayarit (most areas), Sinaloa
MX +2048-10515 America/Bahia_Banderas Bahia de Banderas
MX +2904-11058 America/Hermosillo Sonora
MX +3232-11701 America/Tijuana Baja California
MY +0310+10142 Asia/Kuala_Lumpur Malaysia (peninsula)
MY +0133+11020 Asia/Kuching Sabah, Sarawak
MZ -2558+03235 Africa/Maputo
@@ -423,9 +420,7 @@ TT +1039-06131 America/Port_of_Spain
TV -0831+17913 Pacific/Funafuti
TW +2503+12130 Asia/Taipei
TZ -0648+03917 Africa/Dar_es_Salaam
UA +5026+03031 Europe/Kiev Ukraine (most areas)
UA +4837+02218 Europe/Uzhgorod Transcarpathia
UA +4750+03510 Europe/Zaporozhye Zaporozhye and east Lugansk
UA +5026+03031 Europe/Kyiv Ukraine (most areas)
UG +0019+03225 Africa/Kampala
UM +2813-17722 Pacific/Midway Midway Islands
UM +1917+16637 Pacific/Wake Wake Island

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@ VS_VERSION_NUM_NODOT="160"
VS_DLL_VERSION="140"
SDK_VERSION="10"
SDK_FULL_VERSION="10.0.17763.0"
MSVC_DIR="Microsoft.VC141.CRT"
MSVC_DIR="Microsoft.VC142.CRT"
MSVC_FULL_VERSION="14.12.27508"
REDIST_FULL_VERSION="14.20.27508"
@@ -102,6 +102,7 @@ DEVKIT_BUNDLE="${DEVKIT_ROOT}.tar.gz"
echo "Creating devkit in $DEVKIT_ROOT"
MSVCR_DLL=${MSVC_DIR}/vcruntime${VS_DLL_VERSION}.dll
VCRUNTIME_1_DLL=${MSVC_DIR}/vcruntime${VS_DLL_VERSION}_1.dll
MSVCP_DLL=${MSVC_DIR}/msvcp${VS_DLL_VERSION}.dll
################################################################################
@@ -188,6 +189,7 @@ echo-info "DEVKIT_TOOLCHAIN_PATH_x86_64=\"\$DEVKIT_ROOT/VC/bin/x64:\$DEVKIT_ROOT
echo-info "DEVKIT_VS_INCLUDE_x86_64=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
echo-info "DEVKIT_VS_LIB_x86_64=\"\$DEVKIT_ROOT/VC/lib/x64;\$DEVKIT_ROOT/VC/atlmfc/lib/x64;\$DEVKIT_ROOT/$SDK_VERSION/lib/x64\""
echo-info "DEVKIT_MSVCR_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL\""
echo-info "DEVKIT_VCRUNTIME_1_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$VCRUNTIME_1_DLL\""
echo-info "DEVKIT_MSVCP_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_x86_64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x64\""
echo-info ""

View File

@@ -32,13 +32,18 @@ GENSRC_CHARACTERDATA :=
CHARACTERDATA = $(TOPDIR)/make/data/characterdata
UNICODEDATA = $(TOPDIR)/make/data/unicodedata
ifneq ($(DEBUG_LEVEL), release)
ifeq ($(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT), true)
DEBUG_OPTION := -d
endif
endif
define SetupCharacterData
$(SUPPORT_OUTPUTDIR)/gensrc/java.base/java/lang/$1.java: \
$(CHARACTERDATA)/$1.java.template
$$(call LogInfo, Generating $1.java)
$$(call MakeDir, $$(@D))
$(TOOL_GENERATECHARACTER) $2 \
$(if $(call equals, $(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT), true), -d) \
$(TOOL_GENERATECHARACTER) $2 $(DEBUG_OPTION) \
-template $(CHARACTERDATA)/$1.java.template \
-spec $(UNICODEDATA)/UnicodeData.txt \
-specialcasing $(UNICODEDATA)/SpecialCasing.txt \

View File

@@ -36,7 +36,8 @@ GENSRC_CHARSETCODER_TEMPLATE := $(GENSRC_CHARSETCODER_SRC)/charset/Charset-X-Cod
$(GENSRC_CHARSETCODER_DST)/CharsetDecoder.java: $(GENSRC_CHARSETCODER_TEMPLATE)
$(MKDIR) -p $(@D)
-$(RM) $@.tmp
$(TOOL_SPP) < $< >$@.tmp \
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/gensrc/java.base/_charset_decoder, \
$(TOOL_SPP) < $< >$@.tmp \
-Kdecoder \
-DA='A' \
-Da='a' \
@@ -61,7 +62,7 @@ $(GENSRC_CHARSETCODER_DST)/CharsetDecoder.java: $(GENSRC_CHARSETCODER_TEMPLATE)
-DItypesPerOtype='CharsPerByte' \
-DnotLegal='not legal for this charset' \
-Dotypes-per-itype='chars-per-byte' \
-DoutSequence='Unicode character'
-DoutSequence='Unicode character')
$(MV) $@.tmp $@
GENSRC_CHARSETCODER += $(GENSRC_CHARSETCODER_DST)/CharsetDecoder.java
@@ -71,7 +72,8 @@ GENSRC_CHARSETCODER += $(GENSRC_CHARSETCODER_DST)/CharsetDecoder.java
$(GENSRC_CHARSETCODER_DST)/CharsetEncoder.java: $(GENSRC_CHARSETCODER_TEMPLATE)
$(MKDIR) -p $(@D)
-$(RM) $@.tmp
$(TOOL_SPP) < $< >$@.tmp \
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/gensrc/java.base/_charset_encoder, \
$(TOOL_SPP) < $< >$@.tmp \
-Kencoder \
-DA='An' \
-Da='an' \
@@ -96,7 +98,7 @@ $(GENSRC_CHARSETCODER_DST)/CharsetEncoder.java: $(GENSRC_CHARSETCODER_TEMPLATE)
-DItypesPerOtype='BytesPerChar' \
-DnotLegal='not a legal sixteen-bit Unicode sequence' \
-Dotypes-per-itype='bytes-per-char' \
-DoutSequence='byte sequence in the given charset'
-DoutSequence='byte sequence in the given charset')
$(MV) $@.tmp $@
GENSRC_CHARSETCODER += $(GENSRC_CHARSETCODER_DST)/CharsetEncoder.java

View File

@@ -91,14 +91,16 @@ define SetupCompileProperties
$$(addprefix _SPACE_, $$(PROPJAVAS)))))
# Now setup the rule for the generation of the resource bundles.
$(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE)/_the_props: $$(PROPSOURCES)
PROPS_BASE := $(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE)/_the_props
$$(PROPS_BASE): $$(PROPSOURCES)
$(MKDIR) -p $$(@D) $$(PROPDIRS)
$(FIND) $$(@D) -name "*.java" -a ! -name "*Properties.java" $(FIND_DELETE)
$(ECHO) Compiling $$(words $$(PROPSOURCES)) properties into resource bundles for $(MODULE)
$(TOOL_COMPILEPROPS_CMD) $$(PROPCMDLINE)
$$(call ExecuteWithLog, $$(PROPS_BASE)_exec, \
$(TOOL_COMPILEPROPS_CMD) $$(PROPCMDLINE))
$(TOUCH) $$@
$$(strip $1) += $(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE)/_the_props
$$(strip $1) += $$(PROPS_BASE)
endef
################################################################################

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 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
@@ -99,6 +99,9 @@ ifeq ($(call check-jvm-feature, compiler2), true)
ADLCFLAGS += -DAIX=1
else ifeq ($(OPENJDK_TARGET_OS), macosx)
ADLCFLAGS += -D_ALLBSD_SOURCE=1 -D_GNU_SOURCE=1
ifeq ($(HOTSPOT_TARGET_CPU_ARCH), aarch64)
ADLCFLAGS += -DR18_RESERVED
endif
else ifeq ($(OPENJDK_TARGET_OS), windows)
ifeq ($(call isTargetCpuBits, 64), true)
ADLCFLAGS += -D_WIN64=1

View File

@@ -44,10 +44,9 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
# Reset targets so we don't build libjvm.
TARGETS :=
# Helper macro to convert a unix path to a Windows path, suitable for
# inclusion in a command line.
FixPath = \
$(strip $(subst \,\\,$(shell $(CYGPATH) -w $1)))
ifeq ($(call isBuildOsEnv, windows.cygwin windows.msys2), true)
FixLinuxExecutable = $(call FixPath, $1)
endif
JVM_DEFINES_client := $(patsubst -D%,%, $(filter -D%, $(JVM_CFLAGS)))
EXTRACTED_DEFINES_client := $(addprefix -define , $(JVM_DEFINES_client))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 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
@@ -55,6 +55,9 @@ endif
# Disabling undef, switch, format-nonliteral and tautological-undefined-compare
# warnings for clang because of test source.
# Disable MSVC warning C4146 "unary minus operator applied to unsigned type,
# result still unsigned". This operation is well-defined.
# Solaris: Disable inlining (+d) to workaround Assertion: (../lnk/vardescr.h, line 109)
$(eval $(call SetupNativeCompilation, BUILD_GTEST_LIBJVM, \
NAME := jvm, \
@@ -74,10 +77,11 @@ $(eval $(call SetupNativeCompilation, BUILD_GTEST_LIBJVM, \
CFLAGS_windows := -EHsc, \
CFLAGS_solaris := -DGTEST_HAS_EXCEPTIONS=0 -library=stlport4 +d, \
CFLAGS_macosx := -DGTEST_OS_MAC=1, \
DISABLED_WARNINGS_gcc := undef, \
DISABLED_WARNINGS_gcc := undef stringop-overflow, \
DISABLED_WARNINGS_clang := undef switch format-nonliteral \
tautological-undefined-compare $(BUILD_LIBJVM_DISABLED_WARNINGS_clang), \
DISABLED_WARNINGS_solstudio := identexpected, \
DISABLED_WARNINGS_microsoft := 4146, \
LDFLAGS := $(JVM_LDFLAGS), \
LDFLAGS_solaris := -library=stlport4 $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(JVM_LIBS), \

View File

@@ -148,6 +148,8 @@ JVM_STRIPFLAGS ?= $(STRIPFLAGS)
################################################################################
# Now set up the actual compilation of the main hotspot native library
# Disable MSVC warning C4146 "unary minus operator applied to unsigned type,
# result still unsigned". This operation is well-defined.
$(eval $(call SetupNativeCompilation, BUILD_LIBJVM, \
NAME := jvm, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
@@ -164,6 +166,7 @@ $(eval $(call SetupNativeCompilation, BUILD_LIBJVM, \
DISABLED_WARNINGS_solstudio := $(DISABLED_WARNINGS_solstudio), \
DISABLED_WARNINGS_xlc := 1540-0216 1540-0198 1540-1090 1540-1639 \
1540-1088 1500-010, \
DISABLED_WARNINGS_microsoft := 4146, \
ASFLAGS := $(JVM_ASFLAGS), \
LDFLAGS := $(JVM_LDFLAGS), \
LIBS := $(JVM_LIBS), \

View File

@@ -32,7 +32,7 @@ $(foreach v, $(JVM_VARIANTS), \
$(eval $(call SetupCopyFiles, COPY_GTEST_$v, \
SRC := $(HOTSPOT_OUTPUTDIR)/variant-$v/libjvm/gtest, \
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
FILES := $(call SHARED_LIBRARY,jvm) gtestLauncher$(EXE_SUFFIX), \
FILES := $(call SHARED_LIBRARY,jvm) gtestLauncher$(EXECUTABLE_SUFFIX), \
)) \
$(eval TARGETS += $$(COPY_GTEST_$v)) \
)
@@ -41,7 +41,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
$(foreach v, $(JVM_VARIANTS), \
$(eval $(call SetupCopyFiles, COPY_GTEST_MSVCR_$v, \
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
FILES := $(MSVCR_DLL) $(MSVCP_DLL), \
FILES := $(MSVCR_DLL) $(VCRUNTIME_1_DLL) $(MSVCP_DLL), \
FLATTEN := true, \
)) \
$(eval TARGETS += $$(COPY_GTEST_MSVCR_$v)) \

View File

@@ -26,7 +26,7 @@ else #with SPEC
$(ECHO) "MODULE_NAMES=\"$(strip $(foreach mod, $(SEL_MODULES), $(mod)))\"" >> $(OUT)
$(ECHO) "SEL_MODULES=\"$(SEL_MODULES)\"" >> $(OUT)
$(ECHO) "BOOT_JDK=\"$(BOOT_JDK)\"" >> $(OUT)
$(ECHO) "CYGPATH=\"$(CYGPATH)\"" >> $(OUT)
$(ECHO) "CYGPATH=\"$(PATHTOOL)\"" >> $(OUT)
$(ECHO) "SPEC=\"$(SPEC)\"" >> $(OUT)
$(ECHO) "JT_HOME=\"$(JT_HOME)\"" >> $(OUT)

View File

@@ -1819,7 +1819,7 @@ OUTER: for (int i = 0; i < n; i += m) {
}
commentStart = (Csyntax ? "/*" : "//");
commentEnd = (Csyntax ? " */" : "");
commandLineDescription = desc.toString();
commandLineDescription = desc.toString().replace("\\", "\\\\");
}
private static void searchBins(long[] map, int binsOccupied) throws Exception {

View File

@@ -119,9 +119,7 @@ define SetupBuildLauncherBody
$1_LIBS :=
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($$($1_MACOSX_PRIVILEGED), true)
$1_PLIST_SRC_FILE := Info-privileged.plist
else
$1_PLIST_SRC_FILE := Info-cmdline.plist
$1_PLIST_EXTRA := <key>SecTaskAccess</key><string>allowed</string>
endif
$1_CFLAGS += -DPACKAGE_PATH='"$(PACKAGE_PATH)"'
@@ -129,11 +127,13 @@ define SetupBuildLauncherBody
$1_PLIST_FILE := $$(SUPPORT_OUTPUTDIR)/native/$$(MODULE)/$1/Info.plist
$$(eval $$(call SetupTextFileProcessing, BUILD_PLIST_$1, \
SOURCE_FILES := $$(TOPDIR)/src/java.base/macosx/native/launcher/$$($1_PLIST_SRC_FILE), \
SOURCE_FILES := $(TOPDIR)/make/data/bundle/cmdline-Info.plist, \
OUTPUT_FILE := $$($1_PLIST_FILE), \
REPLACEMENTS := \
@@ID@@ => $(MACOSX_BUNDLE_ID_BASE).$(VERSION_SHORT).$1 ; \
@@ID@@ => $(MACOSX_BUNDLE_ID_BASE).$1 ; \
@@VERSION@@ => $(VERSION_NUMBER) ; \
@@BUILD_VERSION@@ => $(MACOSX_BUNDLE_BUILD_VERSION) ; \
@@EXTRA@@ => $$($1_PLIST_EXTRA), \
))
$1_LDFLAGS += -Wl,-all_load -sectcreate __TEXT __info_plist $$($1_PLIST_FILE)
@@ -215,4 +215,8 @@ define SetupBuildLauncherBody
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, java, /libjava) \
$$($1_WINDOWS_JLI_LIB)
endif
ifeq ($(call isTargetOs, macosx), true)
$$(BUILD_LAUNCHER_$1): $$($1_PLIST_FILE)
endif
endef

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, 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
@@ -28,6 +28,7 @@ $(eval $(call IncludeCustomExtension, lib/Awt2dLibraries-pre.gmk))
WIN_AWT_LIB := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt/awt.lib
LIBAWT_DEFAULT_HEADER_DIRS := \
common/awt/utility \
libawt/awt/image \
libawt/awt/image/cvutils \
libawt/java2d \
@@ -433,7 +434,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(CFLAGS_JDKLIB), \
HEADERS_FROM_SRC := $(LIBJPEG_HEADERS_FROM_SRC), \
DISABLED_WARNINGS_gcc := clobbered implicit-fallthrough shift-negative-value, \
DISABLED_WARNINGS_gcc := clobbered implicit-fallthrough shift-negative-value array-bounds, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(LIBJPEG_LIBS) $(JDKLIB_LIBS), \
@@ -542,8 +543,9 @@ ifeq ($(USE_EXTERNAL_HARFBUZZ), true)
else
LIBFONTMANAGER_EXTRA_SRC = libharfbuzz
HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
# Modern HarfBuzz requires c++11; but VS does not have the flag
ifneq ($(OPENJDK_TARGET_OS), windows)
HARFBUZZ_CXXFLAGS := -std=c++11
HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
-DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H \
-DHB_NO_PRAGMA_GCC_DIAGNOSTIC
@@ -559,10 +561,10 @@ else
HARFBUZZ_DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing
HARFBUZZ_DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
maybe-uninitialized class-memaccess
maybe-uninitialized class-memaccess unused-result extra
HARFBUZZ_DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
tautological-constant-out-of-range-compare int-to-pointer-cast \
undef missing-field-initializers
undef missing-field-initializers deprecated-declarations c++11-narrowing range-loop-analysis
HARFBUZZ_DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138
HARFBUZZ_DISABLED_WARNINGS_C_solstudio := \
E_INTEGER_OVERFLOW_DETECTED \
@@ -576,11 +578,11 @@ else
endif
LIBFONTMANAGER_EXTRA_HEADER_DIRS := \
libharfbuzz \
libharfbuzz/hb-ucdn \
common/awt \
common/awt/utility \
common/font \
libawt/java2d \
libawt/java2d/pipe \
@@ -592,6 +594,14 @@ BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS)
LIBFONTMANAGER_OPTIMIZATION := HIGHEST
ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), )
# gcc (and to an extent clang) is particularly bad at optimizing these files,
# causing a massive spike in compile time. We don't care about these
# particular files anyway, so lower optimization level.
BUILD_LIBFONTMANAGER_hb-subset.cc_OPTIMIZATION := SIZE
BUILD_LIBFONTMANAGER_hb-subset-plan.cc_OPTIMIZATION := SIZE
endif
ifeq ($(OPENJDK_TARGET_OS), windows)
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
X11TextRenderer.c
@@ -624,7 +634,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
AccelGlyphCache.c, \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS) $(HARFBUZZ_CXXFLAGS), \
OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
CFLAGS_windows = -DCC_NOEX, \
EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
@@ -669,6 +679,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
LIBJAWT_EXTRA_HEADER_DIRS := \
include \
common/awt/debug \
common/awt/utility \
libawt/awt/image/cvutils \
libawt/java2d \
libawt/java2d/windows \
@@ -767,6 +778,8 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
common/awt/systemscale \
#
LIBSPLASHSCREEN_HEADER_DIRS += common/awt/utility
ifeq ($(USE_EXTERNAL_LIBGIF), false)
LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/giflib
else
@@ -802,6 +815,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
ifeq ($(USE_EXTERNAL_LIBZ), false)
LIBSPLASHSCREEN_EXTRA_SRC += java.base:libzip/zlib
LIBZ_DISABLED_WARNINGS_CLANG := format-nonliteral
endif
ifeq ($(OPENJDK_TARGET_OS), macosx)
@@ -861,7 +875,8 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
EXTRA_HEADER_DIRS := $(LIBSPLASHSCREEN_HEADER_DIRS), \
DISABLED_WARNINGS_gcc := sign-compare type-limits unused-result \
maybe-uninitialized shift-negative-value implicit-fallthrough, \
DISABLED_WARNINGS_clang := incompatible-pointer-types, \
DISABLED_WARNINGS_clang := incompatible-pointer-types deprecated-declarations \
$(LIBZ_DISABLED_WARNINGS_CLANG), \
DISABLED_WARNINGS_solstudio := E_NEWLINE_NOT_LAST E_DECLARATION_IN_CODE \
E_STATEMENT_NOT_REACHED, \
DISABLED_WARNINGS_microsoft := 4018 4244 4267, \

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
@@ -149,6 +149,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \
$(LIBZ_CFLAGS), \
CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \
DISABLED_WARNINGS_gcc := unused-function implicit-fallthrough, \
DISABLED_WARNINGS_clang := format-nonliteral, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -ljvm -ljava $(LIBZ_LIBS), \
@@ -211,6 +212,9 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)
# Supply the name of the C runtime lib.
LIBJLI_CFLAGS += -DMSVCR_DLL_NAME='"$(notdir $(MSVCR_DLL))"'
ifneq ($(VCRUNTIME_1_DLL), )
LIBJLI_CFLAGS += -DVCRUNTIME_1_DLL_NAME='"$(notdir $(VCRUNTIME_1_DLL))"'
endif
ifneq ($(MSVCP_DLL), )
LIBJLI_CFLAGS += -DMSVCP_DLL_NAME='"$(notdir $(MSVCP_DLL))"'
endif

View File

@@ -36,7 +36,7 @@ else ifeq ($(OPENJDK_TARGET_OS), solaris)
SA_LDFLAGS := -mt
else ifeq ($(OPENJDK_TARGET_OS), macosx)
SA_CFLAGS := -Damd64 -D_GNU_SOURCE -mno-omit-leaf-frame-pointer \
SA_CFLAGS := -D_GNU_SOURCE -mno-omit-leaf-frame-pointer \
-mstack-alignment=16 -fPIC
LIBSA_EXTRA_SRC := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.hotspot.agent
else ifeq ($(OPENJDK_TARGET_OS), windows)

View File

@@ -34,6 +34,9 @@ if [ -z "$TOPDIR" ]; then
exit 1
fi
# Make sure all shell commands are executed with the C locale
export LC_ALL=C
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
FULLDUMP_CMD="$OTOOL -v -V -h -X -d"
LDD_CMD="$OTOOL -L"
@@ -81,7 +84,7 @@ diff_text() {
if [[ "$THIS_FILE" = *"META-INF/MANIFEST.MF" ]]; then
# Filter out date string, ant version and java version differences.
TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
TMP=$($DIFF $OTHER_FILE $THIS_FILE | \
$GREP '^[<>]' | \
$SED -e '/[<>] Ant-Version: Apache Ant .*/d' \
-e '/[<>] Created-By: .* (Oracle [Corpatin)]*/d' \
@@ -89,7 +92,7 @@ diff_text() {
-e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d')
fi
if test "x$SUFFIX" = "xjava"; then
TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
TMP=$($DIFF $OTHER_FILE $THIS_FILE | \
$GREP '^[<>]' | \
$SED -e '/[<>] \* from.*\.idl/d' \
-e '/[<>] .*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \
@@ -144,7 +147,7 @@ diff_text() {
fi
if test "x$SUFFIX" = "xproperties"; then
# Filter out date string differences.
TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
TMP=$($DIFF $OTHER_FILE $THIS_FILE | \
$GREP '^[<>]' | \
$SED -e '/[<>].*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d')
fi
@@ -154,7 +157,7 @@ diff_text() {
-e 's/<font size=-1>/<font size=\"-1\">/g'"
$CAT $THIS_FILE | eval "$HTML_FILTER" > $THIS_FILE.filtered
$CAT $OTHER_FILE | eval "$HTML_FILTER" > $OTHER_FILE.filtered
TMP=$(LC_ALL=C $DIFF $OTHER_FILE.filtered $THIS_FILE.filtered | \
TMP=$($DIFF $OTHER_FILE.filtered $THIS_FILE.filtered | \
$GREP '^[<>]' | \
$SED -e '/[<>] <!-- Generated by javadoc .* on .* -->/d' \
-e '/[<>] <meta name="date" content=".*">/d' )
@@ -481,11 +484,11 @@ compare_zip_file() {
CONTENTS_DIFF_FILE=$WORK_DIR/$ZIP_FILE.diff
# On solaris, there is no -q option.
if [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
LC_ALL=C $DIFF -r $OTHER_UNZIPDIR $THIS_UNZIPDIR \
$DIFF -r $OTHER_UNZIPDIR $THIS_UNZIPDIR \
| $GREP -v -e "^<" -e "^>" -e "^Common subdirectories:" \
> $CONTENTS_DIFF_FILE
else
LC_ALL=C $DIFF -rq $OTHER_UNZIPDIR $THIS_UNZIPDIR > $CONTENTS_DIFF_FILE
$DIFF -rq $OTHER_UNZIPDIR $THIS_UNZIPDIR > $CONTENTS_DIFF_FILE
fi
ONLY_OTHER=$($GREP "^Only in $OTHER_UNZIPDIR" $CONTENTS_DIFF_FILE)
@@ -532,11 +535,11 @@ compare_zip_file() {
if [ -n "$SHOW_DIFFS" ]; then
for i in $(cat $WORK_DIR/$ZIP_FILE.difflist) ; do
if [ -f "${OTHER_UNZIPDIR}/$i.javap" ]; then
LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i.javap ${THIS_UNZIPDIR}/$i.javap
$DIFF ${OTHER_UNZIPDIR}/$i.javap ${THIS_UNZIPDIR}/$i.javap
elif [ -f "${OTHER_UNZIPDIR}/$i.cleaned" ]; then
LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i.cleaned ${THIS_UNZIPDIR}/$i
$DIFF ${OTHER_UNZIPDIR}/$i.cleaned ${THIS_UNZIPDIR}/$i
else
LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i ${THIS_UNZIPDIR}/$i
$DIFF ${OTHER_UNZIPDIR}/$i ${THIS_UNZIPDIR}/$i
fi
done
fi
@@ -776,7 +779,7 @@ compare_bin_file() {
> $WORK_FILE_BASE.symbols.this
fi
LC_ALL=C $DIFF $WORK_FILE_BASE.symbols.other $WORK_FILE_BASE.symbols.this > $WORK_FILE_BASE.symbols.diff
$DIFF $WORK_FILE_BASE.symbols.other $WORK_FILE_BASE.symbols.this > $WORK_FILE_BASE.symbols.diff
if [ -s $WORK_FILE_BASE.symbols.diff ]; then
SYM_MSG=" diff "
if [[ "$ACCEPTED_SYM_DIFF" != *"$BIN_FILE"* ]]; then
@@ -816,9 +819,9 @@ compare_bin_file() {
| $UNIQ > $WORK_FILE_BASE.deps.this.uniq)
(cd $FILE_WORK_DIR && $RM -f $NAME)
LC_ALL=C $DIFF $WORK_FILE_BASE.deps.other $WORK_FILE_BASE.deps.this \
$DIFF $WORK_FILE_BASE.deps.other $WORK_FILE_BASE.deps.this \
> $WORK_FILE_BASE.deps.diff
LC_ALL=C $DIFF $WORK_FILE_BASE.deps.other.uniq $WORK_FILE_BASE.deps.this.uniq \
$DIFF $WORK_FILE_BASE.deps.other.uniq $WORK_FILE_BASE.deps.this.uniq \
> $WORK_FILE_BASE.deps.diff.uniq
if [ -s $WORK_FILE_BASE.deps.diff ]; then
@@ -868,7 +871,7 @@ compare_bin_file() {
> $WORK_FILE_BASE.fulldump.this 2>&1 &
wait
LC_ALL=C $DIFF $WORK_FILE_BASE.fulldump.other $WORK_FILE_BASE.fulldump.this \
$DIFF $WORK_FILE_BASE.fulldump.other $WORK_FILE_BASE.fulldump.this \
> $WORK_FILE_BASE.fulldump.diff
if [ -s $WORK_FILE_BASE.fulldump.diff ]; then
@@ -915,7 +918,7 @@ compare_bin_file() {
| eval "$this_DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.this 2>&1 &
wait
LC_ALL=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff
$DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff
if [ -s $WORK_FILE_BASE.dis.diff ]; then
DIS_DIFF_SIZE=$(ls -n $WORK_FILE_BASE.dis.diff | awk '{print $5}')

View File

@@ -0,0 +1,49 @@
@echo off
REM
REM Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
REM
REM This code is free software; you can redistribute it and/or modify it
REM under the terms of the GNU General Public License version 2 only, as
REM published by the Free Software Foundation.
REM
REM This code is distributed in the hope that it will be useful, but WITHOUT
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
REM version 2 for more details (a copy is included in the LICENSE file that
REM accompanied this code).
REM
REM You should have received a copy of the GNU General Public License version
REM 2 along with this work; if not, write to the Free Software Foundation,
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
REM
REM Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
REM or visit www.oracle.com if you need additional information or have any
REM questions.
REM
REM
set vcvarscmd=%1
set output=%2
if not "%3" == "auto" set version=-vcvars_ver=%3
set PATH_BEFORE=%PATH%
call %vcvarscmd% %version% %4 %5 %6 %7 %8 %9
if exist %output% del %output%
call :extract "%PATH_BEFORE%", PATH_BEFORE
call :extract "%PATH%", PATH_AFTER
call :extract "%INCLUDE%", VS_INCLUDE
call :extract "%LIB%", VS_LIB
call :extract "%VCINSTALLDIR%", VCINSTALLDIR
call :extract "%VCToolsRedistDir%", VCToolsRedistDir
call :extract "%WindowsSdkDir%", WindowsSdkDir
call :extract "%WINDOWSSDKDIR%", WINDOWSSDKDIR
exit /b 0
:extract
echo %~2=$($BASH $TOPDIR/make/scripts/fixpath.sh -i import '%~1 ') >> %output%
exit /b 0

512
make/scripts/fixpath.sh Normal file
View File

@@ -0,0 +1,512 @@
#!/bin/bash
#
# 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
# 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 environment fixpath assumes. Read from command line options if
# available, or extract values automatically from the environment if missing.
# This is robust, but slower.
function setup() {
# Make regexp tests case insensitive
shopt -s nocasematch
# Prohibit msys2 from meddling with paths
export MSYS2_ARG_CONV_EXCL="*"
# Make sure WSL gets a copy of the path
export WSLENV=PATH/l
while getopts "e:p:r:t:c:qmi" opt; do
case "$opt" in
e) PATHTOOL="$OPTARG" ;;
p) DRIVEPREFIX="$OPTARG" ;;
r) ENVROOT="$OPTARG" ;;
t) WINTEMP="$OPTARG" ;;
c) CMD="$OPTARG" ;;
q) QUIET=true ;;
m) MIXEDMODE=true ;;
i) IGNOREFAILURES=true ;;
?)
# optargs found argument error
exit 2
;;
esac
done
shift $((OPTIND-1))
ACTION="$1"
# Locate variables ourself if not giving from caller
if [[ -z ${PATHTOOL+x} ]]; then
PATHTOOL="$(type -p cygpath)"
if [[ $PATHTOOL == "" ]]; then
PATHTOOL="$(type -p wslpath)"
if [[ $PATHTOOL == "" ]]; then
if [[ $QUIET != true ]]; then
echo fixpath: failure: Cannot locate cygpath or wslpath >&2
fi
exit 2
fi
fi
fi
if [[ -z ${DRIVEPREFIX+x} ]]; then
winroot="$($PATHTOOL -u c:/)"
DRIVEPREFIX="${winroot%/c/}"
else
if [[ $DRIVEPREFIX == "NONE" ]]; then
DRIVEPREFIX=""
fi
fi
if [[ -z ${ENVROOT+x} ]]; then
unixroot="$($PATHTOOL -w / 2> /dev/null)"
# Remove trailing backslash
ENVROOT="${unixroot%\\}"
elif [[ "$ENVROOT" == "[unavailable]" ]]; then
ENVROOT=""
fi
if [[ -z ${CMD+x} ]]; then
CMD="$DRIVEPREFIX/c/windows/system32/cmd.exe"
fi
if [[ -z ${WINTEMP+x} ]]; then
wintemp_win="$($CMD /q /c echo %TEMP% 2>/dev/null | tr -d \\n\\r)"
WINTEMP="$($PATHTOOL -u "$wintemp_win")"
fi
}
# Cleanup handling
TEMPDIRS=""
trap "cleanup" EXIT
function cleanup() {
if [[ "$TEMPDIRS" != "" ]]; then
rm -rf $TEMPDIRS
fi
}
# Import a single path
# Result: imported path returned in $result
function import_path() {
path="$1"
# Strip trailing and leading space
path="${path#"${path%%[![:space:]]*}"}"
path="${path%"${path##*[![:space:]]}"}"
if [[ $path =~ ^.:[/\\].*$ ]] || [[ "$path" =~ ^"$ENVROOT"\\.*$ ]] ; then
# We got a Windows path as input; use pathtool to convert to unix path
path="$($PATHTOOL -u "$path")"
# Path will now be absolute
else
# Make path absolute, and resolve embedded '..' in path
dirpart="$(dirname "$path")"
dirpart="$(cd "$dirpart" 2>&1 > /dev/null && pwd)"
if [[ $? -ne 0 ]]; then
if [[ $QUIET != true ]]; then
echo fixpath: failure: Directory containing path "'"$path"'" does not exist >&2
fi
if [[ $IGNOREFAILURES != true ]]; then
exit 1
else
path=""
fi
else
basepart="$(basename "$path")"
if [[ $dirpart == / ]]; then
# Avoid double leading /
dirpart=""
fi
if [[ $basepart == / ]]; then
# Avoid trailing /
basepart=""
fi
path="$dirpart/$basepart"
fi
fi
if [[ "$path" != "" ]]; then
# Now turn it into a windows path
winpath="$($PATHTOOL -w "$path" 2>/dev/null)"
# If it fails, try again with an added .exe (needed on WSL)
if [[ $? -ne 0 ]]; then
winpath="$($PATHTOOL -w "$path.exe" 2>/dev/null)"
fi
if [[ $? -eq 0 ]]; then
if [[ ! "$winpath" =~ ^"$ENVROOT"\\.*$ ]] ; then
# If it is not in envroot, it's a generic windows path
if [[ ! $winpath =~ ^[-_.:\\a-zA-Z0-9]*$ ]] ; then
# Path has forbidden characters, rewrite as short name
# This monster of a command uses the %~s support from cmd.exe to
# reliably convert to short paths on all winenvs.
shortpath="$($CMD /q /c for %I in \( "$winpath" \) do echo %~sI 2>/dev/null | tr -d \\n\\r)"
path="$($PATHTOOL -u "$shortpath")"
# Path is now unix style, based on short name
fi
# Make it lower case
path="$(echo "$path" | tr [:upper:] [:lower:])"
fi
else
# On WSL1, PATHTOOL will fail for files in envroot. If the unix path
# exists, we assume that $path is a valid unix path.
if [[ ! -e $path ]]; then
if [[ -e $path.exe ]]; then
path="$path.exe"
else
if [[ $QUIET != true ]]; then
echo fixpath: warning: Path "'"$path"'" does not exist >&2
fi
# This is not a fatal error, maybe the path will be created later on
fi
fi
fi
fi
if [[ "$path" =~ " " ]]; then
# Our conversion attempts failed. Perhaps the path did not exists, and thus
# we could not convert it to short name.
if [[ $QUIET != true ]]; then
echo fixpath: failure: Path "'"$path"'" contains space >&2
fi
if [[ $IGNOREFAILURES != true ]]; then
exit 1
else
path=""
fi
fi
result="$path"
}
# Import a single path, or a pathlist in Windows style (i.e. ; separated)
# Incoming paths can be in Windows or unix style.
# Returns in $result a converted path or path list
function import_command_line() {
imported=""
old_ifs="$IFS"
IFS=";"
for arg in $1; do
if ! [[ $arg =~ ^" "+$ ]]; then
import_path "$arg"
if [[ "$result" != "" && "$imported" = "" ]]; then
imported="$result"
else
imported="$imported:$result"
fi
fi
done
IFS="$old_ifs"
result="$imported"
}
# If argument seems to be colon separated path list, and all elements
# are possible to convert to paths, make a windows path list
# Return 0 if successful with converted path list in $result, or
# 1 if it was not a path list.
function convert_pathlist() {
converted_list=""
pathlist_args="$1"
IFS=':' read -r -a arg_array <<< "$pathlist_args"
for arg in "${arg_array[@]}"; do
winpath=""
# Start looking for drive prefix
if [[ $arg =~ ^($DRIVEPREFIX/)([a-z])(/[^/]+.*$) ]] ; then
winpath="${BASH_REMATCH[2]}:${BASH_REMATCH[3]}"
# Change slash to backslash (or vice versa if mixed mode)
if [[ $MIXEDMODE != true ]]; then
winpath="${winpath//'/'/'\'}"
else
winpath="${winpath//'\'/'/'}"
fi
elif [[ $arg =~ ^(/[-_.*a-zA-Z0-9]+(/[-_.*a-zA-Z0-9]+)+.*$) ]] ; then
# This looks like a unix path, like /foo/bar
pathmatch="${BASH_REMATCH[1]}"
if [[ $ENVROOT == "" ]]; then
if [[ $QUIET != true ]]; then
echo fixpath: failure: Path "'"$pathmatch"'" cannot be converted to Windows path >&2
fi
exit 1
fi
winpath="$ENVROOT$pathmatch"
# Change slash to backslash (or vice versa if mixed mode)
if [[ $MIXEDMODE != true ]]; then
winpath="${winpath//'/'/'\'}"
else
winpath="${winpath//'\'/'/'}"
fi
else
# This does not look like a path, so assume this is not a proper pathlist.
# Flag this to caller.
result=""
return 1
fi
if [[ "$converted_list" = "" ]]; then
converted_list="$winpath"
else
converted_list="$converted_list;$winpath"
fi
done
result="$converted_list"
return 0
}
# The central conversion function. Convert a single argument, so that any
# contained paths are converted to Windows style paths. Result is returned
# in $result. If it is a path list, convert it as one.
function convert_path() {
if [[ $1 =~ : ]]; then
convert_pathlist "$1"
if [[ $? -eq 0 ]]; then
return 0
fi
# Not all elements was possible to convert to Windows paths, so we
# presume it is not a pathlist. Continue using normal conversion.
fi
arg="$1"
winpath=""
# Start looking for drive prefix. Also allow /xxxx prefixes (typically options
# for Visual Studio tools), and embedded file:// URIs.
if [[ $arg =~ ^([^/]*|.*file://|/[a-zA-Z:]{1,3}:?)($DRIVEPREFIX/)([a-z])(/[^/]+.*$) ]] ; then
prefix="${BASH_REMATCH[1]}"
winpath="${BASH_REMATCH[3]}:${BASH_REMATCH[4]}"
# If the thing in its entirety points to an existing path, use that instead of thinking
# we have a prefix. This can only happen if the top-level directory has a single-letter name.
if [[ ${#prefix} -eq 2 && "${prefix:0:1}" == "/" ]]; then
possiblepath="${BASH_REMATCH[1]}/${BASH_REMATCH[3]}${BASH_REMATCH[4]}"
if [[ -e "$possiblepath" || -e "$(dirname $possiblepath)" || -e "$(echo $possiblepath | cut -d / -f 1-5)" ]] ; then
prefix=
drivepart="${possiblepath:1:1}"
pathpart="${possiblepath:2}"
winpath="$drivepart:$pathpart"
fi
fi
# Change slash to backslash (or vice versa if mixed mode)
if [[ $MIXEDMODE != true ]]; then
winpath="${winpath//'/'/'\'}"
else
winpath="${winpath//'\'/'/'}"
fi
elif [[ $arg =~ ^([^/]*|(.*file://))(/([-_.a-zA-Z0-9]+)(/[-_.a-zA-Z0-9]+)+)(.*)?$ ]] ; then
# This looks like a unix path, like /foo/bar. Also embedded file:// URIs.
prefix="${BASH_REMATCH[1]}"
pathmatch="${BASH_REMATCH[3]}"
firstdir="${BASH_REMATCH[4]}"
suffix="${BASH_REMATCH[6]}"
# We only believe this is a path if the first part is an existing directory
if [[ -d "/$firstdir" ]]; then
if [[ $ENVROOT == "" ]]; then
if [[ $QUIET != true ]]; then
echo fixpath: failure: Path "'"$pathmatch"'" cannot be converted to Windows path >&2
fi
exit 1
fi
winpath="$ENVROOT$pathmatch"
# Change slash to backslash (or vice versa if mixed mode)
if [[ $MIXEDMODE != true ]]; then
winpath="${winpath//'/'/'\'}"
else
winpath="${winpath//'\'/'/'}"
fi
winpath="$winpath$suffix"
fi
fi
if [[ $winpath != "" ]]; then
result="$prefix$winpath"
else
# Return the arg unchanged
result="$arg"
fi
}
# Treat $1 as name of a file containg paths. Convert those paths to Windows style,
# in a new temporary file, and return a string "@<temp file>" pointing to that
# new file.
function convert_at_file() {
infile="$1"
if [[ -e $infile ]] ; then
tempdir=$(mktemp -dt fixpath.XXXXXX -p "$WINTEMP")
TEMPDIRS="$TEMPDIRS $tempdir"
while read line; do
convert_path "$line"
echo "$result" >> $tempdir/atfile
done < $infile
convert_path "$tempdir/atfile"
result="@$result"
else
result="@$infile"
fi
}
# Convert an entire command line, replacing all unix paths with Windows paths,
# and all unix-style path lists (colon separated) with Windows-style (semicolon
# separated).
function print_command_line() {
converted_args=""
for arg in "$@" ; do
if [[ $arg =~ ^@(.*$) ]] ; then
# This is an @-file with paths that need converting
convert_at_file "${BASH_REMATCH[1]}"
else
convert_path "$arg"
fi
converted_args="$converted_args$result "
done
result="${converted_args% }"
}
# Check if the winenv will allow us to start a Windows program when we are
# standing in the current directory
function verify_current_dir() {
arg="$PWD"
if [[ $arg =~ ^($DRIVEPREFIX/)([a-z])(/[^/]+.*$) ]] ; then
return 0
elif [[ $arg =~ ^(/[^/]+.*$) ]] ; then
if [[ $ENVROOT == "" || $ENVROOT =~ ^\\\\.* ]]; then
# This is a WSL1 or WSL2 environment
return 1
fi
return 0
fi
# This should not happen
return 1
}
# The core functionality of fixpath. Take the given command line, and convert
# it and execute it, so that all paths are converted to Windows style.
# The return code is the return code of the executed command.
function exec_command_line() {
# Check that Windows can handle our current directory (only an issue for WSL)
verify_current_dir
if [[ $? -ne 0 ]]; then
# WSL1 will just forcefully put us in C:\Windows\System32 if we execute this from
# a unix directory. WSL2 will do the same, and print a warning. In both cases,
# we prefer to take control.
cd "$WINTEMP"
if [[ $QUIET != true ]]; then
echo fixpath: warning: Changing directory to $WINTEMP >&2
fi
fi
collected_args=()
command=""
for arg in "$@" ; do
if [[ $command == "" ]]; then
# We have not yet located the command to run
if [[ $arg =~ ^(.*)=(.*)$ ]]; then
# It's a leading env variable assignment (FOO=bar)
key="${BASH_REMATCH[1]}"
arg="${BASH_REMATCH[2]}"
convert_path "$arg"
# Set the variable to the converted result
export $key="$result"
# While this is only needed on WSL, it does not hurt to do everywhere
export WSLENV=$WSLENV:$key/w
else
# The actual command will be executed by bash, so don't convert it
command="$arg"
fi
else
# Now we are collecting arguments; they all need converting
if [[ $arg =~ ^@(.*$) ]] ; then
# This is an @-file with paths that need converting
convert_at_file "${BASH_REMATCH[1]}"
else
convert_path "$arg"
fi
collected_args=("${collected_args[@]}" "$result")
fi
done
# Now execute it
if [[ -v DEBUG_FIXPATH ]]; then
echo fixpath: debug: input: "$@" >&2
echo fixpath: debug: output: "$command" "${collected_args[@]}" >&2
fi
if [[ ! -e "$command" ]]; then
if [[ -e "$command.exe" ]]; then
command="$command.exe"
fi
fi
if [[ $ENVROOT != "" || ! -x /bin/grep ]]; then
"$command" "${collected_args[@]}"
else
# For WSL1, automatically strip away warnings from WSLENV=PATH/l
"$command" "${collected_args[@]}" 2> >(/bin/grep -v "ERROR: UtilTranslatePathList" 1>&2)
fi
}
# Check that the input represents a path that is reachable from Windows
function verify_command_line() {
arg="$1"
if [[ $arg =~ ^($DRIVEPREFIX/)([a-z])(/[^/]+.*$) ]] ; then
return 0
elif [[ $arg =~ ^(/[^/]+/[^/]+.*$) ]] ; then
if [[ $ENVROOT != "" ]]; then
return 0
fi
fi
return 1
}
#### MAIN FUNCTION
setup "$@"
# Shift away the options processed in setup
shift $((OPTIND))
if [[ "$ACTION" == "import" ]] ; then
import_command_line "$@"
echo "$result"
elif [[ "$ACTION" == "print" ]] ; then
print_command_line "$@"
echo "$result"
elif [[ "$ACTION" == "exec" ]] ; then
exec_command_line "$@"
# Propagate exit code
exit $?
elif [[ "$ACTION" == "verify" ]] ; then
verify_command_line "$@"
exit $?
else
if [[ $QUIET != true ]]; then
echo Unknown operation: "$ACTION" >&2
echo Supported operations: import print exec verify >&2
fi
exit 2
fi

View File

@@ -1,545 +0,0 @@
/*
* Copyright (c) 2011, 2014, 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.
*/
#include <Windows.h>
#include <io.h>
#include <stdio.h>
#include <string.h>
#include <malloc.h>
void report_error(char const * msg)
{
LPVOID lpMsgBuf;
DWORD dw = GetLastError();
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
dw,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0,
NULL);
fprintf(stderr,
"%s Failed with error %d: %s\n",
msg, dw, lpMsgBuf);
LocalFree(lpMsgBuf);
}
/*
* Test if pos points to /cygdrive/_/ where _ can
* be any character.
*/
int is_cygdrive_here(int pos, char const *in, int len)
{
// Length of /cygdrive/c/ is 12
if (pos+12 > len) return 0;
if (in[pos+11]=='/' &&
in[pos+9]=='/' &&
in[pos+8]=='e' &&
in[pos+7]=='v' &&
in[pos+6]=='i' &&
in[pos+5]=='r' &&
in[pos+4]=='d' &&
in[pos+3]=='g' &&
in[pos+2]=='y' &&
in[pos+1]=='c' &&
in[pos+0]=='/') {
return 1;
}
return 0;
}
/*
* Replace /cygdrive/_/ with _:/
* Works in place since drive letter is always
* shorter than /cygdrive/
*/
char *replace_cygdrive_cygwin(char const *in)
{
size_t len = strlen(in);
char *out = (char*) malloc(len+1);
int i,j;
if (len < 12) {
memmove(out, in, len + 1);
return out;
}
for (i = 0, j = 0; i<len;) {
if (is_cygdrive_here(i, in, len)) {
out[j++] = in[i+10];
out[j++] = ':';
i+=11;
} else {
out[j] = in[i];
i++;
j++;
}
}
out[j] = '\0';
return out;
}
void append(char **b, size_t *bl, size_t *u, char *add, size_t addlen)
{
while ((addlen+*u+1) > *bl) {
*bl *= 2;
*b = (char*) realloc(*b, *bl);
}
memcpy(*b+*u, add, addlen);
*u += addlen;
}
/*
* Creates a new string from in where the first occurrence of sub is
* replaced by rep.
*/
char *replace_substring(char *in, char *sub, char *rep)
{
int in_len = strlen(in);
int sub_len = strlen(sub);
int rep_len = strlen(rep);
char *out = (char *) malloc(in_len - sub_len + rep_len + 1);
char *p;
if (!(p = strstr(in, sub))) {
// If sub isn't a substring of in, just return in.
return in;
}
// Copy characters from beginning of in to start of sub.
strncpy(out, in, p - in);
out[p - in] = '\0';
sprintf(out + (p - in), "%s%s", rep, p + sub_len);
return out;
}
char* msys_path_list; // @-separated list of paths prefix to look for
char* msys_path_list_end; // Points to last \0 in msys_path_list.
void setup_msys_path_list(char const * argument)
{
char* p;
char* drive_letter_pos;
msys_path_list = strdup(&argument[2]);
msys_path_list_end = &msys_path_list[strlen(msys_path_list)];
// Convert all at-sign (@) in path list to \0.
// @ was chosen as separator to minimize risk of other tools messing around with it
p = msys_path_list;
do {
if (p[1] == ':') {
// msys has mangled our path list, restore it from c:/... to /c/...
drive_letter_pos = p+1;
*drive_letter_pos = *p;
*p = '/';
}
// Look for an @ in the list
p = strchr(p, '@');
if (p != NULL) {
*p = '\0';
p++;
}
} while (p != NULL);
}
char *replace_cygdrive_msys(char const *in)
{
char* str;
char* prefix;
char* p;
str = strdup(in);
// For each prefix in the path list, search for it and replace /c/... with c:/...
for (prefix = msys_path_list; prefix < msys_path_list_end && prefix != NULL; prefix += strlen(prefix)+1) {
p=str;
while ((p = strstr(p, prefix))) {
char* drive_letter = p+1;
*p = *drive_letter;
*drive_letter = ':';
p++;
}
}
return str;
}
char*(*replace_cygdrive)(char const *in) = NULL;
char *files_to_delete[1024];
int num_files_to_delete = 0;
char *fix_at_file(char const *in)
{
char *tmpdir;
char name[2048];
char *atname;
char *buffer;
size_t buflen=65536;
size_t used=0;
size_t len;
int rc;
FILE *atout;
FILE *atin;
char block[2048];
size_t blocklen;
char *fixed;
atin = fopen(in+1, "r");
if (atin == NULL) {
fprintf(stderr, "Could not read at file %s\n", in+1);
exit(-1);
}
tmpdir = getenv("TEMP");
if (tmpdir == NULL) {
#if _WIN64
tmpdir = "c:/cygwin64/tmp";
#else
tmpdir = "c:/cygwin/tmp";
#endif
}
_snprintf(name, sizeof(name), "%s\\atfile_XXXXXX", tmpdir);
rc = _mktemp_s(name, strlen(name)+1);
if (rc) {
fprintf(stderr, "Could not create temporary file name for at file!\n");
exit(-1);
}
atout = fopen(name, "w");
if (atout == NULL) {
fprintf(stderr, "Could not open temporary file for writing! %s\n", name);
exit(-1);
}
buffer = (char*) malloc(buflen);
while ((blocklen = fread(block, 1, sizeof(block), atin)) > 0) {
append(&buffer, &buflen, &used, block, blocklen);
}
buffer[used] = 0;
if (getenv("DEBUG_FIXPATH") != NULL) {
fprintf(stderr, "fixpath input from @-file %s: %s\n", &in[1], buffer);
}
fixed = replace_cygdrive(buffer);
if (getenv("DEBUG_FIXPATH") != NULL) {
fprintf(stderr, "fixpath converted to @-file %s is: %s\n", name, fixed);
}
fwrite(fixed, strlen(fixed), 1, atout);
fclose(atin);
fclose(atout);
free(fixed);
free(buffer);
files_to_delete[num_files_to_delete] = (char*) malloc(strlen(name)+1);
strcpy(files_to_delete[num_files_to_delete], name);
num_files_to_delete++;
atname = (char*) malloc(strlen(name)+2);
atname[0] = '@';
strcpy(atname+1, name);
return atname;
}
// given an argument, convert it to the windows command line safe quoted version
// using rules from:
// http://blogs.msdn.com/b/twistylittlepassagesallalike/archive/2011/04/23/everyone-quotes-arguments-the-wrong-way.aspx
// caller is responsible for freeing both input and output.
char * quote_arg(char const * in_arg) {
char *quoted = NULL;
char *current = quoted;
int pass;
if (strlen(in_arg) == 0) {
// empty string? explicitly quote it.
return _strdup("\"\"");
}
if (strpbrk(in_arg, " \t\n\v\r\\\"") == NULL) {
return _strdup(in_arg);
}
// process the arg twice. Once to calculate the size and then to copy it.
for (pass=1; pass<=2; pass++) {
char const *arg = in_arg;
// initial "
if (pass == 2) {
*current = '\"';
}
current++;
// process string to be quoted until NUL
do {
int escapes = 0;
while (*arg == '\\') {
// count escapes.
escapes++;
arg++;
}
if (*arg == '\0') {
// escape the escapes before final "
escapes *= 2;
} else if (*arg == '"') {
// escape the escapes and the "
escapes = escapes * 2 + 1;
} else {
// escapes aren't special, just echo them.
}
// emit some escapes
while (escapes > 0) {
if (pass == 2) {
*current = '\\';
}
current++;
escapes--;
}
// and the current char
if (pass == 2) {
*current = *arg;
}
current++;
} while (*arg++ != '\0');
// allocate the buffer
if (pass == 1) {
size_t alloc = (size_t) (current - quoted + (ptrdiff_t) 2);
current = quoted = (char*) calloc(alloc, sizeof(char));
}
}
// final " and \0
*(current - 1) = '"';
*current = '\0';
return quoted;
}
int main(int argc, char const ** argv)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
unsigned short rc;
char *line;
char *current;
int i, cmd;
DWORD exitCode = 0;
DWORD processFlags = 0;
BOOL processInheritHandles = TRUE;
BOOL waitForChild = TRUE;
if (argc<2 || argv[1][0] != '-' || (argv[1][1] != 'c' && argv[1][1] != 'm')) {
fprintf(stderr, "Usage: fixpath -c|m<path@path@...> [--detach] /cygdrive/c/WINDOWS/notepad.exe [/cygdrive/c/x/test.txt|@/cygdrive/c/x/atfile]\n");
exit(0);
}
if (getenv("DEBUG_FIXPATH") != NULL) {
char const * cmdline = GetCommandLine();
fprintf(stderr, "fixpath input line >%s<\n", strstr(cmdline, argv[1]));
}
if (argv[1][1] == 'c' && argv[1][2] == '\0') {
if (getenv("DEBUG_FIXPATH") != NULL) {
fprintf(stderr, "fixpath using cygwin mode\n");
}
replace_cygdrive = replace_cygdrive_cygwin;
} else if (argv[1][1] == 'm') {
if (getenv("DEBUG_FIXPATH") != NULL) {
fprintf(stderr, "fixpath using msys mode, with path list: %s\n", &argv[1][2]);
}
setup_msys_path_list(argv[1]);
replace_cygdrive = replace_cygdrive_msys;
} else {
fprintf(stderr, "fixpath Unknown mode: %s\n", argv[1]);
exit(-1);
}
if (argv[2][0] == '-') {
if (strcmp(argv[2], "--detach") == 0) {
if (getenv("DEBUG_FIXPATH") != NULL) {
fprintf(stderr, "fixpath in detached mode\n");
}
processFlags |= DETACHED_PROCESS;
processInheritHandles = FALSE;
waitForChild = FALSE;
} else {
fprintf(stderr, "fixpath Unknown argument: %s\n", argv[2]);
exit(-1);
}
i = 3;
} else {
i = 2;
}
// handle assignments
while (i < argc) {
char const * assignment = strchr(argv[i], '=');
if (assignment != NULL && assignment != argv[i]) {
size_t var_len = (size_t) (assignment - argv[i] + (ptrdiff_t) 1);
char *var = (char *) calloc(var_len, sizeof(char));
char *val = replace_cygdrive(assignment + 1);
memmove(var, argv[i], var_len);
var[var_len - 1] = '\0';
strupr(var);
if (getenv("DEBUG_FIXPATH") != NULL) {
fprintf(stderr, "fixpath setting var >%s< to >%s<\n", var, val);
}
rc = SetEnvironmentVariable(var, val);
if (!rc) {
// Could not set var for some reason. Try to report why.
const int msg_len = 80 + var_len + strlen(val);
char * msg = (char *) alloca(msg_len);
_snprintf_s(msg, msg_len, _TRUNCATE, "Could not set environment variable [%s=%s]", var, val);
report_error(msg);
exit(1);
}
free(var);
free(val);
} else {
// no more assignments;
break;
}
i++;
}
// remember index of the command
cmd = i;
// handle command and it's args.
while (i < argc) {
char const *replaced = replace_cygdrive(argv[i]);
if (replaced[0] == '@') {
if (waitForChild == FALSE) {
fprintf(stderr, "fixpath Cannot use @-files in detached mode: %s\n", replaced);
exit(1);
}
// Found at-file! Fix it!
replaced = fix_at_file(replaced);
}
argv[i] = quote_arg(replaced);
i++;
}
// determine the length of the line
line = NULL;
// args
for (i = cmd; i < argc; i++) {
line += (ptrdiff_t) strlen(argv[i]);
}
// spaces and null
line += (ptrdiff_t) (argc - cmd + 1);
// allocate
line = (char*) calloc(line - (char*) NULL, sizeof(char));
// copy in args.
current = line;
for (i = cmd; i < argc; i++) {
ptrdiff_t len = strlen(argv[i]);
if (i != cmd) {
*current++ = ' ';
}
memmove(current, argv[i], len);
current += len;
}
*current = '\0';
if (getenv("DEBUG_FIXPATH") != NULL) {
fprintf(stderr, "fixpath converted line >%s<\n", line);
}
if (cmd == argc) {
if (getenv("DEBUG_FIXPATH") != NULL) {
fprintf(stderr, "fixpath no command provided!\n");
}
exit(0);
}
ZeroMemory(&si, sizeof(si));
si.cb=sizeof(si);
ZeroMemory(&pi, sizeof(pi));
fflush(stderr);
fflush(stdout);
rc = CreateProcess(NULL,
line,
0,
0,
processInheritHandles,
processFlags,
NULL,
NULL,
&si,
&pi);
if (!rc) {
// Could not start process for some reason. Try to report why:
report_error("Could not start process!");
exit(126);
}
if (waitForChild == TRUE) {
WaitForSingleObject(pi.hProcess, INFINITE);
GetExitCodeProcess(pi.hProcess, &exitCode);
if (getenv("DEBUG_FIXPATH") != NULL) {
for (i=0; i<num_files_to_delete; ++i) {
fprintf(stderr, "fixpath Not deleting temporary file %s\n",
files_to_delete[i]);
}
} else {
for (i=0; i<num_files_to_delete; ++i) {
remove(files_to_delete[i]);
}
}
if (exitCode != 0) {
if (getenv("DEBUG_FIXPATH") != NULL) {
fprintf(stderr, "fixpath exit code %d\n",
exitCode);
}
}
} else {
if (getenv("DEBUG_FIXPATH") != NULL) {
fprintf(stderr, "fixpath Not waiting for child process");
}
}
exit(exitCode);
}

View File

@@ -83,6 +83,7 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
else
BUILD_JDK_JTREG_EXCLUDE += libTestMainKeyWindow.m
BUILD_JDK_JTREG_EXCLUDE += libTestDynamicStore.m
BUILD_JDK_JTREG_EXCLUDE += exeLibraryCache.c
endif
$(eval $(call SetupTestFilesCompilation, BUILD_JDK_JTREG_LIBRARIES, \

View File

@@ -86,7 +86,7 @@ define CreateFromTemplate
-e 's!{{CONF_NAME}}!$(CONF_NAME)!g' \
-e 's!{{COMPILER}}!$(call FixPath,$(CXX)) $(SYSROOT_CFLAGS)!g' \
-e 's!{{MAKE}}!$(call FixPath,$(MAKE))!g' \
-e 's!{{PATH}}!$(call FixPathList,$(PATH))!g' \
-e 's!{{PATH}}!$(call FixPath,$(PATH))!g' \
-e 's!{{DEBUGENGINENAME}}!$(call DebugEngineName)!g' \
-e '/{{INDEXER_EXTENSIONS}}/d' \
-e '/{{INDEXER_SETTINGS}}/d' \

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