Compare commits

...

374 Commits

Author SHA1 Message Date
Antonio Vieiro
1c80800a26 8340552: Harden TzdbZoneRulesCompiler against missing zone names
Reviewed-by: andrew
Backport-of: d70ea49243
2024-11-29 11:48:25 +00:00
RadekCap
874b25e641 8339637: (tz) Update Timezone Data to 2024b
Reviewed-by: andrew
Backport-of: fbc040cf8a
2024-11-27 22:22:24 +00:00
Antonio Vieiro
2155f8d22a 8339803: Acknowledge case insensitive unambiguous keywords in tzdata files
Reviewed-by: andrew
Backport-of: 0d7b2729e4
2024-11-27 14:54:06 +00:00
Andrew John Hughes
c99638d35c 8335801: [11u] Backport of 8210988 to 11u removes gcc warnings
Reviewed-by: phh
2024-11-13 00:57:51 +00:00
Daniel Hu
513a67a65f 8303920: Avoid calling out to python in DataDescriptorSignatureMissing test
Reviewed-by: andrew
Backport-of: 79349b8bb3
2024-11-12 21:57:00 +00:00
Jiří Vaněk
cf53387daf 8342629: [11u] Properly message out that shenandoah is disabled
Reviewed-by: andrew
2024-11-11 13:53:37 +00:00
Amos Shi
249144c02b 8225045: javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java fails on linux-x64
Backport-of: a483869a6a
2024-11-11 05:57:56 +00:00
Amos Shi
04e6f37d2c 8247706: Unintentional use of new Date(year...) with absolute year
Backport-of: 175b597ad2
2024-11-11 05:56:53 +00:00
Amos Shi
add90003d6 8232367: Update Reactive Streams to 1.0.3 -- tests only
Backport-of: 9f6af13f9d
2024-11-11 05:55:16 +00:00
Dan Lutker
827528c322 8339470: [17u] More defensive fix for 8163921
Backport-of: 6261dd7e38
2024-11-08 18:23:05 +00:00
SendaoYan
96805ae97b 8224624: Inefficiencies in CodeStrings::add_comment cause timeouts
Changing CodeStrings to a doubly-linked-list and searching for the comment with the right offset in reverse.

Backport-of: 7cff981f5a
2024-11-08 15:25:04 +00:00
SendaoYan
98161b7a9b 8334332: TestIOException.java fails if run by root
Reviewed-by: phh
Backport-of: 472b935b44
2024-11-04 23:32:46 +00:00
SendaoYan
9bf55020f0 8342426: [11u] javax/naming/module/RunBasic.java javac compile fails
Reviewed-by: andrew
2024-10-30 17:37:56 +00:00
Goetz Lindenmaier
8ba0341757 Merge 2024-10-16 11:34:10 +00:00
Andrew John Hughes
cee8535a9d 8341675: [11u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 11.0.25
Reviewed-by: clanger
2024-10-10 16:24:35 +02:00
Sergey Bylokhov
1393271305 8251188: Update LDAP tests not to use wildcard addresses
Reviewed-by: mbalao, andrew
Backport-of: a75edc29c6
2024-10-07 06:13:44 +00:00
Francisco Ferrari Bihurriet
86d5188b89 8332644: Improve graph optimizations
Reviewed-by: mbalao, andrew
Backport-of: 7c16d649a8118d2e7ee77cedba87e620c83294b4
2024-10-05 15:31:16 +02:00
Sergey Bylokhov
34a77a471b 8290367: Update default value and extend the scope of com.sun.jndi.ldap.object.trustSerialData system property
8332643: Better Location requests

Reviewed-by: yan, andrew
Backport-of: 7765942aee
2024-10-05 15:21:55 +02:00
Sergey Bylokhov
eb960ff6d4 8251188: Update LDAP tests not to use wildcard addresses
Reviewed-by: mbalao, andrew
Backport-of: a75edc29c6
2024-10-05 15:11:15 +02:00
Sergey Bylokhov
bd85b8729d 8211920: Close server socket and cleanups in test/jdk/javax/naming/module/RunBasic.java
Reviewed-by: yan, andrew
Backport-of: e61252dc27
2024-10-05 15:08:22 +02:00
Alexei Voitylov
56ded02fd8 8331446: Improve deserialization support
Reviewed-by: yan, mbalao, andrew
Backport-of: 8e4a392832f83e16d521024505b52c96d0a993f2
2024-10-05 14:37:24 +02:00
Alexey Bakhtin
51657d990a 8328726: Better Kerberos support
Reviewed-by: mbalao
Backport-of: 7325899a11f17bf4516d39495a12796385e459ed
2024-10-04 07:02:05 +02:00
Martin Balao
d73c162a85 8335713: Enhance vectorization analysis
Reviewed-by: roland
Backport-of: 3c05ad2290936ec9abc3f271cb6bf89e18c3eea7
2024-10-03 22:21:25 +02:00
Martin Balao
6ae4b326fa 8328544: Improve handling of vectorization
Reviewed-by: roland, yan
Backport-of: b5174c9159fbffdf335ee6835267ba0e674cf432
2024-10-03 22:04:12 +02:00
Alexey Bakhtin
2d393d8bb4 8328286: Enhance HTTP client
Reviewed-by: mbalao
Backport-of: cf8dc79f392c8ec3414d8b36803f026852c4e386
2024-10-03 21:53:21 +02:00
Alexey Bakhtin
68c131d590 8284585: PushPromiseContinuation test fails intermittently in timeout
Reviewed-by: mbalao
Backport-of: 65da38d844
2024-10-03 21:53:21 +02:00
Alexey Bakhtin
fe9c9c707b 8303965: java.net.http.HttpClient should reset the stream if response headers contain malformed header fields
Reviewed-by: mbalao
Backport-of: 466ffebcae
2024-10-03 21:53:21 +02:00
Alexey Bakhtin
445e79ea99 8263031: HttpClient throws Exception if it receives a Push Promise that is too large
Reviewed-by: mbalao
Backport-of: 4d2cd26ab5
2024-10-03 21:53:21 +02:00
Alexey Bakhtin
240b296234 8307383: Enhance DTLS connections
Reviewed-by: mbaesken, andrew
Backport-of: 362dbbaa952b3d4a5270c6bfae879a12e9bdf4d1
2024-10-03 21:53:21 +02:00
Antonio Vieiro
a754a3d897 8339644: Improve parsing of Day/Month in tzdata rules
Backport-of: 5faa0df6fb
2024-10-02 19:38:28 +00:00
Goetz Lindenmaier
6436749891 Merge 2024-10-02 08:26:50 +00:00
Goetz Lindenmaier
82c330b464 8341059: Change Entrust TLS distrust date to November 12, 2024
Backport-of: eced83e130
2024-10-01 13:37:14 +00:00
Goetz Lindenmaier
217b9fdf05 8341057: Add 2 SSL.com TLS roots
Reviewed-by: mbaesken
Backport-of: 824a297aae
2024-10-01 13:34:57 +00:00
Zdenek Zambersky
2232d1f7b4 8338402: GHA: some of bundles may not get removed
Backport-of: d8e4d3f2d6
2024-09-30 16:23:40 +00:00
Antonio
06d87ca659 8299254: Support dealing with standard assert macro
Reviewed-by: sgehwolf
Backport-of: 89dd23f2fa
2024-09-30 16:03:42 +00:00
Daniel Hu
015796747f 8316193: jdk/jfr/event/oldobject/TestListenerLeak.java java.lang.Exception: Could not find leak
Backport-of: f6be922952
2024-09-30 16:01:52 +00:00
Sergey Bylokhov
bec83f35d6 8211920: Close server socket and cleanups in test/jdk/javax/naming/module/RunBasic.java
Reviewed-by: yan, andrew
Backport-of: e61252dc27
2024-09-30 15:45:40 +00:00
George Adams
59b3859160 8340815: Add SECURITY.md file
Backport-of: 0474f020bf
2024-09-30 13:00:44 +00:00
Antonio
dd35f187fd 8340671: GHA: Bump macOS and Xcode versions to macos-12 and XCode 13.4.1
Reviewed-by: sgehwolf
2024-09-26 08:31:17 +00:00
Goetz Lindenmaier
b2d385978f Merge 2024-09-25 08:06:18 +00:00
Alexey Bakhtin
0358cbd0a1 8296410: HttpClient throws java.io.IOException: no statuscode in response for HTTP2
Reviewed-by: goetz
Backport-of: f4b140b420
2024-09-23 14:08:45 +00:00
Goetz Lindenmaier
934decc147 Merge 2024-09-11 09:18:16 +00:00
Goetz Lindenmaier
90ad5b18de 8337664: Distrust TLS server certificates issued after Oct 2024 and anchored by Entrust Root CAs
Reviewed-by: phh
Backport-of: 7d49c52272
2024-09-08 12:34:28 +00:00
Goetz Lindenmaier
6ee8bacfdd 8338139: {ClassLoading,Memory}MXBean::isVerbose methods are inconsistent with their setVerbose methods
Reviewed-by: phh
Backport-of: 897f433b33
2024-09-05 09:56:35 +00:00
Andrew Lu
ffcdc10405 8315936: Parallelize gc/stress/TestStressG1Humongous.java test
Backport-of: 3f19df685c
2024-09-02 02:24:26 +00:00
Andrew Lu
76b8327ba0 8328642: Convert applet test MouseDraggedOutCauseScrollingTest.html to main
Reviewed-by: mbaesken
Backport-of: ab183e437c
2024-09-02 02:24:11 +00:00
Andrew Lu
8c31358ccc 8328300: Convert PrintDialogsTest.java from Applet to main program
Reviewed-by: mbaesken
Backport-of: dea94f4445
2024-09-02 02:23:53 +00:00
Goetz Lindenmaier
ce572dfede 8339082: Bump update version for OpenJDK: jdk-11.0.26
Reviewed-by: sgehwolf
2024-08-28 10:25:28 +00:00
Sergey Bylokhov
a83d9303d5 8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7
Reviewed-by: phh
Backport-of: 1017a2c2d7
2024-08-26 23:56:50 +00:00
Amos Shi
c67fe36b5f 8325022: Incorrect error message on client authentication
Backport-of: fe78c0f191
2024-08-26 18:48:10 +00:00
Amos Shi
3df18523ab 8210338: Better output for GenerationTests.java
Backport-of: a5f7028279
2024-08-26 16:16:55 +00:00
Amos Shi
9ba9dd276c 8224081: SOCKS v4 tests require IPv4
Backport-of: acad8d1d68
2024-08-26 16:16:32 +00:00
Amos Shi
d3ce405a14 8206440: Remove javac -source/-target 6 from jdk regression tests
Backport-of: d2de786263
2024-08-26 16:14:45 +00:00
Amos Shi
828d645208 8314614: jdk/jshell/ImportTest.java failed with "InternalError: Failed remote listen"
8312140: jdk/jshell tests failed with JDI socket timeouts

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

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

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

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

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

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

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

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

Reviewed-by: mbaesken
Backport-of: 351280bbb8
2024-06-28 09:16:20 +00:00
Martin Doerr
3702e902b1 8276036: The value of full_count in the message of insufficient codecache is wrong
Backport-of: 61cb4bc6b0
2024-06-28 09:14:27 +00:00
Amos Shi
f9d7601e29 8328110: Allow simultaneous use of PassFailJFrame with split UI and additional windows
Backport-of: 11a3673d42
2024-06-27 19:58:23 +00:00
Dhamoder Nalla
db9e3139dc 8236917: TestInstanceKlassSize.java fails with "The size computed by SA for java.lang.Object does not match"
Use getTestJavaOpts() instead of getVmOptions() because of mach5 configuration settings.

Reviewed-by: mdoerr
Backport-of: c0dce25756
2024-06-27 16:30:24 +00:00
Martin Balao
8578e12c42 8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL
Reviewed-by: roland
Backport-of: cc894d849a
2024-06-27 15:35:11 +00:00
Antonio Vieiro
6547a1687d 8227122: [TESTBUG] Create Docker sidecar test cases
Created test cases for container sidecar pattern

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

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

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

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

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

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

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

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

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

Reviewed-by: phh, shade
Backport-of: 9288072655
2024-03-12 13:41:30 +00:00
Andrew Lu
069fbd7770 8326891: Prefer RPATH over RUNPATH for $ORIGIN rpaths in internal JDK binaries
Backport-of: 721bfee53a
2024-03-12 09:24:43 +00:00
Andrew Lu
21b88dba7f 8320113: [macos14] : ShapeNotSetSometimes.java fails intermittently on macOS 14
Backport-of: f1b73350c2
2024-03-12 09:23:17 +00:00
Andrew Lu
84ff9b3d11 8320342: Use PassFailJFrame for TruncatedPopupMenuTest.java
Backport-of: 1f2922ad85
2024-03-12 02:22:56 +00:00
Jiawei Tang
29f300eb2a 8322511: [11u] JfrCheckpointThreadClosure::do_thread crashes when fetching thread_id
Reviewed-by: phh
2024-03-11 21:50:42 +00:00
Ekaterina Vergizova
c8ca55bafa 8314220: Configurable InlineCacheBuffer size
Reviewed-by: phh
Backport-of: a40d8d97e8
2024-03-11 12:48:27 +00:00
Amos Shi
e6cec8f1a8 8325137: com/sun/management/ThreadMXBean/ThreadCpuTimeArray.java can fail in Xcomp with out of expected range
Backport-of: 91d8dac9cf
2024-03-11 12:21:05 +00:00
Amos Shi
eb5ef84294 8315677: Open source few swing JFileChooser and other tests
Backport-of: fe5ef5f20d
2024-03-11 12:17:55 +00:00
Amos Shi
cf9aa9be16 8306941: Open source several datatransfer and dnd AWT tests
Backport-of: 3d3eaed913
2024-03-11 12:17:08 +00:00
Amos Shi
9b4085619f 8317287: [macos14] InterJVMGetDropSuccessTest.java: Child VM: abnormal termination
Backport-of: cbfddf4e1d
2024-03-11 12:16:54 +00:00
Amos Shi
fbac37b73c 8307083: Open source some drag and drop tests 3
Backport-of: 1b154e4fd3
2024-03-11 12:16:35 +00:00
María Arias de Reyna
a26445db3b 8261404: Class.getReflectionFactory() is not thread-safe
Backport-of: 905b763942
2024-03-11 11:17:00 +00:00
Ao Qi
7b7fbdf615 8267938: (sctp) SCTP channel factory methods should check platform support
Backport-of: bd31653e6f
2024-03-07 20:07:14 +00:00
Andrew Lu
f3069d13d2 8325972: Add -x to bash for building with LOG=debug
Backport-of: 8668198c26
2024-03-07 08:07:57 +00:00
Andrew Lu
b425dff6bb 8320303: Allow PassFailJFrame to accept single window creator
Backport-of: 83ffc1ac94
2024-03-07 08:07:24 +00:00
Andrew Lu
bc14b9f12e 8326638: Crash in PhaseIdealLoop::remix_address_expressions due to unexpected Region instead of Loop
Backport-of: 9f0e7da64e
2024-03-07 08:06:50 +00:00
Andrew Lu
4ef8db8671 8318580: "javax/swing/MultiMonitor/MultimonVImage.java failing with Error. Can't find library: /open/test/jdk/java/awt/regtesthelpers" after JDK-8316053
Backport-of: e4803e0cbf
2024-03-07 08:04:09 +00:00
Zhang Quan
6c0a88d905 8271142: package help is not displayed for missing X11/extensions/Xrandr.h
Reviewed-by: clanger
Backport-of: b7f75c0a73
2024-03-06 11:50:41 +00:00
Goetz Lindenmaier
2a78f2f159 Merge 2024-03-06 09:30:23 +00:00
Sergey Bylokhov
5c5687d4ab 8322750: Test "api/java_awt/interactive/SystemTrayTests.html" failed because A blue ball icon is added outside of the system tray
Reviewed-by: phh
Backport-of: 5a988a5087
2024-03-05 15:10:13 +00:00
Jiawei Tang
a4a5c7fe66 8276125: RunThese24H.java SIGSEGV in JfrThreadGroup::thread_group_id
Reviewed-by: mgronlun
Backport-of: a885aab696
2024-03-04 14:48:13 +00:00
Aleksey Shipilev
f6e6eefcc1 8326938: [11u] JDK-8214908 broke two CTW tests
Reviewed-by: phh
2024-03-04 08:32:47 +00:00
Aleksey Shipilev
a582e1180c 8281507: Two javac tests have bad jtreg @clean tags
Reviewed-by: mbaesken
Backport-of: 86723d4892
2024-03-04 08:31:15 +00:00
Aleksey Shipilev
b183cd2399 8314552: Fix javadoc tests to work with jtreg 7
Reviewed-by: phh
Backport-of: e83046409d
2024-02-29 10:44:14 +00:00
Aleksey Shipilev
0ae93db126 8323717: Introduce test keyword for tests that need external dependencies
Reviewed-by: phh
Backport-of: 12b89cd2ee
2024-02-29 10:24:24 +00:00
Aleksey Shipilev
61164cef02 8305962: update jcstress to 0.16
Backport-of: 292ee630ae
2024-02-28 07:41:01 +00:00
Aleksey Shipilev
f2565a6c6f 8324723: GHA: Upgrade some actions to avoid deprecated Node 16
Reviewed-by: phh
Backport-of: 951b5f8ecb
2024-02-28 07:39:37 +00:00
Gui Cao
0e94be627d 8307955: Prefer to PTRACE_GETREGSET instead of PTRACE_GETREGS in method 'ps_proc.c::process_get_lwp_regs'
Reviewed-by: fyang, gli
Backport-of: 2f1c65486b
2024-02-28 07:14:00 +00:00
Andrew Lu
2dee6fbf2e 8294156: Allow PassFailJFrame.Builder to create test UI
Backport-of: 42b9ac8a07
2024-02-28 07:09:17 +00:00
Andrew Lu
c681c5aac4 8316053: Open some swing tests 3
Backport-of: a2391a92cd
2024-02-28 07:06:39 +00:00
Andrew Lu
e5cc20c35a 8315726: Open source several AWT applet tests
Reviewed-by: lucy
Backport-of: 1741d13b12
2024-02-28 07:04:46 +00:00
Andrew Lu
fe840ca3a2 8314830: runtime/ErrorHandling/ tests ignore external VM flags
Reviewed-by: lucy
Backport-of: 2c2b3726f9
2024-02-28 07:03:20 +00:00
Aleksey Shipilev
5045b5467d 8214400: Update hotspot application/jcstress jtreg tests wrappers to use jcstress 0.5
Backport-of: bbfe9d2168
2024-02-27 20:22:59 +00:00
Goetz Lindenmaier
6e296a01c2 8326801: Bump update version for OpenJDK: jdk-11.0.24
Reviewed-by: shade
2024-02-27 20:11:43 +00:00
1247 changed files with 48955 additions and 20159 deletions

View File

@@ -66,7 +66,7 @@ runs:
shell: bash
- name: 'Upload build logs'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: failure-logs-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: failure-logs
@@ -74,7 +74,7 @@ runs:
# This is the best way I found to abort the job with an error message
- name: 'Notify about build failures'
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
script: core.setFailed('Build failed. See summary for details.')
if: steps.check.outputs.failure == 'true'

View File

@@ -65,7 +65,7 @@ runs:
- name: 'Check cache for BootJDK'
id: get-cached-bootjdk
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: bootjdk/jdk
key: boot-jdk-${{ inputs.platform }}-${{ steps.sha256.outputs.value }}

View File

@@ -48,14 +48,14 @@ runs:
steps:
- name: 'Download bundles artifact'
id: download-bundles
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
continue-on-error: true
- name: 'Download bundles artifact (retry)'
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -41,7 +41,7 @@ runs:
- name: 'Check cache for JTReg'
id: get-cached-jtreg
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: jtreg/installed
key: jtreg-${{ steps.version.outputs.value }}
@@ -57,7 +57,7 @@ runs:
- name: 'Build JTReg'
run: |
# Build JTReg and move files to the proper locations
bash make/build.sh --jdk "$JAVA_HOME_11_X64"
bash make/build.sh --jdk "$JAVA_HOME_17_X64"
mkdir ../installed
mv build/images/jtreg/* ../installed
working-directory: jtreg/src

View File

@@ -30,7 +30,7 @@ runs:
using: composite
steps:
- name: 'Install MSYS2'
uses: msys2/setup-msys2@v2
uses: msys2/setup-msys2@v2.22.0
with:
install: 'autoconf tar unzip zip make'
path-type: minimal

View File

@@ -69,7 +69,7 @@ runs:
shell: bash
- name: 'Upload bundles artifact'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles

View File

@@ -87,13 +87,6 @@ jobs:
with:
platform: linux-x64
# Use linux-x64 JDK bundle as build JDK
- name: 'Get build JDK'
id: buildjdk
uses: ./.github/actions/get-bundles
with:
platform: linux-x64
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
- name: 'Install toolchain and dependencies'
run: |
@@ -110,7 +103,7 @@ jobs:
- name: 'Check cache for sysroot'
id: get-cached-sysroot
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: sysroot
key: sysroot-${{ matrix.debian-arch }}-${{ hashFiles('./.github/workflows/build-cross-compile.yml') }}
@@ -154,7 +147,6 @@ jobs:
--disable-precompiled-headers
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
--with-sysroot=sysroot
--with-build-jdk=${{ steps.buildjdk.outputs.jdk-path }}
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (

View File

@@ -55,7 +55,7 @@ on:
jobs:
build-macos:
name: build
runs-on: macos-11
runs-on: macos-12
strategy:
fail-fast: false

View File

@@ -130,8 +130,7 @@ jobs:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
# The linux-x64 jdk bundle is used as buildjdk for the cross-compile job
if: needs.select.outputs.linux-x64 == 'true' || needs.select.outputs.linux-cross-compile == 'true'
if: needs.select.outputs.linux-x64 == 'true'
build-linux-x86:
name: linux-x86
@@ -211,7 +210,6 @@ jobs:
name: linux-cross-compile
needs:
- select
- build-linux-x64
uses: ./.github/workflows/build-cross-compile.yml
with:
gcc-major-version: '10'
@@ -225,7 +223,7 @@ jobs:
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-x64
xcode-toolset-version: '11.7'
xcode-toolset-version: '13.4.1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-x64 == 'true'
@@ -236,7 +234,7 @@ jobs:
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-aarch64
xcode-toolset-version: '12.4'
xcode-toolset-version: '13.4.1'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
@@ -300,7 +298,7 @@ jobs:
with:
platform: macos-x64
bootjdk-platform: macos-x64
runs-on: macos-11
runs-on: macos-12
test-windows-x64:
name: windows-x64
@@ -335,26 +333,23 @@ jobs:
- test-windows-x64
steps:
# Hack to get hold of the api environment variables that are only defined for actions
- name: 'Get API configuration'
id: api
uses: actions/github-script@v6
with:
script: 'return { url: process.env["ACTIONS_RUNTIME_URL"], token: process.env["ACTIONS_RUNTIME_TOKEN"] }'
- name: 'Remove bundle artifacts'
run: |
# Find and remove all bundle artifacts
ALL_ARTIFACT_URLS="$(curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
'${{ fromJson(steps.api.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview')"
BUNDLE_ARTIFACT_URLS="$(echo "$ALL_ARTIFACT_URLS" | jq -r -c '.value | map(select(.name|startswith("bundles-"))) | .[].url')"
for url in $BUNDLE_ARTIFACT_URLS; do
echo "Removing $url"
curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
-X DELETE "$url" \
# See: https://docs.github.com/en/rest/actions/artifacts?apiVersion=2022-11-28
ALL_ARTIFACT_IDS="$(curl -sL \
-H 'Accept: application/vnd.github+json' \
-H 'Authorization: Bearer ${{ github.token }}' \
-H 'X-GitHub-Api-Version: 2022-11-28' \
'${{ github.api_url }}/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/artifacts?per_page=100')"
BUNDLE_ARTIFACT_IDS="$(echo "$ALL_ARTIFACT_IDS" | jq -r -c '.artifacts | map(select(.name|startswith("bundles-"))) | .[].id')"
for id in $BUNDLE_ARTIFACT_IDS; do
echo "Removing $id"
curl -sL \
-X DELETE \
-H 'Accept: application/vnd.github+json' \
-H 'Authorization: Bearer ${{ github.token }}' \
-H 'X-GitHub-Api-Version: 2022-11-28' \
"${{ github.api_url }}/repos/${{ github.repository }}/actions/artifacts/$id" \
|| echo "Failed to remove bundle"
done

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -127,7 +127,7 @@ jobs:
run: |
# On macOS we need to install some dependencies for testing
brew install make
sudo xcode-select --switch /Applications/Xcode_11.7.app/Contents/Developer
sudo xcode-select --switch /Applications/Xcode_13.4.1.app/Contents/Developer
# This will make GNU make available as 'make' and not only as 'gmake'
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
if: runner.os == 'macOS'
@@ -191,7 +191,7 @@ jobs:
if: always()
- name: 'Upload test results'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
path: results
name: ${{ steps.package.outputs.artifact-name }}
@@ -199,7 +199,7 @@ jobs:
# This is the best way I found to abort the job with an error message
- name: 'Notify about test failures'
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
script: core.setFailed('${{ steps.run-tests.outputs.error-message }}')
if: steps.run-tests.outputs.failure == 'true'

1
.gitignore vendored
View File

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

View File

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

3
SECURITY.md Normal file
View File

@@ -0,0 +1,3 @@
# JDK Vulnerabilities
Please follow the process outlined in the [OpenJDK Vulnerability Policy](https://openjdk.org/groups/vulnerability/report) to disclose vulnerabilities in the JDK.

View File

@@ -5,7 +5,7 @@
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Testing the JDK</title>
<style type="text/css">
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
@@ -21,7 +21,7 @@
<header id="title-block-header">
<h1 class="title">Testing the JDK</h1>
</header>
<nav id="TOC">
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#using-the-run-test-framework">Using the run-test framework</a><ul>
<li><a href="#configuration">Configuration</a></li>
@@ -40,6 +40,7 @@
<li><a href="#notes-for-specific-tests">Notes for Specific Tests</a><ul>
<li><a href="#docker-tests">Docker Tests</a></li>
<li><a href="#client-ui-tests">Client UI Tests</a></li>
<li><a href="#pkcs11-tests">PKCS11 Tests</a></li>
</ul></li>
</ul>
</nav>
@@ -58,7 +59,7 @@ $ make exploded-run-test TEST=tier2</code></pre>
<p>To be able to run JTReg tests, <code>configure</code> needs to know where to find the JTReg test framework. If it is not picked up automatically by configure, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc. (An alternative is to set the <code>JT_HOME</code> environment variable to point to the JTReg home before running <code>configure</code>.)</p>
<h2 id="test-selection">Test selection</h2>
<p>All functionality is available using the run-test make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, run-test-only can be used instead, which do not depend on the source and test image build.</p>
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make run-test-tier1</code> is equivalent to <code>make run-test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>run-test TEST=&quot;x&quot;</code> solution needs to be used.</p>
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make run-test-tier1</code> is equivalent to <code>make run-test TEST="tier1"</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>run-test TEST="x"</code> solution needs to be used.</p>
<p>The test specifications given in <code>TEST</code> is parsed into fully qualified test descriptors, which clearly and unambigously show which tests will be run. As an example, <code>:tier1</code> will expand to <code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>. You can always submit a list of fully qualified test descriptors in the <code>TEST</code> variable if you want to shortcut the parser.</p>
<h3 id="common-test-groups">Common Test Groups</h3>
<p>Ideally, all tests are run for every change but this may not be practical due to the limited testing resources, the scope of the change, etc.</p>
@@ -101,8 +102,8 @@ TEST FAILURE</code></pre>
<p>Additional work data is stored in <code>build/$BUILD/test-support/$TEST_ID</code>. For some frameworks, this directory might contain information that is useful in determining the cause of a failed test.</p>
<h2 id="test-suite-control">Test suite control</h2>
<p>It is possible to control various aspects of the test suites using make control variables.</p>
<p>These variables use a keyword=value approach to allow multiple values to be set. So, for instance, <code>JTREG=&quot;JOBS=1;TIMEOUT=8&quot;</code> will set the JTReg concurrency level to 1 and the timeout factor to 8. This is equivalent to setting <code>JTREG_JOBS=1 JTREG_TIMEOUT=8</code>, but using the keyword format means that the <code>JTREG</code> variable is parsed and verified for correctness, so <code>JTREG=&quot;TMIEOUT=8&quot;</code> would give an error, while <code>JTREG_TMIEOUT=8</code> would just pass unnoticed.</p>
<p>To separate multiple keyword=value pairs, use <code>;</code> (semicolon). Since the shell normally eats <code>;</code>, the recommended usage is to write the assignment inside qoutes, e.g. <code>JTREG=&quot;...;...&quot;</code>. This will also make sure spaces are preserved, as in <code>JTREG=&quot;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;</code>.</p>
<p>These variables use a keyword=value approach to allow multiple values to be set. So, for instance, <code>JTREG="JOBS=1;TIMEOUT=8"</code> will set the JTReg concurrency level to 1 and the timeout factor to 8. This is equivalent to setting <code>JTREG_JOBS=1 JTREG_TIMEOUT=8</code>, but using the keyword format means that the <code>JTREG</code> variable is parsed and verified for correctness, so <code>JTREG="TMIEOUT=8"</code> would give an error, while <code>JTREG_TMIEOUT=8</code> would just pass unnoticed.</p>
<p>To separate multiple keyword=value pairs, use <code>;</code> (semicolon). Since the shell normally eats <code>;</code>, the recommended usage is to write the assignment inside qoutes, e.g. <code>JTREG="...;..."</code>. This will also make sure spaces are preserved, as in <code>JTREG="VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"</code>.</p>
<p>(Other ways are possible, e.g. using backslash: <code>JTREG=JOBS=1\;TIMEOUT=8</code>. Also, as a special technique, the string <code>%20</code> will be replaced with space for certain options, e.g. <code>JTREG=VM_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug</code>. This can be useful if you have layers of scripts and have trouble getting proper quoting of command line arguments through.)</p>
<p>As far as possible, the names of the keywords have been standardized between test suites.</p>
<h3 id="general-keywords-test_opts">General keywords (TEST_OPTS)</h3>
@@ -152,7 +153,7 @@ TEST FAILURE</code></pre>
<p>Set to <code>true</code> or <code>false</code>. If <code>true</code>, JTReg will use <code>-match:</code> option, otherwise <code>-exclude:</code> will be used. Default is <code>false</code>.</p>
<h4 id="options">OPTIONS</h4>
<p>Additional options to the JTReg test framework.</p>
<p>Use <code>JTREG=&quot;OPTIONS=--help all&quot;</code> to see all available JTReg options.</p>
<p>Use <code>JTREG="OPTIONS=--help all"</code> to see all available JTReg options.</p>
<h4 id="java_options-1">JAVA_OPTIONS</h4>
<p>Additional Java options to JTReg (<code>-javaoption</code>).</p>
<h4 id="vm_options-1">VM_OPTIONS</h4>
@@ -169,7 +170,7 @@ TEST FAILURE</code></pre>
<p>Default is 1. Set to -1 to repeat indefinitely. This can be especially useful combined with <code>OPTIONS=--gtest_break_on_failure</code> to reproduce an intermittent problem.</p>
<h4 id="options-1">OPTIONS</h4>
<p>Additional options to the Gtest test framework.</p>
<p>Use <code>GTEST=&quot;OPTIONS=--help&quot;</code> to see all available Gtest options.</p>
<p>Use <code>GTEST="OPTIONS=--help"</code> to see all available Gtest options.</p>
<h4 id="aot_modules-2">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<h2 id="notes-for-specific-tests">Notes for Specific Tests</h2>
@@ -178,6 +179,11 @@ TEST FAILURE</code></pre>
<pre><code>$ make run-test TEST=&quot;jtreg:test/hotspot/jtreg/containers/docker&quot;</code></pre>
<p>To run these tests correctly, additional parameters for the correct docker image are required on Ubuntu 18.04 by using <code>JAVA_OPTIONS</code>.</p>
<pre><code>$ make run-test TEST=&quot;jtreg:test/hotspot/jtreg/containers/docker&quot; JTREG=&quot;JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu -Djdk.test.docker.image.version=latest&quot;</code></pre>
<h3 id="pkcs11-tests">PKCS11 Tests</h3>
<p>It is highly recommended to use the latest NSS version when running PKCS11 tests. Improper NSS version may lead to unexpected failures which are hard to diagnose. For example, sun/security/pkcs11/Secmod/AddTrustedCert.java may fail on Ubuntu 18.04 with the default NSS version in the system. To run these tests correctly, the system property <<code>jdk.test.lib.artifacts.&lt;NAME&gt;</code> is required on Ubuntu 18.04 to specify the alternative NSS lib directories.The<code>&lt;NAME&gt;</code> component should be replaced with the name element of the appropriate <code>@Artifact</code> class. (See<code>test/jdk/sun/security/pkcs11/PKCS11Test.java</code>)</p>
<p>For example:</p>
<pre><code>$ make test TEST=&quot;jtreg:sun/security/pkcs11/Secmod/AddTrustedCert.java&quot; JTREG=&quot;JAVA_OPTIONS=-Djdk.test.lib.artifacts.nsslib-linux_aarch64=/path/to/NSS-libs&quot</code></pre>
<p>For more notes about the PKCS11 tests, please refer to test/jdk/sun/security/pkcs11/README.</p>
<h3 id="client-ui-tests">Client UI Tests</h3>
<p>Some Client UI tests use key sequences which may be reserved by the operating system. Usually that causes the test failure. So it is highly recommended to disable system key shortcuts prior testing. The steps to access and disable system key shortcuts for various platforms are provided below.</p>
<h4 id="macos">MacOS</h4>

View File

@@ -370,6 +370,22 @@ required on Ubuntu 18.04 by using `JAVA_OPTIONS`.
$ make run-test TEST="jtreg:test/hotspot/jtreg/containers/docker" JTREG="JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu -Djdk.test.docker.image.version=latest"
### PKCS11 Tests
It is highly recommended to use the latest NSS version when running PKCS11 tests.
Improper NSS version may lead to unexpected failures which are hard to diagnose.
For example, sun/security/pkcs11/Secmod/AddTrustedCert.java may fail on Ubuntu
18.04 with the default NSS version in the system.
To run these tests correctly, the system property `jdk.test.lib.artifacts.<NAME>` is required on
Ubuntu 18.04 to specify the alternative NSS lib directory. The `<NAME>`
component should be replaced with the name element of the appropriate
`@Artifact` class. (See `test/jdk/sun/security/pkcs11/PKCS11Test.java`)
For example:
$ make test TEST="jtreg:sun/security/pkcs11/Secmod/AddTrustedCert.java" JTREG="JAVA_OPTIONS=-Djdk.test.lib.artifacts.nsslib-linux_aarch64=/path/to/NSS-libs"
For more notes about the PKCS11 tests, please refer to test/jdk/sun/security/pkcs11/README.
### Client UI Tests
Some Client UI tests use key sequences which may be reserved by the operating

View File

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

View File

@@ -749,7 +749,7 @@ define SetupRunJtregTestBody
$$(RM) -r $$($1_TEST_RESULTS_DIR)
$1_COMMAND_LINE := \
$$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
$$(JTREG_JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
$$($1_JTREG_BASIC_OPTIONS) \
-testjdk:$$(JDK_IMAGE_DIR) \

View File

@@ -122,6 +122,7 @@ $(eval $(call SetupVariable,JT_HOME))
$(eval $(call SetupVariable,JDK_IMAGE_DIR,$(OUTPUTDIR)/images/jdk))
$(eval $(call SetupVariable,TEST_IMAGE_DIR,$(OUTPUTDIR)/images/test))
$(eval $(call SetupVariable,SYMBOLS_IMAGE_DIR,$(OUTPUTDIR)/images/symbols,NO_CHECK))
$(eval $(call SetupVariable,JTREG_JDK,$(BOOT_JDK)))
# Provide default values for tools that we need
$(eval $(call SetupVariable,MAKE,make,NO_CHECK))
@@ -294,6 +295,7 @@ $(call CreateNewSpec, $(NEW_SPEC), \
TOPDIR := $(TOPDIR), \
OUTPUTDIR := $(OUTPUTDIR), \
BOOT_JDK := $(BOOT_JDK), \
JTREG_JDK := $(JTREG_JDK), \
JT_HOME := $(JT_HOME), \
JDK_IMAGE_DIR := $(JDK_IMAGE_DIR), \
TEST_IMAGE_DIR := $(TEST_IMAGE_DIR), \

View File

@@ -125,6 +125,8 @@ JAR := $(FIXPATH) $(JAR_CMD)
JLINK := $(FIXPATH) $(JLINK_CMD)
JMOD := $(FIXPATH) $(JMOD_CMD)
JTREG_JAVA := $(FIXPATH) $(JTREG_JDK)/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/JAVA
################################################################################
# Some common tools. Assume most common name and no path.

View File

@@ -39,6 +39,7 @@ export AWK="@AWK@"
export BASH="@BASH@"
export CAT="@CAT@"
export CMP="@CMP@"
export CODESIGN="@CODESIGN@"
export CP="@CP@"
export CUT="@CUT@"
export DIFF="@DIFF@"

View File

@@ -183,15 +183,14 @@ TOOLCHAIN_POST_DETECTION
TOOLCHAIN_SETUP_BUILD_COMPILERS
TOOLCHAIN_MISC_CHECKS
# Setup the JTReg Regression Test Harness.
TOOLCHAIN_SETUP_JTREG
# Setup Jib dependency tool
TOOLCHAIN_SETUP_JIB
# After toolchain setup, we need to process some flags to be able to continue.
FLAGS_POST_TOOLCHAIN
# Setup the tools needed to test the JDK (JTReg Regression Test Harness
# and the Jib dependency tool).
LIB_TESTS_SETUP_JTREG
LIB_TESTS_SETUP_JIB
# Now we can test some aspects on the target using configure macros.
PLATFORM_SETUP_OPENJDK_TARGET_BITS
PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS
@@ -233,7 +232,8 @@ HOTSPOT_SETUP_JVM_FEATURES
###############################################################################
JDKOPT_DETECT_INTREE_EC
JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER
LIB_TESTS_ENABLE_DISABLE_FAILURE_HANDLER
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
JDKOPT_EXCLUDE_TRANSLATIONS
JDKOPT_ENABLE_DISABLE_MANPAGES

View File

@@ -28,7 +28,7 @@
# Setup flags for C/C++ compiler
#
###############################################################################
################################################################################
#
# How to compile shared libraries.
#
@@ -39,7 +39,10 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
# Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared'
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
# --disable-new-dtags forces use of RPATH instead of RUNPATH for rpaths.
# This protects internal library dependencies within the JDK from being
# overridden using LD_LIBRARY_PATH. See JDK-8326891 for more information.
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1 -Wl,--disable-new-dtags'
SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
@@ -59,6 +62,9 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
# Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared'
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
if test "x$OPENJDK_TARGET_OS" = xlinux; then
SET_EXECUTABLE_ORIGIN="$SET_EXECUTABLE_ORIGIN -Wl,--disable-new-dtags"
fi
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
@@ -166,28 +172,60 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
DISABLE_WARNING_PREFIX="-wd"
BUILD_CC_DISABLE_WARNING_PREFIX="-wd"
CFLAGS_WARNINGS_ARE_ERRORS="-WX"
WARNINGS_ENABLE_ALL="-W3"
DISABLED_WARNINGS="4800"
;;
solstudio)
DISABLE_WARNING_PREFIX="-erroff="
CFLAGS_WARNINGS_ARE_ERRORS="-errtags -errwarn=%all"
CFLAGS_WARNINGS_ARE_ERRORS="-errwarn=%all"
WARNINGS_ENABLE_ALL_CFLAGS="-v"
WARNINGS_ENABLE_ALL_CXXFLAGS="+w"
DISABLED_WARNINGS_C=""
DISABLED_WARNINGS_CXX=""
;;
gcc)
DISABLE_WARNING_PREFIX="-Wno-"
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2"
WARNINGS_ENABLE_ADDITIONAL_JVM="-Wpointer-arith -Wsign-compare -Wunused-function -Wundef -Wunused-value -Woverloaded-virtual -Wreturn-type"
DISABLED_WARNINGS="unused-parameter unused"
;;
clang)
DISABLE_WARNING_PREFIX="-Wno-"
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2"
WARNINGS_ENABLE_ADDITIONAL_JVM="-Wpointer-arith -Wsign-compare -Wunused-function -Wundef -Wunused-value -Woverloaded-virtual"
DISABLED_WARNINGS="unused-parameter unused"
;;
xlc)
DISABLE_WARNING_PREFIX="-qsuppress="
CFLAGS_WARNINGS_ARE_ERRORS="-qhalt=w"
# Possibly a better subset than "all" is "lan:trx:ret:zea:cmp:ret"
WARNINGS_ENABLE_ALL="-qinfo=all -qformat=all"
DISABLED_WARNINGS=""
;;
esac
AC_SUBST(DISABLE_WARNING_PREFIX)
AC_SUBST(BUILD_CC_DISABLE_WARNING_PREFIX)
AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS)
AC_SUBST(DISABLED_WARNINGS)
AC_SUBST(DISABLED_WARNINGS_C)
AC_SUBST(DISABLED_WARNINGS_CXX)
])
AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS],
@@ -521,11 +559,14 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX
fi
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
TOOLCHAIN_CFLAGS_JDK="-mt"
TOOLCHAIN_CFLAGS_JDK_CONLY="-xCC -Xa -v -W0,-noglobal" # C only
TOOLCHAIN_FLAGS="-errtags -errfmt"
TOOLCHAIN_CFLAGS="-errshort=tags"
TOOLCHAIN_CFLAGS_JDK="-mt $TOOLCHAIN_FLAGS"
TOOLCHAIN_CFLAGS_JDK_CONLY="-xCC -Xa -W0,-noglobal $TOOLCHAIN_CFLAGS" # C only
TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only
TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \
-library=stlport4 -mt -features=no%except"
-library=stlport4 -mt -features=no%except $TOOLCHAIN_FLAGS"
if test "x$DEBUG_LEVEL" = xslowdebug; then
# Previously -g was used instead of -g0 for slowdebug; this is equivalent
# to setting +d.
@@ -533,6 +574,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
fi
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
# Suggested additions: -qsrcmsg to get improved error reporting
# set -qtbtable=full for a better traceback table/better stacks in hs_err when xlc16 is used
TOOLCHAIN_CFLAGS_JDK="-qtbtable=full -qchars=signed -qfullpath -qsaveopt -qstackprotect" # add on both CFLAGS
TOOLCHAIN_CFLAGS_JVM="-qtbtable=full -qtune=balanced \
@@ -544,37 +586,26 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
# CFLAGS WARNINGS STUFF
# Set JVM_CFLAGS warning handling
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# COMMON to gcc and clang
WARNING_CFLAGS_JVM="-Wpointer-arith -Wsign-compare -Wunused-function"
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
# Non-zero builds have stricter warnings
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wundef -Wformat=2"
fi
fi
if test "x$TOOLCHAIN_TYPE" = xgcc; then
WARNING_CFLAGS_JDK="-Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2"
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wunused-value -Woverloaded-virtual"
WARNING_CFLAGS_JDK="$WARNINGS_ENABLE_ALL"
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL $WARNINGS_ENABLE_ADDITIONAL_JVM"
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
# Non-zero builds have stricter warnings
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wreturn-type"
fi
elif test "x$TOOLCHAIN_TYPE" = xclang; then
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wno-deprecated"
if test "x$OPENJDK_TARGET_OS" = xlinux; then
WARNING_CFLAGS_JVM="$WARNING_CFLAGS_JVM -Wno-sometimes-uninitialized"
WARNING_CFLAGS_JDK="-Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2"
WARNING_CFLAGS_JDK="$WARNINGS_ENABLE_ALL"
else
WARNING_CFLAGS_JDK="" # currently left empty
fi
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL $WARNINGS_ENABLE_ADDITIONAL_JVM"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
WARNING_CFLAGS_JDK_CONLY="-errshort=tags"
WARNING_CFLAGS_JDK_CXXONLY="+w"
WARNING_CFLAGS_JDK="-errtags=yes -errfmt"
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
WARNING_CFLAGS_JVM="" # currently left empty
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
WARNING_CFLAGS="-W3"
WARNING_CFLAGS_JDK="-wd4800"
WARNING_CFLAGS_JVM="-wd4800"
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
WARNING_CFLAGS="" # currently left empty
fi
# Set some additional per-OS defines.

View File

@@ -137,6 +137,14 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
fi
fi
# Setup warning flags
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
LDFLAGS_WARNINGS_ARE_ERRORS="-Wl,-z,fatal-warnings"
else
LDFLAGS_WARNINGS_ARE_ERRORS=""
fi
AC_SUBST(LDFLAGS_WARNINGS_ARE_ERRORS)
# Setup LDFLAGS for linking executables
if test "x$TOOLCHAIN_TYPE" = xgcc; then
EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined"

View File

@@ -40,21 +40,21 @@ AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
PKGHANDLER_COMMAND=
case $PKGHANDLER in
apt-get)
*apt-get)
apt_help $MISSING_DEPENDENCY ;;
yum)
*yum)
yum_help $MISSING_DEPENDENCY ;;
brew)
*brew)
brew_help $MISSING_DEPENDENCY ;;
port)
*port)
port_help $MISSING_DEPENDENCY ;;
pkgutil)
*pkgutil)
pkgutil_help $MISSING_DEPENDENCY ;;
pkgadd)
*pkgadd)
pkgadd_help $MISSING_DEPENDENCY ;;
pacman)
*pacman)
pacman_help $MISSING_DEPENDENCY ;;
apk)
*apk)
apk_help $MISSING_DEPENDENCY ;;
esac

View File

@@ -378,6 +378,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
fi
else
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc"
AC_MSG_RESULT([no, must be manually enabled --with-jvm-features=shenandoahgc])
fi
# Only enable ZGC on supported platforms

View File

@@ -521,45 +521,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JLINK_OPTIONS],
AC_SUBST(JLINK_KEEP_PACKAGED_MODULES)
])
################################################################################
#
# Check if building of the jtreg failure handler should be enabled.
#
AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER],
[
AC_ARG_ENABLE([jtreg-failure-handler], [AS_HELP_STRING([--enable-jtreg-failure-handler],
[forces build of the jtreg failure handler to be enabled, missing dependencies
become fatal errors. Default is auto, where the failure handler is built if all
dependencies are present and otherwise just disabled.])])
AC_MSG_CHECKING([if jtreg failure handler should be built])
if test "x$enable_jtreg_failure_handler" = "xyes"; then
if test "x$JT_HOME" = "x"; then
AC_MSG_ERROR([Cannot enable jtreg failure handler without jtreg.])
else
BUILD_FAILURE_HANDLER=true
AC_MSG_RESULT([yes, forced])
fi
elif test "x$enable_jtreg_failure_handler" = "xno"; then
BUILD_FAILURE_HANDLER=false
AC_MSG_RESULT([no, forced])
elif test "x$enable_jtreg_failure_handler" = "xauto" \
|| test "x$enable_jtreg_failure_handler" = "x"; then
if test "x$JT_HOME" = "x"; then
BUILD_FAILURE_HANDLER=false
AC_MSG_RESULT([no, missing jtreg])
else
BUILD_FAILURE_HANDLER=true
AC_MSG_RESULT([yes, jtreg present])
fi
else
AC_MSG_ERROR([Invalid value for --enable-jtreg-failure-handler: $enable_jtreg_failure_handler])
fi
AC_SUBST(BUILD_FAILURE_HANDLER)
])
################################################################################
#
# Enable or disable generation of the classlist at build time

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -23,6 +23,13 @@
# questions.
#
################################################################################
# Setup libraries and functionalities needed to test the JDK.
################################################################################
# Minimum supported version
JTREG_MINIMUM_VERSION=7.3.1
###############################################################################
#
# Check for graalunit libs, needed for running graalunit tests.
@@ -54,3 +61,208 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_GRAALUNIT],
UTIL_FIXUP_PATH([GRAALUNIT_LIB])
AC_SUBST(GRAALUNIT_LIB)
])
# Setup the JTReg Regression Test Harness.
AC_DEFUN_ONCE([LIB_TESTS_SETUP_JTREG],
[
AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
[Regression Test Harness @<:@probed@:>@])])
if test "x$with_jtreg" = xno; then
# jtreg disabled
AC_MSG_CHECKING([for jtreg test harness])
AC_MSG_RESULT([no, disabled])
elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then
# An explicit path is specified, use it.
JT_HOME="$with_jtreg"
UTIL_FIXUP_PATH([JT_HOME])
if test ! -d "$JT_HOME"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
fi
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home])
fi
JTREGEXE="$JT_HOME/bin/jtreg"
if test ! -x "$JTREGEXE"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not contain valid jtreg executable])
fi
AC_MSG_CHECKING([for jtreg test harness])
AC_MSG_RESULT([$JT_HOME])
else
# Try to locate jtreg
if test "x$JT_HOME" != x; then
# JT_HOME set in environment, use it
if test ! -d "$JT_HOME"; then
AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME])
JT_HOME=
else
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME])
JT_HOME=
elif test ! -x "$JT_HOME/bin/jtreg"; then
AC_MSG_WARN([Ignoring JT_HOME which does not contain valid jtreg executable: $JT_HOME])
JT_HOME=
else
JTREGEXE="$JT_HOME/bin/jtreg"
AC_MSG_NOTICE([Located jtreg using JT_HOME from environment])
fi
fi
fi
if test "x$JT_HOME" = x; then
# JT_HOME is not set in environment, or was deemed invalid.
# Try to find jtreg on path
UTIL_LOOKUP_PROGS(JTREGEXE, jtreg)
if test "x$JTREGEXE" != x; then
# That's good, now try to derive JT_HOME
JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)`
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_WARN([Ignoring jtreg from path since a valid jtreg home cannot be found])
JT_HOME=
JTREGEXE=
else
AC_MSG_NOTICE([Located jtreg using jtreg executable in path])
fi
fi
fi
AC_MSG_CHECKING([for jtreg test harness])
if test "x$JT_HOME" != x; then
AC_MSG_RESULT([$JT_HOME])
else
AC_MSG_RESULT([no, not found])
if test "x$with_jtreg" = xyes; then
AC_MSG_ERROR([--with-jtreg was specified, but no jtreg found.])
fi
fi
fi
UTIL_FIXUP_EXECUTABLE(JTREGEXE)
UTIL_FIXUP_PATH(JT_HOME)
AC_SUBST(JT_HOME)
# Specify a JDK for running jtreg. Defaults to the BOOT_JDK.
AC_ARG_WITH(jtreg-jdk, [AS_HELP_STRING([--with-jdk],
[path to JDK for running jtreg @<:@BOOT_JDK@:>@])])
AC_MSG_CHECKING([for jtreg jdk])
if test "x${with_jtreg_jdk}" != x; then
if test "x${with_jtreg_jdk}" = xno; then
AC_MSG_RESULT([no, jtreg jdk not specified])
elif test "x${with_jtreg_jdk}" = xyes; then
AC_MSG_RESULT([not specified])
AC_MSG_ERROR([--with-jtreg-jdk needs a value])
else
JTREG_JDK="${with_jtreg_jdk}"
AC_MSG_RESULT([$JTREG_JDK])
UTIL_FIXUP_PATH(JTREG_JDK)
if test ! -f "$JTREG_JDK/bin/java"; then
AC_MSG_ERROR([Could not find jtreg java at $JTREG_JDK/bin/java])
fi
fi
else
JTREG_JDK="${BOOT_JDK}"
AC_MSG_RESULT([no, using BOOT_JDK])
fi
UTIL_FIXUP_PATH(JTREG_JDK)
AC_SUBST([JTREG_JDK])
# For use in the configure script
JTREG_JAVA="$FIXPATH $JTREG_JDK/bin/java"
# Verify jtreg version
if test "x$JT_HOME" != x; then
AC_MSG_CHECKING([jtreg jar existence])
if test ! -f "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_ERROR([Could not find jtreg jar at $JT_HOME/lib/jtreg.jar])
fi
AC_MSG_CHECKING([jtreg version number])
# jtreg -version looks like this: "jtreg 6.1+1-19"
# Extract actual version part ("6.1" in this case)
jtreg_version_full=$($JTREG_JAVA -jar $JT_HOME/lib/jtreg.jar -version | $HEAD -n 1 | $CUT -d ' ' -f 2)
jtreg_version=${jtreg_version_full/%+*}
AC_MSG_RESULT([$jtreg_version])
# This is a simplified version of TOOLCHAIN_CHECK_COMPILER_VERSION
comparable_actual_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$jtreg_version"`
comparable_minimum_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$JTREG_MINIMUM_VERSION"`
if test $comparable_actual_version -lt $comparable_minimum_version ; then
AC_MSG_ERROR([jtreg version is too old, at least version $JTREG_MINIMUM_VERSION is required])
fi
fi
AC_SUBST(JTREGEXE)
])
# Setup the JIB dependency resolver
AC_DEFUN_ONCE([LIB_TESTS_SETUP_JIB],
[
AC_ARG_WITH(jib, [AS_HELP_STRING([--with-jib],
[Jib dependency management tool @<:@not used@:>@])])
if test "x$with_jib" = xno || test "x$with_jib" = x; then
# jib disabled
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(no)
elif test "x$with_jib" = xyes; then
AC_MSG_ERROR([Must supply a value to --with-jib])
else
JIB_HOME="${with_jib}"
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(${JIB_HOME})
if test ! -d "${JIB_HOME}"; then
AC_MSG_ERROR([--with-jib must be a directory])
fi
JIB_JAR=$(ls ${JIB_HOME}/lib/jib-*.jar)
if test ! -f "${JIB_JAR}"; then
AC_MSG_ERROR([Could not find jib jar file in ${JIB_HOME}])
fi
fi
AC_SUBST(JIB_HOME)
])
################################################################################
#
# Check if building of the jtreg failure handler should be enabled.
#
AC_DEFUN_ONCE([LIB_TESTS_ENABLE_DISABLE_FAILURE_HANDLER],
[
AC_ARG_ENABLE([jtreg-failure-handler], [AS_HELP_STRING([--enable-jtreg-failure-handler],
[forces build of the jtreg failure handler to be enabled, missing dependencies
become fatal errors. Default is auto, where the failure handler is built if all
dependencies are present and otherwise just disabled.])])
AC_MSG_CHECKING([if jtreg failure handler should be built])
if test "x$enable_jtreg_failure_handler" = "xyes"; then
if test "x$JT_HOME" = "x"; then
AC_MSG_ERROR([Cannot enable jtreg failure handler without jtreg.])
else
BUILD_FAILURE_HANDLER=true
AC_MSG_RESULT([yes, forced])
fi
elif test "x$enable_jtreg_failure_handler" = "xno"; then
BUILD_FAILURE_HANDLER=false
AC_MSG_RESULT([no, forced])
elif test "x$enable_jtreg_failure_handler" = "xauto" \
|| test "x$enable_jtreg_failure_handler" = "x"; then
if test "x$JT_HOME" = "x"; then
BUILD_FAILURE_HANDLER=false
AC_MSG_RESULT([no, missing jtreg])
else
BUILD_FAILURE_HANDLER=true
AC_MSG_RESULT([yes, jtreg present])
fi
else
AC_MSG_ERROR([Invalid value for --enable-jtreg-failure-handler: $enable_jtreg_failure_handler])
fi
AC_SUBST(BUILD_FAILURE_HANDLER)
])

View File

@@ -144,7 +144,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
if test "x$OPENJDK_TARGET_OS" = xwindows; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
wsock32.lib winmm.lib version.lib psapi.lib"
ws2_32.lib winmm.lib version.lib psapi.lib"
fi
JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"

View File

@@ -469,6 +469,10 @@ CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@
DISABLE_WARNING_PREFIX := @DISABLE_WARNING_PREFIX@
CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@
LDFLAGS_WARNINGS_ARE_ERRORS:=@LDFLAGS_WARNINGS_ARE_ERRORS@
DISABLED_WARNINGS := @DISABLED_WARNINGS@
DISABLED_WARNINGS_C := @DISABLED_WARNINGS_C@
DISABLED_WARNINGS_CXX := @DISABLED_WARNINGS_CXX@
# A global flag (true or false) determining if native warnings are considered errors.
WARNINGS_AS_ERRORS := @WARNINGS_AS_ERRORS@
@@ -648,6 +652,9 @@ SJAVAC_SERVER_JAVA = $(SJAVAC_SERVER_JAVA_CMD) \
# overriding that value by using ?=.
JAVAC_FLAGS? = @JAVAC_FLAGS@
JTREG_JDK := @JTREG_JDK@
JTREG_JAVA = @FIXPATH@ $(JTREG_JDK)/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
BUILD_JAVA_FLAGS := @BOOTCYCLE_JVM_ARGS_BIG@
BUILD_JAVA=@FIXPATH@ $(BUILD_JDK)/bin/java $(BUILD_JAVA_FLAGS)
BUILD_JAR=@FIXPATH@ $(BUILD_JDK)/bin/jar

View File

@@ -1061,116 +1061,3 @@ AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
fi
AC_SUBST(HOTSPOT_TOOLCHAIN_TYPE)
])
# Setup the JTReg Regression Test Harness.
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
[
AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
[Regression Test Harness @<:@probed@:>@])])
if test "x$with_jtreg" = xno; then
# jtreg disabled
AC_MSG_CHECKING([for jtreg test harness])
AC_MSG_RESULT([no, disabled])
elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then
# An explicit path is specified, use it.
JT_HOME="$with_jtreg"
UTIL_FIXUP_PATH([JT_HOME])
if test ! -d "$JT_HOME"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
fi
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home])
fi
JTREGEXE="$JT_HOME/bin/jtreg"
if test ! -x "$JTREGEXE"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not contain valid jtreg executable])
fi
AC_MSG_CHECKING([for jtreg test harness])
AC_MSG_RESULT([$JT_HOME])
else
# Try to locate jtreg
if test "x$JT_HOME" != x; then
# JT_HOME set in environment, use it
if test ! -d "$JT_HOME"; then
AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME])
JT_HOME=
else
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME])
JT_HOME=
elif test ! -x "$JT_HOME/bin/jtreg"; then
AC_MSG_WARN([Ignoring JT_HOME which does not contain valid jtreg executable: $JT_HOME])
JT_HOME=
else
JTREGEXE="$JT_HOME/bin/jtreg"
AC_MSG_NOTICE([Located jtreg using JT_HOME from environment])
fi
fi
fi
if test "x$JT_HOME" = x; then
# JT_HOME is not set in environment, or was deemed invalid.
# Try to find jtreg on path
UTIL_LOOKUP_PROGS(JTREGEXE, jtreg)
if test "x$JTREGEXE" != x; then
# That's good, now try to derive JT_HOME
JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)`
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_WARN([Ignoring jtreg from path since a valid jtreg home cannot be found])
JT_HOME=
JTREGEXE=
else
AC_MSG_NOTICE([Located jtreg using jtreg executable in path])
fi
fi
fi
AC_MSG_CHECKING([for jtreg test harness])
if test "x$JT_HOME" != x; then
AC_MSG_RESULT([$JT_HOME])
else
AC_MSG_RESULT([no, not found])
if test "x$with_jtreg" = xyes; then
AC_MSG_ERROR([--with-jtreg was specified, but no jtreg found.])
fi
fi
fi
UTIL_FIXUP_EXECUTABLE(JTREGEXE)
UTIL_FIXUP_PATH(JT_HOME)
AC_SUBST(JT_HOME)
AC_SUBST(JTREGEXE)
])
# Setup the JIB dependency resolver
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JIB],
[
AC_ARG_WITH(jib, [AS_HELP_STRING([--with-jib],
[Jib dependency management tool @<:@not used@:>@])])
if test "x$with_jib" = xno || test "x$with_jib" = x; then
# jib disabled
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(no)
elif test "x$with_jib" = xyes; then
AC_MSG_ERROR([Must supply a value to --with-jib])
else
JIB_HOME="${with_jib}"
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(${JIB_HOME})
if test ! -d "${JIB_HOME}"; then
AC_MSG_ERROR([--with-jib must be a directory])
fi
JIB_JAR=$(ls ${JIB_HOME}/lib/jib-*.jar)
if test ! -f "${JIB_JAR}"; then
AC_MSG_ERROR([Could not find jib jar file in ${JIB_HOME}])
fi
fi
AC_SUBST(JIB_HOME)
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -28,12 +28,12 @@
DEFAULT_VERSION_FEATURE=11
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=23
DEFAULT_VERSION_UPDATE=26
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2024-04-16
DEFAULT_VERSION_DATE=2025-01-21
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -153,6 +153,10 @@ define SetupLogging
endif
endif
ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)
SHELL := $$(SHELL) -x
endif
ifeq ($$(LOG_LEVEL), trace)
SHELL_NO_RECURSE := $$(SHELL)
# Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make

View File

@@ -747,9 +747,13 @@ define SetupNativeCompilationBody
# Pick up disabled warnings, if possible on this platform.
ifneq ($(DISABLE_WARNING_PREFIX), )
$1_EXTRA_CFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), \
$$(DISABLED_WARNINGS) \
$$(DISABLED_WARNINGS_C) \
$$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)) \
$$($1_DISABLED_WARNINGS_C_$(TOOLCHAIN_TYPE)))
$1_EXTRA_CXXFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), \
$$(DISABLED_WARNINGS) \
$$(DISABLED_WARNINGS_CXX) \
$$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)) \
$$($1_DISABLED_WARNINGS_CXX_$(TOOLCHAIN_TYPE)))
endif
@@ -767,6 +771,7 @@ define SetupNativeCompilationBody
ifeq ($$($1_WARNINGS_AS_ERRORS_$(TOOLCHAIN_TYPE)), true)
$1_EXTRA_CFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
$1_EXTRA_CXXFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
$1_EXTRA_LDFLAGS += $(LDFLAGS_WARNINGS_ARE_ERRORS)
endif
ifeq (NONE, $$($1_OPTIMIZATION))
@@ -975,8 +980,8 @@ define SetupNativeCompilationBody
# Pickup extra OPENJDK_TARGET_OS_TYPE and/or OPENJDK_TARGET_OS dependent variables
# for LDFLAGS and LIBS
$1_EXTRA_LDFLAGS := $$($1_LDFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS))
$1_EXTRA_LIBS := $$($1_LIBS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LIBS_$(OPENJDK_TARGET_OS))
$1_EXTRA_LDFLAGS += $$($1_LDFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS))
$1_EXTRA_LIBS += $$($1_LIBS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LIBS_$(OPENJDK_TARGET_OS))
ifneq ($$($1_REAL_MAPFILE), )
$1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE))
endif
@@ -1214,11 +1219,15 @@ define SetupNativeCompilationBody
$$($1_MT) -nologo -manifest $$($1_MANIFEST) -identity:"$$($1_NAME).exe, version=$$($1_MANIFEST_VERSION)" -outputresource:$$@;#1
endif
endif
# On macosx, optionally run codesign on every binary
# On macosx, optionally run codesign on every binary.
# Remove signature explicitly first to avoid warnings if the linker
# added a default adhoc signature.
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
$(CODESIGN) --remove-signature $$@
$(CODESIGN) -f -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp --options runtime \
--entitlements $$(call GetEntitlementsFile, $$@) $$@
else ifeq ($(MACOSX_CODESIGN_MODE), debug)
$(CODESIGN) --remove-signature $$@
$(CODESIGN) -f -s - --entitlements $$(call GetEntitlementsFile, $$@) $$@
endif
endif

View File

@@ -26,16 +26,16 @@
# Versions and download locations for dependencies used by GitHub Actions (GHA)
GTEST_VERSION=1.8.1
JTREG_VERSION=6.1+3
JTREG_VERSION=7.3.1+1
LINUX_X64_BOOT_JDK_EXT=tar.gz
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.18%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.18_10.tar.gz
LINUX_X64_BOOT_JDK_SHA256=4a29efda1d702b8ff38e554cf932051f40ec70006caed5c4857a8cbc7a0b7db7
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.23%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.23_9.tar.gz
LINUX_X64_BOOT_JDK_SHA256=23e47ea7a3015be3240f21185fd902adebdcf76530757c9b482c7eb5bd3417c2
WINDOWS_X64_BOOT_JDK_EXT=zip
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.18%2B10/OpenJDK11U-jdk_x64_windows_hotspot_11.0.18_10.zip
WINDOWS_X64_BOOT_JDK_SHA256=0cfa5991a8e372b3f8eacacbb2a336663ead0cc6ec9c9ab6cd53206602fb0062
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.23%2B9/OpenJDK11U-jdk_x64_windows_hotspot_11.0.23_9.zip
WINDOWS_X64_BOOT_JDK_SHA256=d7a9f8ceee9a5785dcbbcbec20a07b1366efec59ba652ef7e03f6f7d10f52b85
MACOS_X64_BOOT_JDK_EXT=tar.gz
MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.18%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.18_10.tar.gz
MACOS_X64_BOOT_JDK_SHA256=75d79315d7265cc4b89fd9e844161ff90798bc6482ace8c1ac75f862a5b3b565
MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.23%2B9/OpenJDK11U-jdk_x64_mac_hotspot_11.0.23_9.tar.gz
MACOS_X64_BOOT_JDK_SHA256=4dbd21d9a0311d321f5886eda50c3086026ed61d02e1a85f7b8c2e9ad557bf03

View File

@@ -941,9 +941,9 @@ var getJibProfilesDependencies = function (input, common) {
jtreg: {
server: "jpg",
product: "jtreg",
version: "6",
version: "7.3.1",
build_number: "1",
file: "bundles/jtreg-6+1.zip",
file: "bundles/jtreg-7.3.1+1.zip",
environment_name: "JT_HOME",
environment_path: input.get("jtreg", "install_path") + "/jtreg/bin"
},

View File

@@ -0,0 +1,20 @@
Owner: CN=GlobalSign Root E46, O=GlobalSign nv-sa, C=BE
Issuer: CN=GlobalSign Root E46, O=GlobalSign nv-sa, C=BE
Serial number: 11d2bbba336ed4bce62468c50d841d98e843
Valid from: Wed Mar 20 00:00:00 GMT 2019 until: Tue Mar 20 00:00:00 GMT 2046
Signature algorithm name: SHA384withECDSA
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
Version: 3
-----BEGIN CERTIFICATE-----
MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYx
CzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQD
ExNHbG9iYWxTaWduIFJvb3QgRTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAw
MDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex
HDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA
IgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkBjtjq
R+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGdd
yXqBPCCjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
DgQWBBQxCpCPtsad0kRLgLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ
7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZkvLtoURMMA/cVi4RguYv/Uo7njLwcAjA8
+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3A=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,38 @@
Owner: CN=GlobalSign Root R46, O=GlobalSign nv-sa, C=BE
Issuer: CN=GlobalSign Root R46, O=GlobalSign nv-sa, C=BE
Serial number: 11d2bbb9d723189e405f0a9d2dd0df2567d1
Valid from: Wed Mar 20 00:00:00 GMT 2019 until: Tue Mar 20 00:00:00 GMT 2046
Signature algorithm name: SHA384withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUA
MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYD
VQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMy
MDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYt
c2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08EsCVeJ
OaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQG
vGIFAha/r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud
316HCkD7rRlr+/fKYIje2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo
0q3v84RLHIf8E6M6cqJaESvWJ3En7YEtbWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSE
y132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvjK8Cd+RTyG/FWaha/LIWF
zXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD412lPFzYE
+cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCN
I/onccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzs
x2sZy/N78CsHpdlseVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqa
ByFrgY/bxFn63iLABJzjqls2k+g9vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC
4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEMBQADggIBAHx4
7PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg
JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti
2kM3S+LGteWygxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIk
pnnpHs6i58FZFZ8d4kuaPp92CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRF
FRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZmOUdkLG5NrmJ7v2B0GbhWrJKsFjLt
rWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qqJZ4d16GLuc1CLgSk
ZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwyeqiv5
u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP
4vkYxboznxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6
N3ec592kD3ZDZopD8p/7DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3
vouXsXgxT7PntgMTzlSdriVZzH81Xwj3QEUxeCp6
-----END CERTIFICATE-----

View File

@@ -0,0 +1,21 @@
Owner: CN=SSL.com TLS ECC Root CA 2022, O=SSL Corporation, C=US
Issuer: CN=SSL.com TLS ECC Root CA 2022, O=SSL Corporation, C=US
Serial number: 1403f5abfb378b17405be243b2a5d1c4
Valid from: Thu Aug 25 16:33:48 GMT 2022 until: Sun Aug 19 16:33:47 GMT 2046
Signature algorithm name: SHA384withECDSA
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
Version: 3
-----BEGIN CERTIFICATE-----
MIICOjCCAcCgAwIBAgIQFAP1q/s3ixdAW+JDsqXRxDAKBggqhkjOPQQDAzBOMQsw
CQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxT
U0wuY29tIFRMUyBFQ0MgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzM0OFoXDTQ2
MDgxOTE2MzM0N1owTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jwb3Jh
dGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgRUNDIFJvb3QgQ0EgMjAyMjB2MBAG
ByqGSM49AgEGBSuBBAAiA2IABEUpNXP6wrgjzhR9qLFNoFs27iosU8NgCTWyJGYm
acCzldZdkkAZDsalE3D07xJRKF3nzL35PIXBz5SQySvOkkJYWWf9lCcQZIxPBLFN
SeR7T5v15wj4A4j3p8OSSxlUgaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME
GDAWgBSJjy+j6CugFFR781a4Jl9nOAuc0DAdBgNVHQ4EFgQUiY8vo+groBRUe/NW
uCZfZzgLnNAwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2gAMGUCMFXjIlbp
15IkWE8elDIPDAI2wv2sdDJO4fscgIijzPvX6yv/N33w7deedWo1dlJF4AIxAMeN
b0Igj762TVntd00pxCAgRWSGOlDGxK0tk/UYfXLtqc/ErFc2KAhl3zx5Zn6g6g==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,39 @@
Owner: CN=SSL.com TLS RSA Root CA 2022, O=SSL Corporation, C=US
Issuer: CN=SSL.com TLS RSA Root CA 2022, O=SSL Corporation, C=US
Serial number: 6fbedaad73bd0840e28b4dbed4f75b91
Valid from: Thu Aug 25 16:34:22 GMT 2022 until: Sun Aug 19 16:34:21 GMT 2046
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIFiTCCA3GgAwIBAgIQb77arXO9CEDii02+1PdbkTANBgkqhkiG9w0BAQsFADBO
MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQD
DBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzQyMloX
DTQ2MDgxOTE2MzQyMVowTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jw
b3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgUlNBIFJvb3QgQ0EgMjAyMjCC
AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANCkCXJPQIgSYT41I57u9nTP
L3tYPc48DRAokC+X94xI2KDYJbFMsBFMF3NQ0CJKY7uB0ylu1bUJPiYYf7ISf5OY
t6/wNr/y7hienDtSxUcZXXTzZGbVXcdotL8bHAajvI9AI7YexoS9UcQbOcGV0ins
S657Lb85/bRi3pZ7QcacoOAGcvvwB5cJOYF0r/c0WRFXCsJbwST0MXMwgsadugL3
PnxEX4MN8/HdIGkWCVDi1FW24IBydm5MR7d1VVm0U3TZlMZBrViKMWYPHqIbKUBO
L9975hYsLfy/7PO0+r4Y9ptJ1O4Fbtk085zx7AGL0SDGD6C1vBdOSHtRwvzpXGk3
R2azaPgVKPC506QVzFpPulJwoxJF3ca6TvvC0PeoUidtbnm1jPx7jMEWTO6Af77w
dr5BUxIzrlo4QqvXDz5BjXYHMtWrifZOZ9mxQnUjbvPNQrL8VfVThxc7wDNY8VLS
+YCk8OjwO4s4zKTGkH8PnP2L0aPP2oOnaclQNtVcBdIKQXTbYxE3waWglksejBYS
d66UNHsef8JmAOSqg+qKkK3ONkRN0VHpvB/zagX9wHQfJRlAUW7qglFA35u5CCoG
AtUjHBPW6dvbxrB6y3snm/vg1UYk7RBLY0ulBY+6uB0rpvqR4pJSvezrZ5dtmi2f
gTIFZzL7SAg/2SW4BCUvAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
BBgwFoAU+y437uOEeicuzRk1sTN8/9REQrkwHQYDVR0OBBYEFPsuN+7jhHonLs0Z
NbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAjYlt
hEUY8U+zoO9opMAdrDC8Z2awms22qyIZZtM7QbUQnRC6cm4pJCAcAZli05bg4vsM
QtfhWsSWTVTNj8pDU/0quOr4ZcoBwq1gaAafORpR2eCNJvkLTqVTJXojpBzOCBvf
R4iyrT7gJ4eLSYwfqUdYe5byiB0YrrPRpgqU+tvT5TgKa3kSM/tKWTcWQA673vWJ
DPFs0/dRa1419dvAJuoSc06pkZCmF8NsLzjUo3KUQyxi4U5cMj29TH0ZR6LDSeeW
P4+a0zvkEdiLA9z2tmBVGKaBUfPhqBVq6+AL8BQx1rmMRTqoENjwuSfr98t67wVy
lrXEj5ZzxOhWc5y8aVFjvO9nHEMaX3cZHxj4HCUp+UmZKbaSPaKDN7EgkaibMOlq
bLQjk2UEqxHzDh1TJElTHaE/nUiSEeJ9DU/1172iWD54nR4fK/4huxoTtrEoZP2w
AgDHbICivRZQIA9ygV/MlP+7mea6kMvq+cYMwq7FGc4zoWtcu358NFcXrfA/rs3q
r5nsLFR+jM4uElZI7xc7P0peYNLcdDa8pUNjyw9bowJWCZ4kLOGGgYz+qxcs+sji
Mho6/4UIyYOf8kpIEFR3N+2ivEC+5BB09+Rbu7nzifmPQdjH5FCQNYA+HLhNkNPU
98OwoX6EyneSMSy4kLGCenROmxMmtNVQZlR4rmA=
-----END CERTIFICATE-----

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -32,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=176
dataVersion=177
# List of all valid ISO 4217 currency codes.
# To ensure compatibility, do not remove codes.
@@ -56,8 +56,8 @@ all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036
TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-UYI940-\
UYU858-UZS860-VEB862-VED926-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
XBB956-XBC957-XBD958-XCD951-XCG532-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWL932-\
ZWN942-ZWR935
XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWG924-\
ZWL932-ZWN942-ZWR935
# Mappings from ISO 3166 country codes to ISO 4217 currency codes.
@@ -582,7 +582,7 @@ YE=YER
# ZAMBIA
ZM=ZMW
# ZIMBABWE
ZW=ZWL
ZW=ZWG
# List of currencies with non-2digit decimals for minor units,

View File

@@ -1,4 +1,4 @@
File-Date: 2022-08-08
File-Date: 2024-06-14
%%
Type: language
Subtag: aa
@@ -882,6 +882,7 @@ Type: language
Subtag: sa
Description: Sanskrit
Added: 2005-10-16
Scope: macrolanguage
%%
Type: language
Subtag: sc
@@ -2143,6 +2144,8 @@ Type: language
Subtag: ajp
Description: South Levantine Arabic
Added: 2009-07-29
Deprecated: 2023-03-17
Preferred-Value: apc
Macrolanguage: ar
%%
Type: language
@@ -2790,7 +2793,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: apc
Description: North Levantine Arabic
Description: Levantine Arabic
Added: 2009-07-29
Macrolanguage: ar
%%
@@ -8026,6 +8029,12 @@ Description: Lowland Oaxaca Chontal
Added: 2009-07-29
%%
Type: language
Subtag: cls
Description: Classical Sanskrit
Added: 2024-03-04
Macrolanguage: sa
%%
Type: language
Subtag: clt
Description: Lautu Chin
Added: 2012-08-12
@@ -8910,6 +8919,11 @@ Description: Kuwaataay
Added: 2009-07-29
%%
Type: language
Subtag: cxh
Description: Cha'ari
Added: 2023-03-17
%%
Type: language
Subtag: cya
Description: Nopala Chatino
Added: 2009-07-29
@@ -9388,6 +9402,7 @@ Macrolanguage: doi
%%
Type: language
Subtag: dgr
Description: Tlicho
Description: Dogrib
Description: Tłı̨chǫ
Added: 2005-10-16
@@ -10176,6 +10191,11 @@ Description: Disa
Added: 2009-07-29
%%
Type: language
Subtag: dsk
Description: Dokshi
Added: 2023-03-17
%%
Type: language
Subtag: dsl
Description: Danish Sign Language
Added: 2009-07-29
@@ -10503,6 +10523,11 @@ Description: Jola-Fonyi
Added: 2009-07-29
%%
Type: language
Subtag: dyr
Description: Dyarim
Added: 2023-03-17
%%
Type: language
Subtag: dyu
Description: Dyula
Added: 2005-10-16
@@ -10522,7 +10547,6 @@ Type: language
Subtag: dzd
Description: Daza
Added: 2009-07-29
Deprecated: 2015-02-12
%%
Type: language
Subtag: dze
@@ -11146,6 +11170,11 @@ Description: Semimi
Added: 2009-07-29
%%
Type: language
Subtag: eud
Description: Eudeve
Added: 2023-03-17
%%
Type: language
Subtag: euq
Description: Basque (family)
Added: 2009-07-29
@@ -14805,6 +14834,11 @@ Added: 2009-07-29
Macrolanguage: iu
%%
Type: language
Subtag: ikh
Description: Ikhin-Arokho
Added: 2023-03-17
%%
Type: language
Subtag: iki
Description: Iko
Added: 2009-07-29
@@ -15222,6 +15256,11 @@ Description: Isu (Menchum Division)
Added: 2009-07-29
%%
Type: language
Subtag: isv
Description: Interslavic
Added: 2024-05-15
%%
Type: language
Subtag: itb
Description: Binongan Itneg
Added: 2009-07-29
@@ -15380,6 +15419,11 @@ Deprecated: 2013-09-10
Comments: see eza, gmz, iqw, izz
%%
Type: language
Subtag: izm
Description: Kizamani
Added: 2023-03-17
%%
Type: language
Subtag: izr
Description: Izere
Added: 2009-07-29
@@ -16922,6 +16966,8 @@ Type: language
Subtag: kgm
Description: Karipúna
Added: 2009-07-29
Deprecated: 2023-03-17
Preferred-Value: plu
%%
Type: language
Subtag: kgn
@@ -18339,7 +18385,7 @@ Scope: collection
%%
Type: language
Subtag: krp
Description: Korop
Description: Durop
Added: 2009-07-29
%%
Type: language
@@ -18392,6 +18438,8 @@ Type: language
Subtag: ksa
Description: Shuwa-Zamani
Added: 2009-07-29
Deprecated: 2023-03-17
Comments: see izm, rsw
%%
Type: language
Subtag: ksb
@@ -19476,7 +19524,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: lag
Description: Langi
Description: Rangi
Added: 2009-07-29
%%
Type: language
@@ -20011,6 +20059,12 @@ Description: Lengo
Added: 2009-07-29
%%
Type: language
Subtag: lgs
Description: Guinea-Bissau Sign Language
Description: Língua Gestual Guineense
Added: 2023-03-17
%%
Type: language
Subtag: lgt
Description: Pahi
Added: 2009-07-29
@@ -20655,6 +20709,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: loh
Description: Laarim
Description: Narim
Added: 2009-07-29
%%
@@ -21129,6 +21184,11 @@ Description: Lavukaleve
Added: 2009-07-29
%%
Type: language
Subtag: lvl
Description: Lwel
Added: 2023-03-17
%%
Type: language
Subtag: lvs
Description: Standard Latvian
Added: 2010-03-11
@@ -26188,6 +26248,8 @@ Type: language
Subtag: nom
Description: Nocamán
Added: 2009-07-29
Deprecated: 2023-03-17
Preferred-Value: cbr
%%
Type: language
Subtag: non
@@ -26378,6 +26440,7 @@ Type: language
Subtag: nrf
Description: Jèrriais
Description: Guernésiais
Description: Sercquiais
Added: 2015-02-12
%%
Type: language
@@ -27087,6 +27150,11 @@ Description: Zeme Naga
Added: 2009-07-29
%%
Type: language
Subtag: nzr
Description: Dir-Nyamzak-Mbarimi
Added: 2023-03-17
%%
Type: language
Subtag: nzs
Description: New Zealand Sign Language
Added: 2009-07-29
@@ -28845,6 +28913,8 @@ Type: language
Subtag: plj
Description: Polci
Added: 2009-07-29
Deprecated: 2023-03-17
Comments: see nzr, pze, uly, zlu
%%
Type: language
Subtag: plk
@@ -28970,6 +29040,8 @@ Type: language
Subtag: pmk
Description: Pamlico
Added: 2009-07-29
Deprecated: 2023-03-17
Preferred-Value: crr
%%
Type: language
Subtag: pml
@@ -29446,6 +29518,8 @@ Type: language
Subtag: prp
Description: Parsi
Added: 2009-07-29
Deprecated: 2023-03-17
Preferred-Value: gu
%%
Type: language
Subtag: prq
@@ -29857,6 +29931,11 @@ Description: Pyen
Added: 2009-07-29
%%
Type: language
Subtag: pze
Description: Pesse
Added: 2023-03-17
%%
Type: language
Subtag: pzh
Description: Pazeh
Added: 2022-02-25
@@ -30850,6 +30929,11 @@ Description: Ririo
Added: 2009-07-29
%%
Type: language
Subtag: rrm
Description: Moriori
Added: 2024-03-04
%%
Type: language
Subtag: rro
Description: Waima
Added: 2009-07-29
@@ -30873,7 +30957,7 @@ Deprecated: 2017-02-23
Type: language
Subtag: rsk
Description: Ruthenian
Description: Rusyn
Description: Rusnak
Added: 2022-02-25
%%
Type: language
@@ -30892,6 +30976,11 @@ Description: Rwandan Sign Language
Added: 2022-02-25
%%
Type: language
Subtag: rsw
Description: Rishiwa
Added: 2023-03-17
%%
Type: language
Subtag: rtc
Description: Rungtu Chin
Added: 2012-08-12
@@ -32328,6 +32417,7 @@ Type: language
Subtag: slq
Description: Salchuq
Added: 2009-07-29
Deprecated: 2023-03-17
%%
Type: language
Subtag: slr
@@ -33685,6 +33775,8 @@ Type: language
Subtag: szd
Description: Seru
Added: 2009-07-29
Deprecated: 2023-03-17
Preferred-Value: umi
%%
Type: language
Subtag: sze
@@ -35065,6 +35157,8 @@ Type: language
Subtag: tmk
Description: Northwestern Tamang
Added: 2009-07-29
Deprecated: 2023-03-17
Preferred-Value: tdg
%%
Type: language
Subtag: tml
@@ -35481,6 +35575,8 @@ Type: language
Subtag: tpw
Description: Tupí
Added: 2009-07-29
Deprecated: 2023-03-17
Preferred-Value: tpn
%%
Type: language
Subtag: tpx
@@ -36076,6 +36172,11 @@ Description: Te'un
Added: 2009-07-29
%%
Type: language
Subtag: tvi
Description: Tulai
Added: 2023-03-17
%%
Type: language
Subtag: tvk
Description: Southeast Ambrym
Added: 2009-07-29
@@ -36727,6 +36828,11 @@ Description: Ulwa
Added: 2010-03-11
%%
Type: language
Subtag: uly
Description: Buli
Added: 2023-03-17
%%
Type: language
Subtag: uma
Description: Umatilla
Added: 2009-07-29
@@ -37318,6 +37424,11 @@ Description: Iduna
Added: 2009-07-29
%%
Type: language
Subtag: vjk
Description: Bajjika
Added: 2023-03-17
%%
Type: language
Subtag: vka
Description: Kariyarra
Added: 2009-07-29
@@ -37567,6 +37678,12 @@ Description: Venezuelan Sign Language
Added: 2009-07-29
%%
Type: language
Subtag: vsn
Description: Vedic Sanskrit
Added: 2024-03-04
Macrolanguage: sa
%%
Type: language
Subtag: vsv
Description: Valencian Sign Language
Description: Llengua de signes valenciana
@@ -38316,7 +38433,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: wnb
Description: Wanambre
Description: Mokati
Added: 2009-07-29
%%
Type: language
@@ -38619,6 +38736,11 @@ Description: Wotapuri-Katarqalai
Added: 2009-07-29
%%
Type: language
Subtag: wtb
Description: Matambwe
Added: 2023-03-17
%%
Type: language
Subtag: wtf
Description: Watiwa
Added: 2009-07-29
@@ -40085,6 +40207,8 @@ Type: language
Subtag: xss
Description: Assan
Added: 2009-07-29
Deprecated: 2023-03-17
Preferred-Value: zko
%%
Type: language
Subtag: xsu
@@ -40668,6 +40792,11 @@ Description: Chepya
Added: 2009-07-29
%%
Type: language
Subtag: ycr
Description: Yilan Creole
Added: 2023-03-17
%%
Type: language
Subtag: yda
Description: Yanda
Added: 2013-09-10
@@ -40947,6 +41076,11 @@ Description: Northern Yukaghir
Added: 2009-07-29
%%
Type: language
Subtag: ykh
Description: Khamnigan Mongol
Added: 2023-03-17
%%
Type: language
Subtag: yki
Description: Yoke
Added: 2009-07-29
@@ -41921,6 +42055,11 @@ Added: 2009-07-29
Macrolanguage: za
%%
Type: language
Subtag: zem
Description: Zeem
Added: 2023-03-17
%%
Type: language
Subtag: zen
Description: Zenaga
Added: 2005-10-16
@@ -42047,6 +42186,8 @@ Type: language
Subtag: zkb
Description: Koibal
Added: 2009-07-29
Deprecated: 2023-03-17
Preferred-Value: kjh
%%
Type: language
Subtag: zkd
@@ -42150,6 +42291,11 @@ Added: 2009-07-29
Scope: collection
%%
Type: language
Subtag: zlu
Description: Zul
Added: 2023-03-17
%%
Type: language
Subtag: zlw
Description: West Slavic languages
Added: 2009-07-29
@@ -42654,6 +42800,8 @@ Type: language
Subtag: zua
Description: Zeem
Added: 2009-07-29
Deprecated: 2023-03-17
Comments: see cxh, dsk, dyr, tvi, zem
%%
Type: language
Subtag: zuh
@@ -42861,6 +43009,7 @@ Type: extlang
Subtag: ajp
Description: South Levantine Arabic
Added: 2009-07-29
Deprecated: 2023-03-17
Preferred-Value: ajp
Prefix: ar
Macrolanguage: ar
@@ -42874,7 +43023,7 @@ Prefix: sgn
%%
Type: extlang
Subtag: apc
Description: North Levantine Arabic
Description: Levantine Arabic
Added: 2009-07-29
Preferred-Value: apc
Prefix: ar
@@ -43695,6 +43844,14 @@ Prefix: ms
Macrolanguage: ms
%%
Type: extlang
Subtag: lgs
Description: Guinea-Bissau Sign Language
Description: Língua Gestual Guineense
Added: 2023-03-17
Preferred-Value: lgs
Prefix: sgn
%%
Type: extlang
Subtag: liw
Description: Col
Added: 2009-07-29
@@ -44747,6 +44904,11 @@ Description: Cherokee
Added: 2005-10-16
%%
Type: script
Subtag: Chis
Description: Chisoi
Added: 2023-10-16
%%
Type: script
Subtag: Chrs
Description: Chorasmian
Added: 2019-09-11
@@ -44842,6 +45004,11 @@ Description: Ge'ez
Added: 2005-10-16
%%
Type: script
Subtag: Gara
Description: Garay
Added: 2023-10-16
%%
Type: script
Subtag: Geok
Description: Khutsuri (Asomtavruli and Nuskhuri)
Added: 2005-10-16
@@ -44887,6 +45054,11 @@ Description: Gujarati
Added: 2005-10-16
%%
Type: script
Subtag: Gukh
Description: Gurung Khema
Added: 2023-10-16
%%
Type: script
Subtag: Guru
Description: Gurmukhi
Added: 2005-10-16
@@ -45057,6 +45229,11 @@ Description: Kpelle
Added: 2010-04-10
%%
Type: script
Subtag: Krai
Description: Kirat Rai
Added: 2023-10-16
%%
Type: script
Subtag: Kthi
Description: Kaithi
Added: 2007-12-05
@@ -45304,6 +45481,11 @@ Description: Santali
Added: 2006-07-21
%%
Type: script
Subtag: Onao
Description: Ol Onal
Added: 2023-10-16
%%
Type: script
Subtag: Orkh
Description: Old Turkic
Description: Orkhon Runic
@@ -45483,6 +45665,11 @@ Description: Siddhamātṛkā
Added: 2013-12-02
%%
Type: script
Subtag: Sidt
Description: Sidetic
Added: 2023-10-16
%%
Type: script
Subtag: Sind
Description: Khudawadi
Description: Sindhi
@@ -45586,6 +45773,11 @@ Description: Tai Viet
Added: 2007-12-05
%%
Type: script
Subtag: Tayo
Description: Tai Yo
Added: 2023-10-16
%%
Type: script
Subtag: Telu
Description: Telugu
Added: 2005-10-16
@@ -45634,11 +45826,26 @@ Description: Tangsa
Added: 2021-03-05
%%
Type: script
Subtag: Todr
Description: Todhri
Added: 2023-10-16
%%
Type: script
Subtag: Tols
Description: Tolong Siki
Added: 2023-10-16
%%
Type: script
Subtag: Toto
Description: Toto
Added: 2020-05-12
%%
Type: script
Subtag: Tutg
Description: Tulu-Tigalari
Added: 2023-10-16
%%
Type: script
Subtag: Ugar
Description: Ugaritic
Added: 2005-10-16
@@ -46013,6 +46220,11 @@ Description: Clipperton Island
Added: 2009-07-29
%%
Type: region
Subtag: CQ
Description: Sark
Added: 2023-02-07
%%
Type: region
Subtag: CR
Description: Costa Rica
Added: 2005-10-16
@@ -47371,6 +47583,13 @@ Comments: Aluku dialect of the "Busi Nenge Tongo" English-based Creole
continuum in Eastern Suriname and Western French Guiana
%%
Type: variant
Subtag: anpezo
Description: Anpezo standard of Ladin
Added: 2024-03-04
Prefix: lld
Comments: Represents the standard written form of Ladin in Anpezo
%%
Type: variant
Subtag: ao1990
Description: Portuguese Language Orthographic Agreement of 1990 (Acordo
Ortográfico da Língua Portuguesa de 1990)
@@ -47474,6 +47693,23 @@ Added: 2010-07-28
Prefix: sa
%%
Type: variant
Subtag: bciav
Description: BCI Blissymbolics AV
Added: 2023-05-11
Prefix: zbl
Comments: Name given to a subset of the variety of Blissymbolics curated
by Blissymbolics Communication International, as represented by
entries in the BCI Authorized Vocabulary
%%
Type: variant
Subtag: bcizbl
Description: BCI Blissymbolics
Added: 2023-05-11
Prefix: zbl
Comments: Name given to the variety of Blissymbolics curated by
Blissymbolics Communication International
%%
Type: variant
Subtag: biscayan
Description: Biscayan dialect of Basque
Added: 2010-04-13
@@ -47489,6 +47725,15 @@ Comments: The dialect of San Giorgio/Bila is one of the four major local
dialects of Resian
%%
Type: variant
Subtag: blasl
Description: Black American Sign Language dialect
Added: 2023-07-31
Prefix: ase
Prefix: sgn-ase
Comments: Black American Sign Language (BASL) or Black Sign Variation
(BSV) is a dialect of American Sign Language (ASL)
%%
Type: variant
Subtag: bohoric
Description: Slovene in Bohorič alphabet
Added: 2012-06-27
@@ -47565,6 +47810,22 @@ Added: 2012-02-05
Prefix: en
%%
Type: variant
Subtag: fascia
Description: Fascia standard of Ladin
Added: 2024-03-04
Prefix: lld
Comments: Represents the standard written form of Ladin in Fascia which
unified the three subvarieties Cazet, Brach and Moenat
%%
Type: variant
Subtag: fodom
Description: Fodom standard of Ladin
Added: 2024-03-04
Prefix: lld
Comments: Represents the standard written form of Ladin in Livinallongo
and Colle Santa Lucia
%%
Type: variant
Subtag: fonipa
Description: International Phonetic Alphabet
Added: 2006-12-11
@@ -47605,6 +47866,13 @@ Prefix: oc
Comments: Occitan variant spoken in Gascony
%%
Type: variant
Subtag: gherd
Description: Gherdëina standard of Ladin
Added: 2024-03-04
Prefix: lld
Comments: Represents the standard written form of Ladin in Gherdëina
%%
Type: variant
Subtag: grclass
Description: Classical Occitan orthography
Added: 2018-04-22
@@ -47741,7 +48009,9 @@ Type: variant
Subtag: laukika
Description: Classical Sanskrit
Added: 2010-07-28
Deprecated: 2024-06-08
Prefix: sa
Comments: Preferred tag is cls
%%
Type: variant
Subtag: lemosin
@@ -47906,6 +48176,15 @@ Comments: Peanos Interlingua, created in 1903 by Giuseppe Peano as an
Added: 2020-03-12
%%
Type: variant
Subtag: pehoeji
Description: Hokkien Vernacular Romanization System
Description: Pe̍h-ōe-jī orthography/romanization
Added: 2024-03-04
Prefix: nan-Latn
Comments: Modern Hokkien Vernacular Romanization System, evolved from
the New Dictionary in the Amoy by John Van Nest Talmage in 1894
%%
Type: variant
Subtag: petr1708
Description: Petrine orthography
Added: 2010-10-10
@@ -48040,6 +48319,16 @@ Added: 2021-07-17
Prefix: da
%%
Type: variant
Subtag: tailo
Description: Taiwanese Hokkien Romanization System for Hokkien
languages
Description: Tâi-lô orthography/romanization
Added: 2024-03-04
Prefix: nan-Latn
Comments: Taiwanese Hokkien Romanization System (Tâi-lô) published in
2006 by the Taiwan Ministry of Education
%%
Type: variant
Subtag: tarask
Description: Belarusian in Taraskievica orthography
Added: 2007-04-27
@@ -48098,9 +48387,20 @@ Type: variant
Subtag: vaidika
Description: Vedic Sanskrit
Added: 2010-07-28
Deprecated: 2024-06-08
Prefix: sa
Comments: The most ancient dialect of Sanskrit used in verse and prose
composed until about the 4th century B.C.E.
Comments: Preferred tag is vsn
%%
Type: variant
Subtag: valbadia
Description: Val Badia standard of Ladin
Added: 2024-03-04
Prefix: lld
Comments: Represents the standard written form of Ladin in the Val
Badia, unifying the three variants Marô, Mesaval and Badiot spoken
in this valley
%%
Type: variant
Subtag: valencia

View File

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

View File

@@ -126,17 +126,16 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 16
# Cape Verde / Cabo Verde
#
# From Paul Eggert (2018-02-16):
# Shanks gives 1907 for the transition to +02.
# For now, ignore that and follow the 1911-05-26 Portuguese decree
# (see Europe/Lisbon).
# From Tim Parenti (2024-07-01), per Paul Eggert (2018-02-16):
# For timestamps before independence, see commentary for Europe/Lisbon.
# Shanks gives 1907 instead for the transition to -02.
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia
-2:00 - -02 1942 Sep
-2:00 1:00 -01 1945 Oct 15
-2:00 - -02 1975 Nov 25 2:00
-1:00 - -01
-2:00 - %z 1942 Sep
-2:00 1:00 %z 1945 Oct 15
-2:00 - %z 1975 Nov 25 2:00
-1:00 - %z
# Chad
# Zone NAME STDOFF RULES FORMAT [UNTIL]
@@ -368,14 +367,12 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
# Guinea-Bissau
#
# From Paul Eggert (2018-02-16):
# Shanks gives 1911-05-26 for the transition to WAT,
# evidently confusing the date of the Portuguese decree
# (see Europe/Lisbon) with the date that it took effect.
# From Tim Parenti (2024-07-01), per Paul Eggert (2018-02-16):
# For timestamps before independence, see commentary for Europe/Lisbon.
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u
-1:00 - -01 1975
-1:00 - %z 1975
0:00 - GMT
# Comoros
@@ -440,10 +437,10 @@ Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Nairobi 2:27:16 - LMT 1908 May
2:30 - +0230 1928 Jun 30 24:00
2:30 - %z 1928 Jun 30 24:00
3:00 - EAT 1930 Jan 4 24:00
2:30 - +0230 1936 Dec 31 24:00
2:45 - +0245 1942 Jul 31 24:00
2:30 - %z 1936 Dec 31 24:00
2:45 - %z 1942 Jul 31 24:00
3:00 - EAT
# Liberia
@@ -614,7 +611,7 @@ Rule Mauritius 2008 only - Oct lastSun 2:00 1:00 -
Rule Mauritius 2009 only - Mar lastSun 2:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
4:00 Mauritius +04/+05
4:00 Mauritius %z
# Agalega Is, Rodriguez
# no information; probably like Indian/Mauritius
@@ -1094,10 +1091,10 @@ Rule Morocco 2087 only - May 11 2:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
0:00 Morocco +00/+01 1984 Mar 16
1:00 - +01 1986
0:00 Morocco +00/+01 2018 Oct 28 3:00
1:00 Morocco +01/+00
0:00 Morocco %z 1984 Mar 16
1:00 - %z 1986
0:00 Morocco %z 2018 Oct 28 3:00
1:00 Morocco %z
# Western Sahara
#
@@ -1111,9 +1108,9 @@ Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
# since most of it was then controlled by Morocco.
Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
-1:00 - -01 1976 Apr 14
0:00 Morocco +00/+01 2018 Oct 28 3:00
1:00 Morocco +01/+00
-1:00 - %z 1976 Apr 14
0:00 Morocco %z 2018 Oct 28 3:00
1:00 Morocco %z
# Botswana
# Burundi
@@ -1124,13 +1121,27 @@ Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
# Zambia
# Zimbabwe
#
# Shanks gives 1903-03-01 for the transition to CAT.
# Perhaps the 1911-05-26 Portuguese decree
# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf
# merely made it official?
# From Tim Parenti (2024-07-01):
# For timestamps before Mozambique's independence, see commentary for
# Europe/Lisbon.
#
# From Paul Eggert (2024-05-24):
# The London Gazette, 1903-04-03, page 2245, says that
# as of 1903-03-03 a time ball at the port of Lourenço Marques
# (as Maputo was then called) was dropped daily at 13:00:00 LMT,
# corresponding to 22:49:41.7 GMT, so local time was +02:10:18.3.
# Conversely, the newspaper South Africa, 1909-02-09, page 321,
# says the port had just installed an apparatus that communicated
# "from the controlling clock in the new Observatory at Reuben Point ...
# exact mean South African time, i.e., 30 deg., or 2 hours East of Greenwich".
# Although Shanks gives 1903-03-01 for the transition to CAT,
# evidently the port transitioned to CAT after 1903-03-03 but before
# the Portuguese legal transition of 1912-01-01 (see Europe/Lisbon commentary).
# For lack of better info, list 1909 as the transition date.
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Maputo 2:10:20 - LMT 1903 Mar
#STDOFF 2:10:18.3
Zone Africa/Maputo 2:10:18 - LMT 1909
2:00 - CAT
# Namibia
@@ -1195,7 +1206,7 @@ Rule Namibia 1995 2017 - Apr Sun>=1 2:00 -1:00 WAT
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
1:30 - +0130 1903 Mar
1:30 - %z 1903 Mar
2:00 - SAST 1942 Sep 20 2:00
2:00 1:00 SAST 1943 Mar 21 2:00
2:00 - SAST 1990 Mar 21 # independence
@@ -1283,7 +1294,7 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
Zone Africa/Lagos 0:13:35 - LMT 1905 Jul 1
0:00 - GMT 1908 Jul 1
0:13:35 - LMT 1914 Jan 1
0:30 - +0030 1919 Sep 1
0:30 - %z 1919 Sep 1
1:00 - WAT
# São Tomé and Príncipe

View File

@@ -110,34 +110,34 @@
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Casey 0 - -00 1969
8:00 - +08 2009 Oct 18 2:00
11:00 - +11 2010 Mar 5 2:00
8:00 - +08 2011 Oct 28 2:00
11:00 - +11 2012 Feb 21 17:00u
8:00 - +08 2016 Oct 22
11:00 - +11 2018 Mar 11 4:00
8:00 - +08 2018 Oct 7 4:00
11:00 - +11 2019 Mar 17 3:00
8:00 - +08 2019 Oct 4 3:00
11:00 - +11 2020 Mar 8 3:00
8:00 - +08 2020 Oct 4 0:01
11:00 - +11 2021 Mar 14 0:00
8:00 - +08 2021 Oct 3 0:01
11:00 - +11 2022 Mar 13 0:00
8:00 - +08 2022 Oct 2 0:01
11:00 - +11 2023 Mar 9 3:00
8:00 - +08
8:00 - %z 2009 Oct 18 2:00
11:00 - %z 2010 Mar 5 2:00
8:00 - %z 2011 Oct 28 2:00
11:00 - %z 2012 Feb 21 17:00u
8:00 - %z 2016 Oct 22
11:00 - %z 2018 Mar 11 4:00
8:00 - %z 2018 Oct 7 4:00
11:00 - %z 2019 Mar 17 3:00
8:00 - %z 2019 Oct 4 3:00
11:00 - %z 2020 Mar 8 3:00
8:00 - %z 2020 Oct 4 0:01
11:00 - %z 2021 Mar 14 0:00
8:00 - %z 2021 Oct 3 0:01
11:00 - %z 2022 Mar 13 0:00
8:00 - %z 2022 Oct 2 0:01
11:00 - %z 2023 Mar 9 3:00
8:00 - %z
Zone Antarctica/Davis 0 - -00 1957 Jan 13
7:00 - +07 1964 Nov
7:00 - %z 1964 Nov
0 - -00 1969 Feb
7:00 - +07 2009 Oct 18 2:00
5:00 - +05 2010 Mar 10 20:00u
7:00 - +07 2011 Oct 28 2:00
5:00 - +05 2012 Feb 21 20:00u
7:00 - +07
7:00 - %z 2009 Oct 18 2:00
5:00 - %z 2010 Mar 10 20:00u
7:00 - %z 2011 Oct 28 2:00
5:00 - %z 2012 Feb 21 20:00u
7:00 - %z
Zone Antarctica/Mawson 0 - -00 1954 Feb 13
6:00 - +06 2009 Oct 18 2:00
5:00 - +05
6:00 - %z 2009 Oct 18 2:00
5:00 - %z
# References:
# Casey Weather (1998-02-26)
# http://www.antdiv.gov.au/aad/exop/sfo/casey/casey_aws.html
@@ -313,10 +313,10 @@ Zone Antarctica/Troll 0 - -00 2005 Feb 12
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Vostok 0 - -00 1957 Dec 16
7:00 - +07 1994 Feb
7:00 - %z 1994 Feb
0 - -00 1994 Nov
7:00 - +07 2023 Dec 18 2:00
5:00 - +05
7:00 - %z 2023 Dec 18 2:00
5:00 - %z
# S Africa - year-round bases
# Marion Island, -4653+03752
@@ -349,7 +349,7 @@ Zone Antarctica/Vostok 0 - -00 1957 Dec 16
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Rothera 0 - -00 1976 Dec 1
-3:00 - -03
-3:00 - %z
# Uruguay - year round base
# Artigas, King George Island, -621104-0585107

View File

@@ -106,8 +106,8 @@ Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 -
# Afghanistan
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Kabul 4:36:48 - LMT 1890
4:00 - +04 1945
4:30 - +0430
4:00 - %z 1945
4:30 - %z
# Armenia
# From Paul Eggert (2006-03-22):
@@ -139,12 +139,12 @@ Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 -
Rule Armenia 2011 only - Oct lastSun 2:00s 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2
3:00 - +03 1957 Mar
4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s
3:00 RussiaAsia +03/+04 1995 Sep 24 2:00s
4:00 - +04 1997
4:00 RussiaAsia +04/+05 2011
4:00 Armenia +04/+05
3:00 - %z 1957 Mar
4:00 RussiaAsia %z 1991 Mar 31 2:00s
3:00 RussiaAsia %z 1995 Sep 24 2:00s
4:00 - %z 1997
4:00 RussiaAsia %z 2011
4:00 Armenia %z
# Azerbaijan
@@ -165,12 +165,12 @@ Rule Azer 1997 2015 - Mar lastSun 4:00 1:00 -
Rule Azer 1997 2015 - Oct lastSun 5:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Baku 3:19:24 - LMT 1924 May 2
3:00 - +03 1957 Mar
4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s
3:00 RussiaAsia +03/+04 1992 Sep lastSun 2:00s
4:00 - +04 1996
4:00 EUAsia +04/+05 1997
4:00 Azer +04/+05
3:00 - %z 1957 Mar
4:00 RussiaAsia %z 1991 Mar 31 2:00s
3:00 RussiaAsia %z 1992 Sep lastSun 2:00s
4:00 - %z 1996
4:00 EUAsia %z 1997
4:00 Azer %z
# Bangladesh
# From Alexander Krivenyshev (2009-05-13):
@@ -251,17 +251,17 @@ Rule Dhaka 2009 only - Dec 31 24:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Dhaka 6:01:40 - LMT 1890
5:53:20 - HMT 1941 Oct # Howrah Mean Time?
6:30 - +0630 1942 May 15
5:30 - +0530 1942 Sep
6:30 - +0630 1951 Sep 30
6:00 - +06 2009
6:00 Dhaka +06/+07
6:30 - %z 1942 May 15
5:30 - %z 1942 Sep
6:30 - %z 1951 Sep 30
6:00 - %z 2009
6:00 Dhaka %z
# Bhutan
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Thimphu 5:58:36 - LMT 1947 Aug 15 # or Thimbu
5:30 - +0530 1987 Oct
6:00 - +06
5:30 - %z 1987 Oct
6:00 - %z
# British Indian Ocean Territory
# Whitman and the 1995 CIA time zone map say 5:00, but the
@@ -271,8 +271,8 @@ Zone Asia/Thimphu 5:58:36 - LMT 1947 Aug 15 # or Thimbu
# then contained the Chagos Archipelago).
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Chagos 4:49:40 - LMT 1907
5:00 - +05 1996
6:00 - +06
5:00 - %z 1996
6:00 - %z
# Cocos (Keeling) Islands
# Myanmar (Burma)
@@ -288,9 +288,9 @@ Zone Indian/Chagos 4:49:40 - LMT 1907
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon
6:24:47 - RMT 1920 # Rangoon local time
6:30 - +0630 1942 May
9:00 - +09 1945 May 3
6:30 - +0630
6:30 - %z 1942 May
9:00 - %z 1945 May 3
6:30 - %z
# China
@@ -679,7 +679,7 @@ Zone Asia/Shanghai 8:05:43 - LMT 1901
# Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi
# / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.)
Zone Asia/Urumqi 5:50:20 - LMT 1928
6:00 - +06
6:00 - %z
# Hong Kong
@@ -1137,7 +1137,7 @@ Rule Macau 1979 only - Oct Sun>=16 03:30 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Macau 7:34:10 - LMT 1904 Oct 30
8:00 - CST 1941 Dec 21 23:00
9:00 Macau +09/+10 1945 Sep 30 24:00
9:00 Macau %z 1945 Sep 30 24:00
8:00 Macau C%sT
@@ -1180,7 +1180,7 @@ Zone Asia/Nicosia 2:13:28 - LMT 1921 Nov 14
Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14
2:00 Cyprus EE%sT 1998 Sep
2:00 EUAsia EE%sT 2016 Sep 8
3:00 - +03 2017 Oct 29 1:00u
3:00 - %z 2017 Oct 29 1:00u
2:00 EUAsia EE%sT
# Georgia
@@ -1221,18 +1221,25 @@ Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Tbilisi 2:59:11 - LMT 1880
2:59:11 - TBMT 1924 May 2 # Tbilisi Mean Time
3:00 - +03 1957 Mar
4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s
3:00 RussiaAsia +03/+04 1992
3:00 E-EurAsia +03/+04 1994 Sep lastSun
4:00 E-EurAsia +04/+05 1996 Oct lastSun
4:00 1:00 +05 1997 Mar lastSun
4:00 E-EurAsia +04/+05 2004 Jun 27
3:00 RussiaAsia +03/+04 2005 Mar lastSun 2:00
4:00 - +04
3:00 - %z 1957 Mar
4:00 RussiaAsia %z 1991 Mar 31 2:00s
3:00 RussiaAsia %z 1992
3:00 E-EurAsia %z 1994 Sep lastSun
4:00 E-EurAsia %z 1996 Oct lastSun
4:00 1:00 %z 1997 Mar lastSun
4:00 E-EurAsia %z 2004 Jun 27
3:00 RussiaAsia %z 2005 Mar lastSun 2:00
4:00 - %z
# East Timor
# From Tim Parenti (2024-07-01):
# The 1912-01-01 transition occurred at 00:00 new time, per the 1911-05-24
# Portuguese decree (see Europe/Lisbon). A provision in article 5(c) of the
# decree prescribed that Timor "will keep counting time in harmony with
# neighboring foreign colonies, [for] as long as they do not adopt the time
# that belongs to them in [the Washington Convention] system."
# See Indonesia for the 1945 transition.
# From João Carrascalão, brother of the former governor of East Timor, in
@@ -1256,11 +1263,11 @@ Zone Asia/Tbilisi 2:59:11 - LMT 1880
# midnight on Saturday, September 16.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Dili 8:22:20 - LMT 1912 Jan 1
8:00 - +08 1942 Feb 21 23:00
9:00 - +09 1976 May 3
8:00 - +08 2000 Sep 17 0:00
9:00 - +09
Zone Asia/Dili 8:22:20 - LMT 1911 Dec 31 16:00u
8:00 - %z 1942 Feb 21 23:00
9:00 - %z 1976 May 3
8:00 - %z 2000 Sep 17 0:00
9:00 - %z
# India
@@ -1326,9 +1333,9 @@ Zone Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 # Kolkata
5:53:20 - HMT 1870 # Howrah Mean Time?
5:21:10 - MMT 1906 Jan 1 # Madras local time
5:30 - IST 1941 Oct
5:30 1:00 +0630 1942 May 15
5:30 1:00 %z 1942 May 15
5:30 - IST 1942 Sep
5:30 1:00 +0630 1945 Oct 15
5:30 1:00 %z 1945 Oct 15
5:30 - IST
# Since 1970 the following are like Asia/Kolkata:
# Andaman Is
@@ -1380,33 +1387,33 @@ 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 16:40u # Batavia
7:20 - +0720 1932 Nov
7:30 - +0730 1942 Mar 23
9:00 - +09 1945 Sep 23
7:30 - +0730 1948 May
8:00 - +08 1950 May
7:30 - +0730 1964
7:20 - %z 1932 Nov
7:30 - %z 1942 Mar 23
9:00 - %z 1945 Sep 23
7:30 - %z 1948 May
8:00 - %z 1950 May
7:30 - %z 1964
7:00 - WIB
# west and central Borneo
Zone Asia/Pontianak 7:17:20 - LMT 1908 May
7:17:20 - PMT 1932 Nov # Pontianak MT
7:30 - +0730 1942 Jan 29
9:00 - +09 1945 Sep 23
7:30 - +0730 1948 May
8:00 - +08 1950 May
7:30 - +0730 1964
7:30 - %z 1942 Jan 29
9:00 - %z 1945 Sep 23
7:30 - %z 1948 May
8:00 - %z 1950 May
7:30 - %z 1964
8:00 - WITA 1988 Jan 1
7:00 - WIB
# Sulawesi, Lesser Sundas, east and south Borneo
Zone Asia/Makassar 7:57:36 - LMT 1920
7:57:36 - MMT 1932 Nov # Macassar MT
8:00 - +08 1942 Feb 9
9:00 - +09 1945 Sep 23
8:00 - %z 1942 Feb 9
9:00 - %z 1945 Sep 23
8:00 - WITA
# Maluku Islands, West Papua, Papua
Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
9:00 - +09 1944 Sep 1
9:30 - +0930 1964
9:00 - %z 1944 Sep 1
9:30 - %z 1964
9:00 - WIT
# Iran
@@ -1642,9 +1649,9 @@ 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 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
3:30 Iran %z 1977 Oct 20 24:00
4:00 Iran %z 1979
3:30 Iran %z
# Iraq
@@ -1687,8 +1694,8 @@ Rule Iraq 1991 2007 - Oct 1 3:00s 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Baghdad 2:57:40 - LMT 1890
2:57:36 - BMT 1918 # Baghdad Mean Time?
3:00 - +03 1982 May
3:00 Iraq +03/+04
3:00 - %z 1982 May
3:00 Iraq %z
###############################################################################
@@ -2285,7 +2292,7 @@ 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 2022 Oct 28 0:00s
3:00 - +03
3:00 - %z
# Kazakhstan
@@ -2496,88 +2503,88 @@ Zone Asia/Amman 2:23:44 - LMT 1931
# Almaty (formerly Alma-Ata), representing most locations in Kazakhstan
# This includes Abai/Abay (ISO 3166-2 code KZ-10), Aqmola/Akmola (KZ-11),
# Almaty (KZ-19), Almaty city (KZ-75), Astana city (KZ-71),
# East Kazkhstan (KZ-63), Jambyl/Zhambyl (KZ-31), Jetisu/Zhetysu (KZ-33),
# East Kazakhstan (KZ-63), Jambyl/Zhambyl (KZ-31), Jetisu/Zhetysu (KZ-33),
# Karaganda (KZ-35), North Kazakhstan (KZ-59), Pavlodar (KZ-55),
# Shyumkent city (KZ-79), Turkistan (KZ-61), and Ulytau (KZ-62).
# Shymkent city (KZ-79), Turkistan (KZ-61), and Ulytau (KZ-62).
Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata
5:00 - +05 1930 Jun 21
6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s
6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s
6:00 - +06 2024 Mar 1 0:00
5:00 - +05
5:00 - %z 1930 Jun 21
6:00 RussiaAsia %z 1991 Mar 31 2:00s
5:00 RussiaAsia %z 1992 Jan 19 2:00s
6:00 RussiaAsia %z 2004 Oct 31 2:00s
6:00 - %z 2024 Mar 1 0:00
5:00 - %z
# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-43)
Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2
4:00 - +04 1930 Jun 21
5:00 - +05 1981 Apr 1
5:00 1:00 +06 1981 Oct 1
6:00 - +06 1982 Apr 1
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
4:00 RussiaAsia +04/+05 1991 Sep 29 2:00s
5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s
6:00 RussiaAsia +06/+07 1992 Mar 29 2:00s
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
6:00 - +06 2018 Dec 21 0:00
5:00 - +05
4:00 - %z 1930 Jun 21
5:00 - %z 1981 Apr 1
5:00 1:00 %z 1981 Oct 1
6:00 - %z 1982 Apr 1
5:00 RussiaAsia %z 1991 Mar 31 2:00s
4:00 RussiaAsia %z 1991 Sep 29 2:00s
5:00 RussiaAsia %z 1992 Jan 19 2:00s
6:00 RussiaAsia %z 1992 Mar 29 2:00s
5:00 RussiaAsia %z 2004 Oct 31 2:00s
6:00 - %z 2018 Dec 21 0:00
5:00 - %z
# Qostanay (aka Kostanay, Kustanay) (KZ-39)
# The 1991/2 rules are unclear partly because of the 1997 Turgai
# reorganization.
Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2
4:00 - +04 1930 Jun 21
5:00 - +05 1981 Apr 1
5:00 1:00 +06 1981 Oct 1
6:00 - +06 1982 Apr 1
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
6:00 - +06 2024 Mar 1 0:00
5:00 - +05
4:00 - %z 1930 Jun 21
5:00 - %z 1981 Apr 1
5:00 1:00 %z 1981 Oct 1
6:00 - %z 1982 Apr 1
5:00 RussiaAsia %z 1991 Mar 31 2:00s
4:00 RussiaAsia %z 1992 Jan 19 2:00s
5:00 RussiaAsia %z 2004 Oct 31 2:00s
6:00 - %z 2024 Mar 1 0:00
5:00 - %z
# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-15)
Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2
4:00 - +04 1930 Jun 21
5:00 - +05 1981 Apr 1
5:00 1:00 +06 1981 Oct 1
6:00 - +06 1982 Apr 1
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
5:00 - +05
4:00 - %z 1930 Jun 21
5:00 - %z 1981 Apr 1
5:00 1:00 %z 1981 Oct 1
6:00 - %z 1982 Apr 1
5:00 RussiaAsia %z 1991 Mar 31 2:00s
4:00 RussiaAsia %z 1992 Jan 19 2:00s
5:00 RussiaAsia %z 2004 Oct 31 2:00s
5:00 - %z
# Mangghystaū (KZ-47)
# Aqtau was not founded until 1963, but it represents an inhabited region,
# so include timestamps before 1963.
Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2
4:00 - +04 1930 Jun 21
5:00 - +05 1981 Oct 1
6:00 - +06 1982 Apr 1
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
5:00 - +05
4:00 - %z 1930 Jun 21
5:00 - %z 1981 Oct 1
6:00 - %z 1982 Apr 1
5:00 RussiaAsia %z 1991 Mar 31 2:00s
4:00 RussiaAsia %z 1992 Jan 19 2:00s
5:00 RussiaAsia %z 1994 Sep 25 2:00s
4:00 RussiaAsia %z 2004 Oct 31 2:00s
5:00 - %z
# Atyraū (KZ-23) is like Mangghystaū except it switched from
# +04/+05 to +05/+06 in spring 1999, not fall 1994.
Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2
3:00 - +03 1930 Jun 21
5:00 - +05 1981 Oct 1
6:00 - +06 1982 Apr 1
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
5:00 - +05
3:00 - %z 1930 Jun 21
5:00 - %z 1981 Oct 1
6:00 - %z 1982 Apr 1
5:00 RussiaAsia %z 1991 Mar 31 2:00s
4:00 RussiaAsia %z 1992 Jan 19 2:00s
5:00 RussiaAsia %z 1999 Mar 28 2:00s
4:00 RussiaAsia %z 2004 Oct 31 2:00s
5:00 - %z
# West Kazakhstan (KZ-27)
# From Paul Eggert (2016-03-18):
# The 1989 transition is from USSR act No. 227 (1989-03-14).
Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk
3:00 - +03 1930 Jun 21
5:00 - +05 1981 Apr 1
5:00 1:00 +06 1981 Oct 1
6:00 - +06 1982 Apr 1
5:00 RussiaAsia +05/+06 1989 Mar 26 2:00s
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
5:00 RussiaAsia +05/+06 1992 Mar 29 2:00s
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
5:00 - +05
3:00 - %z 1930 Jun 21
5:00 - %z 1981 Apr 1
5:00 1:00 %z 1981 Oct 1
6:00 - %z 1982 Apr 1
5:00 RussiaAsia %z 1989 Mar 26 2:00s
4:00 RussiaAsia %z 1992 Jan 19 2:00s
5:00 RussiaAsia %z 1992 Mar 29 2:00s
4:00 RussiaAsia %z 2004 Oct 31 2:00s
5:00 - %z
# Kyrgyzstan (Kirgizstan)
# Transitions through 1991 are from Shanks & Pottenger.
@@ -2598,11 +2605,11 @@ Rule Kyrgyz 1997 2005 - Mar lastSun 2:30 1:00 -
Rule Kyrgyz 1997 2004 - Oct lastSun 2:30 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Bishkek 4:58:24 - LMT 1924 May 2
5:00 - +05 1930 Jun 21
6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
5:00 RussiaAsia +05/+06 1991 Aug 31 2:00
5:00 Kyrgyz +05/+06 2005 Aug 12
6:00 - +06
5:00 - %z 1930 Jun 21
6:00 RussiaAsia %z 1991 Mar 31 2:00s
5:00 RussiaAsia %z 1991 Aug 31 2:00
5:00 Kyrgyz %z 2005 Aug 12
6:00 - %z
###############################################################################
@@ -2809,16 +2816,16 @@ Rule NBorneo 1935 1941 - Dec 14 0:00 0 -
# and 1982 transition dates are from Mok Ly Yng.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Kuching 7:21:20 - LMT 1926 Mar
7:30 - +0730 1933
8:00 NBorneo +08/+0820 1942 Feb 16
9:00 - +09 1945 Sep 12
8:00 - +08
7:30 - %z 1933
8:00 NBorneo %z 1942 Feb 16
9:00 - %z 1945 Sep 12
8:00 - %z
# Maldives
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Maldives 4:54:00 - LMT 1880 # Malé
4:54:00 - MMT 1960 # Malé Mean Time
5:00 - +05
5:00 - %z
# Mongolia
@@ -2920,9 +2927,37 @@ Zone Indian/Maldives 4:54:00 - LMT 1880 # Malé
# From Arthur David Olson (2008-05-19):
# Assume that Choibalsan is indeed offset by 8:00.
# XXX--in the absence of better information, assume that transition
# was at the start of 2008-03-31 (the day of Steffen Thorsen's report);
# this is almost surely wrong.
# From Heitor David Pinto (2024-06-23):
# Sources about time zones in Mongolia seem to list one of two conflicting
# configurations. The first configuration, mentioned in a comment to the TZ
# database in 1999, citing a Mongolian government website, lists the provinces
# of Bayan-Ölgii, Khovd and Uvs in UTC+7, and the rest of the country in
# UTC+8. The second configuration, mentioned in a comment to the database in
# 2001, lists Bayan-Ölgii, Khovd, Uvs, Govi-Altai and Zavkhan in UTC+7, Dornod
# and Sükhbaatar in UTC+9, and the rest of the country in UTC+8.
#
# The first configuration is still mentioned by several Mongolian travel
# agencies:
# https://www.adventurerider.mn/en/page/about_mongolia
# http://www.naturetours.mn/nt/mongolia.php
# https://www.newjuulchin.mn/web/content/7506?unique=fa24a0f6e96e022a3578ee5195ac879638c734ce
#
# It also matches these flight schedules in 2013:
# http://web.archive.org/web/20130722023600/https://www.hunnuair.com/en/timetabled
# The flight times imply that the airports of Uliastai (Zavkhan), Choibalsan
# (Dornod) and Altai (Govi-Altai) are in the same time zone as Ulaanbaatar,
# and Khovd is one hour behind....
#
# The second configuration was mentioned by an official of the Mongolian
# standards agency in an interview in 2014: https://ikon.mn/n/9v6
# And it's still listed by the Mongolian aviation agency:
# https://ais.mn/files/aip/eAIP/2023-12-25/html/eSUP/ZM-eSUP-23-04-en-MN.html
#
# ... I believe that the first configuration is what is actually observed in
# Mongolia and has been so all along, at least since 1999. The second
# configuration closely matches the ideal time zone boundaries at 97.5° E and
# 112.5° E but it doesn't seem to be used in practice.
# From Ganbold Tsagaankhuu (2015-03-10):
# It seems like yesterday Mongolian Government meeting has concluded to use
@@ -2961,25 +2996,18 @@ Rule Mongol 2015 2016 - Sep lastSat 0:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Hovd, a.k.a. Chovd, Dund-Us, Dzhargalant, Khovd, Jirgalanta
Zone Asia/Hovd 6:06:36 - LMT 1905 Aug
6:00 - +06 1978
7:00 Mongol +07/+08
6:00 - %z 1978
7:00 Mongol %z
# Ulaanbaatar, a.k.a. Ulan Bataar, Ulan Bator, Urga
Zone Asia/Ulaanbaatar 7:07:32 - LMT 1905 Aug
7:00 - +07 1978
8:00 Mongol +08/+09
# Choibalsan, a.k.a. Bajan Tümen, Bajan Tumen, Chojbalsan,
# Choybalsan, Sanbejse, Tchoibalsan
Zone Asia/Choibalsan 7:38:00 - LMT 1905 Aug
7:00 - +07 1978
8:00 - +08 1983 Apr
9:00 Mongol +09/+10 2008 Mar 31
8:00 Mongol +08/+09
7:00 - %z 1978
8:00 Mongol %z
# Nepal
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Kathmandu 5:41:16 - LMT 1920
5:30 - +0530 1986
5:45 - +0545
5:30 - %z 1986
5:45 - %z
# Pakistan
@@ -3125,10 +3153,10 @@ Rule Pakistan 2009 only - Apr 15 0:00 1:00 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Karachi 4:28:12 - LMT 1907
5:30 - +0530 1942 Sep
5:30 1:00 +0630 1945 Oct 15
5:30 - +0530 1951 Sep 30
5:00 - +05 1971 Mar 26
5:30 - %z 1942 Sep
5:30 1:00 %z 1945 Oct 15
5:30 - %z 1951 Sep 30
5:00 - %z 1971 Mar 26
5:00 Pakistan PK%sT # Pakistan Time
# Palestine
@@ -3676,14 +3704,14 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
# Philippine Star 2014-08-05
# http://www.philstar.com/headlines/2014/08/05/1354152/pnoy-urged-declare-use-daylight-saving-time
# From Paul Goyette (2018-06-15):
# From Paul Goyette (2018-06-15) with URLs updated by Guy Harris (2024-02-15):
# In the Philippines, there is a national law, Republic Act No. 10535
# which declares the official time here as "Philippine Standard Time".
# The act [1] even specifies use of PST as the abbreviation, although
# the FAQ provided by PAGASA [2] uses the "acronym PhST to distinguish
# it from the Pacific Standard Time (PST)."
# [1] http://www.officialgazette.gov.ph/2013/05/15/republic-act-no-10535/
# [2] https://www1.pagasa.dost.gov.ph/index.php/astronomy/philippine-standard-time#republic-act-10535
# [1] https://www.officialgazette.gov.ph/2013/05/15/republic-act-no-10535/
# [2] https://prsd.pagasa.dost.gov.ph/index.php/28-astronomy/302-philippine-standard-time
#
# From Paul Eggert (2018-06-19):
# I surveyed recent news reports, and my impression is that "PST" is
@@ -3716,8 +3744,8 @@ Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31
# 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
4:00 - %z 1972 Jun
3:00 - %z
# Kuwait
# Saudi Arabia
@@ -3767,7 +3795,7 @@ Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14
3:00 - +03
3:00 - %z
# Singapore
# taken from Mok Ly Yng (2003-10-30)
@@ -3775,13 +3803,13 @@ Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Singapore 6:55:25 - 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 1981 Dec 31 16:00u
8:00 - +08
7:00 - %z 1933 Jan 1
7:00 0:20 %z 1936 Jan 1
7:20 - %z 1941 Sep 1
7:30 - %z 1942 Feb 16
9:00 - %z 1945 Sep 12
7:30 - %z 1981 Dec 31 16:00u
8:00 - %z
# Spratly Is
# no information
@@ -3839,13 +3867,13 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Colombo 5:19:24 - LMT 1880
5:19:32 - MMT 1906 # Moratuwa Mean Time
5:30 - +0530 1942 Jan 5
5:30 0:30 +06 1942 Sep
5:30 1:00 +0630 1945 Oct 16 2:00
5:30 - +0530 1996 May 25 0:00
6:30 - +0630 1996 Oct 26 0:30
6:00 - +06 2006 Apr 15 0:30
5:30 - +0530
5:30 - %z 1942 Jan 5
5:30 0:30 %z 1942 Sep
5:30 1:00 %z 1945 Oct 16 2:00
5:30 - %z 1996 May 25 0:00
6:30 - %z 1996 Oct 26 0:30
6:00 - %z 2006 Apr 15 0:30
5:30 - %z
# Syria
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
@@ -4016,16 +4044,16 @@ 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 2022 Oct 28 0:00
3:00 - +03
3:00 - %z
# Tajikistan
# From Shanks & Pottenger.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
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 +06 1991 Sep 9 2:00s
5:00 - +05
5:00 - %z 1930 Jun 21
6:00 RussiaAsia %z 1991 Mar 31 2:00s
5:00 1:00 %z 1991 Sep 9 2:00s
5:00 - %z
# Cambodia
# Christmas I
@@ -4035,16 +4063,16 @@ Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2
# 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
7:00 - %z
# Turkmenistan
# From Shanks & Pottenger.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Ashgabat 3:53:32 - LMT 1924 May 2 # or Ashkhabad
4:00 - +04 1930 Jun 21
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00
5:00 - +05
4:00 - %z 1930 Jun 21
5:00 RussiaAsia %z 1991 Mar 31 2:00
4:00 RussiaAsia %z 1992 Jan 19 2:00
5:00 - %z
# Oman
# Réunion
@@ -4054,25 +4082,25 @@ Zone Asia/Ashgabat 3:53:32 - LMT 1924 May 2 # or Ashkhabad
# 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
4:00 - %z
# Uzbekistan
# Byalokoz 1919 says Uzbekistan was 4:27:53.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Samarkand 4:27:53 - LMT 1924 May 2
4:00 - +04 1930 Jun 21
5:00 - +05 1981 Apr 1
5:00 1:00 +06 1981 Oct 1
6:00 - +06 1982 Apr 1
5:00 RussiaAsia +05/+06 1992
5:00 - +05
4:00 - %z 1930 Jun 21
5:00 - %z 1981 Apr 1
5:00 1:00 %z 1981 Oct 1
6:00 - %z 1982 Apr 1
5:00 RussiaAsia %z 1992
5:00 - %z
# 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
5:00 - %z 1930 Jun 21
6:00 RussiaAsia %z 1991 Mar 31 2:00
5:00 RussiaAsia %z 1992
5:00 - %z
# Vietnam (southern)
@@ -4130,7 +4158,7 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
# Võ Nguyên Giáp, Việt Nam Dân Quốc Công Báo, No. 1 (1945-09-29), page 13
# http://baochi.nlv.gov.vn/baochi/cgi-bin/baochi?a=d&d=JwvzO19450929.2.5&dliv=none
# It says that on 1945-09-01 at 24:00, Vietnam moved back two hours, to +07.
# It also mentions a 1945-03-29 decree (by a Japanese Goveror-General)
# It also mentions a 1945-03-29 decree (by a Japanese Governor-General)
# to set the time zone to +09, but does not say whether that decree
# merely legalized an earlier change to +09.
#
@@ -4151,14 +4179,14 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
#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
9:00 - +09 1945 Sep 1 24:00
7:00 - +07 1947 Apr 1
8:00 - +08 1955 Jul 1 01:00
7:00 - +07 1959 Dec 31 23:00
8:00 - +08 1975 Jun 13
7:00 - +07
7:00 - %z 1942 Dec 31 23:00
8:00 - %z 1945 Mar 14 23:00
9:00 - %z 1945 Sep 1 24:00
7:00 - %z 1947 Apr 1
8:00 - %z 1955 Jul 1 01:00
7:00 - %z 1959 Dec 31 23:00
8:00 - %z 1975 Jun 13
7:00 - %z
# From Paul Eggert (2019-02-19):
#

View File

@@ -66,8 +66,8 @@ Zone Australia/Perth 7:43:24 - LMT 1895 Dec
8:00 Aus AW%sT 1943 Jul
8:00 AW AW%sT
Zone Australia/Eucla 8:35:28 - LMT 1895 Dec
8:45 Aus +0845/+0945 1943 Jul
8:45 AW +0845/+0945
8:45 Aus %z 1943 Jul
8:45 AW %z
# Queensland
#
@@ -232,8 +232,8 @@ Rule LH 2008 max - Apr Sun>=1 2:00 0 -
Rule LH 2008 max - Oct Sun>=1 2:00 0:30 -
Zone Australia/Lord_Howe 10:36:20 - LMT 1895 Feb
10:00 - AEST 1981 Mar
10:30 LH +1030/+1130 1985 Jul
10:30 LH +1030/+11
10:30 LH %z 1985 Jul
10:30 LH %z
# Australian miscellany
#
@@ -439,16 +439,16 @@ Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 -
Rule Fiji 2020 only - Dec 20 2:00 1:00 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
12:00 Fiji +12/+13
12:00 Fiji %z
# French Polynesia
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct 1 # Rikitea
-9:00 - -09
-9:00 - %z
Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct 1
-9:30 - -0930
-9:30 - %z
Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct 1 # Papeete
-10:00 - -10
-10:00 - %z
# Clipperton (near North America) is administered from French Polynesia;
# it is uninhabited.
@@ -491,7 +491,7 @@ Rule Guam 1977 only - Aug 28 2:00 0 S
Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31
9:39:00 - LMT 1901 # Agana
10:00 - GST 1941 Dec 10 # Guam
9:00 - +09 1944 Jul 31
9:00 - %z 1944 Jul 31
10:00 Guam G%sT 2000 Dec 23
10:00 - ChST # Chamorro Standard Time
@@ -503,30 +503,30 @@ Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31
# Wallis & Futuna
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki
12:00 - +12
12:00 - %z
# 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
13:00 - +13
-12:00 - %z 1979 Oct
-11:00 - %z 1994 Dec 31
13:00 - %z
Zone Pacific/Kiritimati -10:29:20 - LMT 1901
-10:40 - -1040 1979 Oct
-10:00 - -10 1994 Dec 31
14:00 - +14
-10:40 - %z 1979 Oct
-10:00 - %z 1994 Dec 31
14:00 - %z
# Marshall Is
# See Pacific/Tarawa for most locations.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Kwajalein 11:09:20 - LMT 1901
11:00 - +11 1937
10:00 - +10 1941 Apr 1
9:00 - +09 1944 Feb 6
11:00 - +11 1969 Oct
-12:00 - -12 1993 Aug 20 24:00
12:00 - +12
11:00 - %z 1937
10:00 - %z 1941 Apr 1
9:00 - %z 1944 Feb 6
11:00 - %z 1969 Oct
-12:00 - %z 1993 Aug 20 24:00
12:00 - %z
# Micronesia
# For Chuuk and Yap see Pacific/Port_Moresby.
@@ -534,22 +534,22 @@ Zone Pacific/Kwajalein 11:09:20 - LMT 1901
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Kosrae -13:08:04 - LMT 1844 Dec 31
10:51:56 - 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 1969 Oct
12:00 - +12 1999
11:00 - +11
11:00 - %z 1914 Oct
9:00 - %z 1919 Feb 1
11:00 - %z 1937
10:00 - %z 1941 Apr 1
9:00 - %z 1945 Aug
11:00 - %z 1969 Oct
12:00 - %z 1999
11:00 - %z
# Nauru
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Nauru 11:07:40 - LMT 1921 Jan 15 # Uaobe
11:30 - +1130 1942 Aug 29
9:00 - +09 1945 Sep 8
11:30 - +1130 1979 Feb 10 2:00
12:00 - +12
11:30 - %z 1942 Aug 29
9:00 - %z 1945 Sep 8
11:30 - %z 1979 Feb 10 2:00
12:00 - %z
# New Caledonia
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
@@ -560,7 +560,7 @@ Rule NC 1996 only - Dec 1 2:00s 1:00 -
Rule NC 1997 only - Mar 2 2:00s 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13 # Nouméa
11:00 NC +11/+12
11:00 NC %z
###############################################################################
@@ -604,8 +604,8 @@ Zone Pacific/Auckland 11:39:04 - LMT 1868 Nov 2
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
12:15 - %z 1946 Jan 1
12:45 Chatham %z
# Auckland Is
# uninhabited; Māori and Moriori, colonial settlers, pastoralists, sealers,
@@ -658,8 +658,8 @@ Rule Cook 1979 1990 - Oct lastSun 0:00 0:30 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Rarotonga 13:20:56 - LMT 1899 Dec 26 # Avarua
-10:39:04 - LMT 1952 Oct 16
-10:30 - -1030 1978 Nov 12
-10:00 Cook -10/-0930
-10:30 - %z 1978 Nov 12
-10:00 Cook %z
###############################################################################
@@ -676,30 +676,30 @@ Zone Pacific/Rarotonga 13:20:56 - LMT 1899 Dec 26 # Avarua
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Niue -11:19:40 - LMT 1952 Oct 16 # Alofi
-11:20 - -1120 1964 Jul
-11:00 - -11
-11:20 - %z 1964 Jul
-11:00 - %z
# Norfolk
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston
11:12 - +1112 1951
11:30 - +1130 1974 Oct 27 02:00s
11:30 1:00 +1230 1975 Mar 2 02:00s
11:30 - +1130 2015 Oct 4 02:00s
11:00 - +11 2019 Jul
11:00 AN +11/+12
11:12 - %z 1951
11:30 - %z 1974 Oct 27 02:00s
11:30 1:00 %z 1975 Mar 2 02:00s
11:30 - %z 2015 Oct 4 02:00s
11:00 - %z 2019 Jul
11:00 AN %z
# Palau (Belau)
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Palau -15:02:04 - LMT 1844 Dec 31 # Koror
8:57:56 - LMT 1901
9:00 - +09
9:00 - %z
# Papua New Guinea
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Port_Moresby 9:48:40 - LMT 1880
9:48:32 - PMMT 1895 # Port Moresby Mean Time
10:00 - +10
10:00 - %z
#
# From Paul Eggert (2014-10-13):
# Base the Bougainville entry on the Arawa-Kieta region, which appears to have
@@ -720,16 +720,16 @@ Zone Pacific/Port_Moresby 9:48:40 - LMT 1880
#
Zone Pacific/Bougainville 10:22:16 - LMT 1880
9:48:32 - PMMT 1895
10:00 - +10 1942 Jul
9:00 - +09 1945 Aug 21
10:00 - +10 2014 Dec 28 2:00
11:00 - +11
10:00 - %z 1942 Jul
9:00 - %z 1945 Aug 21
10:00 - %z 2014 Dec 28 2:00
11:00 - %z
# Pitcairn
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown
-8:30 - -0830 1998 Apr 27 0:00
-8:00 - -08
-8:30 - %z 1998 Apr 27 0:00
-8:00 - %z
# American Samoa
# Midway
@@ -818,15 +818,15 @@ Rule WS 2012 2020 - Sep lastSun 3:00 1 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5
-11:26:56 - LMT 1911
-11:30 - -1130 1950
-11:00 WS -11/-10 2011 Dec 29 24:00
13:00 WS +13/+14
-11:30 - %z 1950
-11:00 WS %z 2011 Dec 29 24:00
13:00 WS %z
# Solomon Is
# excludes Bougainville, for which see Papua New Guinea
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct 1 # Honiara
11:00 - +11
11:00 - %z
# Tokelau
#
@@ -849,8 +849,8 @@ Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct 1 # Honiara
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Fakaofo -11:24:56 - LMT 1901
-11:00 - -11 2011 Dec 30
13:00 - +13
-11:00 - %z 2011 Dec 30
13:00 - %z
# Tonga
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
@@ -862,9 +862,9 @@ Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 -
Rule Tonga 2017 only - Jan Sun>=15 3:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Tongatapu 12:19:12 - LMT 1945 Sep 10
12:20 - +1220 1961
13:00 - +13 1999
13:00 Tonga +13/+14
12:20 - %z 1961
13:00 - %z 1999
13:00 Tonga %z
# US minor outlying islands
@@ -953,7 +953,7 @@ Rule Vanuatu 1992 1993 - Jan Sat>=22 24:00 0 -
Rule Vanuatu 1992 only - Oct Sat>=22 24:00 1:00 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
11:00 Vanuatu +11/+12
11:00 Vanuatu %z
###############################################################################

View File

@@ -21,12 +21,13 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# tzdb links for backward compatibility
# Links and zones for backward compatibility
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# This file provides links from old or merged timezone names to current ones.
# It also provides a few zone entries for old naming conventions.
# 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
@@ -67,6 +68,8 @@ 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
Link Europe/Brussels CET
Link America/Chicago CST6CDT
Link America/Halifax Canada/Atlantic
Link America/Winnipeg Canada/Central
# This line is commented out, as the name exceeded the 14-character limit
@@ -81,6 +84,9 @@ Link America/Whitehorse Canada/Yukon
Link America/Santiago Chile/Continental
Link Pacific/Easter Chile/EasterIsland
Link America/Havana Cuba
Link Europe/Athens EET
Link America/Panama EST
Link America/New_York EST5EDT
Link Africa/Cairo Egypt
Link Europe/Dublin Eire
# Vanguard section, for most .zi parsers.
@@ -119,6 +125,9 @@ Link America/Jamaica Jamaica
Link Asia/Tokyo Japan
Link Pacific/Kwajalein Kwajalein
Link Africa/Tripoli Libya
Link Europe/Brussels MET
Link America/Phoenix MST
Link America/Denver MST7MDT
Link America/Tijuana Mexico/BajaNorte
Link America/Mazatlan Mexico/BajaSur
Link America/Mexico_City Mexico/General
@@ -298,6 +307,7 @@ Link America/Denver America/Shiprock
Link America/Toronto America/Thunder_Bay
Link America/Edmonton America/Yellowknife
Link Pacific/Auckland Antarctica/South_Pole
Link Asia/Ulaanbaatar Asia/Choibalsan
Link Asia/Shanghai Asia/Chongqing
Link Asia/Shanghai Asia/Harbin
Link Asia/Urumqi Asia/Kashgar
@@ -312,6 +322,7 @@ Link Europe/Kyiv Europe/Zaporozhye
Link Pacific/Kanton Pacific/Enderbury
Link Pacific/Honolulu Pacific/Johnston
Link Pacific/Port_Moresby Pacific/Yap
Link Europe/Lisbon WET
# Alternate names for the same location
@@ -337,5 +348,7 @@ 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/Honolulu HST
Link America/Los_Angeles PST8PDT
Link Pacific/Guadalcanal Pacific/Ponape #= Pacific/Pohnpei
Link Pacific/Port_Moresby Pacific/Truk #= Pacific/Chuuk

View File

@@ -28,7 +28,7 @@
# These entries are for uses not otherwise covered by the tz database.
# Their main practical use is for platforms like Android that lack
# support for POSIX.1-2017-style TZ strings. On such platforms these entries
# support for POSIX proleptic TZ strings. On such platforms these entries
# can be useful if the timezone database is wrong or if a ship or
# aircraft at sea is not in a timezone.
@@ -74,29 +74,29 @@ Link Etc/GMT GMT
# so we moved the names into the Etc subdirectory.
# Also, the time zone abbreviations are now compatible with %z.
Zone Etc/GMT-14 14 - +14
Zone Etc/GMT-13 13 - +13
Zone Etc/GMT-12 12 - +12
Zone Etc/GMT-11 11 - +11
Zone Etc/GMT-10 10 - +10
Zone Etc/GMT-9 9 - +09
Zone Etc/GMT-8 8 - +08
Zone Etc/GMT-7 7 - +07
Zone Etc/GMT-6 6 - +06
Zone Etc/GMT-5 5 - +05
Zone Etc/GMT-4 4 - +04
Zone Etc/GMT-3 3 - +03
Zone Etc/GMT-2 2 - +02
Zone Etc/GMT-1 1 - +01
Zone Etc/GMT+1 -1 - -01
Zone Etc/GMT+2 -2 - -02
Zone Etc/GMT+3 -3 - -03
Zone Etc/GMT+4 -4 - -04
Zone Etc/GMT+5 -5 - -05
Zone Etc/GMT+6 -6 - -06
Zone Etc/GMT+7 -7 - -07
Zone Etc/GMT+8 -8 - -08
Zone Etc/GMT+9 -9 - -09
Zone Etc/GMT+10 -10 - -10
Zone Etc/GMT+11 -11 - -11
Zone Etc/GMT+12 -12 - -12
Zone Etc/GMT-14 14 - %z
Zone Etc/GMT-13 13 - %z
Zone Etc/GMT-12 12 - %z
Zone Etc/GMT-11 11 - %z
Zone Etc/GMT-10 10 - %z
Zone Etc/GMT-9 9 - %z
Zone Etc/GMT-8 8 - %z
Zone Etc/GMT-7 7 - %z
Zone Etc/GMT-6 6 - %z
Zone Etc/GMT-5 5 - %z
Zone Etc/GMT-4 4 - %z
Zone Etc/GMT-3 3 - %z
Zone Etc/GMT-2 2 - %z
Zone Etc/GMT-1 1 - %z
Zone Etc/GMT+1 -1 - %z
Zone Etc/GMT+2 -2 - %z
Zone Etc/GMT+3 -3 - %z
Zone Etc/GMT+4 -4 - %z
Zone Etc/GMT+5 -5 - %z
Zone Etc/GMT+6 -6 - %z
Zone Etc/GMT+7 -7 - %z
Zone Etc/GMT+8 -8 - %z
Zone Etc/GMT+9 -9 - %z
Zone Etc/GMT+10 -10 - %z
Zone Etc/GMT+11 -11 - %z
Zone Etc/GMT+12 -12 - %z

View File

@@ -753,14 +753,6 @@ Rule Russia 1996 2010 - Oct lastSun 2:00s 0 -
# Take "abolishing daylight saving time" to mean that time is now considered
# to be standard.
# These are for backward compatibility with older versions.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone WET 0:00 EU WE%sT
Zone CET 1:00 C-Eur CE%sT
Zone MET 1:00 C-Eur ME%sT
Zone EET 2:00 EU EE%sT
# Previous editions of this database used abbreviations like MET DST
# for Central European Summer Time, but this didn't agree with common usage.
@@ -894,7 +886,7 @@ Zone Europe/Minsk 1:50:16 - LMT 1880
3:00 Russia MSK/MSD 1990
3:00 - MSK 1991 Mar 31 2:00s
2:00 Russia EE%sT 2011 Mar 27 2:00s
3:00 - +03
3:00 - %z
# Belgium
# Luxembourg
@@ -1199,22 +1191,22 @@ Rule Thule 2007 max - Nov Sun>=1 2:00 0 S
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28
-3:00 - -03 1980 Apr 6 2:00
-3:00 EU -03/-02 1996
-3:00 - %z 1980 Apr 6 2:00
-3:00 EU %z 1996
0:00 - GMT
#
# Use the old name Scoresbysund, as the current name Ittoqqortoormiit
# exceeds tzdb's 14-letter limit and has no common English abbreviation.
Zone America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 # Ittoqqortoormiit
-2:00 - -02 1980 Apr 6 2:00
-2:00 C-Eur -02/-01 1981 Mar 29
-1:00 EU -01/+00 2024 Mar 31
-2:00 EU -02/-01
-2:00 - %z 1980 Apr 6 2:00
-2:00 C-Eur %z 1981 Mar 29
-1:00 EU %z 2024 Mar 31
-2:00 EU %z
Zone America/Nuuk -3:26:56 - LMT 1916 Jul 28 # Godthåb
-3:00 - -03 1980 Apr 6 2:00
-3:00 EU -03/-02 2023 Mar 26 1:00u
-2:00 - -02 2023 Oct 29 1:00u
-2:00 EU -02/-01
-3:00 - %z 1980 Apr 6 2:00
-3:00 EU %z 2023 Mar 26 1:00u
-2:00 - %z 2023 Oct 29 1:00u
-2:00 EU %z
Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik
-4:00 Thule A%sT
@@ -2086,10 +2078,39 @@ Zone Europe/Warsaw 1:24:00 - LMT 1880
# Portugal
# From Paul Eggert (2014-08-11), after a heads-up from Stephen Colebourne:
# According to a Portuguese decree (1911-05-26)
# https://dre.pt/application/dir/pdf1sdip/1911/05/12500/23132313.pdf
# Lisbon was at -0:36:44.68, but switched to GMT on 1912-01-01 at 00:00.
# From Tim Parenti (2024-07-01), per Alois Treindl (2021-02-07) and Michael
# Deckers (2021-02-10):
# http://oal.ul.pt/documentos/2018/01/hl1911a2018.pdf/
# The Astronomical Observatory of Lisbon has published a list detailing the
# historical transitions in legal time within continental Portugal. It
# directly references many decrees and ordinances which are, in turn,
# referenced below. They can be viewed in the public archives of the Diário da
# República (until 1976-04-09 known as the Diário do Govêrno) at
# https://dre.pt/ (in Portuguese).
#
# Most of the Rules below have been updated simply to match the Observatory's
# listing for continental (mainland) Portugal. Although there are over 50
# referenced decrees and ordinances, only the handful with comments below have
# been verified against the text, typically to provide additional confidence
# wherever dates provided by Whitman and Shanks & Pottenger had disagreed.
# See further below for the Azores and Madeira.
# From Tim Parenti (2024-07-01), per Paul Eggert (2014-08-11), after a
# heads-up from Stephen Colebourne:
# According to a 1911-05-24 Portuguese decree, Lisbon was at -0:36:44.68, but
# switched to GMT on 1912-01-01 at 00:00.
# https://dre.pt/dr/detalhe/decreto/593090
# https://dre.pt/application/conteudo/593090
# The decree made legal time throughout Portugal and her possessions
# "subordinate to the Greenwich meridian, according to the principle adopted at
# the Washington Convention in 1884" and eliminated the "difference of five
# minutes between the internal and external clocks of railway stations".
#
# The decree was gazetted in the 1911-05-30 issue of Diário do Govêrno, and is
# considered to be dated 1911-05-24 by that issue's summary; however, the text
# of the decree itself is dated 1911-05-26. The Diário da República website
# notes the discrepancy, but later laws and the Observatory all seem to refer
# to this decree by the 1911-05-24 date.
#
# From Michael Deckers (2018-02-15):
# article 5 [of the 1911 decree; Deckers's translation] ...:
@@ -2097,37 +2118,62 @@ Zone Europe/Warsaw 1:24:00 - LMT 1880
# according to the 2nd article, the civil day January 1, 1912 begins,
# all clocks therefore having to be advanced or set back correspondingly ...
# From Rui Pedro Salgueiro (1992-11-12):
# Portugal has recently (September, 27) changed timezone
# (from WET to MET or CET) to harmonize with EEC.
#
# Martin Bruckmann (1996-02-29) reports via Peter Ilieve
# that Portugal is reverting to 0:00 by not moving its clocks this spring.
# The new Prime Minister was fed up with getting up in the dark in the winter.
#
# From Paul Eggert (1996-11-12):
# IATA SSIM (1991-09) reports several 1991-09 and 1992-09 transitions
# at 02:00u, not 01:00u. Assume that these are typos.
# IATA SSIM (1991/1992) reports that the Azores were at -1:00.
# IATA SSIM (1993-02) says +0:00; later issues (through 1996-09) say -1:00.
# Guess that the Azores changed to EU rules in 1992 (since that's when Portugal
# harmonized with EU rules), and that they stayed +0:00 that winter.
#
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
# DSH writes that despite Decree 1,469 (1915), the change to the clocks was not
# done every year, depending on what Spain did, because of railroad schedules.
# Go with Shanks & Pottenger.
# From Tim Parenti (2024-07-01), per Paul Eggert (1999-01-30):
# DSH writes in their history that Decreto 1469 of 1915-03-30 established
# summer time and that, "despite" this, the change to the clocks was not done
# every year, depending on what Spain did, because of railroad schedules.
# In fact, that decree had nothing to do with DST; rather, it regulated the
# sending of time signals. But we do see linkage to Spain in the 1920s below.
# https://dre.pt/dr/detalhe/decreto/1469-1915-285721
# https://dre.pt/application/conteudo/285721
#
# According to the Observatory, standard time was first advanced by Decreto
# 2433 of 1916-06-09 and restored by Decreto 2712 of 1916-10-28. While Whitman
# gives 1916-10-31 for the latter transition, Shanks & Pottenger agrees more
# closely with the decree, which stated that its provision "will start sixty
# minutes after the end of 31 October, according to the current time," i.e.,
# 01:00 on 1 November.
# https://dre.pt/dr/detalhe/decreto/2433-1916-267192
# https://dre.pt/application/conteudo/267192
# https://dre.pt/dr/detalhe/decreto/2712-1916-590937
# https://dre.pt/application/conteudo/590937
Rule Port 1916 only - Jun 17 23:00 1:00 S
# Whitman gives 1916 Oct 31; go with Shanks & Pottenger.
Rule Port 1916 only - Nov 1 1:00 0 -
Rule Port 1917 only - Feb 28 23:00s 1:00 S
Rule Port 1917 1921 - Oct 14 23:00s 0 -
Rule Port 1918 only - Mar 1 23:00s 1:00 S
Rule Port 1919 only - Feb 28 23:00s 1:00 S
Rule Port 1920 only - Feb 29 23:00s 1:00 S
Rule Port 1921 only - Feb 28 23:00s 1:00 S
# From Tim Parenti (2024-07-01):
# Article 7 of Decreto 2922 of 1916-12-30 stated that "the legal time will be
# advanced by sixty minutes from 1 March to 31 October." Per Article 15, this
# came into force from 1917-01-01. Just before the first fall back, Decreto
# 3446 of 1917-10-11 changed the annual end date to 14 October.
# https://dre.pt/dr/detalhe/decreto/2922-1916-261894
# https://dre.pt/application/conteudo/261894
# https://dre.pt/dr/detalhe/decreto/3446-1917-495161
# https://dre.pt/application/conteudo/495161
# This annual change was revoked by Decreto 8038 of 1922-02-18.
# https://dre.pt/dr/detalhe/decreto/8038-1922-569751
# https://dre.pt/application/conteudo/569751
Rule Port 1917 1921 - Mar 1 0:00 1:00 S
Rule Port 1917 1921 - Oct 14 24:00 0 -
# From Tim Parenti (2024-07-01):
# Decreto 9592 of 1924-04-14 noted that "France maintains the advance of legal
# time in the summer and Spain has now adopted it for the first time" and
# considered "that the absence of similar measures would cause serious
# difficulties for international rail connections with consequent repercussions
# on domestic service hours..." along with "inconvenient analogues...for postal
# and telegraph services." Summer time would be in effect from 17 April to 4
# October, with the spring change explicitly specified by bringing clocks
# forward from 16 April 23:00.
# https://dre.pt/dr/detalhe/decreto/9592-1924-652133
# https://dre.pt/application/conteudo/652133
#
# Decreto 10700, issued 1925-04-16, noted that Spain had not continued summer
# time, declared that "the current legal hour prior to 17 April remains
# unchanged from that day forward", and revoked legislation to the contrary,
# just a day before summer time would have otherwise resumed.
# https://dre.pt/dr/detalhe/decreto/10700-1925-437826
# https://dre.pt/application/conteudo/437826
Rule Port 1924 only - Apr 16 23:00s 1:00 S
Rule Port 1924 only - Oct 14 23:00s 0 -
Rule Port 1924 only - Oct 4 23:00s 0 -
Rule Port 1926 only - Apr 17 23:00s 1:00 S
Rule Port 1926 1929 - Oct Sat>=1 23:00s 0 -
Rule Port 1927 only - Apr 9 23:00s 1:00 S
@@ -2139,6 +2185,8 @@ Rule Port 1931 1932 - Oct Sat>=1 23:00s 0 -
Rule Port 1932 only - Apr 2 23:00s 1:00 S
Rule Port 1934 only - Apr 7 23:00s 1:00 S
# Whitman gives 1934 Oct 5; go with Shanks & Pottenger.
# Note: The 1935 law specified 10-06 00:00, not 10-05 24:00, but the following
# is equivalent and more succinct.
Rule Port 1934 1938 - Oct Sat>=1 23:00s 0 -
# Shanks & Pottenger give 1935 Apr 30; go with Whitman.
Rule Port 1935 only - Mar 30 23:00s 1:00 S
@@ -2149,10 +2197,19 @@ Rule Port 1938 only - Mar 26 23:00s 1:00 S
Rule Port 1939 only - Apr 15 23:00s 1:00 S
# Whitman gives 1939 Oct 7; go with Shanks & Pottenger.
Rule Port 1939 only - Nov 18 23:00s 0 -
# From Tim Parenti (2024-07-01):
# Portaria 9465 of 1940-02-17 advanced clocks from Saturday 1940-02-24 23:00.
# The clocks were restored by Portaria 9658, issued Monday 1940-10-07,
# effective from 24:00 that very night, which agrees with Shanks & Pottenger;
# Whitman gives Saturday 1940-10-05 instead.
# https://dre.pt/dr/detalhe/portaria/9465-1940-189096
# https://dre.pt/application/conteudo/189096
# https://dre.pt/dr/detalhe/portaria/9658-1940-196729
# https://dre.pt/application/conteudo/196729
Rule Port 1940 only - Feb 24 23:00s 1:00 S
# Shanks & Pottenger give 1940 Oct 7; go with Whitman.
Rule Port 1940 1941 - Oct 5 23:00s 0 -
Rule Port 1940 only - Oct 7 23:00s 0 -
Rule Port 1941 only - Apr 5 23:00s 1:00 S
Rule Port 1941 only - Oct 5 23:00s 0 -
Rule Port 1942 1945 - Mar Sat>=8 23:00s 1:00 S
Rule Port 1942 only - Apr 25 22:00s 2:00 M # Midsummer
Rule Port 1942 only - Aug 15 22:00s 1:00 S
@@ -2162,66 +2219,195 @@ Rule Port 1943 1945 - Aug Sat>=25 22:00s 1:00 S
Rule Port 1944 1945 - Apr Sat>=21 22:00s 2:00 M
Rule Port 1946 only - Apr Sat>=1 23:00s 1:00 S
Rule Port 1946 only - Oct Sat>=1 23:00s 0 -
# Whitman says DST was not observed in 1950; go with Shanks & Pottenger.
# Whitman gives Oct lastSun for 1952 on; go with Shanks & Pottenger.
Rule Port 1947 1965 - Apr Sun>=1 2:00s 1:00 S
# From Tim Parenti (2024-07-01), per Alois Treindl (2021-02-07):
# The Astronomical Observatory of Lisbon cites Portaria 11767 of 1947-03-28 for
# 1947 and Portaria 12286 of 1948-02-19 for 1948.
# https://dre.pt/dr/detalhe/portaria/11767-1947-414787
# https://dre.pt/application/conteudo/414787
# https://dre.pt/dr/detalhe/portaria/12286-1948-152953
# https://dre.pt/application/conteudo/152953
#
# Although the latter ordinance explicitly had the 1948-10-03 transition
# scheduled for 02:00 rather than 03:00 as had been used in 1947, Decreto-Lei
# 37048 of 1948-09-07 recognized "that it is advisable to definitely set...the
# 'summer time' regime", and fixed the fall transition at 03:00 moving forward.
# https://dre.pt/dr/detalhe/decreto-lei/37048-1948-373810
# https://dre.pt/application/conteudo/373810
# While the Observatory only cites this act for 1949-1965 and not for 1948, it
# does not appear to have had any provision delaying its effect, so assume that
# it overrode the prior ordinance for 1948-10-03.
#
# Whitman says DST was not observed in 1950 and gives Oct lastSun for 1952 on.
# The Observatory, however, agrees with Shanks & Pottenger that 1950 was not an
# exception and that Oct Sun>=1 was maintained through 1965.
Rule Port 1947 1966 - Apr Sun>=1 2:00s 1:00 S
Rule Port 1947 1965 - Oct Sun>=1 2:00s 0 -
Rule Port 1977 only - Mar 27 0:00s 1:00 S
Rule Port 1977 only - Sep 25 0:00s 0 -
Rule Port 1978 1979 - Apr Sun>=1 0:00s 1:00 S
Rule Port 1978 only - Oct 1 0:00s 0 -
Rule Port 1979 1982 - Sep lastSun 1:00s 0 -
Rule Port 1980 only - Mar lastSun 0:00s 1:00 S
Rule Port 1981 1982 - Mar lastSun 1:00s 1:00 S
Rule Port 1983 only - Mar lastSun 2:00s 1:00 S
# From Tim Parenti (2024-07-01):
# Decreto-Lei 47233 of 1966-10-01 considered that the "duality" in time was
# "the cause of serious disturbances" and noted that "the countries with which
# we have the most frequent contacts...have already adopted" a solution
# coinciding with the extant "summer time". It established that the former
# "summer time" would apply year-round on the mainland and adjacent islands
# with immediate effect, as the fall back would have otherwise occurred later
# that evening.
# https://dre.pt/dr/detalhe/decreto-lei/47233-1966-293729
# Model this by changing zones without changing clocks at the
# previously-appointed fall back time.
#
# Decreto-Lei 309/76 of 1976-04-27 acknowledged that those international
# contacts had returned to adopting seasonal times, and considered that the
# year-round advancement "entails considerable sacrifices for the vast majority
# of the working population during the winter months", including morning
# visibility concerns for schoolchildren. It specified, beginning 1976-09-26
# 01:00, an annual return to UT+00 on the mainland from 00:00 UT on Sep lastSun
# to 00:00 UT on Mar lastSun (unless the latter date fell on Easter, in which
# case it was to be brought forward to the preceding Sunday). It also assigned
# the Permanent Time Commission to study and propose revisions for the Azores
# and Madeira, neither of which resumed DST until 1982 (as described further
# below).
# https://dre.pt/dr/detalhe/decreto-lei/309-1976-502063
Rule Port 1976 only - Sep lastSun 1:00 0 -
Rule Port 1977 only - Mar lastSun 0:00s 1:00 S
Rule Port 1977 only - Sep lastSun 0:00s 0 -
# From Tim Parenti (2024-07-01):
# Beginning in 1978, rather than triggering the Easter rule of the 1976 decree
# (Easter fell on 1978-03-26), Article 5 was used instead, which allowed DST
# dates to be changed by order of the Minister of Education and Scientific
# Research, upon consultation with the Permanent Time Commission, "whenever
# considered convenient." As such, a series of one-off ordinances were
# promulgated for the mainland in 1978 through 1980, after which the 1976
# decree naturally came back into force from 1981.
Rule Port 1978 1980 - Apr Sun>=1 1:00s 1:00 S
Rule Port 1978 only - Oct 1 1:00s 0 -
Rule Port 1979 1980 - Sep lastSun 1:00s 0 -
Rule Port 1981 1986 - Mar lastSun 0:00s 1:00 S
Rule Port 1981 1985 - Sep lastSun 0:00s 0 -
# From Tim Parenti (2024-07-01):
# Decreto-Lei 44-B/86 of 1986-03-07 switched mainland Portugal's transition
# times from 0:00s to 1:00u to harmonize with the EEC from 1986-03-30.
# https://dre.pt/dr/detalhe/decreto-lei/44-b-1986-628280
# (Transitions of 1:00s as previously reported and used by the W-Eur rules,
# though equivalent, appear to have been fiction here.) Madeira continued to
# use 0:00s for spring 1986 before joining with the mainland using 1:00u in the
# fall; meanwhile, in the Azores the two were equivalent, so the law specifying
# 0:00s wasn't touched until 1992. (See below for more on the islands.)
#
# From Rui Pedro Salgueiro (1992-11-12):
# Portugal has recently (September, 27) changed timezone
# (from WET to MET or CET) to harmonize with EEC.
#
# Martin Bruckmann (1996-02-29) reports via Peter Ilieve
# that Portugal is reverting to 0:00 by not moving its clocks this spring.
# The new Prime Minister was fed up with getting up in the dark in the winter.
#
# From Paul Eggert (1996-11-12):
# IATA SSIM (1991-09) reports several 1991-09 and 1992-09 transitions
# at 02:00u, not 01:00u. Assume that these are typos.
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#STDOFF -0:36:44.68
Zone Europe/Lisbon -0:36:45 - LMT 1884
-0:36:45 - LMT 1912 Jan 1 0:00u # Lisbon MT
0:00 Port WE%sT 1966 Apr 3 2:00
0:00 Port WE%sT 1966 Oct 2 2:00s
1:00 - CET 1976 Sep 26 1:00
0:00 Port WE%sT 1983 Sep 25 1:00s
0:00 W-Eur WE%sT 1992 Sep 27 1:00s
0:00 Port WE%sT 1986
0:00 EU WE%sT 1992 Sep 27 1:00u
1:00 EU CE%sT 1996 Mar 31 1:00u
0:00 EU WE%sT
# From Tim Parenti (2024-07-01):
# For the Azores and Madeira, legislation was followed from the laws currently
# in force as listed at:
# https://oal.ul.pt/hora-legal/legislacao/
# working backward through references of revocation and abrogation to
# Decreto-Lei 47233 of 1966-10-01, the last time DST was abolished across the
# mainland and its adjacent islands. Because of that reference, it is
# therefore assumed that DST rules in the islands prior to 1966 were like that
# of the mainland, though most legislation of the time didn't explicitly
# specify DST practices for the islands.
Zone Atlantic/Azores -1:42:40 - LMT 1884 # Ponta Delgada
-1:54:32 - HMT 1912 Jan 1 2:00u # Horta MT
# Vanguard section, for zic and other parsers that support %z.
# -2:00 Port %z 1966 Apr 3 2:00
# -1:00 Port %z 1983 Sep 25 1:00s
# -1:00 W-Eur %z 1992 Sep 27 1:00s
-2:00 Port %z 1966 Oct 2 2:00s
# From Tim Parenti (2024-07-01):
# While Decreto-Lei 309/76 of 1976-04-27 reintroduced DST on the mainland by
# falling back on 1976-09-26, it assigned the Permanent Time Commission to
# study and propose revisions for the Azores and Madeira. Decreto Regional
# 9/77/A of 1977-05-17 affirmed that "the legal time remained unchanged in the
# Azores" at UT-1, and would remain there year-round.
# https://dre.pt/dr/detalhe/decreto-regional/9-1977-252066
#
# Decreto Regional 2/82/A, published 1982-03-02, adopted DST in the same
# fashion as the mainland used at the time.
# https://dre.pt/dr/detalhe/decreto-regional/2-1982-599965
# Though transitions in the Azores officially remained at 0:00s through 1992,
# this was equivalent to the EU-style 1:00u adopted by the mainland in 1986, so
# model it as such.
-1:00 - %z 1982 Mar 28 0:00s
-1:00 Port %z 1986
# Rearguard section, for parsers lacking %z; see ziguard.awk.
-2:00 Port -02/-01 1942 Apr 25 22:00s
-2:00 Port +00 1942 Aug 15 22:00s
-2:00 Port -02/-01 1943 Apr 17 22:00s
-2:00 Port +00 1943 Aug 28 22:00s
-2:00 Port -02/-01 1944 Apr 22 22:00s
-2:00 Port +00 1944 Aug 26 22:00s
-2:00 Port -02/-01 1945 Apr 21 22:00s
-2:00 Port +00 1945 Aug 25 22:00s
-2:00 Port -02/-01 1966 Apr 3 2:00
-1:00 Port -01/+00 1983 Sep 25 1:00s
-1:00 W-Eur -01/+00 1992 Sep 27 1:00s
# -2:00 Port -02/-01 1942 Apr 25 22:00s
# -2:00 Port +00 1942 Aug 15 22:00s
# -2:00 Port -02/-01 1943 Apr 17 22:00s
# -2:00 Port +00 1943 Aug 28 22:00s
# -2:00 Port -02/-01 1944 Apr 22 22:00s
# -2:00 Port +00 1944 Aug 26 22:00s
# -2:00 Port -02/-01 1945 Apr 21 22:00s
# -2:00 Port +00 1945 Aug 25 22:00s
# -2:00 Port -02/-01 1966 Oct 2 2:00s
# -1:00 - -01 1982 Mar 28 0:00s
# -1:00 Port -01/+00 1986
# End of rearguard section.
0:00 EU WE%sT 1993 Mar 28 1:00u
-1:00 EU -01/+00
#
# From Paul Eggert (1996-11-12):
# IATA SSIM (1991/1992) reports that the Azores were at -1:00.
# IATA SSIM (1993-02) says +0:00; later issues (through 1996-09) say -1:00.
#
# From Tim Parenti (2024-07-01):
# After mainland Portugal had shifted forward an hour from 1992-09-27, Decreto
# Legislativo Regional 29/92/A of 1992-12-23 sought to "reduce the time
# difference" by shifting the Azores forward as well from 1992-12-27. Just six
# months later, this was revoked by Decreto Legislativo Regional 9/93/A, citing
# "major changes in work habits and way of life." Though the revocation didn't
# give a transition time, it was signed Wednesday 1993-06-16; assume it took
# effect later that evening, and that an EU-style spring forward (to +01) was
# still observed in the interim on 1993-03-28.
# https://dre.pt/dr/detalhe/decreto-legislativo-regional/29-1992-621553
# https://dre.pt/dr/detalhe/decreto-legislativo-regional/9-1993-389633
-1:00 EU %z 1992 Dec 27 1:00s
0:00 EU WE%sT 1993 Jun 17 1:00u
-1:00 EU %z
Zone Atlantic/Madeira -1:07:36 - LMT 1884 # Funchal
-1:07:36 - FMT 1912 Jan 1 1:00u # Funchal MT
# Vanguard section, for zic and other parsers that support %z.
# -1:00 Port %z 1966 Apr 3 2:00
-1:00 Port %z 1966 Oct 2 2:00s
# Rearguard section, for parsers lacking %z; see ziguard.awk.
-1:00 Port -01/+00 1942 Apr 25 22:00s
-1:00 Port +01 1942 Aug 15 22:00s
-1:00 Port -01/+00 1943 Apr 17 22:00s
-1:00 Port +01 1943 Aug 28 22:00s
-1:00 Port -01/+00 1944 Apr 22 22:00s
-1:00 Port +01 1944 Aug 26 22:00s
-1:00 Port -01/+00 1945 Apr 21 22:00s
-1:00 Port +01 1945 Aug 25 22:00s
-1:00 Port -01/+00 1966 Apr 3 2:00
# -1:00 Port -01/+00 1942 Apr 25 22:00s
# -1:00 Port +01 1942 Aug 15 22:00s
# -1:00 Port -01/+00 1943 Apr 17 22:00s
# -1:00 Port +01 1943 Aug 28 22:00s
# -1:00 Port -01/+00 1944 Apr 22 22:00s
# -1:00 Port +01 1944 Aug 26 22:00s
# -1:00 Port -01/+00 1945 Apr 21 22:00s
# -1:00 Port +01 1945 Aug 25 22:00s
# -1:00 Port -01/+00 1966 Oct 2 2:00s
# End of rearguard section.
0:00 Port WE%sT 1983 Sep 25 1:00s
#
# From Tim Parenti (2024-07-01):
# Decreto Regional 5/82/M, published 1982-04-03, established DST transitions at
# 0:00u, which for Madeira is equivalent to the mainland's rules (0:00s) at the
# time. It came into effect the day following its publication, Sunday
# 1982-04-04, thus resuming Madeira's DST practice about a week later than the
# mainland and the Azores.
# https://dre.pt/dr/detalhe/decreto-regional/5-1982-608273
#
# Decreto Legislativo Regional 18/86/M, published 1986-10-01, adopted EU-style
# rules (1:00u) and entered into immediate force after being signed on
# 1986-07-31.
# https://dre.pt/dr/detalhe/decreto-legislativo-regional/18-1986-221705
0:00 - WET 1982 Apr 4
0:00 Port WE%sT 1986 Jul 31
0:00 EU WE%sT
# Romania
@@ -2433,7 +2619,7 @@ Zone Europe/Kaliningrad 1:22:00 - LMT 1893 Apr
2:00 Poland EE%sT 1946 Apr 7
3:00 Russia MSK/MSD 1989 Mar 26 2:00s
2:00 Russia EE%sT 2011 Mar 27 2:00s
3:00 - +03 2014 Oct 26 2:00s
3:00 - %z 2014 Oct 26 2:00s
2:00 - EET
@@ -2683,14 +2869,14 @@ Zone Europe/Simferopol 2:16:24 - LMT 1880
# http://publication.pravo.gov.ru/Document/View/0001201602150056
Zone Europe/Astrakhan 3:12:12 - LMT 1924 May
3:00 - +03 1930 Jun 21
4:00 Russia +04/+05 1989 Mar 26 2:00s
3:00 Russia +03/+04 1991 Mar 31 2:00s
4:00 - +04 1992 Mar 29 2:00s
3:00 Russia +03/+04 2011 Mar 27 2:00s
4:00 - +04 2014 Oct 26 2:00s
3:00 - +03 2016 Mar 27 2:00s
4:00 - +04
3:00 - %z 1930 Jun 21
4:00 Russia %z 1989 Mar 26 2:00s
3:00 Russia %z 1991 Mar 31 2:00s
4:00 - %z 1992 Mar 29 2:00s
3:00 Russia %z 2011 Mar 27 2:00s
4:00 - %z 2014 Oct 26 2:00s
3:00 - %z 2016 Mar 27 2:00s
4:00 - %z
# From Paul Eggert (2016-11-11):
# Europe/Volgograd covers:
@@ -2720,15 +2906,15 @@ Zone Europe/Astrakhan 3:12:12 - LMT 1924 May
# http://publication.pravo.gov.ru/Document/View/0001202012220002
Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
3:00 - +03 1930 Jun 21
4:00 - +04 1961 Nov 11
4:00 Russia +04/+05 1988 Mar 27 2:00s
3:00 - %z 1930 Jun 21
4:00 - %z 1961 Nov 11
4:00 Russia %z 1988 Mar 27 2:00s
3:00 Russia MSK/MSD 1991 Mar 31 2:00s
4:00 - +04 1992 Mar 29 2:00s
4:00 - %z 1992 Mar 29 2:00s
3:00 Russia MSK/MSD 2011 Mar 27 2:00s
4:00 - MSK 2014 Oct 26 2:00s
3:00 - MSK 2018 Oct 28 2:00s
4:00 - +04 2020 Dec 27 2:00s
4:00 - %z 2020 Dec 27 2:00s
3:00 - MSK
# From Paul Eggert (2016-11-11):
@@ -2743,14 +2929,14 @@ Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
# http://publication.pravo.gov.ru/Document/View/0001201611220031
Zone Europe/Saratov 3:04:18 - LMT 1919 Jul 1 0:00u
3:00 - +03 1930 Jun 21
4:00 Russia +04/+05 1988 Mar 27 2:00s
3:00 Russia +03/+04 1991 Mar 31 2:00s
4:00 - +04 1992 Mar 29 2:00s
3:00 Russia +03/+04 2011 Mar 27 2:00s
4:00 - +04 2014 Oct 26 2:00s
3:00 - +03 2016 Dec 4 2:00s
4:00 - +04
3:00 - %z 1930 Jun 21
4:00 Russia %z 1988 Mar 27 2:00s
3:00 Russia %z 1991 Mar 31 2:00s
4:00 - %z 1992 Mar 29 2:00s
3:00 Russia %z 2011 Mar 27 2:00s
4:00 - %z 2014 Oct 26 2:00s
3:00 - %z 2016 Dec 4 2:00s
4:00 - %z
# From Paul Eggert (2016-03-18):
# Europe/Kirov covers:
@@ -2758,10 +2944,10 @@ Zone Europe/Saratov 3:04:18 - LMT 1919 Jul 1 0:00u
# The 1989 transition is from USSR act No. 227 (1989-03-14).
#
Zone Europe/Kirov 3:18:48 - LMT 1919 Jul 1 0:00u
3:00 - +03 1930 Jun 21
4:00 Russia +04/+05 1989 Mar 26 2:00s
3:00 - %z 1930 Jun 21
4:00 Russia %z 1989 Mar 26 2:00s
3:00 Russia MSK/MSD 1991 Mar 31 2:00s
4:00 - +04 1992 Mar 29 2:00s
4:00 - %z 1992 Mar 29 2:00s
3:00 Russia MSK/MSD 2011 Mar 27 2:00s
4:00 - MSK 2014 Oct 26 2:00s
3:00 - MSK
@@ -2776,15 +2962,15 @@ Zone Europe/Kirov 3:18:48 - LMT 1919 Jul 1 0:00u
# The 1989 transition is from USSR act No. 227 (1989-03-14).
Zone Europe/Samara 3:20:20 - LMT 1919 Jul 1 0:00u
3:00 - +03 1930 Jun 21
4:00 - +04 1935 Jan 27
4:00 Russia +04/+05 1989 Mar 26 2:00s
3:00 Russia +03/+04 1991 Mar 31 2:00s
2:00 Russia +02/+03 1991 Sep 29 2:00s
3:00 - +03 1991 Oct 20 3:00
4:00 Russia +04/+05 2010 Mar 28 2:00s
3:00 Russia +03/+04 2011 Mar 27 2:00s
4:00 - +04
3:00 - %z 1930 Jun 21
4:00 - %z 1935 Jan 27
4:00 Russia %z 1989 Mar 26 2:00s
3:00 Russia %z 1991 Mar 31 2:00s
2:00 Russia %z 1991 Sep 29 2:00s
3:00 - %z 1991 Oct 20 3:00
4:00 Russia %z 2010 Mar 28 2:00s
3:00 Russia %z 2011 Mar 27 2:00s
4:00 - %z
# From Paul Eggert (2016-03-18):
# Europe/Ulyanovsk covers:
@@ -2800,14 +2986,14 @@ Zone Europe/Samara 3:20:20 - LMT 1919 Jul 1 0:00u
# http://publication.pravo.gov.ru/Document/View/0001201603090051
Zone Europe/Ulyanovsk 3:13:36 - LMT 1919 Jul 1 0:00u
3:00 - +03 1930 Jun 21
4:00 Russia +04/+05 1989 Mar 26 2:00s
3:00 Russia +03/+04 1991 Mar 31 2:00s
2:00 Russia +02/+03 1992 Jan 19 2:00s
3:00 Russia +03/+04 2011 Mar 27 2:00s
4:00 - +04 2014 Oct 26 2:00s
3:00 - +03 2016 Mar 27 2:00s
4:00 - +04
3:00 - %z 1930 Jun 21
4:00 Russia %z 1989 Mar 26 2:00s
3:00 Russia %z 1991 Mar 31 2:00s
2:00 Russia %z 1992 Jan 19 2:00s
3:00 Russia %z 2011 Mar 27 2:00s
4:00 - %z 2014 Oct 26 2:00s
3:00 - %z 2016 Mar 27 2:00s
4:00 - %z
# From Tim Parenti (2014-07-03), per Oscar van Vlijmen (2001-08-25):
# Asia/Yekaterinburg covers...
@@ -2832,12 +3018,12 @@ Zone Europe/Ulyanovsk 3:13:36 - LMT 1919 Jul 1 0:00u
#STDOFF 4:02:32.9
Zone Asia/Yekaterinburg 4:02:33 - LMT 1916 Jul 3
3:45:05 - PMT 1919 Jul 15 4:00
4:00 - +04 1930 Jun 21
5:00 Russia +05/+06 1991 Mar 31 2:00s
4:00 Russia +04/+05 1992 Jan 19 2:00s
5:00 Russia +05/+06 2011 Mar 27 2:00s
6:00 - +06 2014 Oct 26 2:00s
5:00 - +05
4:00 - %z 1930 Jun 21
5:00 Russia %z 1991 Mar 31 2:00s
4:00 Russia %z 1992 Jan 19 2:00s
5:00 Russia %z 2011 Mar 27 2:00s
6:00 - %z 2014 Oct 26 2:00s
5:00 - %z
# From Tim Parenti (2014-07-03), per Oscar van Vlijmen (2001-08-25):
@@ -2847,12 +3033,12 @@ Zone Asia/Yekaterinburg 4:02:33 - LMT 1916 Jul 3
# Byalokoz 1919 says Omsk was 4:53:30.
Zone Asia/Omsk 4:53:30 - LMT 1919 Nov 14
5:00 - +05 1930 Jun 21
6:00 Russia +06/+07 1991 Mar 31 2:00s
5:00 Russia +05/+06 1992 Jan 19 2:00s
6:00 Russia +06/+07 2011 Mar 27 2:00s
7:00 - +07 2014 Oct 26 2:00s
6:00 - +06
5:00 - %z 1930 Jun 21
6:00 Russia %z 1991 Mar 31 2:00s
5:00 Russia %z 1992 Jan 19 2:00s
6:00 Russia %z 2011 Mar 27 2:00s
7:00 - %z 2014 Oct 26 2:00s
6:00 - %z
# From Paul Eggert (2016-02-22):
# Asia/Barnaul covers:
@@ -2885,14 +3071,14 @@ Zone Asia/Omsk 4:53:30 - LMT 1919 Nov 14
# http://publication.pravo.gov.ru/Document/View/0001201603090038
Zone Asia/Barnaul 5:35:00 - LMT 1919 Dec 10
6:00 - +06 1930 Jun 21
7:00 Russia +07/+08 1991 Mar 31 2:00s
6:00 Russia +06/+07 1992 Jan 19 2:00s
7:00 Russia +07/+08 1995 May 28
6:00 Russia +06/+07 2011 Mar 27 2:00s
7:00 - +07 2014 Oct 26 2:00s
6:00 - +06 2016 Mar 27 2:00s
7:00 - +07
6:00 - %z 1930 Jun 21
7:00 Russia %z 1991 Mar 31 2:00s
6:00 Russia %z 1992 Jan 19 2:00s
7:00 Russia %z 1995 May 28
6:00 Russia %z 2011 Mar 27 2:00s
7:00 - %z 2014 Oct 26 2:00s
6:00 - %z 2016 Mar 27 2:00s
7:00 - %z
# From Paul Eggert (2016-03-18):
# Asia/Novosibirsk covers:
@@ -2906,14 +3092,14 @@ Zone Asia/Barnaul 5:35:00 - LMT 1919 Dec 10
# http://publication.pravo.gov.ru/Document/View/0001201607040064
Zone Asia/Novosibirsk 5:31:40 - LMT 1919 Dec 14 6:00
6:00 - +06 1930 Jun 21
7:00 Russia +07/+08 1991 Mar 31 2:00s
6:00 Russia +06/+07 1992 Jan 19 2:00s
7:00 Russia +07/+08 1993 May 23 # say Shanks & P.
6:00 Russia +06/+07 2011 Mar 27 2:00s
7:00 - +07 2014 Oct 26 2:00s
6:00 - +06 2016 Jul 24 2:00s
7:00 - +07
6:00 - %z 1930 Jun 21
7:00 Russia %z 1991 Mar 31 2:00s
6:00 Russia %z 1992 Jan 19 2:00s
7:00 Russia %z 1993 May 23 # say Shanks & P.
6:00 Russia %z 2011 Mar 27 2:00s
7:00 - %z 2014 Oct 26 2:00s
6:00 - %z 2016 Jul 24 2:00s
7:00 - %z
# From Paul Eggert (2016-03-18):
# Asia/Tomsk covers:
@@ -2958,14 +3144,14 @@ Zone Asia/Novosibirsk 5:31:40 - LMT 1919 Dec 14 6:00
# http://publication.pravo.gov.ru/Document/View/0001201604260048
Zone Asia/Tomsk 5:39:51 - LMT 1919 Dec 22
6:00 - +06 1930 Jun 21
7:00 Russia +07/+08 1991 Mar 31 2:00s
6:00 Russia +06/+07 1992 Jan 19 2:00s
7:00 Russia +07/+08 2002 May 1 3:00
6:00 Russia +06/+07 2011 Mar 27 2:00s
7:00 - +07 2014 Oct 26 2:00s
6:00 - +06 2016 May 29 2:00s
7:00 - +07
6:00 - %z 1930 Jun 21
7:00 Russia %z 1991 Mar 31 2:00s
6:00 Russia %z 1992 Jan 19 2:00s
7:00 Russia %z 2002 May 1 3:00
6:00 Russia %z 2011 Mar 27 2:00s
7:00 - %z 2014 Oct 26 2:00s
6:00 - %z 2016 May 29 2:00s
7:00 - %z
# From Tim Parenti (2014-07-03):
@@ -2996,12 +3182,12 @@ Zone Asia/Tomsk 5:39:51 - LMT 1919 Dec 22
# realigning itself with KRAT.
Zone Asia/Novokuznetsk 5:48:48 - LMT 1924 May 1
6:00 - +06 1930 Jun 21
7:00 Russia +07/+08 1991 Mar 31 2:00s
6:00 Russia +06/+07 1992 Jan 19 2:00s
7:00 Russia +07/+08 2010 Mar 28 2:00s
6:00 Russia +06/+07 2011 Mar 27 2:00s
7:00 - +07
6:00 - %z 1930 Jun 21
7:00 Russia %z 1991 Mar 31 2:00s
6:00 Russia %z 1992 Jan 19 2:00s
7:00 Russia %z 2010 Mar 28 2:00s
6:00 Russia %z 2011 Mar 27 2:00s
7:00 - %z
# From Tim Parenti (2014-07-03), per Oscar van Vlijmen (2001-08-25):
# Asia/Krasnoyarsk covers...
@@ -3015,12 +3201,12 @@ Zone Asia/Novokuznetsk 5:48:48 - LMT 1924 May 1
# Byalokoz 1919 says Krasnoyarsk was 6:11:26.
Zone Asia/Krasnoyarsk 6:11:26 - LMT 1920 Jan 6
6:00 - +06 1930 Jun 21
7:00 Russia +07/+08 1991 Mar 31 2:00s
6:00 Russia +06/+07 1992 Jan 19 2:00s
7:00 Russia +07/+08 2011 Mar 27 2:00s
8:00 - +08 2014 Oct 26 2:00s
7:00 - +07
6:00 - %z 1930 Jun 21
7:00 Russia %z 1991 Mar 31 2:00s
6:00 Russia %z 1992 Jan 19 2:00s
7:00 Russia %z 2011 Mar 27 2:00s
8:00 - %z 2014 Oct 26 2:00s
7:00 - %z
# From Tim Parenti (2014-07-03), per Oscar van Vlijmen (2001-08-25):
@@ -3037,12 +3223,12 @@ Zone Asia/Krasnoyarsk 6:11:26 - LMT 1920 Jan 6
Zone Asia/Irkutsk 6:57:05 - LMT 1880
6:57:05 - IMT 1920 Jan 25 # Irkutsk Mean Time
7:00 - +07 1930 Jun 21
8:00 Russia +08/+09 1991 Mar 31 2:00s
7:00 Russia +07/+08 1992 Jan 19 2:00s
8:00 Russia +08/+09 2011 Mar 27 2:00s
9:00 - +09 2014 Oct 26 2:00s
8:00 - +08
7:00 - %z 1930 Jun 21
8:00 Russia %z 1991 Mar 31 2:00s
7:00 Russia %z 1992 Jan 19 2:00s
8:00 Russia %z 2011 Mar 27 2:00s
9:00 - %z 2014 Oct 26 2:00s
8:00 - %z
# From Tim Parenti (2014-07-06):
@@ -3059,13 +3245,13 @@ Zone Asia/Irkutsk 6:57:05 - LMT 1880
# http://publication.pravo.gov.ru/Document/View/0001201512300107
Zone Asia/Chita 7:33:52 - LMT 1919 Dec 15
8:00 - +08 1930 Jun 21
9:00 Russia +09/+10 1991 Mar 31 2:00s
8:00 Russia +08/+09 1992 Jan 19 2:00s
9:00 Russia +09/+10 2011 Mar 27 2:00s
10:00 - +10 2014 Oct 26 2:00s
8:00 - +08 2016 Mar 27 2:00
9:00 - +09
8:00 - %z 1930 Jun 21
9:00 Russia %z 1991 Mar 31 2:00s
8:00 Russia %z 1992 Jan 19 2:00s
9:00 Russia %z 2011 Mar 27 2:00s
10:00 - %z 2014 Oct 26 2:00s
8:00 - %z 2016 Mar 27 2:00
9:00 - %z
# From Tim Parenti (2014-07-03), per Oscar van Vlijmen (2009-11-29):
@@ -3105,12 +3291,12 @@ Zone Asia/Chita 7:33:52 - LMT 1919 Dec 15
# Byalokoz 1919 says Yakutsk was 8:38:58.
Zone Asia/Yakutsk 8:38:58 - LMT 1919 Dec 15
8:00 - +08 1930 Jun 21
9:00 Russia +09/+10 1991 Mar 31 2:00s
8:00 Russia +08/+09 1992 Jan 19 2:00s
9:00 Russia +09/+10 2011 Mar 27 2:00s
10:00 - +10 2014 Oct 26 2:00s
9:00 - +09
8:00 - %z 1930 Jun 21
9:00 Russia %z 1991 Mar 31 2:00s
8:00 Russia %z 1992 Jan 19 2:00s
9:00 Russia %z 2011 Mar 27 2:00s
10:00 - %z 2014 Oct 26 2:00s
9:00 - %z
# From Tim Parenti (2014-07-03), per Oscar van Vlijmen (2009-11-29):
@@ -3128,12 +3314,12 @@ Zone Asia/Yakutsk 8:38:58 - LMT 1919 Dec 15
# Go with Byalokoz.
Zone Asia/Vladivostok 8:47:31 - LMT 1922 Nov 15
9:00 - +09 1930 Jun 21
10:00 Russia +10/+11 1991 Mar 31 2:00s
9:00 Russia +09/+10 1992 Jan 19 2:00s
10:00 Russia +10/+11 2011 Mar 27 2:00s
11:00 - +11 2014 Oct 26 2:00s
10:00 - +10
9:00 - %z 1930 Jun 21
10:00 Russia %z 1991 Mar 31 2:00s
9:00 Russia %z 1992 Jan 19 2:00s
10:00 Russia %z 2011 Mar 27 2:00s
11:00 - %z 2014 Oct 26 2:00s
10:00 - %z
# From Tim Parenti (2014-07-03):
@@ -3151,14 +3337,14 @@ Zone Asia/Vladivostok 8:47:31 - LMT 1922 Nov 15
# This transition is no doubt wrong, but we have no better info.
Zone Asia/Khandyga 9:02:13 - LMT 1919 Dec 15
8:00 - +08 1930 Jun 21
9:00 Russia +09/+10 1991 Mar 31 2:00s
8:00 Russia +08/+09 1992 Jan 19 2:00s
9:00 Russia +09/+10 2004
10:00 Russia +10/+11 2011 Mar 27 2:00s
11:00 - +11 2011 Sep 13 0:00s # Decree 725?
10:00 - +10 2014 Oct 26 2:00s
9:00 - +09
8:00 - %z 1930 Jun 21
9:00 Russia %z 1991 Mar 31 2:00s
8:00 Russia %z 1992 Jan 19 2:00s
9:00 Russia %z 2004
10:00 Russia %z 2011 Mar 27 2:00s
11:00 - %z 2011 Sep 13 0:00s # Decree 725?
10:00 - %z 2014 Oct 26 2:00s
9:00 - %z
# From Tim Parenti (2014-07-03):
@@ -3174,14 +3360,14 @@ Zone Asia/Khandyga 9:02:13 - LMT 1919 Dec 15
# The Zone name should be Asia/Yuzhno-Sakhalinsk, but that's too long.
Zone Asia/Sakhalin 9:30:48 - LMT 1905 Aug 23
9:00 - +09 1945 Aug 25
11:00 Russia +11/+12 1991 Mar 31 2:00s # Sakhalin T
10:00 Russia +10/+11 1992 Jan 19 2:00s
11:00 Russia +11/+12 1997 Mar lastSun 2:00s
10:00 Russia +10/+11 2011 Mar 27 2:00s
11:00 - +11 2014 Oct 26 2:00s
10:00 - +10 2016 Mar 27 2:00s
11:00 - +11
9:00 - %z 1945 Aug 25
11:00 Russia %z 1991 Mar 31 2:00s # Sakhalin T
10:00 Russia %z 1992 Jan 19 2:00s
11:00 Russia %z 1997 Mar lastSun 2:00s
10:00 Russia %z 2011 Mar 27 2:00s
11:00 - %z 2014 Oct 26 2:00s
10:00 - %z 2016 Mar 27 2:00s
11:00 - %z
# From Tim Parenti (2014-07-03), per Oscar van Vlijmen (2009-11-29):
@@ -3204,13 +3390,13 @@ Zone Asia/Sakhalin 9:30:48 - LMT 1905 Aug 23
# http://publication.pravo.gov.ru/Document/View/0001201604050038
Zone Asia/Magadan 10:03:12 - LMT 1924 May 2
10:00 - +10 1930 Jun 21 # Magadan Time
11:00 Russia +11/+12 1991 Mar 31 2:00s
10:00 Russia +10/+11 1992 Jan 19 2:00s
11:00 Russia +11/+12 2011 Mar 27 2:00s
12:00 - +12 2014 Oct 26 2:00s
10:00 - +10 2016 Apr 24 2:00s
11:00 - +11
10:00 - %z 1930 Jun 21 # Magadan Time
11:00 Russia %z 1991 Mar 31 2:00s
10:00 Russia %z 1992 Jan 19 2:00s
11:00 Russia %z 2011 Mar 27 2:00s
12:00 - %z 2014 Oct 26 2:00s
10:00 - %z 2016 Apr 24 2:00s
11:00 - %z
# From Tim Parenti (2014-07-06):
@@ -3255,12 +3441,12 @@ Zone Asia/Magadan 10:03:12 - LMT 1924 May 2
# Go with Srednekolymsk.
Zone Asia/Srednekolymsk 10:14:52 - LMT 1924 May 2
10:00 - +10 1930 Jun 21
11:00 Russia +11/+12 1991 Mar 31 2:00s
10:00 Russia +10/+11 1992 Jan 19 2:00s
11:00 Russia +11/+12 2011 Mar 27 2:00s
12:00 - +12 2014 Oct 26 2:00s
11:00 - +11
10:00 - %z 1930 Jun 21
11:00 Russia %z 1991 Mar 31 2:00s
10:00 Russia %z 1992 Jan 19 2:00s
11:00 Russia %z 2011 Mar 27 2:00s
12:00 - %z 2014 Oct 26 2:00s
11:00 - %z
# From Tim Parenti (2014-07-03):
@@ -3278,14 +3464,14 @@ Zone Asia/Srednekolymsk 10:14:52 - LMT 1924 May 2
# UTC+12 since at least then, too.
Zone Asia/Ust-Nera 9:32:54 - LMT 1919 Dec 15
8:00 - +08 1930 Jun 21
9:00 Russia +09/+10 1981 Apr 1
11:00 Russia +11/+12 1991 Mar 31 2:00s
10:00 Russia +10/+11 1992 Jan 19 2:00s
11:00 Russia +11/+12 2011 Mar 27 2:00s
12:00 - +12 2011 Sep 13 0:00s # Decree 725?
11:00 - +11 2014 Oct 26 2:00s
10:00 - +10
8:00 - %z 1930 Jun 21
9:00 Russia %z 1981 Apr 1
11:00 Russia %z 1991 Mar 31 2:00s
10:00 Russia %z 1992 Jan 19 2:00s
11:00 Russia %z 2011 Mar 27 2:00s
12:00 - %z 2011 Sep 13 0:00s # Decree 725?
11:00 - %z 2014 Oct 26 2:00s
10:00 - %z
# From Tim Parenti (2014-07-03), per Oscar van Vlijmen (2001-08-25):
@@ -3298,12 +3484,12 @@ Zone Asia/Ust-Nera 9:32:54 - LMT 1919 Dec 15
# The Zone name should be Asia/Petropavlovsk-Kamchatski or perhaps
# Asia/Petropavlovsk-Kamchatsky, but these are too long.
Zone Asia/Kamchatka 10:34:36 - LMT 1922 Nov 10
11:00 - +11 1930 Jun 21
12:00 Russia +12/+13 1991 Mar 31 2:00s
11:00 Russia +11/+12 1992 Jan 19 2:00s
12:00 Russia +12/+13 2010 Mar 28 2:00s
11:00 Russia +11/+12 2011 Mar 27 2:00s
12:00 - +12
11:00 - %z 1930 Jun 21
12:00 Russia %z 1991 Mar 31 2:00s
11:00 Russia %z 1992 Jan 19 2:00s
12:00 Russia %z 2010 Mar 28 2:00s
11:00 Russia %z 2011 Mar 27 2:00s
12:00 - %z
# From Tim Parenti (2014-07-03):
@@ -3311,13 +3497,13 @@ Zone Asia/Kamchatka 10:34:36 - LMT 1922 Nov 10
# 87 RU-CHU Chukotka Autonomous Okrug
Zone Asia/Anadyr 11:49:56 - LMT 1924 May 2
12:00 - +12 1930 Jun 21
13:00 Russia +13/+14 1982 Apr 1 0:00s
12:00 Russia +12/+13 1991 Mar 31 2:00s
11:00 Russia +11/+12 1992 Jan 19 2:00s
12:00 Russia +12/+13 2010 Mar 28 2:00s
11:00 Russia +11/+12 2011 Mar 27 2:00s
12:00 - +12
12:00 - %z 1930 Jun 21
13:00 Russia %z 1982 Apr 1 0:00s
12:00 Russia %z 1991 Mar 31 2:00s
11:00 Russia %z 1992 Jan 19 2:00s
12:00 Russia %z 2010 Mar 28 2:00s
11:00 Russia %z 2011 Mar 27 2:00s
12:00 - %z
# Bosnia & Herzegovina
# Croatia
@@ -3436,7 +3622,7 @@ Zone Africa/Ceuta -0:21:16 - LMT 1901 Jan 1 0:00u
1:00 - CET 1986
1:00 EU CE%sT
Zone Atlantic/Canary -1:01:36 - LMT 1922 Mar # Las Palmas de Gran C.
-1:00 - -01 1946 Sep 30 1:00
-1:00 - %z 1946 Sep 30 1:00
0:00 - WET 1980 Apr 6 0:00s
0:00 1:00 WEST 1980 Sep 28 1:00u
0:00 EU WE%sT
@@ -3517,8 +3703,8 @@ Zone Atlantic/Canary -1:01:36 - LMT 1922 Mar # Las Palmas de Gran C.
# but if no one is present after 11 at night, could be postponed until one
# hour before the beginning of service.
# From Paul Eggert (2013-09-11):
# Round BMT to the nearest even second, 0:29:46.
# From Paul Eggert (2024-05-24):
# Express BMT as 0:29:45.500, approximately the same precision 7° 26' 22.50".
#
# We can find no reliable source for Shanks's assertion that all of Switzerland
# except Geneva switched to Bern Mean Time at 00:00 on 1848-09-12. This book:
@@ -3557,6 +3743,7 @@ Rule Swiss 1941 1942 - May Mon>=1 1:00 1:00 S
Rule Swiss 1941 1942 - Oct Mon>=1 2:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 # See above comment.
#STDOFF 0:29:45.500
0:29:46 - BMT 1894 Jun # Bern Mean Time
1:00 Swiss CE%sT 1981
1:00 EU CE%sT
@@ -3754,7 +3941,7 @@ Rule Turkey 1996 2006 - Oct lastSun 1:00s 0 -
Zone Europe/Istanbul 1:55:52 - LMT 1880
1:56:56 - IMT 1910 Oct # Istanbul Mean Time?
2:00 Turkey EE%sT 1978 Jun 29
3:00 Turkey +03/+04 1984 Nov 1 2:00
3:00 Turkey %z 1984 Nov 1 2:00
2:00 Turkey EE%sT 2007
2:00 EU EE%sT 2011 Mar 27 1:00u
2:00 - EET 2011 Mar 28 1:00u
@@ -3763,7 +3950,7 @@ Zone Europe/Istanbul 1:55:52 - LMT 1880
2:00 EU EE%sT 2015 Oct 25 1:00u
2:00 1:00 EEST 2015 Nov 8 1:00u
2:00 EU EE%sT 2016 Sep 7
3:00 - +03
3:00 - %z
# Ukraine
#

View File

@@ -92,11 +92,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 2024 Dec 28 00:00:00
#Expires 2025 Jun 28 00:00:00
# POSIX timestamps for the data in this file:
#updated 1704708379 (2024-01-08 10:06:19 UTC)
#expires 1735344000 (2024-12-28 00:00:00 UTC)
#updated 1720104763 (2024-07-04 14:52:43 UTC)
#expires 1751068800 (2025-06-28 00:00:00 UTC)
# Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat)
# File expires on 28 December 2024
# File expires on 28 June 2025

View File

@@ -208,26 +208,6 @@ Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D
Rule US 2007 max - Mar Sun>=8 2:00 1:00 D
Rule US 2007 max - Nov Sun>=1 2:00 0 S
# From Arthur David Olson, 2005-12-19
# We generate the files specified below to guard against old files with
# obsolete information being left in the time zone binary directory.
# We limit the list to names that have appeared in previous versions of
# this time zone package.
# We do these as separate Zones rather than as Links to avoid problems if
# a particular place changes whether it observes DST.
# We put these specifications here in the northamerica file both to
# increase the chances that they'll actually get compiled and to
# avoid the need to duplicate the US rules in another file.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone EST -5:00 - EST
Zone MST -7:00 - MST
Zone HST -10:00 - HST
Zone EST5EDT -5:00 US E%sT
Zone CST6CDT -6:00 US C%sT
Zone MST7MDT -7:00 US M%sT
Zone PST8PDT -8:00 US P%sT
# From U. S. Naval Observatory (1989-01-19):
# USA EASTERN 5 H BEHIND UTC NEW YORK, WASHINGTON
# USA EASTERN 4 H BEHIND UTC APR 3 - OCT 30
@@ -2396,6 +2376,81 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
# the researchers who prepared the Decrees page failed to find some of
# the relevant documents.
# From Heitor David Pinto (2024-08-04):
# In 1931, the decree implementing DST specified that it would take
# effect on 30 April....
# https://www.dof.gob.mx/nota_to_imagen_fs.php?cod_diario=192270&pagina=2&seccion=1
#
# In 1981, the decree changing Campeche, Yucatán and Quintana Roo to UTC-5
# specified that it would enter into force on 26 December 1981 at 2:00....
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4705667&fecha=23/12/1981&cod_diario=202796
#
# In 1982, the decree returning Campeche and Yucatán to UTC-6 specified that
# it would enter into force on 2 November 1982 at 2:00....
# https://www.dof.gob.mx/nota_to_imagen_fs.php?cod_diario=205689&pagina=3&seccion=0
#
# Quintana Roo changed to UTC-6 on 4 January 1983 at 0:00, and again
# to UTC-5 on 26 October 1997 at 2:00....
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4787355&fecha=28/12/1982&cod_diario=206112
# https://www.dof.gob.mx/nota_to_imagen_fs.php?cod_diario=209559&pagina=15&seccion=0
#
# Durango, Coahuila, Nuevo León and Tamaulipas were set to UTC-7 on 1 January
# 1922, and changed to UTC-6 on 10 June 1927. Then Durango, Coahuila and
# Nuevo León (but not Tamaulipas) returned to UTC-7 on 15 November 1930,
# observed DST in 1931, and changed again to UTC-6 on 1 April 1932....
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4441846&fecha=29/12/1921&cod_diario=187468
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4541520&fecha=09/06/1927&cod_diario=193920
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4491963&fecha=15/11/1930&cod_diario=190835
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4418437&fecha=21/01/1932&cod_diario=185588
#
# ... the ... 10 June 1927 ... decree only said 10 June 1927, without
# specifying a time, so I suppose that it should be considered at 0:00.
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4541520&fecha=09/06/1927&cod_diario=193920
#
# In 1942, the decree changing Baja California, Baja California Sur, Sonora,
# Sinaloa and Nayarit to UTC-7 was published on 24 April, but it said that it
# would apply from 1 April, so it's unclear when the change actually
# occurred. The database currently shows 24 April 1942.
# https://www.dof.gob.mx/nota_to_imagen_fs.php?cod_diario=192203&pagina=2&seccion=1
#
# Baja California Sur, Sonora, Sinaloa and Nayarit never used UTC-8. The ...
# 14 January 1949 ... change [to UTC-8] only occurred in Baja California.
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4515613&fecha=13/01/1949&cod_diario=192309
#
# In 1945, the decree changing Baja California to UTC-8 specified that it
# would take effect on the third day from its publication.
# It was published on 12 November, so it would take effect on 15 November....
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4555049&fecha=12/11/1945&cod_diario=194763
#
# In 1948, the decree changing Baja California to UTC-7 specified that it
# would take effect on "this date". The decree was made on 13 March,
# but published on 5 April, so it's unclear when the change actually occurred.
# The database currently shows 5 April 1948.
# https://www.dof.gob.mx/nota_to_imagen_fs.php?cod_diario=188624&pagina=2&seccion=0
#
# In 1949, the decree changing Baja California to UTC-8 was published on 13
# January, but it said that it would apply from 1 January, so it's unclear when
# the change actually occurred. The database currently shows 14 January 1949.
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4515613&fecha=13/01/1949&cod_diario=192309
#
# Baja California also observed UTC-7 from 1 May to 24 September 1950,
# from 29 April to 30 September 1951 at 2:00,
# and from 27 April to 28 September 1952 at 2:00....
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4600403&fecha=29/04/1950&cod_diario=197505
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4623553&fecha=23/09/1950&cod_diario=198805
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4469444&fecha=27/04/1951&cod_diario=189317
# https://www.dof.gob.mx/nota_to_imagen_fs.php?codnota=4533868&fecha=10/03/1952&cod_diario=193465
#
# All changes in Baja California from 1948 to 1952 match those in California,
# on the same dates or with a difference of one day.
# So it may be easier to implement these changes as DST with rule CA
# during this whole period.
#
# From Paul Eggert (2024-08-18):
# For now, maintain the slightly-different history for Baja California,
# as we have no information on whether 1948/1952 clocks in Tijuana followed
# the decrees or followed San Diego.
# From Alan Perry (1996-02-15):
# A guy from our Mexico subsidiary finally found the Presidential Decree
# outlining the timezone changes in Mexico.
@@ -2599,7 +2654,7 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
# 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 - April 30 0: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
@@ -2618,14 +2673,16 @@ 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 6:00u
-6:00 - CST 1981 Dec 23
-6:00 - CST 1981 Dec 26 2:00
-5:00 - EST 1983 Jan 4 0:00
-6:00 Mexico C%sT 1997 Oct 26 2:00
-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 6:00u
-6:00 - CST 1981 Dec 23
-5:00 - EST 1982 Dec 2
-6:00 - CST 1981 Dec 26 2:00
-5:00 - EST 1982 Nov 2 2:00
-6:00 Mexico C%sT
# Coahuila, Nuevo León, Tamaulipas (near US border)
# This includes the following municipios:
@@ -2642,12 +2699,15 @@ Zone America/Matamoros -6:30:00 - LMT 1922 Jan 1 6:00u
-6:00 US C%sT
# Durango; Coahuila, Nuevo León, Tamaulipas (away from US border)
Zone America/Monterrey -6:41:16 - LMT 1922 Jan 1 6:00u
-7:00 - MST 1927 Jun 10
-6:00 - CST 1930 Nov 15
-7:00 Mexico M%sT 1932 Apr 1
-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 7:00u
-7:00 - MST 1927 Jun 10 23:00
-7:00 - MST 1927 Jun 10
-6:00 - CST 1930 Nov 15
-7:00 Mexico M%sT 1932 Apr 1
-6:00 Mexico C%sT 2001 Sep 30 2:00
@@ -2658,7 +2718,7 @@ Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 7:00u
# 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
-7:00 - MST 1927 Jun 10
-6:00 - CST 1930 Nov 15
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1996
@@ -2673,7 +2733,7 @@ Zone America/Ciudad_Juarez -7:05:56 - LMT 1922 Jan 1 7:00u
# 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
-7:00 - MST 1927 Jun 10
-6:00 - CST 1930 Nov 15
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1996
@@ -2685,7 +2745,7 @@ Zone America/Ojinaga -6:57:40 - LMT 1922 Jan 1 7:00u
-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
-7:00 - MST 1927 Jun 10
-6:00 - CST 1930 Nov 15
-7:00 Mexico M%sT 1932 Apr 1
-6:00 - CST 1996
@@ -2695,23 +2755,21 @@ Zone America/Chihuahua -7:04:20 - LMT 1922 Jan 1 7:00u
-6:00 - CST
# Sonora
Zone America/Hermosillo -7:23:52 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-7:00 - MST 1927 Jun 10
-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 - MST 1996
-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
-7:00 - MST 1927 Jun 10
-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 - MST 1970
-7:00 Mexico M%sT
# Bahía de Banderas
@@ -2744,27 +2802,32 @@ Zone America/Mazatlan -7:05:40 - LMT 1922 Jan 1 7:00u
# Use "Bahia_Banderas" to keep the name to fourteen characters.
Zone America/Bahia_Banderas -7:01:00 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1927 Jun 10 23:00
-7:00 - MST 1927 Jun 10
-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 - MST 1970
-7:00 Mexico M%sT 2010 Apr 4 2:00
-6:00 Mexico C%sT
# Baja California
Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 7:00u
-7:00 - MST 1924
-8:00 - PST 1927 Jun 10 23:00
-8:00 - PST 1927 Jun 10
-7:00 - MST 1930 Nov 15
-8:00 - PST 1931 Apr 1
-8:00 1:00 PDT 1931 Sep 30
-8:00 - PST 1942 Apr 24
-8:00 1:00 PWT 1945 Aug 14 23:00u
-8:00 1:00 PPT 1945 Nov 12 # Peace
-8:00 1:00 PPT 1945 Nov 15 # Peace
-8:00 - PST 1948 Apr 5
-8:00 1:00 PDT 1949 Jan 14
-8:00 - PST 1950 May 1
-8:00 1:00 PDT 1950 Sep 24
-8:00 - PST 1951 Apr 29 2:00
-8:00 1:00 PDT 1951 Sep 30 2:00
-8:00 - PST 1952 Apr 27 2:00
-8:00 1:00 PDT 1952 Sep 28 2:00
-8:00 - PST 1954
-8:00 CA P%sT 1961
-8:00 - PST 1976
@@ -3573,8 +3636,8 @@ Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Miquelon -3:44:40 - LMT 1911 Jun 15 # St Pierre
-4:00 - AST 1980 May
-3:00 - -03 1987
-3:00 Canada -03/-02
-3:00 - %z 1987
-3:00 Canada %z
# Turks and Caicos
#

View File

@@ -425,11 +425,11 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1:00 -
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
-3:00 Arg -03/-02 1999 Oct 3
-4:00 Arg -04/-03 2000 Mar 3
-3:00 Arg -03/-02
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1999 Oct 3
-4:00 Arg %z 2000 Mar 3
-3:00 Arg %z
#
# Córdoba (CB), Santa Fe (SF), Entre Ríos (ER), Corrientes (CN), Misiones (MN),
# Chaco (CC), Formosa (FM), Santiago del Estero (SE)
@@ -444,120 +444,120 @@ Zone America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 Oct 31
#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
-4:00 Arg -04/-03 1969 Oct 5
-3:00 Arg -03/-02 1991 Mar 3
-4:00 - -04 1991 Oct 20
-3:00 Arg -03/-02 1999 Oct 3
-4:00 Arg -04/-03 2000 Mar 3
-3:00 Arg -03/-02
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1991 Mar 3
-4:00 - %z 1991 Oct 20
-3:00 Arg %z 1999 Oct 3
-4:00 Arg %z 2000 Mar 3
-3:00 Arg %z
#
# 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
-3:00 Arg -03/-02 1991 Mar 3
-4:00 - -04 1991 Oct 20
-3:00 Arg -03/-02 1999 Oct 3
-4:00 Arg -04/-03 2000 Mar 3
-3:00 Arg -03/-02 2008 Oct 18
-3:00 - -03
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1991 Mar 3
-4:00 - %z 1991 Oct 20
-3:00 Arg %z 1999 Oct 3
-4:00 Arg %z 2000 Mar 3
-3:00 Arg %z 2008 Oct 18
-3:00 - %z
#
# 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
-3:00 Arg -03/-02 1991 Mar 3
-4:00 - -04 1991 Oct 20
-3:00 Arg -03/-02 1999 Oct 3
-4:00 Arg -04/-03 2000 Mar 3
-3:00 - -03 2004 Jun 1
-4:00 - -04 2004 Jun 13
-3:00 Arg -03/-02
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1991 Mar 3
-4:00 - %z 1991 Oct 20
-3:00 Arg %z 1999 Oct 3
-4:00 Arg %z 2000 Mar 3
-3:00 - %z 2004 Jun 1
-4:00 - %z 2004 Jun 13
-3:00 Arg %z
#
# 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
-3:00 Arg -03/-02 1991 Mar 1
-4:00 - -04 1991 May 7
-3:00 Arg -03/-02 1999 Oct 3
-4:00 Arg -04/-03 2000 Mar 3
-3:00 - -03 2004 Jun 1
-4:00 - -04 2004 Jun 20
-3:00 Arg -03/-02 2008 Oct 18
-3:00 - -03
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1991 Mar 1
-4:00 - %z 1991 May 7
-3:00 Arg %z 1999 Oct 3
-4:00 Arg %z 2000 Mar 3
-3:00 - %z 2004 Jun 1
-4:00 - %z 2004 Jun 20
-3:00 Arg %z 2008 Oct 18
-3:00 - %z
#
# 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
-3:00 Arg -03/-02 1991 Mar 1
-4:00 - -04 1991 May 7
-3:00 Arg -03/-02 1999 Oct 3
-4:00 Arg -04/-03 2000 Mar 3
-3:00 - -03 2004 May 31
-4:00 - -04 2004 Jul 25
-3:00 Arg -03/-02 2008 Oct 18
-3:00 - -03
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1991 Mar 1
-4:00 - %z 1991 May 7
-3:00 Arg %z 1999 Oct 3
-4:00 Arg %z 2000 Mar 3
-3:00 - %z 2004 May 31
-4:00 - %z 2004 Jul 25
-3:00 Arg %z 2008 Oct 18
-3:00 - %z
#
# 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
-3:00 Arg -03/-02 1990 Mar 4
-4:00 - -04 1990 Oct 28
-4:00 1:00 -03 1991 Mar 17
-4:00 - -04 1991 Oct 6
-3:00 1:00 -02 1992
-3:00 Arg -03/-02 1999 Oct 3
-4:00 Arg -04/-03 2000 Mar 3
-3:00 Arg -03/-02 2008 Oct 18
-3:00 - -03
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1990 Mar 4
-4:00 - %z 1990 Oct 28
-4:00 1:00 %z 1991 Mar 17
-4:00 - %z 1991 Oct 6
-3:00 1:00 %z 1992
-3:00 Arg %z 1999 Oct 3
-4:00 Arg %z 2000 Mar 3
-3:00 Arg %z 2008 Oct 18
-3:00 - %z
#
# 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
-3:00 Arg -03/-02 1991 Mar 3
-4:00 - -04 1991 Oct 20
-3:00 Arg -03/-02 1999 Oct 3
-4:00 Arg -04/-03 2000 Mar 3
-3:00 - -03 2004 Jun 1
-4:00 - -04 2004 Jun 20
-3:00 Arg -03/-02 2008 Oct 18
-3:00 - -03
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1991 Mar 3
-4:00 - %z 1991 Oct 20
-3:00 Arg %z 1999 Oct 3
-4:00 Arg %z 2000 Mar 3
-3:00 - %z 2004 Jun 1
-4:00 - %z 2004 Jun 20
-3:00 Arg %z 2008 Oct 18
-3:00 - %z
#
# 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
-3:00 Arg -03/-02 1990 Mar 4
-4:00 - -04 1990 Oct 15
-4:00 1:00 -03 1991 Mar 1
-4:00 - -04 1991 Oct 15
-4:00 1:00 -03 1992 Mar 1
-4:00 - -04 1992 Oct 18
-3:00 Arg -03/-02 1999 Oct 3
-4:00 Arg -04/-03 2000 Mar 3
-3:00 - -03 2004 May 23
-4:00 - -04 2004 Sep 26
-3:00 Arg -03/-02 2008 Oct 18
-3:00 - -03
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1990 Mar 4
-4:00 - %z 1990 Oct 15
-4:00 1:00 %z 1991 Mar 1
-4:00 - %z 1991 Oct 15
-4:00 1:00 %z 1992 Mar 1
-4:00 - %z 1992 Oct 18
-3:00 Arg %z 1999 Oct 3
-4:00 Arg %z 2000 Mar 3
-3:00 - %z 2004 May 23
-4:00 - %z 2004 Sep 26
-3:00 Arg %z 2008 Oct 18
-3:00 - %z
#
# San Luis (SL)
@@ -567,53 +567,53 @@ 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
-3:00 Arg -03/-02 1990
-3:00 1:00 -02 1990 Mar 14
-4:00 - -04 1990 Oct 15
-4:00 1:00 -03 1991 Mar 1
-4:00 - -04 1991 Jun 1
-3:00 - -03 1999 Oct 3
-4:00 1:00 -03 2000 Mar 3
-3:00 - -03 2004 May 31
-4:00 - -04 2004 Jul 25
-3:00 Arg -03/-02 2008 Jan 21
-4:00 SanLuis -04/-03 2009 Oct 11
-3:00 - -03
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1990
-3:00 1:00 %z 1990 Mar 14
-4:00 - %z 1990 Oct 15
-4:00 1:00 %z 1991 Mar 1
-4:00 - %z 1991 Jun 1
-3:00 - %z 1999 Oct 3
-4:00 1:00 %z 2000 Mar 3
-3:00 - %z 2004 May 31
-4:00 - %z 2004 Jul 25
-3:00 Arg %z 2008 Jan 21
-4:00 SanLuis %z 2009 Oct 11
-3:00 - %z
#
# 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
-3:00 Arg -03/-02 1999 Oct 3
-4:00 Arg -04/-03 2000 Mar 3
-3:00 - -03 2004 Jun 1
-4:00 - -04 2004 Jun 20
-3:00 Arg -03/-02 2008 Oct 18
-3:00 - -03
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1999 Oct 3
-4:00 Arg %z 2000 Mar 3
-3:00 - %z 2004 Jun 1
-4:00 - %z 2004 Jun 20
-3:00 Arg %z 2008 Oct 18
-3:00 - %z
#
# 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
-3:00 Arg -03/-02 1999 Oct 3
-4:00 Arg -04/-03 2000 Mar 3
-3:00 - -03 2004 May 30
-4:00 - -04 2004 Jun 20
-3:00 Arg -03/-02 2008 Oct 18
-3:00 - -03
-4:00 - %z 1930 Dec
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1999 Oct 3
-4:00 Arg %z 2000 Mar 3
-3:00 - %z 2004 May 30
-4:00 - %z 2004 Jun 20
-3:00 Arg %z 2008 Oct 18
-3:00 - %z
# Bolivia
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/La_Paz -4:32:36 - LMT 1890
-4:32:36 - CMT 1931 Oct 15 # Calamarca MT
-4:32:36 1:00 BST 1932 Mar 21 # Bolivia ST
-4:00 - -04
-4:00 - %z
# Brazil
@@ -984,12 +984,12 @@ Rule Brazil 2018 only - Nov Sun>=1 0:00 1:00 -
#
# Fernando de Noronha (administratively part of PE)
Zone America/Noronha -2:09:40 - LMT 1914
-2:00 Brazil -02/-01 1990 Sep 17
-2:00 - -02 1999 Sep 30
-2:00 Brazil -02/-01 2000 Oct 15
-2:00 - -02 2001 Sep 13
-2:00 Brazil -02/-01 2002 Oct 1
-2:00 - -02
-2:00 Brazil %z 1990 Sep 17
-2:00 - %z 1999 Sep 30
-2:00 Brazil %z 2000 Oct 15
-2:00 - %z 2001 Sep 13
-2:00 Brazil %z 2002 Oct 1
-2:00 - %z
# Other Atlantic islands have no permanent settlement.
# These include Trindade and Martim Vaz (administratively part of ES),
# Rocas Atoll (RN), and the St Peter and St Paul Archipelago (PE).
@@ -1002,119 +1002,119 @@ Zone America/Noronha -2:09:40 - LMT 1914
# In the north a very small part from the river Javary (now Jari I guess,
# the border with Amapá) to the Amazon, then to the Xingu.
Zone America/Belem -3:13:56 - LMT 1914
-3:00 Brazil -03/-02 1988 Sep 12
-3:00 - -03
-3:00 Brazil %z 1988 Sep 12
-3:00 - %z
#
# west Pará (PA)
# West Pará includes Altamira, Óbidos, Prainha, Oriximiná, and Santarém.
Zone America/Santarem -3:38:48 - LMT 1914
-4:00 Brazil -04/-03 1988 Sep 12
-4:00 - -04 2008 Jun 24 0:00
-3:00 - -03
-4:00 Brazil %z 1988 Sep 12
-4:00 - %z 2008 Jun 24 0:00
-3:00 - %z
#
# Maranhão (MA), Piauí (PI), Ceará (CE), Rio Grande do Norte (RN),
# Paraíba (PB)
Zone America/Fortaleza -2:34:00 - LMT 1914
-3:00 Brazil -03/-02 1990 Sep 17
-3:00 - -03 1999 Sep 30
-3:00 Brazil -03/-02 2000 Oct 22
-3:00 - -03 2001 Sep 13
-3:00 Brazil -03/-02 2002 Oct 1
-3:00 - -03
-3:00 Brazil %z 1990 Sep 17
-3:00 - %z 1999 Sep 30
-3:00 Brazil %z 2000 Oct 22
-3:00 - %z 2001 Sep 13
-3:00 Brazil %z 2002 Oct 1
-3:00 - %z
#
# Pernambuco (PE) (except Atlantic islands)
Zone America/Recife -2:19:36 - LMT 1914
-3:00 Brazil -03/-02 1990 Sep 17
-3:00 - -03 1999 Sep 30
-3:00 Brazil -03/-02 2000 Oct 15
-3:00 - -03 2001 Sep 13
-3:00 Brazil -03/-02 2002 Oct 1
-3:00 - -03
-3:00 Brazil %z 1990 Sep 17
-3:00 - %z 1999 Sep 30
-3:00 Brazil %z 2000 Oct 15
-3:00 - %z 2001 Sep 13
-3:00 Brazil %z 2002 Oct 1
-3:00 - %z
#
# Tocantins (TO)
Zone America/Araguaina -3:12:48 - LMT 1914
-3:00 Brazil -03/-02 1990 Sep 17
-3:00 - -03 1995 Sep 14
-3:00 Brazil -03/-02 2003 Sep 24
-3:00 - -03 2012 Oct 21
-3:00 Brazil -03/-02 2013 Sep
-3:00 - -03
-3:00 Brazil %z 1990 Sep 17
-3:00 - %z 1995 Sep 14
-3:00 Brazil %z 2003 Sep 24
-3:00 - %z 2012 Oct 21
-3:00 Brazil %z 2013 Sep
-3:00 - %z
#
# Alagoas (AL), Sergipe (SE)
Zone America/Maceio -2:22:52 - LMT 1914
-3:00 Brazil -03/-02 1990 Sep 17
-3:00 - -03 1995 Oct 13
-3:00 Brazil -03/-02 1996 Sep 4
-3:00 - -03 1999 Sep 30
-3:00 Brazil -03/-02 2000 Oct 22
-3:00 - -03 2001 Sep 13
-3:00 Brazil -03/-02 2002 Oct 1
-3:00 - -03
-3:00 Brazil %z 1990 Sep 17
-3:00 - %z 1995 Oct 13
-3:00 Brazil %z 1996 Sep 4
-3:00 - %z 1999 Sep 30
-3:00 Brazil %z 2000 Oct 22
-3:00 - %z 2001 Sep 13
-3:00 Brazil %z 2002 Oct 1
-3:00 - %z
#
# Bahia (BA)
# There are too many Salvadors elsewhere, so use America/Bahia instead
# of America/Salvador.
Zone America/Bahia -2:34:04 - LMT 1914
-3:00 Brazil -03/-02 2003 Sep 24
-3:00 - -03 2011 Oct 16
-3:00 Brazil -03/-02 2012 Oct 21
-3:00 - -03
-3:00 Brazil %z 2003 Sep 24
-3:00 - %z 2011 Oct 16
-3:00 Brazil %z 2012 Oct 21
-3:00 - %z
#
# Goiás (GO), Distrito Federal (DF), Minas Gerais (MG),
# Espírito Santo (ES), Rio de Janeiro (RJ), São Paulo (SP), Paraná (PR),
# Santa Catarina (SC), Rio Grande do Sul (RS)
Zone America/Sao_Paulo -3:06:28 - LMT 1914
-3:00 Brazil -03/-02 1963 Oct 23 0:00
-3:00 1:00 -02 1964
-3:00 Brazil -03/-02
-3:00 Brazil %z 1963 Oct 23 0:00
-3:00 1:00 %z 1964
-3:00 Brazil %z
#
# Mato Grosso do Sul (MS)
Zone America/Campo_Grande -3:38:28 - LMT 1914
-4:00 Brazil -04/-03
-4:00 Brazil %z
#
# Mato Grosso (MT)
Zone America/Cuiaba -3:44:20 - LMT 1914
-4:00 Brazil -04/-03 2003 Sep 24
-4:00 - -04 2004 Oct 1
-4:00 Brazil -04/-03
-4:00 Brazil %z 2003 Sep 24
-4:00 - %z 2004 Oct 1
-4:00 Brazil %z
#
# Rondônia (RO)
Zone America/Porto_Velho -4:15:36 - LMT 1914
-4:00 Brazil -04/-03 1988 Sep 12
-4:00 - -04
-4:00 Brazil %z 1988 Sep 12
-4:00 - %z
#
# Roraima (RR)
Zone America/Boa_Vista -4:02:40 - LMT 1914
-4:00 Brazil -04/-03 1988 Sep 12
-4:00 - -04 1999 Sep 30
-4:00 Brazil -04/-03 2000 Oct 15
-4:00 - -04
-4:00 Brazil %z 1988 Sep 12
-4:00 - %z 1999 Sep 30
-4:00 Brazil %z 2000 Oct 15
-4:00 - %z
#
# east Amazonas (AM): Boca do Acre, Jutaí, Manaus, Floriano Peixoto
# The great circle line from Tabatinga to Porto Acre divides
# east from west Amazonas.
Zone America/Manaus -4:00:04 - LMT 1914
-4:00 Brazil -04/-03 1988 Sep 12
-4:00 - -04 1993 Sep 28
-4:00 Brazil -04/-03 1994 Sep 22
-4:00 - -04
-4:00 Brazil %z 1988 Sep 12
-4:00 - %z 1993 Sep 28
-4:00 Brazil %z 1994 Sep 22
-4:00 - %z
#
# west Amazonas (AM): Atalaia do Norte, Boca do Maoco, Benjamin Constant,
# Eirunepé, Envira, Ipixuna
Zone America/Eirunepe -4:39:28 - LMT 1914
-5:00 Brazil -05/-04 1988 Sep 12
-5:00 - -05 1993 Sep 28
-5:00 Brazil -05/-04 1994 Sep 22
-5:00 - -05 2008 Jun 24 0:00
-4:00 - -04 2013 Nov 10
-5:00 - -05
-5:00 Brazil %z 1988 Sep 12
-5:00 - %z 1993 Sep 28
-5:00 Brazil %z 1994 Sep 22
-5:00 - %z 2008 Jun 24 0:00
-4:00 - %z 2013 Nov 10
-5:00 - %z
#
# Acre (AC)
Zone America/Rio_Branco -4:31:12 - LMT 1914
-5:00 Brazil -05/-04 1988 Sep 12
-5:00 - -05 2008 Jun 24 0:00
-4:00 - -04 2013 Nov 10
-5:00 - -05
-5:00 Brazil %z 1988 Sep 12
-5:00 - %z 2008 Jun 24 0:00
-4:00 - %z 2013 Nov 10
-5:00 - %z
# Chile
@@ -1382,36 +1382,36 @@ Rule Chile 2023 max - Sep Sun>=2 4:00u 1:00 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Santiago -4:42:45 - LMT 1890
-4:42:45 - SMT 1910 Jan 10 # Santiago Mean Time
-5:00 - -05 1916 Jul 1
-5:00 - %z 1916 Jul 1
-4:42:45 - SMT 1918 Sep 10
-4:00 - -04 1919 Jul 1
-4:00 - %z 1919 Jul 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 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
-5:00 Chile %z 1932 Sep 1
-4:00 - %z 1942 Jun 1
-5:00 - %z 1942 Aug 1
-4:00 - %z 1946 Jul 14 24:00
-4:00 1:00 %z 1946 Aug 28 24:00 # central CL
-5:00 1:00 %z 1947 Mar 31 24:00
-5:00 - %z 1947 May 21 23:00
-4:00 Chile %z
Zone America/Punta_Arenas -4:43:40 - LMT 1890
-4:42:45 - SMT 1910 Jan 10
-5:00 - -05 1916 Jul 1
-5:00 - %z 1916 Jul 1
-4:42:45 - SMT 1918 Sep 10
-4:00 - -04 1919 Jul 1
-4:00 - %z 1919 Jul 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 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
-5:00 Chile %z 1932 Sep 1
-4:00 - %z 1942 Jun 1
-5:00 - %z 1942 Aug 1
-4:00 - %z 1946 Aug 28 24:00
-5:00 1:00 %z 1947 Mar 31 24:00
-5:00 - %z 1947 May 21 23:00
-4:00 Chile %z 2016 Dec 4
-3:00 - %z
Zone Pacific/Easter -7:17:28 - LMT 1890
-7:17:28 - EMT 1932 Sep # Easter Mean Time
-7:00 Chile -07/-06 1982 Mar 14 3:00u # Easter Time
-6:00 Chile -06/-05
-7:00 Chile %z 1982 Mar 14 3:00u # Easter Time
-6:00 Chile %z
#
# Salas y Gómez Island is uninhabited.
# Other Chilean locations, including Juan Fernández Is, Desventuradas Is,
@@ -1431,10 +1431,10 @@ Zone Pacific/Easter -7:17:28 - LMT 1890
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Palmer 0 - -00 1965
-4:00 Arg -04/-03 1969 Oct 5
-3:00 Arg -03/-02 1982 May
-4:00 Chile -04/-03 2016 Dec 4
-3:00 - -03
-4:00 Arg %z 1969 Oct 5
-3:00 Arg %z 1982 May
-4:00 Chile %z 2016 Dec 4
-3:00 - %z
# Colombia
@@ -1453,7 +1453,7 @@ Rule CO 1993 only - Feb 6 24:00 0 -
#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
-5:00 CO %z
# Malpelo, Providencia, San Andres
# no information; probably like America/Bogota
@@ -1484,10 +1484,10 @@ Rule Ecuador 1993 only - Feb 5 0:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Guayaquil -5:19:20 - LMT 1890
-5:14:00 - QMT 1931 # Quito Mean Time
-5:00 Ecuador -05/-04
-5:00 Ecuador %z
Zone Pacific/Galapagos -5:58:24 - LMT 1931 # Puerto Baquerizo Moreno
-5:00 - -05 1986
-6:00 Ecuador -06/-05
-5:00 - %z 1986
-6:00 Ecuador %z
# Falklands
@@ -1587,10 +1587,10 @@ Rule Falk 2001 2010 - Sep Sun>=1 2:00 1:00 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Atlantic/Stanley -3:51:24 - LMT 1890
-3:51:24 - SMT 1912 Mar 12 # Stanley Mean Time
-4:00 Falk -04/-03 1983 May
-3:00 Falk -03/-02 1985 Sep 15
-4:00 Falk -04/-03 2010 Sep 5 2:00
-3:00 - -03
-4:00 Falk %z 1983 May
-3:00 Falk %z 1985 Sep 15
-4:00 Falk %z 2010 Sep 5 2:00
-3:00 - %z
# French Guiana
# For the 1911/1912 establishment of standard time in French possessions, see:
@@ -1598,8 +1598,8 @@ Zone Atlantic/Stanley -3:51:24 - LMT 1890
# page 752, 18b.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Cayenne -3:29:20 - LMT 1911 Jul 1
-4:00 - -04 1967 Oct
-3:00 - -03
-4:00 - %z 1967 Oct
-3:00 - %z
# Guyana
@@ -1633,10 +1633,10 @@ Zone America/Cayenne -3:29:20 - LMT 1911 Jul 1
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Guyana -3:52:39 - LMT 1911 Aug 1 # Georgetown
-4:00 - -04 1915 Mar 1
-3:45 - -0345 1975 Aug 1
-3:00 - -03 1992 Mar 29 1:00
-4:00 - -04
-4:00 - %z 1915 Mar 1
-3:45 - %z 1975 Aug 1
-3:00 - %z 1992 Mar 29 1:00
-4:00 - %z
# Paraguay
#
@@ -1734,9 +1734,9 @@ Rule Para 2013 max - Mar Sun>=22 0:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Asuncion -3:50:40 - LMT 1890
-3:50:40 - AMT 1931 Oct 10 # Asunción Mean Time
-4:00 - -04 1972 Oct
-3:00 - -03 1974 Apr
-4:00 Para -04/-03
-4:00 - %z 1972 Oct
-3:00 - %z 1974 Apr
-4:00 Para %z
# Peru
#
@@ -1763,12 +1763,12 @@ Rule Peru 1994 only - Apr 1 0:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Lima -5:08:12 - LMT 1890
-5:08:36 - LMT 1908 Jul 28 # Lima Mean Time?
-5:00 Peru -05/-04
-5:00 Peru %z
# South Georgia
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken
-2:00 - -02
-2:00 - %z
# South Sandwich Is
# uninhabited; scientific personnel have wintered
@@ -1778,8 +1778,8 @@ Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken
Zone America/Paramaribo -3:40:40 - LMT 1911
-3:40:52 - PMT 1935 # Paramaribo Mean Time
-3:40:36 - PMT 1945 Oct # The capital moved?
-3:30 - -0330 1984 Oct
-3:00 - -03
-3:30 - %z 1984 Oct
-3:00 - %z
# Uruguay
# From Paul Eggert (1993-11-18):
@@ -1994,15 +1994,15 @@ Rule Uruguay 2006 2014 - Oct Sun>=1 2:00 1:00 -
# This Zone can be simplified once we assume zic %z.
Zone America/Montevideo -3:44:51 - LMT 1908 Jun 10
-3:44:51 - MMT 1920 May 1 # Montevideo MT
-4:00 - -04 1923 Oct 1
-3:30 Uruguay -0330/-03 1942 Dec 14
-3:00 Uruguay -03/-0230 1960
-3:00 Uruguay -03/-02 1968
-3:00 Uruguay -03/-0230 1970
-3:00 Uruguay -03/-02 1974
-3:00 Uruguay -03/-0130 1974 Mar 10
-3:00 Uruguay -03/-0230 1974 Dec 22
-3:00 Uruguay -03/-02
-4:00 - %z 1923 Oct 1
-3:30 Uruguay %z 1942 Dec 14
-3:00 Uruguay %z 1960
-3:00 Uruguay %z 1968
-3:00 Uruguay %z 1970
-3:00 Uruguay %z 1974
-3:00 Uruguay %z 1974 Mar 10
-3:00 Uruguay %z 1974 Dec 22
-3:00 Uruguay %z
# Venezuela
#
@@ -2036,7 +2036,7 @@ Zone America/Montevideo -3:44:51 - LMT 1908 Jun 10
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Caracas -4:27:44 - LMT 1890
-4:27:40 - CMT 1912 Feb 12 # Caracas Mean Time?
-4:30 - -0430 1965 Jan 1 0:00
-4:00 - -04 2007 Dec 9 3:00
-4:30 - -0430 2016 May 1 2:30
-4:00 - -04
-4:30 - %z 1965 Jan 1 0:00
-4:00 - %z 2007 Dec 9 3:00
-4:30 - %z 2016 May 1 2:30
-4:00 - %z

View File

@@ -287,8 +287,7 @@ MK +4159+02126 Europe/Skopje
ML +1239-00800 Africa/Bamako
MM +1647+09610 Asia/Yangon
MN +4755+10653 Asia/Ulaanbaatar most of Mongolia
MN +4801+09139 Asia/Hovd Bayan-Olgiy, Govi-Altai, Hovd, Uvs, Zavkhan
MN +4804+11430 Asia/Choibalsan Dornod, Sukhbaatar
MN +4801+09139 Asia/Hovd Bayan-Olgii, Hovd, Uvs
MO +221150+1133230 Asia/Macau
MP +1512+14545 Pacific/Saipan
MQ +1436-06105 America/Martinique

View File

@@ -77,11 +77,14 @@ $(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 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, \
DISABLED_WARNINGS_gcc := $(DISABLED_WARNINGS_gcc) \
undef, \
DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang) \
undef switch format-nonliteral tautological-undefined-compare, \
DISABLED_WARNINGS_solstudio := $(DISABLED_WARNINGS_solstudio) \
identexpected, \
DISABLED_WARNINGS_microsoft := $(DISABLED_WARNINGS_microsoft) \
4146, \
LDFLAGS := $(JVM_LDFLAGS), \
LDFLAGS_solaris := -library=stlport4 $(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(JVM_LIBS), \

View File

@@ -81,6 +81,25 @@ CFLAGS_VM_VERSION := \
-DCPU='"$(OPENJDK_TARGET_CPU_VM_VERSION)"' \
#
################################################################################
# Disabled warnings
DISABLED_WARNINGS_gcc := extra all
ifeq ($(call check-jvm-feature, zero), true)
DISABLED_WARNINGS_gcc += return-type
endif
DISABLED_WARNINGS_clang := extra all tautological-compare deprecated-declarations
DISABLED_WARNINGS_solstudio :=
DISABLED_WARNINGS_xlc := 1540-0216 1540-0198 1540-1090 1540-1639 1540-1088 \
1500-010
DISABLED_WARNINGS_microsoft :=
################################################################################
# Platform specific setup
@@ -117,7 +136,7 @@ ifeq ($(call isTargetOs, solaris), true)
endif
# Exclude warnings in devstudio 12.6
ifeq ($(CC_VERSION_NUMBER), 5.15)
DISABLED_WARNINGS_solstudio := SEC_ARR_OUTSIDE_BOUND_READ \
DISABLED_WARNINGS_solstudio += SEC_ARR_OUTSIDE_BOUND_READ \
SEC_ARR_OUTSIDE_BOUND_WRITE
endif
endif
@@ -162,11 +181,11 @@ $(eval $(call SetupNativeCompilation, BUILD_LIBJVM, \
CFLAGS := $(JVM_CFLAGS), \
abstract_vm_version.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
arguments.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
DISABLED_WARNINGS_clang := tautological-compare, \
DISABLED_WARNINGS_gcc := $(DISABLED_WARNINGS_gcc), \
DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang), \
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, \
DISABLED_WARNINGS_xlc := $(DISABLED_WARNINGS_xlc), \
DISABLED_WARNINGS_microsoft := $(DISABLED_WARNINGS_microsoft) 4146, \
ASFLAGS := $(JVM_ASFLAGS), \
LDFLAGS := $(JVM_LDFLAGS), \
LIBS := $(JVM_LIBS), \

View File

@@ -67,10 +67,12 @@ JVM_CFLAGS_TARGET_DEFINES += \
#
ifeq ($(DEBUG_LEVEL), release)
# release builds disable uses of assert macro from <assert.h>.
JVM_CFLAGS_DEBUGLEVEL := -DNDEBUG
# For hotspot, release builds differ internally between "optimized" and "product"
# in that "optimize" does not define PRODUCT.
ifneq ($(HOTSPOT_DEBUG_LEVEL), optimized)
JVM_CFLAGS_DEBUGLEVEL := -DPRODUCT
JVM_CFLAGS_DEBUGLEVEL += -DPRODUCT
endif
else ifeq ($(DEBUG_LEVEL), fastdebug)
JVM_CFLAGS_DEBUGLEVEL := -DASSERT

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -39,6 +39,7 @@ import java.util.Locale;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Collectors;
import java.util.regex.Pattern;
/**
* This tool reads the IANA Language Subtag Registry data file downloaded from
@@ -134,10 +135,29 @@ public class EquivMapsGenerator {
}
} else { // language, extlang, legacy, and redundant
if (!initialLanguageMap.containsKey(preferred)) {
sb = new StringBuilder(preferred);
sb.append(',');
sb.append(tag);
initialLanguageMap.put(preferred, sb);
// IANA update 4/13 introduced case where a preferred value
// can have a preferred value itself.
// eg: ar-ajp has pref ajp which has pref apc
boolean foundInOther = false;
Pattern pattern = Pattern.compile(","+preferred+"(,|$)");
// Check if current pref exists inside a value for another pref
List<StringBuilder> doublePrefs = initialLanguageMap
.values()
.stream()
.filter(e -> pattern.matcher(e.toString()).find())
.collect(Collectors.toList());
for (StringBuilder otherPrefVal : doublePrefs) {
otherPrefVal.append(",");
otherPrefVal.append(tag);
foundInOther = true;
}
if (!foundInOther) {
// does not exist in any other pref's values, so add as new entry
sb = new StringBuilder(preferred);
sb.append(',');
sb.append(tag);
initialLanguageMap.put(preferred, sb);
}
} else {
sb = initialLanguageMap.get(preferred);
sb.append(',');
@@ -263,11 +283,11 @@ public class EquivMapsGenerator {
Paths.get(fileName))) {
writer.write(getOpenJDKCopyright());
writer.write(headerText
+ (int)(sortedLanguageMap1.size() / 0.75f + 1) + ");\n"
+ sortedLanguageMap1.size() + ");\n"
+ " multiEquivsMap = new HashMap<>("
+ (int)(sortedLanguageMap2.size() / 0.75f + 1) + ");\n"
+ sortedLanguageMap2.size() + ");\n"
+ " regionVariantEquivMap = new HashMap<>("
+ (int)(sortedRegionVariantMap.size() / 0.75f + 1) + ");\n\n"
+ sortedRegionVariantMap.size() + ");\n\n"
+ " // This is an auto-generated file and should not be manually edited.\n"
+ " // LSR Revision: " + LSRrevisionDate);
writer.newLine();

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -273,7 +273,7 @@ public final class TzdbZoneRulesCompiler {
// link version-region-rules
out.writeShort(builtZones.size());
for (Map.Entry<String, ZoneRules> entry : builtZones.entrySet()) {
int regionIndex = Arrays.binarySearch(regionArray, entry.getKey());
int regionIndex = findRegionIndex(regionArray, entry.getKey());
int rulesIndex = rulesList.indexOf(entry.getValue());
out.writeShort(regionIndex);
out.writeShort(rulesIndex);
@@ -281,8 +281,8 @@ public final class TzdbZoneRulesCompiler {
// alias-region
out.writeShort(links.size());
for (Map.Entry<String, String> entry : links.entrySet()) {
int aliasIndex = Arrays.binarySearch(regionArray, entry.getKey());
int regionIndex = Arrays.binarySearch(regionArray, entry.getValue());
int aliasIndex = findRegionIndex(regionArray, entry.getKey());
int regionIndex = findRegionIndex(regionArray, entry.getValue());
out.writeShort(aliasIndex);
out.writeShort(regionIndex);
}
@@ -294,6 +294,14 @@ public final class TzdbZoneRulesCompiler {
}
}
private static int findRegionIndex(String[] regionArray, String region) {
int index = Arrays.binarySearch(regionArray, region);
if (index < 0) {
throw new IllegalArgumentException("Unknown region: " + region);
}
return index;
}
/** Whether to output verbose messages. */
private boolean verbose;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -163,7 +163,8 @@ class TzdbZoneRulesProvider {
}
continue;
}
if (line.startsWith("Zone")) { // parse Zone line
int token0len = tokens.length > 0 ? tokens[0].length() : line.length();
if (line.regionMatches(true, 0, "Zone", 0, token0len)) { // parse Zone line
String name = tokens[1];
if (excludedZones.contains(name)){
continue;
@@ -181,13 +182,13 @@ class TzdbZoneRulesProvider {
if (zLine.parse(tokens, 2)) {
openZone = null;
}
} else if (line.startsWith("Rule")) { // parse Rule line
} else if (line.regionMatches(true, 0, "Rule", 0, token0len)) { // parse Rule line
String name = tokens[1];
if (!rules.containsKey(name)) {
rules.put(name, new ArrayList<RuleLine>(10));
}
rules.get(name).add(new RuleLine().parse(tokens));
} else if (line.startsWith("Link")) { // parse link line
} else if (line.regionMatches(true, 0, "Link", 0, token0len)) { // parse link line
if (tokens.length >= 3) {
String realId = tokens[1];
String aliasId = tokens[2];
@@ -303,7 +304,7 @@ class TzdbZoneRulesProvider {
month = parseMonth(tokens[off++]);
if (off < tokens.length) {
String dayRule = tokens[off++];
if (dayRule.startsWith("last")) {
if (dayRule.regionMatches(true, 0, "last", 0, 4)) {
dayOfMonth = -1;
dayOfWeek = parseDayOfWeek(dayRule.substring(4));
adjustForwards = false;
@@ -354,42 +355,45 @@ class TzdbZoneRulesProvider {
}
int parseYear(String year, int defaultYear) {
switch (year.toLowerCase()) {
case "min": return 1900;
case "max": return Year.MAX_VALUE;
case "only": return defaultYear;
}
int len = year.length();
if (year.regionMatches(true, 0, "minimum", 0, len)) return 1900;
if (year.regionMatches(true, 0, "maximum", 0, len)) return Year.MAX_VALUE;
if (year.regionMatches(true, 0, "only", 0, len)) return defaultYear;
return Integer.parseInt(year);
}
Month parseMonth(String mon) {
switch (mon) {
case "Jan": return Month.JANUARY;
case "Feb": return Month.FEBRUARY;
case "Mar": return Month.MARCH;
case "Apr": return Month.APRIL;
case "May": return Month.MAY;
case "Jun": return Month.JUNE;
case "Jul": return Month.JULY;
case "Aug": return Month.AUGUST;
case "Sep": return Month.SEPTEMBER;
case "Oct": return Month.OCTOBER;
case "Nov": return Month.NOVEMBER;
case "Dec": return Month.DECEMBER;
}
int len = mon.length();
if (mon.regionMatches(true, 0, "January", 0, len)) return Month.JANUARY;
if (mon.regionMatches(true, 0, "February", 0, len)) return Month.FEBRUARY;
if (mon.regionMatches(true, 0, "March", 0, len)) return Month.MARCH;
if (mon.regionMatches(true, 0, "April", 0, len)) return Month.APRIL;
if (mon.regionMatches(true, 0, "May", 0, len)) return Month.MAY;
if (mon.regionMatches(true, 0, "June", 0, len)) return Month.JUNE;
if (mon.regionMatches(true, 0, "July", 0, len)) return Month.JULY;
if (mon.regionMatches(true, 0, "August", 0, len)) return Month.AUGUST;
if (mon.regionMatches(true, 0, "September", 0, len)) return Month.SEPTEMBER;
if (mon.regionMatches(true, 0, "October", 0, len)) return Month.OCTOBER;
if (mon.regionMatches(true, 0, "November", 0, len)) return Month.NOVEMBER;
if (mon.regionMatches(true, 0, "December", 0, len)) return Month.DECEMBER;
throw new IllegalArgumentException("Unknown month: " + mon);
}
DayOfWeek parseDayOfWeek(String dow) {
switch (dow) {
case "Mon": return DayOfWeek.MONDAY;
case "Tue": return DayOfWeek.TUESDAY;
case "Wed": return DayOfWeek.WEDNESDAY;
case "Thu": return DayOfWeek.THURSDAY;
case "Fri": return DayOfWeek.FRIDAY;
case "Sat": return DayOfWeek.SATURDAY;
case "Sun": return DayOfWeek.SUNDAY;
}
int len = dow.length();
if (dow.regionMatches(true, 0, "Monday", 0, len)) return DayOfWeek.MONDAY;
if (dow.regionMatches(true, 0, "Tuesday", 0, len)) return DayOfWeek.TUESDAY;
if (dow.regionMatches(true, 0, "Wednesday", 0, len)) return DayOfWeek.WEDNESDAY;
if (dow.regionMatches(true, 0, "Thursday", 0, len)) return DayOfWeek.THURSDAY;
if (dow.regionMatches(true, 0, "Friday", 0, len)) return DayOfWeek.FRIDAY;
if (dow.regionMatches(true, 0, "Saturday", 0, len)) return DayOfWeek.SATURDAY;
if (dow.regionMatches(true, 0, "Sunday", 0, len)) return DayOfWeek.SUNDAY;
throw new IllegalArgumentException("Unknown day-of-week: " + dow);
}

View File

@@ -358,8 +358,6 @@ endif
# The fast floor code loses precision.
LCMS_CFLAGS=-DCMS_DONT_USE_FAST_FLOOR
LCMS_CFLAGS_JDKLIB := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB))
ifeq ($(USE_EXTERNAL_LCMS), true)
# If we're using an external library, we'll just need the wrapper part.
# By including it explicitly, all other files will be excluded.
@@ -382,7 +380,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \
NAME := lcms, \
INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
OPTIMIZATION := HIGHEST, \
CFLAGS := $(LCMS_CFLAGS_JDKLIB) \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LCMS_CFLAGS), \
CFLAGS_solaris := -xc99=no_lib, \
CFLAGS_windows := -DCMS_IS_WINDOWS_, \

View File

@@ -59,6 +59,7 @@ $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
CFLAGS_windows_debug := -DLOGGING, \
CFLAGS_aix := -qfloat=nomaf, \
DISABLED_WARNINGS_gcc := sign-compare misleading-indentation array-bounds, \
DISABLED_WARNINGS_gcc_k_rem_pio2.c := maybe-uninitialized, \
DISABLED_WARNINGS_microsoft := 4146 4244 4018, \
ARFLAGS := $(ARFLAGS), \
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfdlibm, \

View File

@@ -42,6 +42,7 @@ if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
LDD_CMD="$OTOOL -L"
DIS_CMD="$OTOOL -v -V -t"
STAT_PRINT_SIZE="-f %z"
STRIP="$STRIP -no_code_signature_warning"
elif [ "$OPENJDK_TARGET_OS" = "windows" ]; then
FULLDUMP_CMD="$DUMPBIN -all"
LDD_CMD="$DUMPBIN -dependents"
@@ -638,14 +639,22 @@ compare_bin_file() {
ORIG_THIS_FILE="$THIS_FILE"
ORIG_OTHER_FILE="$OTHER_FILE"
if [ "$STRIP_ALL" = "true" ] || [[ "$STRIP_BEFORE_COMPARE" = *"$BIN_FILE"* ]]; then
if [ "$STRIP_ALL" = "true" ] || [[ "$STRIP_BEFORE_COMPARE" = *"$BIN_FILE"* ]] \
|| [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
THIS_STRIPPED_FILE=$FILE_WORK_DIR/this/$NAME
OTHER_STRIPPED_FILE=$FILE_WORK_DIR/other/$NAME
$MKDIR -p $FILE_WORK_DIR/this $FILE_WORK_DIR/other
$CP $THIS_FILE $THIS_STRIPPED_FILE
$CP $OTHER_FILE $OTHER_STRIPPED_FILE
$STRIP $THIS_STRIPPED_FILE
$STRIP $OTHER_STRIPPED_FILE
if [ "$STRIP_ALL" = "true" ] || [[ "$STRIP_BEFORE_COMPARE" = *"$BIN_FILE"* ]]; then
$STRIP $THIS_STRIPPED_FILE
$STRIP $OTHER_STRIPPED_FILE
fi
# On macosx, always remove any signature before comparing
if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
$CODESIGN --remove-signature $THIS_STRIPPED_FILE
$CODESIGN --remove-signature $OTHER_STRIPPED_FILE
fi
THIS_FILE="$THIS_STRIPPED_FILE"
OTHER_FILE="$OTHER_STRIPPED_FILE"
fi

View File

@@ -45,12 +45,14 @@ $(eval $(call SetupJavaCompilation, BUILD_WB_JAR, \
TARGETS += $(BUILD_WB_JAR)
# test-lib.jar will contain only hprof classes until JDK-8081381 is resolved
$(eval $(call SetupJavaCompilation, BUILD_TEST_LIB_JAR, \
SETUP := GENERATE_USINGJDKBYTECODE, \
SRC := $(TEST_LIB_SOURCE_DIR)/jdk/test/lib/hprof, \
SRC := $(TEST_LIB_SOURCE_DIR), \
EXCLUDES := jdk/test/lib/containers jdk/test/lib/security, \
BIN := $(TEST_LIB_SUPPORT)/test-lib_classes, \
HEADERS := $(TEST_LIB_SUPPORT)/test-lib_headers, \
JAR := $(TEST_LIB_SUPPORT)/test-lib.jar, \
DISABLED_WARNINGS := try deprecation rawtypes unchecked serial cast, \
))
TARGETS += $(BUILD_TEST_LIB_JAR)

View File

@@ -0,0 +1,83 @@
#
# Copyright (c) 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.
#
################################################################################
# This file builds the native component of testlib.
# It also covers the test-image part, where the built files are copied to the
# test image.
################################################################################
default: all
include $(SPEC)
include MakeBase.gmk
include TestFilesCompilation.gmk
################################################################################
# Targets for building the native tests themselves.
################################################################################
BUILD_LIBTEST_NATIVE_SRC := $(TOPDIR)/test/lib
BUILD_LIBTEST_OUTPUT_DIR := $(OUTPUTDIR)/support/test/lib/native
BUILD_LIBTEST_IMAGE_DIR := $(TEST_IMAGE_DIR)/lib
# This evaluation is expensive and should only be done if this target was
# explicitly called.
ifneq ($(filter build-test-lib-native, $(MAKECMDGOALS)), )
$(eval $(call SetupTestFilesCompilation, BUILD_LIBTEST_LIBRARIES, \
TYPE := LIBRARY, \
SOURCE_DIRS := $(BUILD_LIBTEST_NATIVE_SRC), \
OUTPUT_DIR := $(BUILD_LIBTEST_OUTPUT_DIR), \
))
endif
build-test-lib-native: $(BUILD_LIBTEST_LIBRARIES)
################################################################################
# Targets for building test-image.
################################################################################
# Copy to testlib test image. We need it in both hotspot and jdk.
$(eval $(call SetupCopyFiles, COPY_LIBTEST_NATIVE_TO_HOTSPOT, \
SRC := $(BUILD_LIBTEST_OUTPUT_DIR), \
DEST := $(TEST_IMAGE_DIR)/hotspot/jtreg/native, \
FILES := $(wildcard $(addprefix $(BUILD_LIBTEST_OUTPUT_DIR), /lib/*)), \
FLATTEN := true, \
))
$(eval $(call SetupCopyFiles, COPY_LIBTEST_NATIVE_TO_JDK, \
SRC := $(BUILD_LIBTEST_OUTPUT_DIR), \
DEST := $(TEST_IMAGE_DIR)/jdk/jtreg/native, \
FILES := $(wildcard $(addprefix $(BUILD_LIBTEST_OUTPUT_DIR), /lib/*)), \
FLATTEN := true, \
))
test-image-lib-native: $(COPY_LIBTEST_NATIVE_TO_HOTSPOT) $(COPY_LIBTEST_NATIVE_TO_JDK)
all: build-test-lib-native
.PHONY: default all build-test-lib-native test-image-lib-native

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -166,8 +166,10 @@ LIR_Address* LIRGenerator::generate_address(LIR_Opr base, LIR_Opr index,
if (index->is_register()) {
// apply the shift and accumulate the displacement
if (shift > 0) {
LIR_Opr tmp = new_pointer_register();
__ shift_left(index, shift, tmp);
// Use long register to avoid overflow when shifting large index values left.
LIR_Opr tmp = new_register(T_LONG);
__ convert(Bytecodes::_i2l, index, tmp);
__ shift_left(tmp, shift, tmp);
index = tmp;
}
if (large_disp != 0) {

View File

@@ -449,6 +449,9 @@ void ArrayCopyStub::emit_code(LIR_Assembler* ce) {
__ extsw(R7_ARG5, length()->as_register());
ce->emit_static_call_stub();
if (ce->compilation()->bailed_out()) {
return; // CodeCache is full
}
bool success = ce->emit_trampoline_stub_for_call(SharedRuntime::get_resolve_static_call_stub());
if (!success) { return; }

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2017, SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -162,8 +162,10 @@ LIR_Address* LIRGenerator::generate_address(LIR_Opr base, LIR_Opr index,
if (index->is_register()) {
// Apply the shift and accumulate the displacement.
if (shift > 0) {
LIR_Opr tmp = new_pointer_register();
__ shift_left(index, shift, tmp);
// Use long register to avoid overflow when shifting large index values left.
LIR_Opr tmp = new_register(T_LONG);
__ convert(Bytecodes::_i2l, index, tmp);
__ shift_left(tmp, shift, tmp);
index = tmp;
}
if (large_disp != 0) {

View File

@@ -2162,7 +2162,10 @@ int HandlerImpl::emit_exception_handler(CodeBuffer &cbuf) {
MacroAssembler _masm(&cbuf);
address base = __ start_a_stub(size_exception_handler());
if (base == NULL) return 0; // CodeBuffer::expand failed
if (base == NULL) {
ciEnv::current()->record_failure("CodeCache is full");
return 0; // CodeBuffer::expand failed
}
int offset = __ offset();
__ b64_patchable((address)OptoRuntime::exception_blob()->content_begin(),
@@ -2179,7 +2182,10 @@ int HandlerImpl::emit_deopt_handler(CodeBuffer& cbuf) {
MacroAssembler _masm(&cbuf);
address base = __ start_a_stub(size_deopt_handler());
if (base == NULL) return 0; // CodeBuffer::expand failed
if (base == NULL) {
ciEnv::current()->record_failure("CodeCache is full");
return 0; // CodeBuffer::expand failed
}
int offset = __ offset();
__ bl64_patchable((address)SharedRuntime::deopt_blob()->unpack(),
@@ -2950,15 +2956,16 @@ encode %{
intptr_t val = $src$$constant;
relocInfo::relocType constant_reloc = $src->constant_reloc(); // src
address const_toc_addr;
RelocationHolder r; // Initializes type to none.
if (constant_reloc == relocInfo::oop_type) {
// Create an oop constant and a corresponding relocation.
AddressLiteral a = __ allocate_oop_address((jobject)val);
AddressLiteral a = __ constant_oop_address((jobject)val);
const_toc_addr = __ address_constant((address)a.value(), RelocationHolder::none);
__ relocate(a.rspec());
r = a.rspec();
} else if (constant_reloc == relocInfo::metadata_type) {
// Notify OOP recorder (don't need the relocation)
AddressLiteral a = __ constant_metadata_address((Metadata *)val);
const_toc_addr = __ address_constant((address)a.value(), RelocationHolder::none);
__ relocate(a.rspec());
} else {
// Create a non-oop constant, no relocation needed.
const_toc_addr = __ long_constant((jlong)$src$$constant);
@@ -2968,6 +2975,7 @@ encode %{
ciEnv::current()->record_out_of_memory_failure();
return;
}
__ relocate(r); // If set above.
// Get the constant's TOC offset.
toc_offset = __ offset_to_method_toc(const_toc_addr);
@@ -2982,15 +2990,16 @@ encode %{
intptr_t val = $src$$constant;
relocInfo::relocType constant_reloc = $src->constant_reloc(); // src
address const_toc_addr;
RelocationHolder r; // Initializes type to none.
if (constant_reloc == relocInfo::oop_type) {
// Create an oop constant and a corresponding relocation.
AddressLiteral a = __ allocate_oop_address((jobject)val);
AddressLiteral a = __ constant_oop_address((jobject)val);
const_toc_addr = __ address_constant((address)a.value(), RelocationHolder::none);
__ relocate(a.rspec());
r = a.rspec();
} else if (constant_reloc == relocInfo::metadata_type) {
// Notify OOP recorder (don't need the relocation)
AddressLiteral a = __ constant_metadata_address((Metadata *)val);
const_toc_addr = __ address_constant((address)a.value(), RelocationHolder::none);
__ relocate(a.rspec());
} else { // non-oop pointers, e.g. card mark base, heap top
// Create a non-oop constant, no relocation needed.
const_toc_addr = __ long_constant((jlong)$src$$constant);
@@ -3000,6 +3009,7 @@ encode %{
ciEnv::current()->record_out_of_memory_failure();
return;
}
__ relocate(r); // If set above.
// Get the constant's TOC offset.
const int toc_offset = __ offset_to_method_toc(const_toc_addr);
// Store the toc offset of the constant.

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018 SAP SE. All rights reserved.
* Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2024 SAP SE. 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
@@ -440,6 +440,7 @@ void ArrayCopyStub::emit_code(LIR_Assembler* ce) {
"must be aligned");
ce->emit_static_call_stub();
CHECK_BAILOUT();
// Prepend each BRASL with a nop.
__ relocate(relocInfo::static_call_type);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2017, SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -156,8 +156,10 @@ LIR_Address* LIRGenerator::generate_address(LIR_Opr base, LIR_Opr index,
return new LIR_Address(base, index, type);
} else {
if (shift > 0) {
LIR_Opr tmp = new_pointer_register();
__ shift_left(index, shift, tmp);
// Use long register to avoid overflow when shifting large index values left.
LIR_Opr tmp = new_register(T_LONG);
__ convert(Bytecodes::_i2l, index, tmp);
__ shift_left(tmp, shift, tmp);
index = tmp;
}
return new LIR_Address(base, index, disp, type);

View File

@@ -1,6 +1,6 @@
//
// Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2017, SAP SE. All rights reserved.
// Copyright (c) 2017, 2024 SAP SE. 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
@@ -1430,6 +1430,7 @@ int HandlerImpl::emit_exception_handler(CodeBuffer &cbuf) {
address base = __ start_a_stub(size_exception_handler());
if (base == NULL) {
ciEnv::current()->record_failure("CodeCache is full");
return 0; // CodeBuffer::expand failed
}
@@ -1451,6 +1452,7 @@ int HandlerImpl::emit_deopt_handler(CodeBuffer& cbuf) {
address base = __ start_a_stub(size_deopt_handler());
if (base == NULL) {
ciEnv::current()->record_failure("CodeCache is full");
return 0; // CodeBuffer::expand failed
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -160,8 +160,10 @@ LIR_Address* LIRGenerator::generate_address(LIR_Opr base, LIR_Opr index,
if (index->is_register()) {
// apply the shift and accumulate the displacement
if (shift > 0) {
LIR_Opr tmp = new_pointer_register();
__ shift_left(index, shift, tmp);
// Use long register to avoid overflow when shifting large index values left.
LIR_Opr tmp = new_register(T_LONG);
__ convert(Bytecodes::_i2l, index, tmp);
__ shift_left(tmp, shift, tmp);
index = tmp;
}
if (large_disp != 0) {

View File

@@ -1313,10 +1313,9 @@ bool os::dll_address_to_library_name(address addr, char* buf,
// Loads .dll/.so and in case of error it checks if .dll/.so was built
// for the same architecture as Hotspot is running on.
void *os::dll_load(const char *filename, char *ebuf, int ebuflen) {
static void* dll_load_library(const char *filename, char *ebuf, int ebuflen) {
log_info(os)("attempting shared library load of %s", filename);
if (ebuf && ebuflen > 0) {
ebuf[0] = '\0';
ebuf[ebuflen - 1] = '\0';
@@ -1359,6 +1358,26 @@ void* os::dll_lookup(void* handle, const char* name) {
void* os::get_default_process_handle() {
return (void*)::dlopen(NULL, RTLD_LAZY);
}
// Load library named <filename>
// If filename matches <name>.so, and loading fails, repeat with <name>.a.
void *os::dll_load(const char *filename, char *ebuf, int ebuflen) {
void* result = nullptr;
char* const file_path = strdup(filename);
char* const pointer_to_dot = strrchr(file_path, '.');
const char old_extension[] = ".so";
const char new_extension[] = ".a";
STATIC_ASSERT(sizeof(old_extension) >= sizeof(new_extension));
// First try to load the existing file.
result = dll_load_library(filename, ebuf, ebuflen);
// If the load fails,we try to reload by changing the extension to .a for .so files only.
// Shared object in .so format dont have braces, hence they get removed for archives with members.
if (result == nullptr && pointer_to_dot != nullptr && strcmp(pointer_to_dot, old_extension) == 0) {
snprintf(pointer_to_dot, sizeof(old_extension), "%s", new_extension);
result = dll_load_library(file_path, ebuf, ebuflen);
}
FREE_C_HEAP_ARRAY(char, file_path);
return result;
}
void os::print_dll_info(outputStream *st) {
st->print_cr("Dynamic libraries:");

View File

@@ -142,10 +142,6 @@ inline int os::connect(int fd, struct sockaddr *him, socklen_t len) {
RESTARTABLE_RETURN_INT(::connect(fd, him, len));
}
inline struct hostent* os::get_host_by_name(char* name) {
return ::gethostbyname(name);
}
inline bool os::supports_monotonic_clock() {
// mread_real_time() is monotonic on AIX (see os::javaTimeNanos() comments)
return true;

View File

@@ -144,10 +144,6 @@ inline int os::connect(int fd, struct sockaddr* him, socklen_t len) {
RESTARTABLE_RETURN_INT(::connect(fd, him, len));
}
inline struct hostent* os::get_host_by_name(char* name) {
return ::gethostbyname(name);
}
inline bool os::supports_monotonic_clock() {
#ifdef __APPLE__
return true;

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 1999, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2022 SAP SE. All rights reserved.
* Copyright (c) 1999, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2024 SAP SE. 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
@@ -368,7 +368,7 @@ pid_t os::Linux::gettid() {
julong os::Linux::host_swap() {
struct sysinfo si;
sysinfo(&si);
return (julong)si.totalswap;
return (julong)(si.totalswap * si.mem_unit);
}
// Most versions of linux have a bug where the number of processors are
@@ -1697,14 +1697,6 @@ const char* os::dll_file_extension() { return ".so"; }
// directory not the java application's temp directory, ala java.io.tmpdir.
const char* os::get_temp_directory() { return "/tmp"; }
static bool file_exists(const char* filename) {
struct stat statbuf;
if (filename == NULL || strlen(filename) == 0) {
return false;
}
return os::stat(filename, &statbuf) == 0;
}
// check if addr is inside libjvm.so
bool os::address_is_in_vm(address addr) {
static address libjvm_base_addr;
@@ -2313,7 +2305,6 @@ const char* distro_files[] = {
"/etc/mandrake-release",
"/etc/sun-release",
"/etc/redhat-release",
"/etc/SuSE-release",
"/etc/lsb-release",
"/etc/turbolinux-release",
"/etc/gentoo-release",
@@ -2321,6 +2312,7 @@ const char* distro_files[] = {
"/etc/angstrom-version",
"/etc/system-release",
"/etc/os-release",
"/etc/SuSE-release", // Deprecated in favor of os-release since SuSE 12
NULL };
void os::Linux::print_distro_info(outputStream* st) {
@@ -2738,7 +2730,7 @@ static void print_sys_devices_cpu_info(outputStream* st, char* buf, size_t bufle
snprintf(hbuf_type, 60, "/sys/devices/system/cpu/cpu0/cache/index%u/type", i);
snprintf(hbuf_size, 60, "/sys/devices/system/cpu/cpu0/cache/index%u/size", i);
snprintf(hbuf_coherency_line_size, 80, "/sys/devices/system/cpu/cpu0/cache/index%u/coherency_line_size", i);
if (file_exists(hbuf_level)) {
if (os::file_exists(hbuf_level)) {
_print_ascii_file_h("cache level", hbuf_level, st);
_print_ascii_file_h("cache type", hbuf_type, st);
_print_ascii_file_h("cache size", hbuf_size, st);

View File

@@ -136,10 +136,6 @@ inline int os::connect(int fd, struct sockaddr* him, socklen_t len) {
RESTARTABLE_RETURN_INT(::connect(fd, him, len));
}
inline struct hostent* os::get_host_by_name(char* name) {
return ::gethostbyname(name);
}
inline bool os::supports_monotonic_clock() {
return Linux::_clock_gettime != NULL;
}

View File

@@ -837,7 +837,7 @@ SystemProcessInterface::SystemProcesses::ProcessIterator::ProcessIterator() {
bool SystemProcessInterface::SystemProcesses::ProcessIterator::initialize() {
_dir = os::opendir("/proc");
_entry = NULL;
_valid = true;
_valid = _dir != NULL; // May be null if /proc is not accessible.
next_process();
return true;

View File

@@ -92,10 +92,6 @@ inline int os::socket(int domain, int type, int protocol) {
return ::socket(domain, type, protocol);
}
inline struct hostent* os::get_host_by_name(char* name) {
return ::gethostbyname(name);
}
inline bool os::supports_monotonic_clock() {
// javaTimeNanos() is monotonic on Solaris, see getTimeNanos() comments
return true;

View File

@@ -5565,10 +5565,6 @@ static jint initSock() {
return JNI_OK;
}
struct hostent* os::get_host_by_name(char* name) {
return (struct hostent*)gethostbyname(name);
}
int os::socket_close(int fd) {
return ::closesocket(fd);
}

View File

@@ -3040,6 +3040,9 @@ static void define_fill_new_machnode(bool used, FILE *fp_cpp) {
fprintf(fp_cpp, " if( i != cisc_operand() ) \n");
fprintf(fp_cpp, " to[i] = _opnds[i]->clone();\n");
fprintf(fp_cpp, " }\n");
fprintf(fp_cpp, " // Do not increment node index counter, since node reuses my index\n");
fprintf(fp_cpp, " Compile* C = Compile::current();\n");
fprintf(fp_cpp, " C->set_unique(C->unique() - 1);\n");
fprintf(fp_cpp, "}\n");
}
fprintf(fp_cpp, "\n");

View File

@@ -1046,10 +1046,11 @@ class CodeString: public CHeapObj<mtCode> {
friend class CodeStrings;
const char * _string;
CodeString* _next;
CodeString* _prev;
intptr_t _offset;
~CodeString() {
assert(_next == NULL, "wrong interface for freeing list");
assert(_next == NULL && _prev == NULL, "wrong interface for freeing list");
os::free((void*)_string);
}
@@ -1057,7 +1058,7 @@ class CodeString: public CHeapObj<mtCode> {
public:
CodeString(const char * string, intptr_t offset = -1)
: _next(NULL), _offset(offset) {
: _next(NULL), _prev(NULL), _offset(offset) {
_string = os::strdup(string, mtCode);
}
@@ -1065,7 +1066,12 @@ class CodeString: public CHeapObj<mtCode> {
intptr_t offset() const { assert(_offset >= 0, "offset for non comment?"); return _offset; }
CodeString* next() const { return _next; }
void set_next(CodeString* next) { _next = next; }
void set_next(CodeString* next) {
_next = next;
if (next != NULL) {
next->_prev = this;
}
}
CodeString* first_comment() {
if (is_comment()) {
@@ -1093,12 +1099,9 @@ CodeString* CodeStrings::find(intptr_t offset) const {
// Convenience for add_comment.
CodeString* CodeStrings::find_last(intptr_t offset) const {
CodeString* a = find(offset);
if (a != NULL) {
CodeString* c = NULL;
while (((c = a->next_comment()) != NULL) && (c->offset() == offset)) {
a = c;
}
CodeString* a = _strings_last;
while (a != NULL && !a->is_comment() && a->offset() > offset) {
a = a->_prev;
}
return a;
}
@@ -1117,12 +1120,16 @@ void CodeStrings::add_comment(intptr_t offset, const char * comment) {
c->set_next(_strings);
_strings = c;
}
if (c->next() == NULL) {
_strings_last = c;
}
}
void CodeStrings::assign(CodeStrings& other) {
other.check_valid();
assert(is_null(), "Cannot assign onto non-empty CodeStrings");
_strings = other._strings;
_strings_last = other._strings_last;
#ifdef ASSERT
_defunct = false;
#endif
@@ -1138,8 +1145,11 @@ void CodeStrings::copy(CodeStrings& other) {
assert(is_null(), "Cannot copy onto non-empty CodeStrings");
CodeString* n = other._strings;
CodeString** ps = &_strings;
CodeString* prev = NULL;
while (n != NULL) {
*ps = new CodeString(n->string(),n->offset());
(*ps)->_prev = prev;
prev = *ps;
ps = &((*ps)->_next);
n = n->next();
}
@@ -1168,6 +1178,10 @@ void CodeStrings::free() {
// unlink the node from the list saving a pointer to the next
CodeString* p = n->next();
n->set_next(NULL);
if (p != NULL) {
assert(p->_prev == n, "missing prev link");
p->_prev = NULL;
}
delete n;
n = p;
}
@@ -1178,6 +1192,9 @@ const char* CodeStrings::add_string(const char * string) {
check_valid();
CodeString* s = new CodeString(string);
s->set_next(_strings);
if (_strings == NULL) {
_strings_last = s;
}
_strings = s;
assert(s->string() != NULL, "should have a string");
return s->string();

View File

@@ -249,6 +249,7 @@ class CodeStrings {
private:
#ifndef PRODUCT
CodeString* _strings;
CodeString* _strings_last;
#ifdef ASSERT
// Becomes true after copy-out, forbids further use.
bool _defunct; // Zero bit pattern is "valid", see memset call in decode_env::decode_env
@@ -262,6 +263,7 @@ private:
void set_null_and_invalidate() {
#ifndef PRODUCT
_strings = NULL;
_strings_last = NULL;
#ifdef ASSERT
_defunct = true;
#endif
@@ -272,6 +274,7 @@ public:
CodeStrings() {
#ifndef PRODUCT
_strings = NULL;
_strings_last = NULL;
#ifdef ASSERT
_defunct = false;
#endif

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -446,14 +446,14 @@ void RangeCheckEliminator::in_block_motion(BlockBegin *block, AccessIndexedList
if (c) {
jint value = c->type()->as_IntConstant()->value();
if (value != min_jint) {
if (ao->op() == Bytecodes::_isub) {
value = -value;
}
if (ao->op() == Bytecodes::_iadd) {
base = java_add(base, value);
last_integer = base;
last_instruction = other;
} else {
assert(ao->op() == Bytecodes::_isub, "unexpected bytecode");
base = java_subtract(base, value);
}
last_integer = base;
last_instruction = other;
index = other;
} else {
break;

View File

@@ -1921,14 +1921,13 @@ oop java_lang_Throwable::message(oop throwable) {
}
// Return Symbol for detailed_message or NULL
Symbol* java_lang_Throwable::detail_message(oop throwable) {
PRESERVE_EXCEPTION_MARK; // Keep original exception
oop detailed_message = java_lang_Throwable::message(throwable);
if (detailed_message != NULL) {
return java_lang_String::as_symbol(detailed_message, THREAD);
const char* java_lang_Throwable::message_as_utf8(oop throwable) {
oop msg = java_lang_Throwable::message(throwable);
const char* msg_utf8 = NULL;
if (msg != NULL) {
msg_utf8 = java_lang_String::as_utf8_string(msg);
}
return NULL;
return msg_utf8;
}
void java_lang_Throwable::set_message(oop throwable, oop value) {

View File

@@ -532,11 +532,11 @@ class java_lang_Throwable: AllStatic {
static void set_depth(oop throwable, int value);
// Needed by JVMTI to filter out this internal field.
static int get_backtrace_offset() { return backtrace_offset;}
static int get_detailMessage_offset() { return detailMessage_offset;}
// Message
static int get_detailMessage_offset() { return detailMessage_offset;}
static oop message(oop throwable);
static const char* message_as_utf8(oop throwable);
static void set_message(oop throwable, oop value);
static Symbol* detail_message(oop throwable);
static void print_stack_element(outputStream *st, const methodHandle& method, int bci);
static void print_stack_usage(Handle stream);

View File

@@ -33,7 +33,7 @@
// add new entry to the table
void ResolutionErrorTable::add_entry(int index, unsigned int hash,
const constantPoolHandle& pool, int cp_index,
Symbol* error, Symbol* message)
Symbol* error, const char* message)
{
assert_locked_or_safepoint(SystemDictionary_lock);
assert(!pool.is_null() && error != NULL, "adding NULL obj");
@@ -64,16 +64,14 @@ void ResolutionErrorEntry::set_error(Symbol* e) {
_error->increment_refcount();
}
void ResolutionErrorEntry::set_message(Symbol* c) {
assert(c != NULL, "must set a value");
_message = c;
_message->increment_refcount();
void ResolutionErrorEntry::set_message(const char* c) {
_message = c != NULL ? os::strdup(c) : NULL;
}
// create new error entry
ResolutionErrorEntry* ResolutionErrorTable::new_entry(int hash, ConstantPool* pool,
int cp_index, Symbol* error,
Symbol* message)
const char* message)
{
ResolutionErrorEntry* entry = (ResolutionErrorEntry*)Hashtable<ConstantPool*, mtClass>::new_entry(hash, pool);
entry->set_cp_index(cp_index);
@@ -87,7 +85,9 @@ void ResolutionErrorTable::free_entry(ResolutionErrorEntry *entry) {
// decrement error refcount
assert(entry->error() != NULL, "error should be set");
entry->error()->decrement_refcount();
entry->message()->decrement_refcount();
if (entry->message() != NULL) {
FREE_C_HEAP_ARRAY(char, entry->message());
}
Hashtable<ConstantPool*, mtClass>::free_entry(entry);
}

View File

@@ -45,7 +45,7 @@ public:
ResolutionErrorTable(int table_size);
ResolutionErrorEntry* new_entry(int hash, ConstantPool* pool, int cp_index,
Symbol* error, Symbol* message);
Symbol* error, const char* message);
void free_entry(ResolutionErrorEntry *entry);
ResolutionErrorEntry* bucket(int i) {
@@ -62,7 +62,7 @@ public:
}
void add_entry(int index, unsigned int hash,
const constantPoolHandle& pool, int which, Symbol* error, Symbol* message);
const constantPoolHandle& pool, int cp_index, Symbol* error, const char* error_msg);
// find error given the constant pool and constant pool index
@@ -94,7 +94,7 @@ class ResolutionErrorEntry : public HashtableEntry<ConstantPool*, mtClass> {
private:
int _cp_index;
Symbol* _error;
Symbol* _message;
const char* _message;
public:
ConstantPool* pool() const { return literal(); }
@@ -105,8 +105,9 @@ class ResolutionErrorEntry : public HashtableEntry<ConstantPool*, mtClass> {
Symbol* error() const { return _error; }
void set_error(Symbol* e);
Symbol* message() const { return _message; }
void set_message(Symbol* c);
const char* message() const { return _message; }
// The incoming message is copied to the C-Heap.
void set_message(const char* c);
ResolutionErrorEntry* next() const {
return (ResolutionErrorEntry*)HashtableEntry<ConstantPool*, mtClass>::next();

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -301,7 +301,23 @@ unsigned int SymbolTable::hash_shared_symbol(const char* s, int len) {
// entries in the symbol table during normal execution (only during
// safepoints).
// Symbols should represent entities from the constant pool that are
// limited to <64K in length, but usage errors creep in allowing Symbols
// to be used for arbitrary strings. For debug builds we will assert if
// a string is too long, whereas product builds will truncate it.
static int check_length(const char* name, int len) {
assert(len <= Symbol::max_length(),
"String length %d exceeds the maximum Symbol length of %d", len, Symbol::max_length());
if (len > Symbol::max_length()) {
warning("A string \"%.80s ... %.80s\" exceeds the maximum Symbol "
"length of %d and has been truncated", name, (name + len - 80), Symbol::max_length());
len = Symbol::max_length();
}
return len;
}
Symbol* SymbolTable::lookup(const char* name, int len, TRAPS) {
len = check_length(name, len);
unsigned int hashValue = hash_symbol(name, len);
int index = the_table()->hash_to_index(hashValue);
@@ -432,6 +448,7 @@ void SymbolTable::add(ClassLoaderData* loader_data, const constantPoolHandle& cp
for (int i=0; i<names_count; i++) {
int index = table->hash_to_index(hashValues[i]);
bool c_heap = !loader_data->is_the_null_class_loader_data();
assert(lengths[i] <= Symbol::max_length(), "must be - these come from the constant pool");
Symbol* sym = table->basic_add(index, (u1*)names[i], lengths[i], hashValues[i], c_heap, CHECK);
cp->symbol_at_put(cp_indices[i], sym);
}
@@ -440,7 +457,8 @@ void SymbolTable::add(ClassLoaderData* loader_data, const constantPoolHandle& cp
Symbol* SymbolTable::new_permanent_symbol(const char* name, TRAPS) {
unsigned int hash;
Symbol* result = SymbolTable::lookup_only((char*)name, (int)strlen(name), hash);
int len = check_length(name, (int)strlen(name));
Symbol* result = SymbolTable::lookup_only((char*)name, len, hash);
if (result != NULL) {
return result;
}
@@ -449,13 +467,14 @@ Symbol* SymbolTable::new_permanent_symbol(const char* name, TRAPS) {
SymbolTable* table = the_table();
int index = table->hash_to_index(hash);
return table->basic_add(index, (u1*)name, (int)strlen(name), hash, false, THREAD);
return table->basic_add(index, (u1*)name, len, hash, false, THREAD);
}
Symbol* SymbolTable::basic_add(int index_arg, u1 *name, int len,
unsigned int hashValue_arg, bool c_heap, TRAPS) {
assert(!Universe::heap()->is_in_reserved(name),
"proposed name of symbol must be stable");
assert(len <= Symbol::max_length(), "caller should have ensured this");
// Don't allow symbols to be created which cannot fit in a Symbol*.
if (len > Symbol::max_length()) {

View File

@@ -2290,7 +2290,7 @@ bool SystemDictionary::add_loader_constraint(Symbol* class_name,
// Add entry to resolution error table to record the error when the first
// attempt to resolve a reference to a class has failed.
void SystemDictionary::add_resolution_error(const constantPoolHandle& pool, int which,
Symbol* error, Symbol* message) {
Symbol* error, const char* message) {
unsigned int hash = resolution_errors()->compute_hash(pool, which);
int index = resolution_errors()->hash_to_index(hash);
{
@@ -2306,7 +2306,7 @@ void SystemDictionary::delete_resolution_error(ConstantPool* pool) {
// Lookup resolution error table. Returns error if found, otherwise NULL.
Symbol* SystemDictionary::find_resolution_error(const constantPoolHandle& pool, int which,
Symbol** message) {
const char** message) {
unsigned int hash = resolution_errors()->compute_hash(pool, which);
int index = resolution_errors()->hash_to_index(hash);
{

View File

@@ -579,10 +579,10 @@ public:
// Record the error when the first attempt to resolve a reference from a constant
// pool entry to a class fails.
static void add_resolution_error(const constantPoolHandle& pool, int which, Symbol* error,
Symbol* message);
const char* message);
static void delete_resolution_error(ConstantPool* pool);
static Symbol* find_resolution_error(const constantPoolHandle& pool, int which,
Symbol** message);
const char** message);
static ProtectionDomainCacheEntry* cache_get(Handle protection_domain);

View File

@@ -1364,7 +1364,9 @@ void CodeCache::report_codemem_full(int code_blob_type, bool print) {
CodeHeap* heap = get_code_heap(code_blob_type);
assert(heap != NULL, "heap is null");
if ((heap->full_count() == 0) || print) {
heap->report_full();
if ((heap->full_count() == 1) || print) {
// Not yet reported for this heap, report
if (SegmentedCodeCache) {
ResourceMark rm;
@@ -1401,7 +1403,7 @@ void CodeCache::report_codemem_full(int code_blob_type, bool print) {
tty->print("%s", s.as_string());
}
if (heap->full_count() == 0) {
if (heap->full_count() == 1) {
LogTarget(Debug, codecache) lt;
if (lt.is_enabled()) {
CompileBroker::print_heapinfo(tty, "all", 4096); // details, may be a lot!
@@ -1409,8 +1411,6 @@ void CodeCache::report_codemem_full(int code_blob_type, bool print) {
}
}
heap->report_full();
EventCodeCacheFull event;
if (event.should_commit()) {
event.set_codeBlobType((u1)code_blob_type);

View File

@@ -111,7 +111,7 @@ void InlineCacheBuffer::init_next_stub() {
void InlineCacheBuffer::initialize() {
if (_buffer != NULL) return; // already initialized
_buffer = new StubQueue(new ICStubInterface, 10*K, InlineCacheBuffer_lock, "InlineCacheBuffer");
_buffer = new StubQueue(new ICStubInterface, checked_cast<int>(InlineCacheBufferSize), InlineCacheBuffer_lock, "InlineCacheBuffer");
assert (_buffer != NULL, "cannot allocate InlineCacheBuffer");
init_next_stub();
}

View File

@@ -214,8 +214,6 @@ void StubQueue::verify() {
guarantee(0 <= _queue_begin && _queue_begin < _buffer_limit, "_queue_begin out of bounds");
guarantee(0 <= _queue_end && _queue_end <= _buffer_limit, "_queue_end out of bounds");
// verify alignment
guarantee(_buffer_size % CodeEntryAlignment == 0, "_buffer_size not aligned");
guarantee(_buffer_limit % CodeEntryAlignment == 0, "_buffer_limit not aligned");
guarantee(_queue_begin % CodeEntryAlignment == 0, "_queue_begin not aligned");
guarantee(_queue_end % CodeEntryAlignment == 0, "_queue_end not aligned");
// verify buffer limit/size relationship

View File

@@ -313,6 +313,11 @@ bool CompilerConfig::check_args_consistency(bool status) {
"Invalid NonNMethodCodeHeapSize=%dK. Must be at least %uK.\n", NonNMethodCodeHeapSize/K,
min_code_cache_size/K);
status = false;
} else if (InlineCacheBufferSize > NonNMethodCodeHeapSize / 2) {
jio_fprintf(defaultStream::error_stream(),
"Invalid InlineCacheBufferSize=" SIZE_FORMAT "K. Must be less than or equal to " SIZE_FORMAT "K.\n",
InlineCacheBufferSize/K, NonNMethodCodeHeapSize/2/K);
status = false;
}
#ifdef _LP64

View File

@@ -150,8 +150,12 @@ int JfrThreadGroupsHelper::populate_thread_group_hierarchy(const JavaThread* jt,
assert(current != NULL, "invariant");
assert(_thread_group_hierarchy != NULL, "invariant");
oop thread_oop = jt->threadObj();
if (thread_oop == NULL) {
return 0;
}
// immediate thread group
Handle thread_group_handle(current, java_lang_Thread::threadGroup(jt->threadObj()));
Handle thread_group_handle(current, java_lang_Thread::threadGroup(thread_oop));
if (thread_group_handle == NULL) {
return 0;
}

View File

@@ -101,7 +101,7 @@ void JfrCheckpointThreadClosure::do_thread(Thread* t) {
if (t->is_Java_thread()) {
JavaThread* const jt = (JavaThread*)t;
_writer.write(jt->name());
_writer.write(java_lang_Thread::thread_id(jt->threadObj()));
_writer.write(jt->threadObj() != NULL ? java_lang_Thread::thread_id(jt->threadObj()) : 0);
_writer.write(JfrThreadGroup::thread_group_id(jt, _curthread));
// since we are iterating threads during a safepoint, also issue notification
JfrJavaEventWriter::notify(jt);

View File

@@ -83,11 +83,6 @@ static size_t parse_value(const char* value_str) {
return value;
}
static bool file_exists(const char* filename) {
struct stat dummy_stat;
return os::stat(filename, &dummy_stat) == 0;
}
static uint number_of_digits(uint number) {
return number < 10 ? 1 : (number < 100 ? 2 : 3);
}
@@ -130,7 +125,7 @@ static uint next_file_number(const char* filename,
assert(ret > 0 && static_cast<size_t>(ret) == len - 1,
"incorrect buffer length calculation");
if (file_exists(archive_name) && !is_regular_file(archive_name)) {
if (os::file_exists(archive_name) && !is_regular_file(archive_name)) {
// We've encountered something that's not a regular file among the
// possible file rotation targets. Fail immediately to prevent
// problems later.
@@ -141,7 +136,7 @@ static uint next_file_number(const char* filename,
}
// Stop looking if we find an unused file name
if (!file_exists(archive_name)) {
if (!os::file_exists(archive_name)) {
next_num = i;
found = true;
break;
@@ -224,7 +219,7 @@ bool LogFileOutput::initialize(const char* options, outputStream* errstream) {
return false;
}
bool file_exist = file_exists(_file_name);
bool file_exist = os::file_exists(_file_name);
if (file_exist && _is_default_file_count && is_fifo_file(_file_name)) {
_file_count = 0; // Prevent file rotation for fifo's such as named pipes.
}

View File

@@ -734,13 +734,16 @@ void ConstantPool::resolve_string_constants_impl(const constantPoolHandle& this_
}
}
Symbol* ConstantPool::exception_message(const constantPoolHandle& this_cp, int which, constantTag tag, oop pending_exception) {
const char* ConstantPool::exception_message(const constantPoolHandle& this_cp, int which, constantTag tag, oop pending_exception) {
// Note: caller needs ResourceMark
// Dig out the detailed message to reuse if possible
Symbol* message = java_lang_Throwable::detail_message(pending_exception);
if (message != NULL) {
return message;
const char* msg = java_lang_Throwable::message_as_utf8(pending_exception);
if (msg != NULL) {
return msg;
}
Symbol* message = NULL;
// Return specific message for the tag
switch (tag.value()) {
case JVM_CONSTANT_UnresolvedClass:
@@ -763,16 +766,16 @@ Symbol* ConstantPool::exception_message(const constantPoolHandle& this_cp, int w
ShouldNotReachHere();
}
return message;
return message != NULL ? message->as_C_string() : NULL;
}
void ConstantPool::throw_resolution_error(const constantPoolHandle& this_cp, int which, TRAPS) {
Symbol* message = NULL;
ResourceMark rm(THREAD);
const char* message = NULL;
Symbol* error = SystemDictionary::find_resolution_error(this_cp, which, &message);
assert(error != NULL && message != NULL, "checking");
CLEAR_PENDING_EXCEPTION;
ResourceMark rm;
THROW_MSG(error, message->as_C_string());
THROW_MSG(error, message);
}
// If resolution for Class, Dynamic constant, MethodHandle or MethodType fails, save the
@@ -790,7 +793,9 @@ void ConstantPool::save_and_throw_exception(const constantPoolHandle& this_cp, i
// and OutOfMemoryError, etc, or if the thread was hit by stop()
// Needs clarification to section 5.4.3 of the VM spec (see 6308271)
} else if (this_cp->tag_at(which).value() != error_tag) {
Symbol* message = exception_message(this_cp, which, tag, PENDING_EXCEPTION);
ResourceMark rm(THREAD);
const char* message = exception_message(this_cp, which, tag, PENDING_EXCEPTION);
SystemDictionary::add_resolution_error(this_cp, which, error, message);
// CAS in the tag. If a thread beat us to registering this error that's fine.
// If another thread resolved the reference, this is a race condition. This

View File

@@ -878,7 +878,7 @@ class ConstantPool : public Metadata {
bool must_resolve, Handle if_not_available, TRAPS);
// Exception handling
static Symbol* exception_message(const constantPoolHandle& this_cp, int which, constantTag tag, oop pending_exception);
static const char* exception_message(const constantPoolHandle& this_cp, int which, constantTag tag, oop pending_exception);
static void save_and_throw_exception(const constantPoolHandle& this_cp, int which, constantTag tag, TRAPS);
public:

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