changeset 23929:e70b7aee5962

8034220: Improve time zone mapping for AIX platform Reviewed-by: okutsu
author luchsh
date Wed, 16 Apr 2014 17:32:39 +0800
parents b610d940a61d
children 7b24912f728f
files jdk/make/CopyFiles.gmk jdk/src/aix/lib/tzmappings jdk/src/solaris/native/java/util/TimeZone_md.c
diffstat 3 files changed, 722 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/jdk/make/CopyFiles.gmk	Wed Apr 16 12:37:49 2014 +0400
+++ b/jdk/make/CopyFiles.gmk	Wed Apr 16 17:32:39 2014 +0800
@@ -174,9 +174,9 @@
-ifeq ($(OPENJDK_TARGET_OS), windows)
+ifneq ($(findstring $(OPENJDK_TARGET_OS), windows aix),)
   $(LIBDIR)/tzmappings: $(TZMAPPINGS_SRC)/tzmappings
 	$(call install-file)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/aix/lib/tzmappings	Wed Apr 16 17:32:39 2014 +0800
@@ -0,0 +1,586 @@
+# Copyright (c) 1994, 2014, Oracle and/or its affiliates. All rights reserved.
+# 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 if you need additional information or have any
+# questions.
+# Portions Copyright (c) 2014 IBM Corporation
+# This table describes mappings between AIX time zone IDs and Java time zone
+# IDs. Fields are separated by a single TAB ('\t'). Lines must be in the ascending
+# order in ASCII. (non-ASCII characters can't be used.)
+#                            NOTE
+# This table format is not a public interface of any Java
+# platforms. No applications should depend on this file in any form.
+# This file has been generated using programs. Do not edit this file manually.
+# Solaris		Java
+ACST-9:30ACDT	Australia/Adelaide
+AST4	America/Curacao
+AST4ADT	America/Halifax
+AST9	Pacific/Gambier
+AST9ADT	America/Anchorage
+AZOREST1	Atlantic/Cape_Verde
+AZOREST1AZOREDT	Atlantic/Azores
+Africa/Abidjan	Africa/Abidjan
+Africa/Accra	Africa/Accra
+Africa/Addis_Ababa	Africa/Addis_Ababa
+Africa/Algiers	Africa/Algiers
+Africa/Asmera	Africa/Asmera
+Africa/Bamako	GMT
+Africa/Bangui	Africa/Bangui
+Africa/Banjul	Africa/Banjul
+Africa/Bissau	Africa/Bissau
+Africa/Blantyre	Africa/Blantyre
+Africa/Brazzaville	Africa/Luanda
+Africa/Bujumbura	Africa/Bujumbura
+Africa/Cairo	Africa/Cairo
+Africa/Casablanca	Africa/Casablanca
+Africa/Ceuta	Europe/Paris
+Africa/Conakry	Africa/Conakry
+Africa/Dakar	Africa/Dakar
+Africa/Dar_es_Salaam	Africa/Dar_es_Salaam
+Africa/Djibouti	Africa/Djibouti
+Africa/Douala	Africa/Douala
+Africa/El_Aaiun	Africa/Casablanca
+Africa/Freetown	Africa/Freetown
+Africa/Gaborone	Africa/Gaborone
+Africa/Harare	Africa/Harare
+Africa/Johannesburg	Africa/Johannesburg
+Africa/Kampala	Africa/Kampala
+Africa/Khartoum	Africa/Khartoum
+Africa/Kigali	Africa/Kigali
+Africa/Kinshasa	Africa/Kinshasa
+Africa/Lagos	Africa/Lagos
+Africa/Libreville	Africa/Libreville
+Africa/Lome	Africa/Lome
+Africa/Luanda	Africa/Luanda
+Africa/Lubumbashi	Africa/Lubumbashi
+Africa/Lusaka	Africa/Lusaka
+Africa/Malabo	Africa/Malabo
+Africa/Maputo	Africa/Maputo
+Africa/Maseru	Africa/Maseru
+Africa/Mbabane	Africa/Mbabane
+Africa/Mogadishu	Africa/Mogadishu
+Africa/Monrovia	Africa/Monrovia
+Africa/Nairobi	Africa/Nairobi
+Africa/Ndjamena	Africa/Ndjamena
+Africa/Niamey	Africa/Niamey
+Africa/Nouakchott	Africa/Nouakchott
+Africa/Ouagadougou	Africa/Ouagadougou
+Africa/Porto-Novo	Africa/Porto-Novo
+Africa/Sao_Tome	Africa/Sao_Tome
+Africa/Timbuktu	Africa/Timbuktu
+Africa/Tripoli	Africa/Tripoli
+Africa/Tunis	Africa/Tunis
+Africa/Windhoek	Africa/Windhoek
+America/Adak	America/Adak
+America/Anchorage	America/Anchorage
+America/Anguilla	America/Anguilla
+America/Antigua	America/Antigua
+America/Araguaina	America/Sao_Paulo
+America/Argentina/Buenos_Aires	America/Argentina/Buenos_Aires
+America/Argentina/Catamarca	America/Argentina/Catamarca
+America/Argentina/ComodRivadavia	America/Argentina/Catamarca
+America/Argentina/Cordoba	America/Argentina/Cordoba
+America/Argentina/Jujuy	America/Argentina/Jujuy
+America/Argentina/La_Rioja	America/Argentina/La_Rioja
+America/Argentina/Mendoza	America/Argentina/Mendoza
+America/Argentina/Rio_Gallegos	America/Argentina/Rio_Gallegos
+America/Argentina/Salta	America/Argentina/Salta
+America/Argentina/San_Juan	America/Argentina/San_Juan
+America/Argentina/San_Luis	America/Argentina/San_Luis
+America/Argentina/Tucuman	America/Argentina/Tucuman
+America/Argentina/Ushuaia	America/Argentina/Ushuaia
+America/Aruba	America/Aruba
+America/Asuncion	America/Asuncion
+America/Atka	America/Adak
+America/Barbados	America/Barbados
+America/Belize	America/Belize
+America/Bogota	America/Bogota
+America/Boise	America/Denver
+America/Buenos_Aires	America/Argentina/Buenos_Aires
+America/Cancun	America/Chicago
+America/Caracas	America/Caracas
+America/Catamarca	America/Argentina/Catamarca
+America/Cayenne	America/Cayenne
+America/Cayman	America/Cayman
+America/Chicago	America/Chicago
+America/Chihuahua	America/Denver
+America/Coral_Harbour	America/Atikokan
+America/Cordoba	America/Argentina/Cordoba
+America/Costa_Rica	America/Costa_Rica
+America/Cuiaba	America/Cuiaba
+America/Curacao	America/Curacao
+America/Dawson	America/Los_Angeles
+America/Dawson_Creek	America/Dawson_Creek
+America/Denver	America/Denver
+America/Detroit	America/New_York
+America/Dominica	America/Dominica
+America/Edmonton	America/Edmonton
+America/El_Salvador	America/El_Salvador
+America/Ensenada	America/Los_Angeles
+America/Fort_Wayne	America/Indiana/Indianapolis
+America/Fortaleza	America/Fortaleza
+America/Glace_Bay	America/Halifax
+America/Godthab	America/Godthab
+America/Goose_Bay	America/Thule
+America/Grand_Turk	America/Grand_Turk
+America/Grenada	America/Grenada
+America/Guadeloupe	America/Guadeloupe
+America/Guatemala	America/Guatemala
+America/Guayaquil	America/Guayaquil
+America/Guyana	America/Guyana
+America/Halifax	America/Halifax
+America/Havana	America/Havana
+America/Indiana/Indianapolis	America/Indianapolis
+America/Indianapolis	America/Indiana/Indianapolis
+America/Inuvik	America/Denver
+America/Iqaluit	America/New_York
+America/Jamaica	America/Jamaica
+America/Jujuy	America/Argentina/Jujuy
+America/Juneau	America/Anchorage
+America/Knox_IN	America/Indiana/Knox
+America/La_Paz	America/La_Paz
+America/Lima	America/Lima
+America/Los_Angeles	America/Los_Angeles
+America/Louisville	America/Kentucky/Louisville
+America/Managua	America/Managua
+America/Manaus	America/Manaus
+America/Marigot	America/Guadeloupe
+America/Martinique	America/Martinique
+America/Mazatlan	America/Mazatlan
+America/Mendoza	America/Argentina/Mendoza
+America/Menominee	America/Winnipeg
+America/Mexico_City	America/Mexico_City
+America/Miquelon	America/Miquelon
+America/Moncton	America/Moncton
+America/Montevideo	America/Montevideo
+America/Montreal	America/Montreal
+America/Montserrat	America/Montserrat
+America/Nassau	America/Nassau
+America/New_York	America/New_York
+America/Nipigon	America/New_York
+America/Nome	America/Anchorage
+America/Noronha	America/Noronha
+America/Panama	America/Panama
+America/Pangnirtung	America/Thule
+America/Paramaribo	America/Paramaribo
+America/Phoenix	America/Phoenix
+America/Port-au-Prince	America/Port-au-Prince
+America/Port_of_Spain	America/Port_of_Spain
+America/Porto_Acre	America/Rio_Branco
+America/Puerto_Rico	America/Puerto_Rico
+America/Rainy_River	America/Chicago
+America/Rankin_Inlet	America/Chicago
+America/Regina	America/Regina
+America/Rio_Branco	America/Rio_Branco
+America/Rosario	America/Argentina/Cordoba
+America/Santiago	America/Santiago
+America/Santo_Domingo	America/Santo_Domingo
+America/Sao_Paulo	America/Sao_Paulo
+America/Scoresbysund	America/Scoresbysund
+America/Shiprock	America/Denver
+America/St_Barthelemy	America/Guadeloupe
+America/St_Johns	America/St_Johns
+America/St_Kitts	America/St_Kitts
+America/St_Lucia	America/St_Lucia
+America/St_Thomas	America/St_Thomas
+America/St_Vincent	America/St_Vincent
+America/Tegucigalpa	America/Tegucigalpa
+America/Thule	America/Thule
+America/Thunder_Bay	America/New_York
+America/Tijuana	America/Tijuana
+America/Toronto	America/Toronto
+America/Tortola	America/Tortola
+America/Vancouver	America/Vancouver
+America/Virgin	America/St_Thomas
+America/Whitehorse	America/Los_Angeles
+America/Winnipeg	America/Winnipeg
+America/Yakutat	America/Anchorage
+America/Yellowknife	America/Denver
+Antarctica/Casey	Antarctica/Casey
+Antarctica/DumontDUrville	Antarctica/DumontDUrville
+Antarctica/Mawson	Antarctica/Mawson
+Antarctica/McMurdo	Antarctica/McMurdo
+Antarctica/Palmer	Antarctica/Palmer
+Antarctica/South_Pole	Antarctica/McMurdo
+Arctic/Longyearbyen	Europe/Oslo
+Asia/Aden	Asia/Aden
+Asia/Almaty	Asia/Almaty
+Asia/Amman	Asia/Amman
+Asia/Anadyr	Asia/Anadyr
+Asia/Aqtau	Asia/Aqtau
+Asia/Aqtobe	Asia/Aqtobe
+Asia/Ashkhabad	Asia/Ashkhabad
+Asia/Baghdad	Asia/Baghdad
+Asia/Bahrain	Asia/Bahrain
+Asia/Baku	Asia/Baku
+Asia/Bangkok	Asia/Bangkok
+Asia/Beirut	Asia/Beirut
+Asia/Bishkek	Asia/Bishkek
+Asia/Brunei	Asia/Brunei
+Asia/Calcutta	Asia/Calcutta
+Asia/Chungking	Asia/Shanghai
+Asia/Colombo	Asia/Colombo
+Asia/Dacca	Asia/Dacca
+Asia/Damascus	Asia/Damascus
+Asia/Dhaka	Asia/Dhaka
+Asia/Dubai	Asia/Dubai
+Asia/Dushanbe	Asia/Dushanbe
+Asia/Gaza	Asia/Amman
+Asia/Harbin	Asia/Shanghai
+Asia/Hong_Kong	Asia/Hong_Kong
+Asia/Irkutsk	Asia/Irkutsk
+Asia/Istanbul	Europe/Istanbul
+Asia/Jakarta	Asia/Jakarta
+Asia/Jayapura	Asia/Jayapura
+Asia/Jerusalem	Asia/Jerusalem
+Asia/Kabul	Asia/Kabul
+Asia/Kamchatka	Asia/Kamchatka
+Asia/Karachi	Asia/Karachi
+Asia/Kashgar	Asia/Shanghai
+Asia/Katmandu	Asia/Katmandu
+Asia/Kolkata	Asia/Kolkata
+Asia/Krasnoyarsk	Asia/Krasnoyarsk
+Asia/Kuala_Lumpur	Asia/Kuala_Lumpur
+Asia/Kuwait	Asia/Kuwait
+Asia/Macao	Asia/Macao
+Asia/Magadan	Asia/Magadan
+Asia/Manila	Asia/Manila
+Asia/Muscat	Asia/Muscat
+Asia/Nicosia	Asia/Nicosia
+Asia/Novosibirsk	Asia/Novosibirsk
+Asia/Omsk	Asia/Novosibirsk
+Asia/Phnom_Penh	Asia/Phnom_Penh
+Asia/Pyongyang	Asia/Pyongyang
+Asia/Qatar	Asia/Qatar
+Asia/Rangoon	Asia/Rangoon
+Asia/Riyadh	Asia/Riyadh
+Asia/Saigon	Asia/Ho_Chi_Minh
+Asia/Seoul	Asia/Seoul
+Asia/Shanghai	Asia/Shanghai
+Asia/Singapore	Asia/Singapore
+Asia/Taipei	Asia/Taipei
+Asia/Tashkent	Asia/Tashkent
+Asia/Tbilisi	Asia/Tbilisi
+Asia/Tehran	Asia/Tehran
+Asia/Tel_Aviv	Asia/Jerusalem
+Asia/Thimbu	Asia/Thimbu
+Asia/Tokyo	Asia/Tokyo
+Asia/Ujung_Pandang	Asia/Ujung_Pandang
+Asia/Ulan_Bator	Asia/Ulaanbaatar
+Asia/Urumqi	Asia/Shanghai
+Asia/Vientiane	Asia/Vientiane
+Asia/Vladivostok	Asia/Vladivostok
+Asia/Yakutsk	Asia/Yakutsk
+Asia/Yekaterinburg	Asia/Yekaterinburg
+Asia/Yerevan	Asia/Yerevan
+Atlantic/Azores	Atlantic/Azores
+Atlantic/Bermuda	Atlantic/Bermuda
+Atlantic/Canary	Atlantic/Canary
+Atlantic/Cape_Verde	Atlantic/Cape_Verde
+Atlantic/Faeroe	Atlantic/Faeroe
+Atlantic/Jan_Mayen	Atlantic/Jan_Mayen
+Atlantic/Madeira	Europe/London
+Atlantic/Reykjavik	Atlantic/Reykjavik
+Atlantic/South_Georgia	Atlantic/South_Georgia
+Atlantic/St_Helena	Atlantic/St_Helena
+Atlantic/Stanley	Atlantic/Stanley
+Australia/ACT	Australia/Sydney
+Australia/Adelaide	Australia/Adelaide
+Australia/Brisbane	Australia/Brisbane
+Australia/Broken_Hill	Australia/Broken_Hill
+Australia/Canberra	Australia/Sydney
+Australia/Darwin	Australia/Darwin
+Australia/Hobart	Australia/Hobart
+Australia/LHI	Australia/Lord_Howe
+Australia/Lord_Howe	Australia/Lord_Howe
+Australia/Melbourne	Australia/Sydney
+Australia/NSW	Australia/Sydney
+Australia/North	Australia/Darwin
+Australia/Perth	Australia/Perth
+Australia/Queensland	Australia/Brisbane
+Australia/South	Australia/Adelaide
+Australia/Sydney	Australia/Sydney
+Australia/Tasmania	Australia/Hobart
+Australia/Victoria	Australia/Melbourne
+Australia/West	Australia/Perth
+Australia/Yancowinna	Australia/Broken_Hill
+BRT3BRST	America/Sao_Paulo
+BST11	Pacific/Apia
+BST11BDT	Pacific/Apia
+Brazil/Acre	America/Rio_Branco
+Brazil/DeNoronha	America/Noronha
+Brazil/East	America/Sao_Paulo
+Brazil/West	America/Manaus
+CET	Europe/Paris
+CET-1CEST	Europe/Paris
+CET-1CEST-2	Europe/Berlin
+CET-1CET-2	Europe/Paris
+CST6	America/Costa_Rica
+CST6CDT	America/Chicago
+CUT0GDT	Europe/London
+Canada/Atlantic	America/Halifax
+Canada/Central	America/Winnipeg
+Canada/East-Saskatchewan	America/Regina
+Canada/Eastern	America/Montreal
+Canada/Mountain	America/Edmonton
+Canada/Newfoundland	America/St_Johns
+Canada/Pacific	America/Vancouver
+Canada/Saskatchewan	America/Regina
+Canada/Yukon	America/Whitehorse
+Chile/Continental	America/Santiago
+Chile/EasterIsland	Pacific/Easter
+Cuba	America/Havana
+EET	Europe/Istanbul
+EET-10	Australia/Brisbane
+EET-10EETDT	Australia/Sydney
+EST	America/Indianapolis
+EST5	America/Indianapolis
+EST5EDT	America/New_York
+Egypt	Africa/Cairo
+Eire	Europe/Dublin
+Etc/Greenwich	GMT
+Etc/Universal	UTC
+Etc/Zulu	UTC
+Europe/Amsterdam	Europe/Amsterdam
+Europe/Andorra	Europe/Andorra
+Europe/Athens	Europe/Athens
+Europe/Belfast	Europe/London
+Europe/Belgrade	Europe/Belgrade
+Europe/Berlin	Europe/Berlin
+Europe/Bratislava	Europe/Prague
+Europe/Brussels	Europe/Brussels
+Europe/Bucharest	Europe/Bucharest
+Europe/Budapest	Europe/Budapest
+Europe/Chisinau	Europe/Chisinau
+Europe/Copenhagen	Europe/Copenhagen
+Europe/Dublin	Europe/Dublin
+Europe/Gibraltar	Europe/Gibraltar
+Europe/Guernsey	Europe/London
+Europe/Helsinki	Europe/Helsinki
+Europe/Isle_of_Man	Europe/London
+Europe/Istanbul	Europe/Istanbul
+Europe/Jersey	Europe/London
+Europe/Kaliningrad	Europe/Kaliningrad
+Europe/Kiev	Europe/Kiev
+Europe/Lisbon	Europe/Lisbon
+Europe/Ljubljana	Europe/Belgrade
+Europe/London	Europe/London
+Europe/Luxembourg	Europe/Luxembourg
+Europe/Madrid	Europe/Madrid
+Europe/Malta	Europe/Malta
+Europe/Mariehamn	Europe/Helsinki
+Europe/Minsk	Europe/Minsk
+Europe/Monaco	Europe/Monaco
+Europe/Moscow	Europe/Moscow
+Europe/Nicosia	Asia/Nicosia
+Europe/Oslo	Europe/Oslo
+Europe/Paris	Europe/Paris
+Europe/Podgorica	Europe/Belgrade
+Europe/Prague	Europe/Prague
+Europe/Riga	Europe/Riga
+Europe/Rome	Europe/Rome
+Europe/Samara	Europe/Samara
+Europe/San_Marino	Europe/Rome
+Europe/Sarajevo	Europe/Belgrade
+Europe/Simferopol	Europe/Simferopol
+Europe/Skopje	Europe/Belgrade
+Europe/Sofia	Europe/Sofia
+Europe/Stockholm	Europe/Stockholm
+Europe/Tallinn	Europe/Tallinn
+Europe/Tirane	Europe/Tirane
+Europe/Vaduz	Europe/Vaduz
+Europe/Vatican	Europe/Rome
+Europe/Vienna	Europe/Vienna
+Europe/Vilnius	Europe/Vilnius
+Europe/Warsaw	Europe/Warsaw
+Europe/Zagreb	Europe/Belgrade
+Europe/Zurich	Europe/Zurich
+FALKST2	Atlantic/South_Georgia
+FALKST2FALKDT	Atlantic/South_Georgia
+Factory	GMT
+GB	Europe/London
+GB-Eire	Europe/London
+GMT0BST	Europe/London
+GMT0BST-1	Europe/London
+GMT0WET	Europe/Lisbon
+GRNLNDST3	America/Buenos_Aires
+Greenwich	GMT
+HST	Pacific/Honolulu
+HST10	Pacific/Honolulu
+HST10HDT	America/Adak
+Hongkong	Asia/Hong_Kong
+Iceland	Atlantic/Reykjavik
+Indian/Antananarivo	Indian/Antananarivo
+Indian/Chagos	Indian/Chagos
+Indian/Christmas	Indian/Christmas
+Indian/Cocos	Indian/Cocos
+Indian/Comoro	Indian/Comoro
+Indian/Kerguelen	Indian/Kerguelen
+Indian/Mahe	Indian/Mahe
+Indian/Maldives	Indian/Maldives
+Indian/Mauritius	Indian/Mauritius
+Indian/Mayotte	Indian/Mayotte
+Indian/Reunion	Indian/Reunion
+Iran	Asia/Tehran
+Israel	Asia/Jerusalem
+JST-9	Asia/Tokyo
+JST-9JSTDT	Asia/Tokyo
+Jamaica	America/Jamaica
+Japan	Asia/Tokyo
+KORST-9	Asia/Seoul
+KORST-9KORDT	Asia/Seoul
+Kwajalein	Pacific/Kwajalein
+Libya	Africa/Tripoli
+MEST-2	Europe/Istanbul
+MEST-2MEDT	Europe/Istanbul
+MEST-3	Asia/Riyadh
+MEST-3MEDT	Europe/Moscow
+MET	Europe/Paris
+MET-11	Pacific/Guadalcanal
+MET-11METDT	Asia/Magadan
+MET-1MEST	Europe/Paris
+MET-1MST-2	Europe/Berlin
+MEZ-1MESZ	Europe/Berlin
+MEZ-1MESZ-2	Europe/Berlin
+MSK-3MSD	Europe/Moscow
+MST	America/Phoenix
+MST7	America/Phoenix
+MST7MDT	America/Denver
+Mexico/BajaNorte	America/Tijuana
+Mexico/BajaSur	America/Mazatlan
+Mexico/General	America/Mexico_City
+Mideast/Riyadh87	Asia/Riyadh87
+Mideast/Riyadh88	Asia/Riyadh88
+Mideast/Riyadh89	Asia/Riyadh89
+NFT-1	Africa/Algiers
+NFT-1DFT	Europe/Paris
+NFT-1DST	Europe/Paris
+NZ	Pacific/Auckland
+NZ-CHAT	Pacific/Chatham
+NZST-12	Pacific/Fiji
+NZST-12NZDT	Pacific/Auckland
+Navajo	America/Denver
+PAKST-5	Asia/Karachi
+PAKST-5PAKDT	Asia/Yekaterinburg
+PRC	Asia/Shanghai
+PST8	Pacific/Pitcairn
+PST8PDT	America/Los_Angeles
+PST8PDT7	America/Tijuana
+Pacific/Apia	Pacific/Apia
+Pacific/Auckland	Pacific/Auckland
+Pacific/Chatham	Pacific/Chatham
+Pacific/Easter	Pacific/Easter
+Pacific/Efate	Pacific/Efate
+Pacific/Enderbury	Pacific/Enderbury
+Pacific/Fakaofo	Pacific/Fakaofo
+Pacific/Fiji	Pacific/Fiji
+Pacific/Funafuti	Pacific/Funafuti
+Pacific/Galapagos	Pacific/Galapagos
+Pacific/Gambier	Pacific/Gambier
+Pacific/Guadalcanal	Pacific/Guadalcanal
+Pacific/Guam	Pacific/Guam
+Pacific/Honolulu	Pacific/Honolulu
+Pacific/Kiritimati	Pacific/Kiritimati
+Pacific/Kosrae	Pacific/Kosrae
+Pacific/Majuro	Pacific/Majuro
+Pacific/Marquesas	Pacific/Marquesas
+Pacific/Nauru	Pacific/Nauru
+Pacific/Niue	Pacific/Niue
+Pacific/Norfolk	Pacific/Norfolk
+Pacific/Noumea	Pacific/Noumea
+Pacific/Pago_Pago	Pacific/Pago_Pago
+Pacific/Palau	Pacific/Palau
+Pacific/Pitcairn	Pacific/Pitcairn
+Pacific/Ponape	Pacific/Ponape
+Pacific/Port_Moresby	Pacific/Port_Moresby
+Pacific/Rarotonga	Pacific/Rarotonga
+Pacific/Saipan	Pacific/Saipan
+Pacific/Samoa	Pacific/Pago_Pago
+Pacific/Tahiti	Pacific/Tahiti
+Pacific/Tarawa	Pacific/Tarawa
+Pacific/Tongatapu	Pacific/Tongatapu
+Pacific/Truk	Pacific/Truk
+Pacific/Wake	Pacific/Wake
+Pacific/Wallis	Pacific/Wallis
+Poland	Europe/Warsaw
+Portugal	Europe/Lisbon
+ROC	Asia/Taipei
+ROK	Asia/Seoul
+SAUST-3	Asia/Riyadh
+SAUST-3SAUDT	Europe/Moscow
+Singapore	Asia/Singapore
+SystemV/AST4ADT	America/Thule
+SystemV/CST6CDT	America/Chicago
+SystemV/EST5EDT	America/New_York
+SystemV/MST7MDT	America/Denver
+SystemV/PST8PDT	America/Los_Angeles
+SystemV/YST9YDT	America/Anchorage
+TAIST-8	Asia/Taipei
+TAIST-8TAIDT	Asia/Irkutsk
+TASHST-6	Asia/Dacca
+TASHST-6TASHDT	Asia/Novosibirsk
+THAIST-7	Asia/Bangkok
+THAIST-7THAIDT	Asia/Krasnoyarsk
+Turkey	Europe/Istanbul
+US/Alaska	America/Anchorage
+US/Aleutian	America/Adak
+US/Arizona	America/Phoenix
+US/Central	America/Chicago
+US/East-Indiana	America/Indiana/Indianapolis
+US/Eastern	America/New_York
+US/Hawaii	Pacific/Honolulu
+US/Indiana-Starke	America/Indiana/Knox
+US/Michigan	America/New_York
+US/Mountain	America/Denver
+US/Pacific	America/Los_Angeles
+US/Pacific-New	America/Los_Angeles
+US/Samoa	Pacific/Pago_Pago
+USAST-2	Africa/Johannesburg
+USAST-2USADT	Europe/Istanbul
+UYT3UYST	America/Montevideo
+Universal	UTC
+W-SU	Europe/Moscow
+WAUST-8	Australia/Perth
+WAUST-8WAUDT	Australia/Perth
+WET-2	Africa/Johannesburg
+WET-2WET	Europe/Helsinki
+WST-4	Asia/Dubai
+WST-4WDT	Europe/Samara
+Zulu	UTC
--- a/jdk/src/solaris/native/java/util/TimeZone_md.c	Wed Apr 16 12:37:49 2014 +0400
+++ b/jdk/src/solaris/native/java/util/TimeZone_md.c	Wed Apr 16 17:32:39 2014 +0800
@@ -1,5 +1,5 @@
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
  * This code is free software; you can redistribute it and/or modify it
@@ -56,6 +56,9 @@
 static const char *ZONEINFO_DIR = "/usr/share/zoneinfo";
 static const char *DEFAULT_ZONEINFO_FILE = "/etc/localtime";
+#ifdef _AIX
+static const char *ETC_ENVIRONMENT_FILE = "/etc/environment";
 static const char *SYS_INIT_FILE = "/etc/default/init";
 static const char *ZONEINFO_DIR = "/usr/share/lib/zoneinfo";
 static const char *DEFAULT_ZONEINFO_FILE = "/usr/share/lib/zoneinfo/localtime";
@@ -619,8 +622,29 @@
 static char *
-    return NULL;
+    FILE *fp;
+    char *tz = NULL;
+    char *tz_key = "TZ=";
+    char line[256];
+    size_t tz_key_len = strlen(tz_key);
+    if ((fp = fopen(ETC_ENVIRONMENT_FILE, "r")) != NULL) {
+        while (fgets(line, sizeof(line), fp) != NULL) {
+            char *p = strchr(line, '\n');
+            if (p != NULL) {
+                *p = '\0';
+            }
+            if (0 == strncmp(line, tz_key, tz_key_len)) {
+                tz = strdup(line + tz_key_len);
+                break;
+            }
+        }
+        (void) fclose(fp);
+    }
+    return tz;
+static char *mapPlatformToJavaTimezone(const char *java_home_dir, const char *tz);
@@ -678,9 +702,19 @@
         if (freetz != NULL) {
             free((void *) freetz);
+#ifdef _AIX
+        freetz = mapPlatformToJavaTimezone(java_home_dir, javatz);
+        if (javatz != NULL) {
+            free((void *) javatz);
+        }
+        javatz = freetz;
     return javatz;
  * Returns a GMT-offset-based zone ID. (e.g., "GMT-08:00")
@@ -747,3 +781,101 @@
     return strdup(buf);
 #endif /* MACOSX */
+#ifdef _AIX
+static char *
+mapPlatformToJavaTimezone(const char *java_home_dir, const char *tz) {
+    FILE *tzmapf;
+    char mapfilename[PATH_MAX+1];
+    char line[256];
+    int linecount = 0;
+    char temp[100], *temp_tz;
+    char *javatz = NULL;
+    char *str_tmp = NULL;
+    size_t temp_tz_len = 0;
+    /* On AIX, the TZ environment variable may end with a comma
+     * followed by modifier fields. These are ignored here.
+     */
+    strncpy(temp, tz, 100);
+    temp_tz = strtok_r(temp, ",", &str_tmp);
+    if(temp_tz == NULL)
+        goto tzerr;
+    temp_tz_len = strlen(temp_tz);
+    if (strlen(java_home_dir) >= (PATH_MAX - 15)) {
+        jio_fprintf(stderr, "java.home longer than maximum path length \n");
+        goto tzerr;
+    }
+    strncpy(mapfilename, java_home_dir, PATH_MAX);
+    strcat(mapfilename, "/lib/tzmappings");
+    if ((tzmapf = fopen(mapfilename, "r")) == NULL) {
+        jio_fprintf(stderr, "can't open %s\n", mapfilename);
+        goto tzerr;
+    }
+    while (fgets(line, sizeof(line), tzmapf) != NULL) {
+        char *p = line;
+        char *sol = line;
+        char *java;
+        int result;
+        linecount++;
+        /*
+         * Skip comments and blank lines
+         */
+        if (*p == '#' || *p == '\n') {
+            continue;
+        }
+        /*
+         * Get the first field, platform zone ID
+         */
+        while (*p != '\0' && *p != '\t') {
+            p++;
+        }
+        if (*p == '\0') {
+            /* mapping table is broken! */
+            jio_fprintf(stderr, "tzmappings: Illegal format at near line %d.\n", linecount);
+            break;
+        }
+        *p++ = '\0';
+        if ((result = strncmp(temp_tz, sol, temp_tz_len)) == 0) {
+            /*
+             * If this is the current platform zone ID,
+             * take the Java time zone ID (2nd field).
+             */
+            java = p;
+            while (*p != '\0' && *p != '\n') {
+                p++;
+            }
+            if (*p == '\0') {
+                /* mapping table is broken! */
+                jio_fprintf(stderr, "tzmappings: Illegal format at line %d.\n", linecount);
+                break;
+            }
+            *p = '\0';
+            javatz = strdup(java);
+            break;
+        } else if (result < 0) {
+            break;
+        }
+    }
+    (void) fclose(tzmapf);
+    if (javatz == NULL) {
+        return getGMTOffsetID();
+    }
+    return javatz;