summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2005-10-17 05:22:03 +0000
committerRoland McGrath <roland@gnu.org>2005-10-17 05:22:03 +0000
commitb50fedc465a51795afd731e67f72a7eeebebce1b (patch)
tree7c3009db9169b0842002ef05f25bc293f0aedf33
parent7dce326c64d91c0237ae20657d3a65c114627eed (diff)
Updated to fedora-glibc-2_3-20051017T0518
-rw-r--r--ChangeLog182
-rw-r--r--elf/dynamic-link.h22
-rw-r--r--fedora/branch.mk4
-rw-r--r--iconvdata/jis0208.h20
-rw-r--r--include/libc-symbols.h77
-rw-r--r--include/wchar.h1
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/sysdeps/powerpc/tcb-offsets.sym2
-rw-r--r--math/math_private.h14
-rw-r--r--nptl/ChangeLog6
-rw-r--r--nptl/sysdeps/powerpc/tcb-offsets.sym3
-rw-r--r--string/strcoll.c6
-rw-r--r--sysdeps/alpha/dl-machine.h5
-rw-r--r--sysdeps/alpha/fpu/bits/mathinline.h17
-rw-r--r--sysdeps/arm/dl-machine.h25
-rw-r--r--sysdeps/generic/dl-machine.h9
-rw-r--r--sysdeps/generic/wcstoul_l.c4
-rw-r--r--sysdeps/i386/dl-machine.h10
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps188
-rw-r--r--sysdeps/ia64/dl-machine.h3
-rw-r--r--sysdeps/powerpc/fpu/libm-test-ulps63
-rw-r--r--sysdeps/powerpc/powerpc32/dl-machine.h6
-rw-r--r--sysdeps/powerpc/powerpc64/dl-machine.h15
-rw-r--r--sysdeps/s390/s390-32/dl-machine.h9
-rw-r--r--sysdeps/s390/s390-64/dl-machine.h9
-rw-r--r--sysdeps/sh/dl-machine.h8
-rw-r--r--sysdeps/sparc/sparc32/dl-machine.h11
-rw-r--r--sysdeps/sparc/sparc64/dl-machine.h11
-rw-r--r--timezone/Makefile30
-rw-r--r--timezone/africa32
-rw-r--r--timezone/antarctica6
-rw-r--r--timezone/asia147
-rw-r--r--timezone/australasia77
-rw-r--r--timezone/backward25
-rw-r--r--timezone/checktab.awk4
-rw-r--r--timezone/europe167
-rw-r--r--timezone/iso3166.tab4
-rw-r--r--timezone/leapseconds36
-rw-r--r--timezone/northamerica238
-rw-r--r--timezone/private.h31
-rw-r--r--timezone/scheck.c2
-rw-r--r--timezone/solar878
-rw-r--r--timezone/solar888
-rw-r--r--timezone/solar898
-rw-r--r--timezone/southamerica34
-rw-r--r--timezone/test-tz.c2
-rw-r--r--timezone/tst-timezone.c6
-rw-r--r--timezone/tzselect.ksh4
-rwxr-xr-xtimezone/yearistype8
-rw-r--r--timezone/zdump.c47
-rw-r--r--timezone/zic.c44
-rw-r--r--timezone/zone.tab30
-rw-r--r--wcsmbs/wcscoll.c3
53 files changed, 1138 insertions, 598 deletions
diff --git a/ChangeLog b/ChangeLog
index 7d907ffbf6..7bcd7a7b4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,10 @@
forward decl out of function body.
* sysdeps/mach/hurd/profil.c: Likewise.
+2005-09-30 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/i386/fpu/libm-test-ulps: Update for GCC 4.0.x.
+
2005-09-19 Richard Henderson <rth@redhat.com>
[BZ #1358]
@@ -15,6 +19,49 @@
* sysdeps/alpha/ldiv.S (lldiv): Add alias.
+2005-09-17 Andreas Jaeger <aj@suse.de>
+
+ * timezone/zdump.c: Include ctype.h.
+
+2005-09-07 Alexandre Oliva <aoliva@redhat.com>
+
+ * timezone/test-tz.c: Update to match tzdata2005m.
+ * timezone/tst-timezone.c: Likewise.
+
+2005-09-06 Ulrich Drepper <drepper@redhat.com>
+
+ * timezone/africa: Update from tzdata2005m.
+ * timezone/asia: Likewise.
+ * timezone/australasia: Likewise.
+ * timezone/backward: Likewise.
+ * timezone/europe: Likewise.
+ * timezone/northamerica: Likewise.
+ * timezone/southamerica: Likewise.
+ * timezone/zone.tab: Likewise.
+ * timezone/zdump.c: Update from tzcode2005m.
+
+2005-08-05 Ulrich Drepper <drepper@redhat.com>
+
+ * timezone/checktab.awk: Update from tzcode2005k.
+ * timezone/private.h: Likewise.
+ * timezone/scheck.c: Likewise.
+ * timezone/tzselect.ksh: Likewise.
+ * timezone/zdump.c: Likewise.
+ * timezone/zic.c: Likewise.
+ * timezone/africa: Update from tzdata2005k.
+ * timezone/antarctica: Likewise.
+ * timezone/asia: Likewise.
+ * timezone/australasia: Likewise.
+ * timezone/europe: Likewise.
+ * timezone/iso3166.tab: Likewise.
+ * timezone/leapseconds: Likewise.
+ * timezone/northamerica: Likewise.
+ * timezone/solar87: Likewise.
+ * timezone/solar88: Likewise.
+ * timezone/solar89: Likewise.
+ * timezone/southamerica: Likewise.
+ * timezone/zone.tab: Likewise.
+
2005-08-05 Roland McGrath <roland@frob.com>
[BZ #1251]
@@ -30,6 +77,12 @@
[BZ #1137]
* misc/error.c [_LIBC]: Include <stdbool.h> and <stdint.h>.
+2005-09-26 Steven Munroe <sjmunroe@us.ibm.com>
+
+ [BZ #1384]
+ * sysdeps/powerpc/fpu/libm-test-ulps: Adjust expected y1, y1f, yn,
+ ynf results.
+
2005-07-20 Ulrich Drepper <drepper@redhat.com>
[BZ #1138]
@@ -142,6 +195,9 @@
* sysdeps/unix/sysv/linux/powerpc/powerpc32/ftruncate64.c
(__have_no_truncate64): Renamed from have_no_truncate64.
+ * sysdeps/powerpc/fpu/libm-test-ulps: Adjust ulps for complex
+ float functions for gcc 4.
+
2005-06-17 Ulrich Drepper <drepper@redhat.com>
[BZ #1106]
@@ -251,6 +307,15 @@
instead of [SALEN].
(gaih_inet): Likewise.
+2005-04-13 Andreas Schwab <schwab@suse.de>
+
+ [BZ #721]
+ * sysdeps/ia64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE)
+ [PROF]: Open code strong_alias because the original name is not
+ visible to the compiler.
+ * sysdeps/powerpc/powerpc64/dl-machine.h
+ (ELF_MACHINE_RUNTIME_TRAMPOLINE) [PROF]: Likewise.
+
2005-05-06 Jakub Jelinek <jakub@redhat.com>
[BZ #934]
@@ -260,6 +325,10 @@
* posix/regcomp.c (re_compile_internal): Add __libc_lock_init.
* posix/regexec.c (regexec, re_search_stub): Add locking.
+2005-05-03 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/i386/fpu/libm-test-ulps: Adjust for gcc 4.
+
2005-04-29 Jakub Jelinek <jakub@redhat.com>
[BZ #1083]
@@ -453,6 +522,24 @@
* pwd/putpwent.c (putpwent): Don't write 0 as user or
group ID if user name starts with + or -.
+2005-04-29 Roland McGrath <roland@redhat.com>
+
+ * timezone/africa: Update from tzdata2005i.
+ * timezone/asia: Likewise.
+ * timezone/northamerica: Likewise.
+ * timezone/yearistype: Likewise.
+
+2005-04-15 Roland McGrath <roland@redhat.com>
+
+ * timezone/Makefile (zic-deps): New variable.
+ ($(testdata)/America/New_York): Use it instead of explicit deps.
+ ($(testdata)/Etc/UTC, $(testdata)/Australia/Melbourne): Likewise.
+ ($(testdata)/America/Sao_Paulo, $(testdata)/Asia/Tokyo): Likewise.
+ (%/UTC %/Universal): New pattern rule, replaces ...
+ ($(testdata)/UTC, $(testdata)/Universal): ... these removed targets.
+ ($(testdata)/%/Berlin $(testdata)/%/London): New pattern rule.
+ ($(testdata)/Europe/London, $(testdata)/Europe/Berlin): Removed.
+
2005-04-05 Roland McGrath <roland@redhat.com>
* NEWS, version.h (VERSION): 2.3.5.
@@ -689,6 +776,12 @@
* posix/tst-execle1.c (do_test): Fix execle arguments.
* posix/tst-execle2.c (do_test): Likewise.
+2005-03-25 Jakub Jelinek <jakub@redhat.com>
+
+ [BZ #721]
+ * sysdeps/generic/wcstoul_l.c: Include "wcstol_l.c" rather than
+ <wcstol_l.c>.
+
2005-03-23 Jakub Jelinek <jakub@redhat.com>
[BZ #822]
@@ -780,6 +873,13 @@
* elf/unload3mod4.c: Declare foo.
* elf/testobj2.c: Include <stdio.h>.
+2005-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ [BZ #721]
+ * sysdeps/i386/dl-machine.h (ELF_MACHINE_NO_RELA): Define
+ unconditionally to (defined RTLD_BOOTSTRAP).
+ * sysdeps/arm/dl-machine.h (ELF_MACHINE_NO_RELA): Likewise.
+
2005-03-01 H.J. Lu <hongjiu.lu@intel.com>
[BZ #776]
@@ -805,6 +905,47 @@
* elf/unload3mod3.c: New file.
* elf/unload3mod4.c: New file.
+2005-03-16 Richard Henderson <rth@redhat.com>
+
+ [BZ #721]
+ * include/libc-symbols.h (__hidden_proto): Remove bogus declaration
+ of internal.
+ (__hidden_def1, __hidden_dot_def1): Remove.
+ (__hidden_def2, __hidden_def3): Remove.
+ (__hidden_ver1): New.
+ (hidden_ver, hidden_def, hidden_weak): Use it.
+ (hidden_data_ver, hidden_data_ver, hidden_data_weak): Use non-data
+ version of the macro.
+
+ [BZ #721]
+ * include/wchar.h (__wcscoll): Remove.
+ * wcsmbs/wcscoll.c: Define wcscoll directly instead of via __wcscoll.
+ * string/strcoll.c: Don't issue libc_hidden_def STRCOLL redefined.
+
+2005-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ [BZ #721]
+ * elf/dynamic-link.h (elf_machine_rel, elf_machine_rel_relative,
+ elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel):
+ Add inline keyword.
+ * sysdeps/alpha/dl-machine.h (elf_machine_rela,
+ elf_machine_rela_relative, elf_machine_lazy_rel): Add always_inline
+ attribute.
+ * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela,
+ elf_machine_rela_relative, elf_machine_lazy_rel): Likewise. Change
+ static inline into auto inline.
+ * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela,
+ elf_machine_rela_relative, elf_machine_lazy_rel): Likewise.
+ * sysdeps/generic/dl-machine.h (elf_machine_rel, elf_machine_rela):
+ Likewise.
+ * sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rel_relative,
+ elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel):
+ Likewise.
+ * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela,
+ elf_machine_rela_relative, elf_machine_lazy_rel): Likewise.
+ * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela,
+ elf_machine_rela_relative, elf_machine_lazy_rel): Likewise.
+
2005-02-21 Alan Modra <amodra@bigpond.net.au>
[BZ #1394]
@@ -915,6 +1056,19 @@
* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix type of ADDR local.
+2005-02-16 Roland McGrath <roland@redhat.com>
+
+ [BZ #721]
+ * sysdeps/i386/dl-machine.h (ELF_MACHINE_NO_RELA): Define this outside
+ of [RESOLVE].
+ * sysdeps/sh/dl-machine.h (ELF_MACHINE_NO_REL): Likewise.
+
+2005-02-03 Alexandre Oliva <aoliva@redhat.com>
+
+ [BZ #721]
+ * elf/dynamic-link.h: Don't declare nested auto functions that are
+ not going to be defined.
+
2004-07-23 Jakub Jelinek <jakub@redhat.com>
[BZ #284]
@@ -927,6 +1081,18 @@
* sysdeps/mach/hurd/setresgid.c: Use weak_alias.
* sysdeps/mach/hurd/setresuid.c: Likewise.
+2005-02-14 Alan Modra <amodra@bigpond.net.au>
+
+ [BZ #721]
+ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Define
+ with auto inline, and attribute always_inline.
+ (elf_machine_rela_relative, elf_machine_lazy_rel): Likewise.
+ (elf_machine_rel, elf_machine_rel_relative): Likewise.
+ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): Likewise.
+ (elf_machine_rela_relative, elf_machine_lazy_rel): Likewise.
+ (elf_machine_rel, elf_machine_rel_relative): Likewise.
+ (elf_machine_tprel): Likewise.
+
2005-02-09 Jakub Jelinek <jakub@redhat.com>
[BZ #710]
@@ -935,11 +1101,27 @@
* stdlib/tst-random2.c: New test.
Reported by Peter Bergner <bergner@vnet.ibm.com>.
+2005-02-07 Richard Henderson <rth@redhat.com>
+
+ [BZ #721]
+ * iconvdata/jis0208.h (struct jisx0208_ucs_idx): Move before use.
+
2005-02-07 Ulrich Drepper <drepper@redhat.com>
* elf/dl-load.c (_dl_map_object_from_fd): Make sure registers are
set correctly.
+2005-01-07 Richard Henderson <rth@redhat.com>
+
+ [BZ #721]
+ * math/math_private.h (__copysign): Define as builtin for gcc 4.
+ (__copysignf, __copysignl): Likewise.
+ * sysdeps/alpha/fpu/bits/mathinline.h (copysign): Don't define
+ for gcc 4.0.
+ (copysignf, copysignl, fabsf, fabs): Likewise.
+ (__copysign, __copysignf, __copysignl): Remove.
+ (__fabs, __fabsf): Remove.
+
2005-01-07 Jakub Jelinek <jakub@redhat.com>
[BZ #738]
diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h
index f9559dc59c..04235575c5 100644
--- a/elf/dynamic-link.h
+++ b/elf/dynamic-link.h
@@ -1,5 +1,5 @@
/* Inline functions for dynamic linking.
- Copyright (C) 1995-2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 1995-2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -31,26 +31,30 @@
optimizing away alignment tests or using word instructions for
copying memory, breaking the very code written to handle the
unaligned cases. */
-auto void __attribute__((always_inline))
+# if ! ELF_MACHINE_NO_REL
+auto inline void __attribute__((always_inline))
elf_machine_rel (struct link_map *map, const ElfW(Rel) *reloc,
const ElfW(Sym) *sym, const struct r_found_version *version,
void *const reloc_addr);
-auto void __attribute__((always_inline))
+auto inline void __attribute__((always_inline))
+elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc,
+ void *const reloc_addr);
+# endif
+# if ! ELF_MACHINE_NO_RELA
+auto inline void __attribute__((always_inline))
elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
const ElfW(Sym) *sym, const struct r_found_version *version,
void *const reloc_addr);
-auto void __attribute__((always_inline))
-elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc,
- void *const reloc_addr);
-auto void __attribute__((always_inline))
+auto inline void __attribute__((always_inline))
elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
void *const reloc_addr);
+# endif
# if ELF_MACHINE_NO_RELA || defined ELF_MACHINE_PLT_REL
-auto void __attribute__((always_inline))
+auto inline void __attribute__((always_inline))
elf_machine_lazy_rel (struct link_map *map,
ElfW(Addr) l_addr, const ElfW(Rel) *reloc);
# else
-auto void __attribute__((always_inline))
+auto inline void __attribute__((always_inline))
elf_machine_lazy_rel (struct link_map *map,
ElfW(Addr) l_addr, const ElfW(Rela) *reloc);
# endif
diff --git a/fedora/branch.mk b/fedora/branch.mk
index b812790c31..63cadb108d 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -3,5 +3,5 @@ glibc-branch := fedora-2_3
glibc-base := glibc-2_3-branch
DIST_BRANCH := FC-3
COLLECTION := dist-fc3-updates-candidate
-fedora-2_3-sync-date := 2005-10-17 02:59 UTC
-fedora-2_3-sync-tag := fedora-glibc-2_3-20051017T0259
+fedora-2_3-sync-date := 2005-10-17 05:18 UTC
+fedora-2_3-sync-tag := fedora-glibc-2_3-20051017T0518
diff --git a/iconvdata/jis0208.h b/iconvdata/jis0208.h
index 9dea38973c..8255bafc62 100644
--- a/iconvdata/jis0208.h
+++ b/iconvdata/jis0208.h
@@ -1,5 +1,5 @@
/* Access functions for JISX0208 conversion.
- Copyright (C) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1997,1998,1999,2000,2003,2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -24,15 +24,6 @@
#include <gconv.h>
#include <stdint.h>
-/* Conversion table. */
-extern const uint16_t __jis0208_to_ucs[];
-
-extern const char __jisx0208_from_ucs4_lat1[256][2];
-extern const char __jisx0208_from_ucs4_greek[0xc1][2];
-extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[];
-extern const char __jisx0208_from_ucs_tab[][2];
-
-
/* Struct for table with indeces in UCS mapping table. */
struct jisx0208_ucs_idx
{
@@ -42,6 +33,15 @@ struct jisx0208_ucs_idx
};
+/* Conversion table. */
+extern const uint16_t __jis0208_to_ucs[];
+
+extern const char __jisx0208_from_ucs4_lat1[256][2];
+extern const char __jisx0208_from_ucs4_greek[0xc1][2];
+extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[];
+extern const char __jisx0208_from_ucs_tab[][2];
+
+
static inline uint32_t
__attribute ((always_inline))
jisx0208_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index dcc46cc80f..4d4968051e 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -582,78 +582,23 @@ for linking")
# define hidden_proto(name, attrs...) \
__hidden_proto (name, __GI_##name, ##attrs)
# define __hidden_proto(name, internal, attrs...) \
- extern __typeof (name) internal; \
extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
__hidden_proto_hiddenattr (attrs);
# define __hidden_asmname(name) \
__hidden_asmname1 (__USER_LABEL_PREFIX__, name)
# define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name)
# define __hidden_asmname2(prefix, name) #prefix name
-# ifdef HAVE_ASM_SET_DIRECTIVE
-# define __hidden_def1(original, alias) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
- .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
- .set C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
-# else
-# define __hidden_dot_def1(original, alias)
-# endif
-# else
-# define __hidden_def1(original, alias) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP \
- C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define __hidden_dot_def1(original, alias) ASM_LINE_SEP \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
- C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
-# else
-# define __hidden_dot_def1(original, alias)
-# endif
-# endif
-# define __hidden_def2(...) #__VA_ARGS__
-# define __hidden_def3(...) __hidden_def2 (__VA_ARGS__)
-# define hidden_def(name) \
- __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name) \
- __hidden_dot_def1 (__GI_##name, name)));
-# define hidden_data_def(name) \
- __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name)));
-# define hidden_ver(local, name) \
- __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name) \
- __hidden_dot_def1 (local, __GI_##name)));
-# define hidden_data_ver(local, name) \
- __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name)));
-# ifdef HAVE_WEAK_SYMBOLS
-# ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
-# define __hidden_weak1(original, alias) \
- .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
- .weakext C_SYMBOL_DOT_NAME (alias), C_SYMBOL_DOT_NAME (original)
-# else
-# define __hidden_dot_weak1(original, alias)
-# endif
-# else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
-# define __hidden_weak1(original, alias) \
- .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP \
- C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
-# ifdef HAVE_ASM_GLOBAL_DOT_NAME
-# define __hidden_dot_weak1(original, alias) ASM_LINE_SEP \
- .weak C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP \
- C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
-# else
-# define __hidden_dot_weak1(original, alias)
-# endif
-# endif
-# define hidden_weak(name) \
- __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name) \
- __hidden_dot_weak1 (__GI_##name, name)));
-# define hidden_data_weak(name) \
- __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name)));
-# else
-# define hidden_weak(name) hidden_def (name)
-# endif
+# define __hidden_ver1(local, internal, name) \
+ extern __typeof (name) __EI_##name __asm__(__hidden_asmname (#internal)); \
+ extern __typeof (name) __EI_##name \
+ __attribute__((alias (__hidden_asmname (#local))))
+# define hidden_ver(local, name) __hidden_ver1(local, __GI_##name, name);
+# define hidden_data_ver(local, name) hidden_ver(local, name)
+# define hidden_def(name) __hidden_ver1(__GI_##name, name, name);
+# define hidden_data_def(name) hidden_def(name)
+# define hidden_weak(name) \
+ __hidden_ver1(__GI_##name, name, name) __attribute__((weak));
+# define hidden_data_weak(name) hidden_weak(name)
# else
/* For assembly, we need to do the opposite of what we do in C:
in assembly gcc __REDIRECT stuff is not in place, so functions
diff --git a/include/wchar.h b/include/wchar.h
index 73bd4a8fef..0f91114c41 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -56,7 +56,6 @@ extern int __wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2)
extern int __wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
size_t __n)
__attribute_pure__;
-extern int __wcscoll (__const wchar_t *__s1, __const wchar_t *__s2);
extern size_t __wcslen (__const wchar_t *__s) __attribute_pure__;
extern size_t __wcsnlen (__const wchar_t *__s, size_t __maxlen)
__attribute_pure__;
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index f9dedbb503..f89e42d99c 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -4,6 +4,11 @@
* sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Add local _init
and _fini labels.
+2005-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ [BZ #721]
+ * sysdeps/powerpc/tcb-offsets.sym (thread_offsetof): Rework for GCC 4.
+
2005-02-09 Daniel Jacobowitz <dan@codesourcery.com>
[BZ #740]
diff --git a/linuxthreads/sysdeps/powerpc/tcb-offsets.sym b/linuxthreads/sysdeps/powerpc/tcb-offsets.sym
index b526b62336..7c5cca01ea 100644
--- a/linuxthreads/sysdeps/powerpc/tcb-offsets.sym
+++ b/linuxthreads/sysdeps/powerpc/tcb-offsets.sym
@@ -8,7 +8,7 @@
-- Abuse tls.h macros to derive offsets relative to the thread register.
# undef __thread_register
# define __thread_register ((void *) 0)
-# define thread_offsetof(mem) ((void *) &THREAD_SELF->p_##mem - (void *) 0)
+# define thread_offsetof(mem) ((ptrdiff_t) THREAD_SELF + offsetof (struct _pthread_descr_struct, p_##mem))
# else
diff --git a/math/math_private.h b/math/math_private.h
index f545841df0..a6a85d3b1e 100644
--- a/math/math_private.h
+++ b/math/math_private.h
@@ -192,6 +192,10 @@ extern int __kernel_rem_pio2 (double*,double*,int,int,int, const int32_t*);
/* internal functions. */
extern double __copysign (double x, double __y);
+#if __GNUC_PREREQ (4, 0)
+extern inline double __copysign (double x, double y)
+{ return __builtin_copysign (x, y); }
+#endif
/* ieee style elementary float functions */
extern float __ieee754_sqrtf (float);
@@ -235,6 +239,10 @@ extern int __kernel_rem_pio2f (float*,float*,int,int,int, const int32_t*);
/* internal functions. */
extern float __copysignf (float x, float __y);
+#if __GNUC_PREREQ (4, 0)
+extern inline float __copysignf (float x, float y)
+{ return __builtin_copysignf (x, y); }
+#endif
/* ieee style elementary long double functions */
extern long double __ieee754_sqrtl (long double);
@@ -298,6 +306,12 @@ extern long double fabsl (long double x);
extern void __sincosl (long double, long double *, long double *);
extern long double __logbl (long double x);
extern long double __significandl (long double x);
+
+#if __GNUC_PREREQ (4, 0)
+extern inline long double __copysignl (long double x, long double y)
+{ return __builtin_copysignl (x, y); }
+#endif
+
#endif
/* Prototypes for functions of the IBM Accurate Mathematical Library. */
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index db8057a48e..fa40293697 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -47,6 +47,12 @@
* sysdeps/unix/sysv/linux/bits/local_lim.h: Likewise.
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
+2005-02-14 Alan Modra <amodra@bigpond.net.au>
+
+ [BZ #721]
+ * sysdeps/powerpc/tcb-offsets.sym (thread_offsetof): Redefine to suit
+ gcc4.
+
2005-02-07 Richard Henderson <rth@redhat.com>
[BZ #787]
diff --git a/nptl/sysdeps/powerpc/tcb-offsets.sym b/nptl/sysdeps/powerpc/tcb-offsets.sym
index a9701fb5b7..3962edbd54 100644
--- a/nptl/sysdeps/powerpc/tcb-offsets.sym
+++ b/nptl/sysdeps/powerpc/tcb-offsets.sym
@@ -6,7 +6,8 @@
-- Abuse tls.h macros to derive offsets relative to the thread register.
# undef __thread_register
# define __thread_register ((void *) 0)
-# define thread_offsetof(mem) ((void *) &THREAD_SELF->mem - (void *) 0)
+# define thread_offsetof(mem) ((ptrdiff_t) THREAD_SELF + offsetof (struct pthread, mem))
+
#if TLS_MULTIPLE_THREADS_IN_TCB
MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads)
diff --git a/string/strcoll.c b/string/strcoll.c
index 8a73cae564..8e8fdc7792 100644
--- a/string/strcoll.c
+++ b/string/strcoll.c
@@ -23,6 +23,7 @@
# define STRING_TYPE char
# define STRCOLL strcoll
# define STRCOLL_L __strcoll_l
+# define USE_HIDDEN_DEF
#endif
#include "../locale/localeinfo.h"
@@ -35,6 +36,7 @@ STRCOLL (s1, s2)
{
return STRCOLL_L (s1, s2, _NL_CURRENT_LOCALE);
}
-#if !defined WIDE_CHAR_VERSION
-libc_hidden_def (strcoll)
+
+#ifdef USE_HIDDEN_DEF
+libc_hidden_def (STRCOLL)
#endif
diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h
index 780a3a57fd..09f854554f 100644
--- a/sysdeps/alpha/dl-machine.h
+++ b/sysdeps/alpha/dl-machine.h
@@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. Alpha version.
- Copyright (C) 1996-2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 1996-2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson <rth@tamu.edu>.
@@ -508,6 +508,7 @@ elf_machine_plt_value (struct link_map *map, const Elf64_Rela *reloc,
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
MAP is the object containing the reloc. */
auto inline void
+__attribute__ ((always_inline))
elf_machine_rela (struct link_map *map,
const Elf64_Rela *reloc,
const Elf64_Sym *sym,
@@ -646,6 +647,7 @@ elf_machine_rela (struct link_map *map,
#define ELF_MACHINE_REL_RELATIVE 1
auto inline void
+__attribute__ ((always_inline))
elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
void *const reloc_addr_arg)
{
@@ -662,6 +664,7 @@ elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
}
auto inline void
+__attribute__ ((always_inline))
elf_machine_lazy_rel (struct link_map *map,
Elf64_Addr l_addr, const Elf64_Rela *reloc)
{
diff --git a/sysdeps/alpha/fpu/bits/mathinline.h b/sysdeps/alpha/fpu/bits/mathinline.h
index 187bd42f33..87d40058c3 100644
--- a/sysdeps/alpha/fpu/bits/mathinline.h
+++ b/sysdeps/alpha/fpu/bits/mathinline.h
@@ -46,7 +46,8 @@
#if (!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \
&& defined __OPTIMIZE__
-#define __inline_copysign(NAME, TYPE) \
+#if !__GNUC_PREREQ (4, 0)
+# define __inline_copysign(NAME, TYPE) \
__MATH_INLINE TYPE \
__NTH (NAME (TYPE __x, TYPE __y)) \
{ \
@@ -60,19 +61,11 @@ __inline_copysign (copysignf, float)
__inline_copysign (__copysign, double)
__inline_copysign (copysign, double)
-#undef __MATH_INLINE_copysign
+# undef __inline_copysign
+#endif
-#if __GNUC_PREREQ (2, 8)
-__MATH_INLINE float
-__NTH (__fabsf (float __x)) { return __builtin_fabsf (__x); }
-__MATH_INLINE float
-__NTH (fabsf (float __x)) { return __builtin_fabsf (__x); }
-__MATH_INLINE double
-__NTH (__fabs (double __x)) { return __builtin_fabs (__x); }
-__MATH_INLINE double
-__NTH (fabs (double __x)) { return __builtin_fabs (__x); }
-#else
+#if !__GNUC_PREREQ (2, 8)
# define __inline_fabs(NAME, TYPE) \
__MATH_INLINE TYPE \
__NTH (NAME (TYPE __x)) \
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
index 761f8daeaa..0b4f7156d1 100644
--- a/sysdeps/arm/dl-machine.h
+++ b/sysdeps/arm/dl-machine.h
@@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. ARM version.
- Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -350,13 +350,11 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rel *reloc,
#endif /* !dl_machine_h */
-#ifdef RESOLVE
-
/* ARM never uses Elf32_Rela relocations for the dynamic linker.
Prelinked libraries may use Elf32_Rela though. */
-# ifdef RTLD_BOOTSTRAP
-# define ELF_MACHINE_NO_RELA 1
-# endif
+#define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP
+
+#ifdef RESOLVE
/* Deal with an out-of-range PC24 reloc. */
static Elf32_Addr
@@ -392,7 +390,8 @@ fix_bad_pc24 (Elf32_Addr *const reloc_addr, Elf32_Addr value)
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
MAP is the object containing the reloc. */
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
const Elf32_Sym *sym, const struct r_found_version *version,
void *const reloc_addr_arg)
@@ -517,7 +516,8 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
}
# ifndef RTLD_BOOTSTRAP
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
const Elf32_Sym *sym, const struct r_found_version *version,
void *const reloc_addr_arg)
@@ -597,7 +597,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
}
# endif
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
void *const reloc_addr_arg)
{
@@ -606,7 +607,8 @@ elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
}
# ifndef RTLD_BOOTSTRAP
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
void *const reloc_addr_arg)
{
@@ -615,7 +617,8 @@ elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
}
# endif
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_lazy_rel (struct link_map *map,
Elf32_Addr l_addr, const Elf32_Rel *reloc)
{
diff --git a/sysdeps/generic/dl-machine.h b/sysdeps/generic/dl-machine.h
index 8b4425cea4..c3459f5e32 100644
--- a/sysdeps/generic/dl-machine.h
+++ b/sysdeps/generic/dl-machine.h
@@ -1,5 +1,6 @@
/* Machine-dependent ELF dynamic relocation inline functions. Stub version.
- Copyright (C) 1995,1996,1997,1999,2000,2001 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1999, 2000, 2001, 2005
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -64,7 +65,8 @@ elf_machine_fixup_plt (struct link_map *map, lookup_t t,
LOADADDR is the load address of the object; INFO is an array indexed
by DT_* of the .dynamic section info. */
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rel (Elf32_Addr loadaddr, Elf32_Dyn *info[DT_NUM],
const Elf32_Rel *reloc, const Elf32_Sym *sym,
Elf32_Addr (*resolve) (const Elf32_Sym **ref,
@@ -87,7 +89,8 @@ elf_machine_rel (Elf32_Addr loadaddr, Elf32_Dyn *info[DT_NUM],
}
-static inline Elf32_Addr
+auto inline Elf32_Addr
+__attribute__ ((always_inline))
elf_machine_rela (Elf32_Addr loadaddr, Elf32_Dyn *info[DT_NUM],
const Elf32_Rel *reloc, const Elf32_Sym *sym,
Elf32_Addr (*resolve) (const Elf32_Sym **ref,
diff --git a/sysdeps/generic/wcstoul_l.c b/sysdeps/generic/wcstoul_l.c
index eeee1f0baa..25058de817 100644
--- a/sysdeps/generic/wcstoul_l.c
+++ b/sysdeps/generic/wcstoul_l.c
@@ -1,5 +1,5 @@
/* Convert string representing a number to integer value, using given locale.
- Copyright (C) 1997, 2002, 2004 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -27,4 +27,4 @@
extern unsigned long int ____wcstoul_l_internal (const wchar_t *, wchar_t **,
int, int, __locale_t);
-#include <wcstol_l.c>
+#include "wcstol_l.c"
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h
index af7e3f1bba..809fbc546a 100644
--- a/sysdeps/i386/dl-machine.h
+++ b/sysdeps/i386/dl-machine.h
@@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. i386 version.
- Copyright (C) 1995-2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 1995-2002,2003,2004,2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -387,13 +387,11 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rel *reloc,
#endif /* !dl_machine_h */
-#ifdef RESOLVE
-
/* The i386 never uses Elf32_Rela relocations for the dynamic linker.
Prelinked libraries may use Elf32_Rela though. */
-#ifdef RTLD_BOOTSTRAP
-# define ELF_MACHINE_NO_RELA 1
-#endif
+#define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP
+
+#ifdef RESOLVE
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
MAP is the object containing the reloc. */
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 71c1ab5d8e..e5a4cdf7ed 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -7,20 +7,20 @@ ldouble: 1
# asin
Test "asin (-0.5) == -pi/6":
-ldouble: 1
ildouble: 1
-Test "asin (-1.0) == -pi/2":
ldouble: 1
+Test "asin (-1.0) == -pi/2":
ildouble: 1
-Test "asin (0.5) == pi/6":
ldouble: 1
+Test "asin (0.5) == pi/6":
ildouble: 1
-Test "asin (0.75) == 0.848062078981481008052944338998418080":
ldouble: 1
+Test "asin (0.75) == 0.848062078981481008052944338998418080":
ildouble: 1
-Test "asin (1.0) == pi/2":
ldouble: 1
+Test "asin (1.0) == pi/2":
ildouble: 1
+ldouble: 1
# atanh
Test "atanh (0.75) == 0.972955074527656652552676371721589865":
@@ -44,11 +44,11 @@ ildouble: 6
ldouble: 6
Test "Imaginary part of: cacosh (-2 - 3 i) == -1.9833870299165354323470769028940395 + 2.1414491111159960199416055713254211 i":
double: 1
+float: 4
idouble: 1
+ifloat: 4
ildouble: 1
ldouble: 1
-ifloat: 4
-float: 4
Test "Real part of: cacosh (0.75 + 1.25 i) == 1.13239363160530819522266333696834467 + 1.11752014915610270578240049553777969 i":
ildouble: 1
ldouble: 1
@@ -149,7 +149,9 @@ float: 1
idouble: 1
ifloat: 1
Test "Imaginary part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
+double: 1
float: 1
+idouble: 1
ifloat: 1
# cexp
@@ -354,7 +356,9 @@ ifloat: 1
ildouble: 2
ldouble: 2
Test "Real part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
@@ -377,7 +381,9 @@ Test "Real part of: ctan (0.75 + 1.25 i) == 0.1608077859162064267251660581734386
ildouble: 1
ldouble: 1
Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 3
ldouble: 3
@@ -395,7 +401,9 @@ Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
float: 1
ifloat: 1
Test "Real part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
+double: 1
float: 1
+idouble: 1
ifloat: 1
Test "Imaginary part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
double: 1
@@ -473,24 +481,26 @@ float: 1
# j0
Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
+ifloat: 2
ildouble: 1
ldouble: 1
Test "j0 (10.0) == -0.245935764451348335197760862485328754":
-double: 1
+double: 3
float: 1
-idouble: 1
+idouble: 3
ifloat: 1
Test "j0 (2.0) == 0.223890779141235668051827454649948626":
+double: 1
float: 1
+idouble: 1
ifloat: 1
Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
+ifloat: 2
ildouble: 1
ldouble: 1
Test "j0 (8.0) == 0.171650807137553906090869407851972001":
@@ -498,22 +508,23 @@ float: 1
ifloat: 1
# j1
+Test "j1 (0.75) == 0.349243602174862192523281016426251335":
+double: 1
+idouble: 1
Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "j1 (0.75) == 0.349243602174862192523281016426251335":
-double: 1
-idouble: 1
Test "j1 (2.0) == 0.576724807756873387202448242269137087":
double: 1
idouble: 1
-Test "j1 (0.75) == 0.349243602174862192523281016426251335":
-double: 1
-idouble: 1
Test "j1 (8.0) == 0.234636346853914624381276651590454612":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
@@ -521,24 +532,26 @@ ldouble: 1
# jn
Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
+ifloat: 2
ildouble: 1
ldouble: 1
Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
-double: 1
+double: 3
float: 1
-idouble: 1
+idouble: 3
ifloat: 1
Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
+double: 1
float: 1
+idouble: 1
ifloat: 1
Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
+ifloat: 2
ildouble: 1
ldouble: 1
Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
@@ -548,7 +561,9 @@ Test "jn (1, 0.75) == 0.349243602174862192523281016426251335":
double: 1
idouble: 1
Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
@@ -556,22 +571,24 @@ Test "jn (1, 2.0) == 0.576724807756873387202448242269137087":
double: 1
idouble: 1
Test "jn (1, 8.0) == 0.234636346853914624381276651590454612":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "jn (10, -1.0) == 0.263061512368745320699785368779050294e-9":
double: 1
+float: 1
idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
-ifloat: 1
-float: 1
Test "jn (10, 0.125) == 0.250543369809369890173993791865771547e-18":
-float: 1
-ifloat: 1
double: 1
+float: 1
idouble: 1
+ifloat: 1
Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
float: 1
ifloat: 1
@@ -579,46 +596,46 @@ ildouble: 2
ldouble: 2
Test "jn (10, 1.0) == 0.263061512368745320699785368779050294e-9":
double: 1
+float: 1
idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
-ifloat: 1
-float: 1
Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
-double: 2
+double: 5
float: 2
-idouble: 2
+idouble: 5
ifloat: 2
ildouble: 2
ldouble: 2
Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
+double: 2
+idouble: 2
ildouble: 1
ldouble: 1
-idouble: 2
-double: 2
Test "jn (3, -1.0) == -0.0195633539826684059189053216217515083":
ildouble: 1
ldouble: 1
Test "jn (3, 0.75) == 0.848438342327410884392755236884386804e-2":
-float: 1
-ifloat: 1
double: 1
+float: 1
idouble: 1
+ifloat: 1
Test "jn (3, 1.0) == 0.0195633539826684059189053216217515083":
ildouble: 1
ldouble: 1
Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
-double: 1
+double: 5
float: 2
-idouble: 1
+idouble: 5
ifloat: 2
ildouble: 1
ldouble: 1
Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
-ildouble: 1
-ldouble: 1
double: 1
idouble: 1
+ildouble: 1
+ldouble: 1
# lgamma
Test "lgamma (-0.5) == log(2*sqrt(pi))":
@@ -627,10 +644,10 @@ idouble: 1
ildouble: 1
ldouble: 1
Test "lgamma (0.7) == 0.260867246531666514385732417016759578":
-float: 1
-ifloat: 1
double: 1
+float: 1
idouble: 1
+ifloat: 1
Test "lgamma (1.2) == -0.853740900033158497197028392998854470e-1":
double: 1
float: 2
@@ -677,6 +694,7 @@ ldouble: 1
# sinh
Test "sinh (0.75) == 0.822316731935829980703661634446913849":
+double: 1
ildouble: 1
# tan
@@ -714,32 +732,39 @@ float: 1
idouble: 1
ifloat: 1
Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
ildouble: 1
ldouble: 1
-ifloat: 1
+Test "y0 (1.5) == 0.382448923797758843955068554978089862":
+double: 1
float: 1
-double: 2
-idouble: 2
+idouble: 1
+ifloat: 1
Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "y0 (8.0) == 0.223521489387566220527323400498620359":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
-Test "y0 (1.5) == 0.382448923797758843955068554978089862":
-float: 1
-ifloat: 1
-double: 1
-idouble: 1
# y1
Test "y1 (0.125) == -5.19993611253477499595928744876579921":
ildouble: 1
ldouble: 1
+Test "y1 (1.0) == -0.781212821300288716547150000047964821":
+double: 1
+idouble: 1
Test "y1 (10.0) == 0.249015424206953883923283474663222803":
double: 2
float: 2
@@ -753,13 +778,12 @@ ifloat: 2
ildouble: 1
ldouble: 1
Test "y1 (8.0) == -0.158060461731247494255555266187483550":
+double: 1
float: 2
+idouble: 1
ifloat: 2
ildouble: 1
ldouble: 1
-Test "y1 (1.0) == -0.781212821300288716547150000047964821":
-double: 1
-idouble: 1
# yn
Test "yn (0, 0.125) == -1.38968062514384052915582277745018693":
@@ -771,24 +795,28 @@ float: 1
idouble: 1
ifloat: 1
Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
-ildouble: 1
-ldouble: 1
-ifloat: 1
-float: 1
double: 2
+float: 1
idouble: 2
-Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
ifloat: 1
-float: 1
+ildouble: 1
+ldouble: 1
+Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
double: 1
+float: 1
idouble: 1
+ifloat: 1
Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "yn (0, 8.0) == 0.223521489387566220527323400498620359":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
@@ -796,8 +824,8 @@ Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
ildouble: 1
ldouble: 1
Test "yn (1, 1.0) == -0.781212821300288716547150000047964821":
-idouble: 1
double: 1
+idouble: 1
Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
double: 2
float: 2
@@ -811,13 +839,12 @@ ifloat: 2
ildouble: 1
ldouble: 1
Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
+double: 1
float: 2
+idouble: 1
ifloat: 2
ildouble: 1
ldouble: 1
-Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
-ifloat: 1
-float: 1
Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
double: 1
float: 1
@@ -841,10 +868,10 @@ float: 3
idouble: 1
ifloat: 3
Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
-float: 3
-ifloat: 3
double: 2
+float: 3
idouble: 2
+ifloat: 3
Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
ildouble: 1
ldouble: 1
@@ -855,12 +882,12 @@ idouble: 1
ifloat: 1
ildouble: 2
ldouble: 2
-Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
-float: 1
-ifloat: 1
+Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
double: 1
+float: 1
idouble: 1
-Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
+ifloat: 1
+Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
double: 1
float: 1
idouble: 1
@@ -872,8 +899,8 @@ ildouble: 622
ldouble: 622
Function: "asin":
-ldouble: 1
ildouble: 1
+ldouble: 1
Function: "atanh":
ildouble: 2
@@ -895,11 +922,11 @@ ldouble: 6
Function: Imaginary part of "cacosh":
double: 1
+float: 4
idouble: 1
+ifloat: 4
ildouble: 1
ldouble: 1
-ifloat: 4
-float: 4
Function: Real part of "casin":
double: 1
@@ -1073,7 +1100,9 @@ ildouble: 3
ldouble: 3
Function: Real part of "ctanh":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 5
ldouble: 5
@@ -1115,10 +1144,10 @@ Function: "hypot":
float: 1
Function: "j0":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
ildouble: 1
ldouble: 1
@@ -1131,9 +1160,9 @@ ildouble: 1
ldouble: 1
Function: "jn":
-double: 2
+double: 5
float: 2
-idouble: 2
+idouble: 5
ifloat: 2
ildouble: 2
ldouble: 2
@@ -1165,6 +1194,7 @@ ildouble: 1
ldouble: 1
Function: "sinh":
+double: 1
ildouble: 1
Function: "tan":
diff --git a/sysdeps/ia64/dl-machine.h b/sysdeps/ia64/dl-machine.h
index 3108047869..056e40f599 100644
--- a/sysdeps/ia64/dl-machine.h
+++ b/sysdeps/ia64/dl-machine.h
@@ -264,7 +264,8 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
#else
#define ELF_MACHINE_RUNTIME_TRAMPOLINE \
TRAMPOLINE_TEMPLATE (_dl_runtime_resolve, fixup); \
- strong_alias (_dl_runtime_resolve, _dl_runtime_profile);
+ asm (".globl _dl_runtime_profile\n" \
+ ".set _dl_runtime_profile, _dl_runtime_resolve");
#endif
/* Undo the adds out0 = 16, sp below to get at the value we want in
diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps
index 6dd3940d22..272431307c 100644
--- a/sysdeps/powerpc/fpu/libm-test-ulps
+++ b/sysdeps/powerpc/fpu/libm-test-ulps
@@ -2,17 +2,14 @@
# atan2
Test "atan2 (-0.75, -1.0) == -2.49809154479650885165983415456218025":
-float: 3
-ifloat: 3
+float: 1
+ifloat: 1
Test "atan2 (0.75, -1.0) == 2.49809154479650885165983415456218025":
-float: 3
-ifloat: 3
+float: 1
+ifloat: 1
Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772":
float: 1
ifloat: 1
-Test "atan2 (-0.00756827042671106339, -.001792735857538728036) == -1.80338464113663849327153994379639112":
-float: 6
-ifloat: 6
# atanh
Test "atanh (0.75) == 0.972955074527656652552676371721589865":
@@ -226,9 +223,9 @@ idouble: 2
ifloat: 3
Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
double: 1
-float: 4
+float: 5
idouble: 1
-ifloat: 4
+ifloat: 5
Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
float: 2
ifloat: 2
@@ -351,6 +348,9 @@ double: 1
float: 1
idouble: 1
ifloat: 1
+Test "j0 (2.0) == 0.223890779141235668051827454649948626":
+float: 2
+ifloat: 2
Test "j0 (10.0) == -0.245935764451348335197760862485328754":
double: 2
float: 1
@@ -382,6 +382,9 @@ double: 1
float: 1
idouble: 1
ifloat: 1
+Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
+float: 2
+ifloat: 2
Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
double: 2
float: 1
@@ -418,8 +421,8 @@ Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
float: 1
ifloat: 1
Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
-float: 3
-ifloat: 3
+float: 4
+ifloat: 4
Test "jn (3, 0.125) == 0.406503832554912875023029337653442868e-4":
double: 1
float: 1
@@ -435,9 +438,9 @@ idouble: 3
ifloat: 1
Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
double: 1
-float: 1
+float: 2
idouble: 1
-ifloat: 1
+ifloat: 2
# lgamma
Test "lgamma (0.7) == 0.260867246531666514385732417016759578":
@@ -532,6 +535,12 @@ idouble: 1
ifloat: 1
# y1
+Test "y1 (0.125) == -5.19993611253477499595928744876579921":
+double: 1
+idouble: 1
+Test "y1 (1.5) == -0.412308626973911295952829820633445323":
+float: 1
+ifloat: 1
Test "y1 (10.0) == 0.249015424206953883923283474663222803":
double: 3
float: 1
@@ -572,6 +581,12 @@ double: 1
float: 1
idouble: 1
ifloat: 1
+Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
+double: 1
+idouble: 1
+Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
+float: 2
+ifloat: 2
Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
double: 3
float: 1
@@ -587,6 +602,12 @@ double: 1
float: 2
idouble: 1
ifloat: 2
+Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
+double: 1
+idouble: 1
+Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
+double: 1
+idouble: 1
Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
double: 1
float: 2
@@ -617,8 +638,8 @@ idouble: 1
# Maximal error of functions:
Function: "atan2":
-float: 6
-ifloat: 6
+float: 1
+ifloat: 1
Function: "atanh":
float: 1
@@ -730,9 +751,9 @@ ifloat: 1
Function: Real part of "cpow":
double: 2
-float: 4
+float: 5
idouble: 2
-ifloat: 4
+ifloat: 5
Function: Imaginary part of "cpow":
double: 2
@@ -800,9 +821,9 @@ ifloat: 1
Function: "j0":
double: 2
-float: 1
+float: 2
idouble: 2
-ifloat: 1
+ifloat: 2
Function: "j1":
double: 1
@@ -812,9 +833,9 @@ ifloat: 2
Function: "jn":
double: 3
-float: 3
+float: 4
idouble: 3
-ifloat: 3
+ifloat: 4
Function: "lgamma":
double: 1
diff --git a/sysdeps/powerpc/powerpc32/dl-machine.h b/sysdeps/powerpc/powerpc32/dl-machine.h
index a8c1e3e490..a5c5ebb2a2 100644
--- a/sysdeps/powerpc/powerpc32/dl-machine.h
+++ b/sysdeps/powerpc/powerpc32/dl-machine.h
@@ -455,7 +455,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
}
}
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
void *const reloc_addr_arg)
{
@@ -463,7 +464,8 @@ elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
*reloc_addr = l_addr + reloc->r_addend;
}
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_lazy_rel (struct link_map *map,
Elf32_Addr l_addr, const Elf32_Rela *reloc)
{
diff --git a/sysdeps/powerpc/powerpc64/dl-machine.h b/sysdeps/powerpc/powerpc64/dl-machine.h
index 3fcf77df71..aaec82193e 100644
--- a/sysdeps/powerpc/powerpc64/dl-machine.h
+++ b/sysdeps/powerpc/powerpc64/dl-machine.h
@@ -190,8 +190,8 @@ BODY_PREFIX #tramp_name ":\n" \
#else
#define ELF_MACHINE_RUNTIME_TRAMPOLINE \
TRAMPOLINE_TEMPLATE (_dl_runtime_resolve, fixup); \
- void _dl_runtime_resolve (void); \
- strong_alias (_dl_runtime_resolve, _dl_profile_resolve);
+ asm (".globl _dl_profile_resolve\n" \
+ ".set _dl_profile_resolve, _dl_runtime_resolve");
#endif
#ifdef HAVE_INLINED_SYSCALLS
@@ -567,7 +567,8 @@ extern void _dl_reloc_overflow (struct link_map *map,
const Elf64_Sym *refsym)
attribute_hidden;
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
void *const reloc_addr_arg)
{
@@ -577,7 +578,7 @@ elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
#if defined USE_TLS && (!defined RTLD_BOOTSTRAP || USE___THREAD)
/* This computes the value used by TPREL* relocs. */
-static Elf64_Addr __attribute__ ((const))
+auto inline Elf64_Addr __attribute__ ((always_inline, const))
elf_machine_tprel (struct link_map *map,
struct link_map *sym_map,
const Elf64_Sym *sym,
@@ -598,7 +599,8 @@ elf_machine_tprel (struct link_map *map,
/* Perform the relocation specified by RELOC and SYM (which is fully
resolved). MAP is the object containing the reloc. */
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela (struct link_map *map,
const Elf64_Rela *reloc,
const Elf64_Sym *sym,
@@ -883,7 +885,8 @@ elf_machine_rela (struct link_map *map,
MODIFIED_CODE_NOQUEUE (reloc_addr);
}
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_lazy_rel (struct link_map *map,
Elf64_Addr l_addr, const Elf64_Rela *reloc)
{
diff --git a/sysdeps/s390/s390-32/dl-machine.h b/sysdeps/s390/s390-32/dl-machine.h
index 52922a813b..6e277ff7f1 100644
--- a/sysdeps/s390/s390-32/dl-machine.h
+++ b/sysdeps/s390/s390-32/dl-machine.h
@@ -383,7 +383,8 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc,
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
MAP is the object containing the reloc. */
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
const Elf32_Sym *sym, const struct r_found_version *version,
void *const reloc_addr_arg)
@@ -539,7 +540,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
}
}
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
void *const reloc_addr_arg)
{
@@ -547,7 +549,8 @@ elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
*reloc_addr = l_addr + reloc->r_addend;
}
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_lazy_rel (struct link_map *map,
Elf32_Addr l_addr, const Elf32_Rela *reloc)
{
diff --git a/sysdeps/s390/s390-64/dl-machine.h b/sysdeps/s390/s390-64/dl-machine.h
index 82ece0be0f..62f13355e9 100644
--- a/sysdeps/s390/s390-64/dl-machine.h
+++ b/sysdeps/s390/s390-64/dl-machine.h
@@ -350,7 +350,8 @@ elf_machine_plt_value (struct link_map *map, const Elf64_Rela *reloc,
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
MAP is the object containing the reloc. */
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
const Elf64_Sym *sym, const struct r_found_version *version,
void *const reloc_addr_arg)
@@ -518,7 +519,8 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
}
}
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
void *const reloc_addr_arg)
{
@@ -526,7 +528,8 @@ elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
*reloc_addr = l_addr + reloc->r_addend;
}
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_lazy_rel (struct link_map *map,
Elf64_Addr l_addr, const Elf64_Rela *reloc)
{
diff --git a/sysdeps/sh/dl-machine.h b/sysdeps/sh/dl-machine.h
index 271666a2a3..0ef98c4123 100644
--- a/sysdeps/sh/dl-machine.h
+++ b/sysdeps/sh/dl-machine.h
@@ -1,6 +1,6 @@
/* Machine-dependent ELF dynamic relocation inline functions. SH version.
- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
- Free Software Foundation, Inc.
+ Copyright (C) 1999,2000,2001,2002,2003,2004,2005
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -512,11 +512,11 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc,
#endif /* !dl_machine_h */
-#ifdef RESOLVE
-
/* SH never uses Elf32_Rel relocations. */
#define ELF_MACHINE_NO_REL 1
+#ifdef RESOLVE
+
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
MAP is the object containing the reloc. */
diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h
index 52fc6329dd..d0af232d48 100644
--- a/sysdeps/sparc/sparc32/dl-machine.h
+++ b/sysdeps/sparc/sparc32/dl-machine.h
@@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. SPARC version.
- Copyright (C) 1996-2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 1996-2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -411,7 +411,8 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc,
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
MAP is the object containing the reloc. */
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
const Elf32_Sym *sym, const struct r_found_version *version,
void *const reloc_addr_arg)
@@ -593,7 +594,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
}
}
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
void *const reloc_addr_arg)
{
@@ -601,7 +603,8 @@ elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
*reloc_addr += l_addr + reloc->r_addend;
}
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_lazy_rel (struct link_map *map,
Elf32_Addr l_addr, const Elf32_Rela *reloc)
{
diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h
index 474aa0e6e6..72b88e235c 100644
--- a/sysdeps/sparc/sparc64/dl-machine.h
+++ b/sysdeps/sparc/sparc64/dl-machine.h
@@ -1,5 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. Sparc64 version.
- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -238,7 +238,8 @@ elf_machine_plt_value (struct link_map *map, const Elf64_Rela *reloc,
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
MAP is the object containing the reloc. */
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
const Elf64_Sym *sym, const struct r_found_version *version,
void *const reloc_addr_arg)
@@ -430,7 +431,8 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
}
}
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
void *const reloc_addr_arg)
{
@@ -438,7 +440,8 @@ elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
*reloc_addr = l_addr + reloc->r_addend;
}
-static inline void
+auto inline void
+__attribute__ ((always_inline))
elf_machine_lazy_rel (struct link_map *map,
Elf64_Addr l_addr, const Elf64_Rela *reloc)
{
diff --git a/timezone/Makefile b/timezone/Makefile
index cf2c7d7f42..9947d45b17 100644
--- a/timezone/Makefile
+++ b/timezone/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1998,1999,2000,2002,2005 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -190,28 +190,24 @@ $(objpfx)tst-timezone.out: $(addprefix $(testdata)/, \
test-tz-ENV = TZDIR=$(testdata)
tst-timezone-ENV = TZDIR=$(testdata)
-$(testdata)/America/New_York: northamerica $(objpfx)zic $(leapseconds) \
- yearistype
- $(build-testdata)
-$(testdata)/Etc/UTC: etcetera $(objpfx)zic $(leapseconds) yearistype
- $(build-testdata)
-$(testdata)/UTC: simplebackw $(objpfx)zic $(testdata)/Etc/UTC \
- $(leapseconds) yearistype
+# Note this must come second in the deps list for $(built-program-cmd) to work.
+zic-deps = $(objpfx)zic $(leapseconds) yearistype
+
+$(testdata)/America/New_York: northamerica $(zic-deps)
$(build-testdata)
-$(testdata)/Europe/Berlin: europe $(objpfx)zic $(leapseconds) yearistype
+$(testdata)/Etc/UTC: etcetera $(zic-deps)
$(build-testdata)
-$(testdata)/Universal: simplebackw $(objpfx)zic $(testdata)/Etc/UTC \
- $(leapseconds) yearistype
+# Use a pattern rule to indicate the command produces both targets at once.
+# Two separate targets built separately can collide if in parallel.
+%/UTC %/Universal: simplebackw $(zic-deps) %/Etc/UTC
$(build-testdata)
-$(testdata)/Australia/Melbourne: australasia $(objpfx)zic $(leapseconds) \
- yearistype
+$(testdata)/%/Berlin $(testdata)/%/London: europe $(zic-deps)
$(build-testdata)
-$(testdata)/America/Sao_Paulo: southamerica $(objpfx)zic $(leapseconds) \
- yearistype
+$(testdata)/Australia/Melbourne: australasia $(zic-deps)
$(build-testdata)
-$(testdata)/Asia/Tokyo: asia $(objpfx)zic $(leapseconds) yearistype
+$(testdata)/America/Sao_Paulo: southamerica $(zic-deps)
$(build-testdata)
-$(testdata)/Europe/London: europe $(objpfx)zic $(leapseconds) yearistype
+$(testdata)/Asia/Tokyo: asia $(zic-deps)
$(build-testdata)
diff --git a/timezone/africa b/timezone/africa
index e8223f78f5..87ae9e36e5 100644
--- a/timezone/africa
+++ b/timezone/africa
@@ -1,10 +1,10 @@
-# @(#)africa 7.36
+# @(#)africa 7.39
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future).
-# From Paul Eggert <eggert@twinsun.com> (1999-03-22):
+# From Paul Eggert (1999-03-22):
#
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (5th edition),
@@ -28,7 +28,7 @@
#
# Previous editions of this database used WAT, CAT, SAT, and EAT
# for +0:00 through +3:00, respectively,
-# but Mark R V Murray <markm@grondar.za> reports that
+# but Mark R V Murray reports that
# `SAST' is the official abbreviation for +2:00 in the country of South Africa,
# `CAT' is commonly used for +2:00 in countries north of South Africa, and
# `WAT' is probably the best name for +1:00, as the common phrase for
@@ -287,7 +287,7 @@ Zone Africa/Maseru 1:50:00 - LMT 1903 Mar
2:00 - SAST
# Liberia
-# From Paul Eggert <eggert@twinsun.com> (2001-07-17):
+# From Paul Eggert (2001-07-17):
# In 1972 Liberia was the last country to switch
# from a UTC offset that was not a multiple of 15 or 20 minutes.
# Howse reports that it was in honor of their president's birthday.
@@ -317,7 +317,7 @@ Rule Libya 1985 only - Apr 6 0:00 1:00 S
Rule Libya 1986 only - Apr 4 0:00 1:00 S
Rule Libya 1986 only - Oct 3 0:00 0 -
Rule Libya 1987 1989 - Apr 1 0:00 1:00 S
-Rule Libya 1987 1990 - Oct 1 0:00 0 -
+Rule Libya 1987 1989 - Oct 1 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Tripoli 0:52:44 - LMT 1920
1:00 Libya CE%sT 1959
@@ -348,9 +348,6 @@ Zone Africa/Bamako -0:32:00 - LMT 1912
0:00 - GMT 1934 Feb 26
-1:00 - WAT 1960 Jun 20
0:00 - GMT
-# no longer different from Bamako, but too famous to omit
-Zone Africa/Timbuktu -0:12:04 - LMT 1912
- 0:00 - GMT
# Mauritania
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@@ -557,6 +554,23 @@ Zone Africa/Lome 0:04:52 - LMT 1893
0:00 - GMT
# Tunisia
+
+# From Gwillim Law (2005-04-30):
+#
+# My correspondent, Risto Nykanen, has alerted me to another adoption of DST,
+# this time in Tunisia. According to Yahoo France News
+# <http://fr.news.yahoo.com/050426/5/4dumk.html>, in a story attributed to AP
+# and dated 2005-04-26, "Tunisia has decided to advance its official time by
+# one hour, starting on Sunday, May 1. Henceforth, Tunisian time will be
+# UTC+2 instead of UTC+1. The change will take place at 23:00 UTC next
+# Saturday." (My translation)
+#
+# From Oscar van Vlijmen (2005-05-02):
+# LaPresse, the first national daily newspaper ...
+# <http://www.lapresse.tn/archives/archives280405/actualites/lheure.html>
+# ... DST for 2005: on: Sun May 1 0h standard time, off: Fri Sept. 30,
+# 1h standard time.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Tunisia 1939 only - Apr 15 23:00s 1:00 S
Rule Tunisia 1939 only - Nov 18 23:00s 0 -
@@ -579,6 +593,8 @@ Rule Tunisia 1988 only - Jun 1 0:00s 1:00 S
Rule Tunisia 1988 1990 - Sep lastSun 0:00s 0 -
Rule Tunisia 1989 only - Mar 26 0:00s 1:00 S
Rule Tunisia 1990 only - May 1 0:00s 1:00 S
+Rule Tunisia 2005 only - May 1 0:00s 1:00 S
+Rule Tunisia 2005 only - Sep 30 1:00s 0 -
# Shanks gives 0:09 for Paris Mean Time; go with Howse's more precise 0:09:21.
# Shanks says the 1911 switch occurred on Mar 9; go with Howse's Mar 11.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
diff --git a/timezone/antarctica b/timezone/antarctica
index ad47860bd6..c11d24e7d5 100644
--- a/timezone/antarctica
+++ b/timezone/antarctica
@@ -1,4 +1,4 @@
-# @(#)antarctica 7.24
+# @(#)antarctica 7.25
# From Paul Eggert (1999-11-15):
# To keep things manageable, we list only locations occupied year-round; see
@@ -157,7 +157,7 @@ Zone Antarctica/DumontDUrville 0 - zzz 1947
# From Hideyuki Suzuki (1999-02-06):
# In all Japanese stations, +0300 is used as the standard time. [See]
# <a href="http://www.crl.go.jp/uk/uk201/basyo.htm">[reference in Japanese]</a>
-# and information from KAMO Hiroyasu <wd@ics.nara-wu.ac.jp>.
+# and information from KAMO Hiroyasu.
#
# Syowa station, which is the first antarctic station of Japan,
# was established on 1957-01-29. Since Syowa station is still the main
@@ -271,7 +271,7 @@ Zone Antarctica/Rothera 0 - zzz 1976 Dec 1
#
# Palmer, Anvers Island, since 1965 (moved 2 miles in 1968)
#
-# From Ethan Dicks <erd@mcmsun5.mcmurdo.gov> (1996-10-06):
+# From Ethan Dicks (1996-10-06):
# It keeps the same time as Punta Arenas, Chile, because, just like us
# and the South Pole, that's the other end of their supply line....
# I verified with someone who was there that since 1980,
diff --git a/timezone/asia b/timezone/asia
index 915014c7e8..52ba32338e 100644
--- a/timezone/asia
+++ b/timezone/asia
@@ -1,10 +1,10 @@
-# @(#)asia 7.81
+# @(#)asia 7.85
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future).
-# From Paul Eggert <eggert@twinsun.com> (1999-03-22):
+# From Paul Eggert (1999-03-22):
#
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (5th edition),
@@ -43,8 +43,8 @@
# 8:00 CST China
# 9:00 CJT Central Japanese Time (1896/1937)*
# 9:00 EIT east Indonesia
-# 9:00 JST Japan
-# 9:00 KST Korea
+# 9:00 JST JDT Japan
+# 9:00 KST KDT Korea
# 9:30 CST (Australian) Central Standard Time
#
# See the `europe' file for Russia and Turkey in Asia.
@@ -190,7 +190,7 @@ Zone Asia/Phnom_Penh 6:59:40 - LMT 1906 Jun 9
# CHINA 8 H AHEAD OF UTC ALL OF CHINA, INCL TAIWAN
# CHINA 9 H AHEAD OF UTC APR 17 - SEP 10
-# From Paul Eggert <eggert@twinsun.com> (1995-12-19):
+# From Paul Eggert (1995-12-19):
# Shanks writes that China has had a single time zone since 1980 May 1,
# observing summer DST from 1986 through 1991; this contradicts Devine's
# note about Time magazine, though apparently _something_ happened in 1986.
@@ -201,7 +201,6 @@ Zone Asia/Phnom_Penh 6:59:40 - LMT 1906 Jun 9
Rule Shang 1940 only - Jun 3 0:00 1:00 D
Rule Shang 1940 1941 - Oct 1 0:00 0 S
Rule Shang 1941 only - Mar 16 0:00 1:00 D
-Rule PRC 1949 only - Jan 1 0:00 0 S
Rule PRC 1986 only - May 4 0:00 1:00 D
Rule PRC 1986 1991 - Sep Sun>=11 0:00 0 S
Rule PRC 1987 1991 - Apr Sun>=10 0:00 1:00 D
@@ -329,13 +328,13 @@ Zone Asia/Nicosia 2:13:28 - LMT 1921 Nov 14
Link Asia/Nicosia Europe/Nicosia
# Georgia
-# From Paul Eggert <eggert@twinsun.com> (1994-11-19):
+# From Paul Eggert (1994-11-19):
# Today's _Economist_ (p 60) reports that Georgia moved its clocks forward
# an hour recently, due to a law proposed by Zurab Murvanidze,
# an MP who went on a hunger strike for 11 days to force discussion about it!
# We have no details, but we'll guess they didn't move the clocks back in fall.
#
-# From Mathew Englander <mathew@io.org>, quoting AP (1996-10-23 13:05-04):
+# From Mathew Englander, quoting AP (1996-10-23 13:05-04):
# Instead of putting back clocks at the end of October, Georgia
# will stay on daylight savings time this winter to save energy,
# President Eduard Shevardnadze decreed Wednesday.
@@ -387,11 +386,11 @@ Zone Asia/Tbilisi 2:59:16 - LMT 1880
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Dili 8:22:20 - LMT 1912
- 8:00 - TPT 1942 Feb 21 23:00 # E Timor Time
+ 8:00 - TLT 1942 Feb 21 23:00 # E Timor Time
9:00 - JST 1945 Aug
- 9:00 - TPT 1976 May 3
+ 9:00 - TLT 1976 May 3
8:00 - CIT 2000 Sep 17 00:00
- 9:00 - TPT
+ 9:00 - TLT
# India
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@@ -476,12 +475,33 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
# Thursday night of Shahrivar, but I can't give exact dates....
# I have also changed the abbreviations to what is considered correct
# here in Iran, IRST for regular time and IRDT for daylight saving time.
-
-# From Paul Eggert (2003-03-15)
+#
+# From Roozbeh Pournader (2005-04-05):
+# The text of the Iranian law, in effect since 1925, clearly mentions
+# that the true solar year is the measure, and there is no arithmetic
+# leap year calculation involved. There has never been any serious
+# plan to change that law....
+#
+# From Paul Eggert (2005-04-05):
# Go with Shanks before September 1991, and with Pournader thereafter.
-# I used Ed Reingold's cal-persia in GNU Emacs 21.2 to check Persian dates.
-# The Persian calendar is based on the sun, and dates after around 2050
-# are approximate; stop after 2037 when 32-bit time_t's overflow.
+# I used Ed Reingold's cal-persia in GNU Emacs 21.2 to check Persian dates,
+# stopping after 2037 when 32-bit time_t's overflow.
+# That cal-persia used Birashk's approximation, which disagrees with the solar
+# calendar predictions for the year 2025, so I corrected those dates by hand.
+#
+# From Oscar van Vlijmen (2005-03-30), writing about future
+# discrepancies between cal-persia and the Iranian calendar:
+# For 2091 solar-longitude-after yields 2091-03-20 08:40:07.7 UT for
+# the vernal equinox and that gets so close to 12:00 some local
+# Iranian time that the definition of the correct location needs to be
+# known exactly, amongst other factors. 2157 is even closer:
+# 2157-03-20 08:37:15.5 UT. But the Gregorian year 2025 should give
+# no interpretation problem whatsoever. By the way, another instant
+# in the near future where there will be a discrepancy between
+# arithmetical and astronomical Iranian calendars will be in 2058:
+# vernal equinox on 2058-03-20 09:03:05.9 UT. The Java version of
+# Reingold's/Dershowitz' calculator gives correctly the Gregorian date
+# 2058-03-21 for 1 Farvardin 1437 (astronomical).
#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Iran 1978 1980 - Mar 21 0:00 1:00 D
@@ -519,10 +539,10 @@ Rule Iran 2020 only - Mar 21 0:00 1:00 D
Rule Iran 2020 only - Sep 21 0:00 0 S
Rule Iran 2021 2023 - Mar 22 0:00 1:00 D
Rule Iran 2021 2023 - Sep 22 0:00 0 S
-Rule Iran 2024 2025 - Mar 21 0:00 1:00 D
-Rule Iran 2024 2025 - Sep 21 0:00 0 S
-Rule Iran 2026 2027 - Mar 22 0:00 1:00 D
-Rule Iran 2026 2027 - Sep 22 0:00 0 S
+Rule Iran 2024 only - Mar 21 0:00 1:00 D
+Rule Iran 2024 only - Sep 21 0:00 0 S
+Rule Iran 2025 2027 - Mar 22 0:00 1:00 D
+Rule Iran 2025 2027 - Sep 22 0:00 0 S
Rule Iran 2028 2029 - Mar 21 0:00 1:00 D
Rule Iran 2028 2029 - Sep 21 0:00 0 S
Rule Iran 2030 2031 - Mar 22 0:00 1:00 D
@@ -543,7 +563,7 @@ Zone Asia/Tehran 3:25:44 - LMT 1916
# Iraq
#
-# From Jonathan Lennox <lennox@cs.columbia.edu> (2000-06-12):
+# From Jonathan Lennox (2000-06-12):
# An article in this week's Economist ("Inside the Saddam-free zone", p. 50 in
# the U.S. edition) on the Iraqi Kurds contains a paragraph:
# "The three northern provinces ... switched their clocks this spring and
@@ -642,7 +662,7 @@ Rule Zion 1987 only - Sep 13 0:00 0 S
Rule Zion 1988 only - Apr 9 0:00 1:00 D
Rule Zion 1988 only - Sep 3 0:00 0 S
-# From Ephraim Silverberg <ephraim@cs.huji.ac.il>
+# From Ephraim Silverberg
# (1997-03-04, 1998-03-16, 1998-12-28, 2000-01-17, 2000-07-25, 2004-12-22,
# and 2005-02-17):
@@ -822,18 +842,32 @@ Zone Asia/Jerusalem 2:20:56 - LMT 1880
# `9:00' and `JST' is from Guy Harris.
-# From Paul Eggert <eggert@twinsun.com> (1995-03-06):
+# From Paul Eggert (1995-03-06):
# Today's _Asahi Evening News_ (page 4) reports that Japan had
# daylight saving between 1948 and 1951, but ``the system was discontinued
# because the public believed it would lead to longer working hours.''
+
+# From Mayumi Negishi in the 2005-08-10 Japan Times
+# <http://www.japantimes.co.jp/cgi-bin/getarticle.pl5?nn20050810f2.htm>:
+# Occupation authorities imposed daylight-saving time on Japan on
+# [1948-05-01].... But lack of prior debate and the execution of
+# daylight-saving time just three days after the bill was passed generated
+# deep hatred of the concept.... The Diet unceremoniously passed a bill to
+# dump the unpopular system in October 1951, less than a month after the San
+# Francisco Peace Treaty was signed. (A government poll in 1951 showed 53%
+# of the Japanese wanted to scrap daylight-saving time, as opposed to 30% who
+# wanted to keep it.)
+
# Shanks writes that daylight saving in Japan during those years was as follows:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-#Rule Japan 1948 only - May Sun>=1 2:00 1:00 D
-#Rule Japan 1948 1951 - Sep Sat>=8 2:00 0 S
-#Rule Japan 1949 only - Apr Sun>=1 2:00 1:00 D
-#Rule Japan 1950 1951 - May Sun>=1 2:00 1:00 D
-# but the only locations using it were US military bases.
-# We go with Shanks and omit daylight saving in those years for Asia/Tokyo.
+Rule Japan 1948 only - May Sun>=1 2:00 1:00 D
+Rule Japan 1948 1951 - Sep Sat>=8 2:00 0 S
+Rule Japan 1949 only - Apr Sun>=1 2:00 1:00 D
+Rule Japan 1950 1951 - May Sun>=1 2:00 1:00 D
+# but the only locations using it (for birth certificates, presumably, since
+# Shanks's audience is astrologers) were US military bases. For now, assume
+# that for most purposes daylight-saving time was observed; otherwise, what
+# would have been the point of the 1951 poll?
# From Hideyuki Suzuki (1998-11-09):
# 'Tokyo' usually stands for the former location of Tokyo Astronomical
@@ -863,7 +897,7 @@ Zone Asia/Jerusalem 2:20:56 - LMT 1880
Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u
9:00 - JST 1896
9:00 - CJT 1938
- 9:00 - JST
+ 9:00 Japan J%sT
# Since 1938, all Japanese possessions have been like Asia/Tokyo.
# Jordan
@@ -909,14 +943,16 @@ Rule Jordan 2000 max - Mar lastThu 0:00s 1:00 S
Zone Asia/Amman 2:23:44 - LMT 1931
2:00 Jordan EE%sT
+
# Kazakhstan
+
# From Paul Eggert (1996-11-22):
-# Andrew Evtichov <evti@chevron.com> (1996-04-13) writes that Kazakhstan
+# Andrew Evtichov (1996-04-13) writes that Kazakhstan
# stayed in sync with Moscow after 1990, and that Aqtobe (formerly Aktyubinsk)
# and Aqtau (formerly Shevchenko) are the largest cities in their zones.
# Guess that Aqtau and Aqtobe diverged in 1995, since that's the first time
# IATA SSIM mentions a third time zone in Kazakhstan.
-#
+
# From Paul Eggert (2001-10-18):
# German Iofis, ELSI, Almaty (2001-10-09) reports that Kazakhstan uses
# RussiaAsia rules, instead of switching at 00:00 as the IATA has it.
@@ -926,7 +962,7 @@ Zone Asia/Amman 2:23:44 - LMT 1931
# - Kazakhstan did not observe DST in 1991.
# - Qyzylorda switched from +5:00 to +6:00 on 1992-01-19 02:00.
# - Oral switched from +5:00 to +4:00 in spring 1989.
-#
+
# <a href="http://www.kazsociety.org.uk/news/2005/03/30.htm">
# From Kazakhstan Embassy's News Bulletin #11 (2005-03-21):
# </a>
@@ -934,6 +970,16 @@ Zone Asia/Amman 2:23:44 - LMT 1931
# daylight saving time citing lack of economic benefits and health
# complications coupled with a decrease in productivity.
#
+# From Branislav Kojic (in Astana) via Gwillim Law (2005-06-28):
+# ... what happened was that the former Kazakhstan Eastern time zone
+# was "blended" with the Central zone. Therefore, Kazakhstan now has
+# two time zones, and difference between them is one hour. The zone
+# closer to UTC is the former Western zone (probably still called the
+# same), encompassing four provinces in the west: Aqtobe, Atyrau,
+# Mangghystau, and West Kazakhstan. The other zone encompasses
+# everything else.... I guess that would make Kazakhstan time zones
+# de jure UTC+5 and UTC+6 respectively.
+
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
#
@@ -977,7 +1023,7 @@ Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2
5:00 - SHET 1991 Dec 16 # independence
5:00 RussiaAsia AQT%sT 1995 Mar lastSun 2:00 # Aqtau Time
4:00 RussiaAsia AQT%sT 2005 Mar 15
- 4:00 - AQTT
+ 5:00 - AQTT
# West Kazakhstan
Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk
4:00 - URAT 1930 Jun 21 # Ural'sk time
@@ -988,10 +1034,17 @@ Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk
4:00 RussiaAsia URA%sT 1991
4:00 - URAT 1991 Dec 16 # independence
4:00 RussiaAsia ORA%sT 2005 Mar 15 # Oral Time
- 4:00 - ORAT
+ 5:00 - ORAT
# Kyrgyzstan (Kirgizstan)
# Transitions through 1991 are from Shanks.
+
+# From Paul Eggert (2005-08-15):
+# According to an article dated today in the Kyrgyzstan Development Gateway
+# <http://eng.gateway.kg/cgi-bin/page.pl?id=1&story_name=doc9979.shtml>
+# Kyrgyzstan is canceling the daylight saving time system. I take the article
+# to mean that they will leave their clocks at 6 hours ahead of UTC.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Kirgiz 1992 1996 - Apr Sun>=7 0:00s 1:00 S
Rule Kirgiz 1992 1996 - Sep lastSun 0:00 0 -
@@ -1161,7 +1214,7 @@ Zone Indian/Maldives 4:54:00 - LMT 1880 # Male
#
# [The province of Selenge is omitted from the above lists.]
-# From Ganbold Ts., Ulaanbaatar <ganbold@micom.mng.net> (2004-04-17):
+# From Ganbold Ts., Ulaanbaatar (2004-04-17):
# Daylight saving occurs at 02:00 local time last Saturday of March.
# It will change back to normal at 02:00 local time last Saturday of
# September.... As I remember this rule was changed in 2001.
@@ -1170,6 +1223,24 @@ Zone Indian/Maldives 4:54:00 - LMT 1880 # Male
# For now, assume Rives McDow's informant got confused about Friday vs
# Saturday, and that his 2001 dates should have 1 added to them.
+# From Paul Eggert (2005-07-26):
+# We have wildly conflicting information about Mongolia's time zones.
+# Bill Bonnet (2005-05-19) reports that the US Embassy in Ulaanbaatar says
+# there is only one time zone and that DST is observed, citing Microsoft
+# Windows XP as the source. Risto Nykanen (2005-05-16) reports that
+# travelmongolia.org says there are two time zones (UTC+7, UTC+8) with no DST.
+# Oscar van Vlijmen (2005-05-20) reports that the Mongolian Embassy in
+# Washington, DC says there are two time zones, with DST observed.
+# He also found
+# <http://ubpost.mongolnews.mn/index.php?subaction=showcomments&id=1111634894&archive=&start_from=&ucat=1&>
+# which also says that there is DST, and which has a comment by "Toddius"
+# (2005-03-31 06:05 +0700) saying "Mongolia actually has 3.5 time zones.
+# The West (OLGII) is +7 GMT, most of the country is ULAT is +8 GMT
+# and some Eastern provinces are +9 GMT but Sukhbaatar Aimag is SUHK +8.5 GMT.
+# The SUKH timezone is new this year, it is one of the few things the
+# parliament passed during the tumultuous winter session."
+# For now, let's ignore this information, until we have more confirmation.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Mongol 1983 1984 - Apr 1 0:00 1:00 S
Rule Mongol 1983 only - Oct 1 0:00 0 -
@@ -1261,7 +1332,7 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# Palestine
-# From Amos Shapir <amos@nsof.co.il> (1998-02-15):
+# From Amos Shapir (1998-02-15):
#
# From 1917 until 1948-05-15, all of Palestine, including the parts now
# known as the Gaza Strip and the West Bank, was under British rule.
@@ -1523,7 +1594,7 @@ Zone Asia/Tashkent 4:37:12 - LMT 1924 May 2
5:00 - UZT
# Vietnam
-# From Paul Eggert <eggert@twinsun.com> (1993-11-18):
+# From Paul Eggert (1993-11-18):
# Saigon's official name is Thanh-Pho Ho Chi Minh, but it's too long.
# We'll stick with the traditional name for now.
# From Shanks:
diff --git a/timezone/australasia b/timezone/australasia
index 41c7368852..57bd60adb4 100644
--- a/timezone/australasia
+++ b/timezone/australasia
@@ -1,4 +1,4 @@
-# @(#)australasia 7.71
+# @(#)australasia 7.73
# This file also includes Pacific islands.
# Notes are at the end of this file
@@ -38,7 +38,7 @@ Zone Australia/Perth 7:43:24 - LMT 1895 Dec
8:00 - WST
# Queensland
#
-# From Alex Livingston <alex@agsm.unsw.edu.au> (1996-11-01):
+# From Alex Livingston (1996-11-01):
# I have heard or read more than once that some resort islands off the coast
# of Queensland chose to keep observing daylight-saving time even after
# Queensland ceased to.
@@ -77,7 +77,9 @@ Rule AS 1991 only - Mar Sun>=1 2:00s 0 -
Rule AS 1992 only - Mar Sun>=18 2:00s 0 -
Rule AS 1993 only - Mar Sun>=1 2:00s 0 -
Rule AS 1994 only - Mar Sun>=18 2:00s 0 -
-Rule AS 1995 max - Mar lastSun 2:00s 0 -
+Rule AS 1995 2005 - Mar lastSun 2:00s 0 -
+Rule AS 2006 only - Apr Sun>=1 2:00s 0 -
+Rule AS 2007 max - Mar lastSun 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Adelaide 9:14:20 - LMT 1895 Feb
9:00 - CST 1899 May
@@ -85,6 +87,11 @@ Zone Australia/Adelaide 9:14:20 - LMT 1895 Feb
9:30 AS CST
# Tasmania
+#
+# From Paul Eggert (2005-08-16):
+# <http://www.bom.gov.au/climate/averages/tables/dst_times.shtml>
+# says King Island didn't observe DST from WWII until late 1971.
+#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule AT 1967 only - Oct Sun>=1 2:00s 1:00 -
Rule AT 1968 only - Mar lastSun 2:00s 0 -
@@ -99,15 +106,22 @@ Rule AT 1987 1990 - Mar Sun>=15 2:00s 0 -
Rule AT 1987 only - Oct Sun>=22 2:00s 1:00 -
Rule AT 1988 1990 - Oct lastSun 2:00s 1:00 -
Rule AT 1991 1999 - Oct Sun>=1 2:00s 1:00 -
-Rule AT 1991 max - Mar lastSun 2:00s 0 -
+Rule AT 1991 2005 - Mar lastSun 2:00s 0 -
Rule AT 2000 only - Aug lastSun 2:00s 1:00 -
Rule AT 2001 max - Oct Sun>=1 2:00s 1:00 -
+Rule AT 2006 only - Apr Sun>=1 2:00s 0 -
+Rule AT 2007 max - Mar lastSun 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Hobart 9:49:16 - LMT 1895 Sep
10:00 - EST 1916 Oct 1 2:00
10:00 1:00 EST 1917 Feb
10:00 Aus EST 1967
10:00 AT EST
+Zone Australia/Currie 9:35:28 - LMT 1895 Sep
+ 10:00 - EST 1916 Oct 1 2:00
+ 10:00 1:00 EST 1917 Feb
+ 10:00 Aus EST 1971 Jul
+ 10:00 AT EST
# Victoria
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@@ -118,9 +132,11 @@ Rule AV 1986 1990 - Mar Sun>=15 2:00s 0 -
Rule AV 1986 1987 - Oct Sun>=15 2:00s 1:00 -
Rule AV 1988 1999 - Oct lastSun 2:00s 1:00 -
Rule AV 1991 1994 - Mar Sun>=1 2:00s 0 -
-Rule AV 1995 max - Mar lastSun 2:00s 0 -
+Rule AV 1995 2005 - Mar lastSun 2:00s 0 -
Rule AV 2000 only - Aug lastSun 2:00s 1:00 -
Rule AV 2001 max - Oct lastSun 2:00s 1:00 -
+Rule AV 2006 only - Apr Sun>=1 2:00s 0 -
+Rule AV 2007 max - Mar lastSun 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Melbourne 9:39:52 - LMT 1895 Feb
10:00 Aus EST 1971
@@ -137,9 +153,11 @@ Rule AN 1986 1989 - Mar Sun>=15 2:00s 0 -
Rule AN 1986 only - Oct 19 2:00s 1:00 -
Rule AN 1987 1999 - Oct lastSun 2:00s 1:00 -
Rule AN 1990 1995 - Mar Sun>=1 2:00s 0 -
-Rule AN 1996 max - Mar lastSun 2:00s 0 -
+Rule AN 1996 2005 - Mar lastSun 2:00s 0 -
Rule AN 2000 only - Aug lastSun 2:00s 1:00 -
Rule AN 2001 max - Oct lastSun 2:00s 1:00 -
+Rule AN 2006 only - Apr Sun>=1 2:00s 0 -
+Rule AN 2007 max - Mar lastSun 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Australia/Sydney 10:04:52 - LMT 1895 Feb
10:00 Aus EST 1971
@@ -160,9 +178,11 @@ Rule LH 1986 1989 - Mar Sun>=15 2:00 0 -
Rule LH 1986 only - Oct 19 2:00 0:30 -
Rule LH 1987 1999 - Oct lastSun 2:00 0:30 -
Rule LH 1990 1995 - Mar Sun>=1 2:00 0 -
-Rule LH 1996 max - Mar lastSun 2:00 0 -
+Rule LH 1996 2005 - Mar lastSun 2:00 0 -
Rule LH 2000 only - Aug lastSun 2:00 0:30 -
Rule LH 2001 max - Oct lastSun 2:00 0:30 -
+Rule LH 2006 only - Apr Sun>=1 2:00 0 -
+Rule LH 2007 max - Mar lastSun 2:00 0 -
Zone Australia/Lord_Howe 10:36:20 - LMT 1895 Feb
10:00 - EST 1981 Mar
10:30 LH LHST
@@ -264,9 +284,6 @@ Zone Pacific/Kwajalein 11:09:20 - LMT 1901
# Micronesia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone Pacific/Yap 9:12:32 - LMT 1901 # Colonia
- 9:00 - YAPT 1969 Oct # Yap Time
- 10:00 - YAPT
Zone Pacific/Truk 10:07:08 - LMT 1901
10:00 - TRUT # Truk Time
Zone Pacific/Ponape 10:32:52 - LMT 1901 # Kolonia
@@ -488,7 +505,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future).
-# From Paul Eggert <eggert@twinsun.com> (1999-10-29):
+# From Paul Eggert (1999-10-29):
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (5th edition),
# San Diego: ACS Publications, Inc. (1999).
@@ -645,13 +662,13 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# From Paul Eggert (1995-12-19):
# Shanks reports 2:00 for all autumn changes in Australia and New Zealand.
-# Mark Prior <mrp@itd.adelaide.edu.au> writes that his newspaper
+# Mark Prior writes that his newspaper
# reports that NSW's fall 1995 change will occur at 2:00,
# but Robert Elz says it's been 3:00 in Victoria since 1970
# and perhaps the newspaper's `2:00' is referring to standard time.
# For now we'll continue to assume 2:00s for changes since 1960.
-# From Eric Ulevik <eau@zip.com.au> (1998-01-05):
+# From Eric Ulevik (1998-01-05):
#
# Here are some URLs to Australian time legislation. These URLs are stable,
# and should probably be included in the data file. There are probably more
@@ -670,6 +687,24 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Standard Time Act, 1898
# </a>
+# From David Grosz (2005-06-13):
+# It was announced last week that Daylight Saving would be extended by
+# one week next year to allow for the 2006 Commonwealth Games.
+# Daylight Saving is now to end for next year only on the first Sunday
+# in April instead of the last Sunday in March.
+#
+# From Gwillim Law (2005-06-14):
+# I did some Googling and found that all of those states (and territory) plan
+# to extend DST together in 2006.
+# ACT: http://www.cmd.act.gov.au/mediareleases/fileread.cfm?file=86.txt
+# New South Wales: http://www.thecouriermail.news.com.au/common/story_page/0,5936,15538869%255E1702,00.html
+# South Australia: http://www.news.com.au/story/0,10117,15555031-1246,00.html
+# Tasmania: http://www.media.tas.gov.au/release.php?id=14772
+# Victoria: I wasn't able to find anything separate, but the other articles
+# allude to it.
+# But not Queensland
+# http://www.news.com.au/story/0,10117,15564030-1248,00.html.
+
# Northern Territory
# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
@@ -856,7 +891,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# 1994 was at +0930 as John Connolly's customer seems to assert, then I can
# only conclude that the actual rule is more complicated....
-# From John Warburton <jwarb@SACBH.com.au> (1994-10-07):
+# From John Warburton (1994-10-07):
# The new Daylight Savings dates for South Australia ...
# was gazetted in the Government Hansard on Sep 26 1994....
# start on last Sunday in October and end in last sunday in March.
@@ -916,7 +951,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# From Arthur David Olson:
# New South Wales and subjurisdictions have their own ideas of a fun time.
-# Based on law library research by John Mackin (john@basser.cs.su.oz),
+# Based on law library research by John Mackin,
# who notes:
# In Australia, time is not legislated federally, but rather by the
# individual states. Thus, while such terms as ``Eastern Standard Time''
@@ -936,7 +971,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Lawlink NSW: Daylight Saving in New South Wales
# </a>
-# From Eric Ulevik <eau@ozemail.com.au> (1999-05-26):
+# From Eric Ulevik (1999-05-26):
# DST will start in NSW on the last Sunday of August, rather than the usual
# October in 2000. [See: Matthew Moore,
# <a href="http://www.smh.com.au/news/9905/26/pageone/pageone4.html">
@@ -1070,7 +1105,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# From Paul Eggert (1995-12-19);
# Shanks reports 2:00 for all autumn changes in Australia and New Zealand.
-# Robert Uzgalis <buz@cs.aukuni.ac.nz> writes that the New Zealand Daylight
+# Robert Uzgalis writes that the New Zealand Daylight
# Savings Time Order in Council dated 1990-06-18 specifies 2:00 standard
# time on both the first Sunday in October and the third Sunday in March.
# As with Australia, we'll assume the tradition is 2:00s, not 2:00.
@@ -1149,7 +1184,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Micronesia
-# Alan Eugene Davis <adavis@kuentos.guam.net> writes (1996-03-16),
+# Alan Eugene Davis writes (1996-03-16),
# ``I am certain, having lived there for the past decade, that "Truk"
# (now properly known as Chuuk) ... is in the time zone GMT+10.''
#
@@ -1257,10 +1292,10 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# October to March, which has won approval in principle from the Tongan
# Government.
-# From Steffen Thorsen [straen@thorsen.priv.no] (1999-09-09):
+# From Steffen Thorsen (1999-09-09):
# * Tonga will introduce DST in November
#
-# I was given this link by John Letts <johnletts@earthlink.net>:
+# I was given this link by John Letts:
# <a hef="http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm">
# http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm
# </a>
@@ -1270,7 +1305,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# of UTC as well, but as far as I know Fiji will only be 13 hours ahead
# (12 + 1 hour DST).
-# From Arthur David Olson [arthur_david_olson@nih.gov] (1999-09-20):
+# From Arthur David Olson (1999-09-20):
# According to <a href="http://www.tongaonline.com/news/sept1799.html>
# http://www.tongaonline.com/news/sept1799.html
# </a>:
diff --git a/timezone/backward b/timezone/backward
index 9fbab94d79..ca22dfeaee 100644
--- a/timezone/backward
+++ b/timezone/backward
@@ -1,16 +1,20 @@
-# @(#)backward 7.27
+# @(#)backward 7.29
# This file provides links between current names for time zones
# and their old names. Many names changed in late 1993.
+Link Africa/Bamako Africa/Timbuktu
+Link America/Argentina/Catamarca America/Argentina/ComodRivadavia
Link America/Adak America/Atka
Link America/Argentina/Buenos_Aires America/Buenos_Aires
Link America/Argentina/Catamarca America/Catamarca
Link America/Argentina/Cordoba America/Cordoba
Link America/Tijuana America/Ensenada
-Link America/Indianapolis America/Fort_Wayne
+Link America/Indiana/Indianapolis America/Fort_Wayne
+Link America/Indiana/Indianapolis America/Indianapolis
Link America/Argentina/Jujuy America/Jujuy
Link America/Indiana/Knox America/Knox_IN
+Link America/Kentucky/Louisville America/Louisville
Link America/Argentina/Mendoza America/Mendoza
Link America/Rio_Branco America/Porto_Acre
Link America/Argentina/Cordoba America/Rosario
@@ -19,9 +23,9 @@ Link Asia/Ashgabat Asia/Ashkhabad
Link Asia/Chongqing Asia/Chungking
Link Asia/Dhaka Asia/Dacca
Link Asia/Macau Asia/Macao
-Link Asia/Makassar Asia/Ujung_Pandang
Link Asia/Jerusalem Asia/Tel_Aviv
Link Asia/Thimphu Asia/Thimbu
+Link Asia/Makassar Asia/Ujung_Pandang
Link Asia/Ulaanbaatar Asia/Ulan_Bator
Link Australia/Sydney Australia/ACT
Link Australia/Sydney Australia/Canberra
@@ -38,6 +42,7 @@ Link America/Rio_Branco Brazil/Acre
Link America/Noronha Brazil/DeNoronha
Link America/Sao_Paulo Brazil/East
Link America/Manaus Brazil/West
+Link America/Chicago CST6CDT
Link America/Halifax Canada/Atlantic
Link America/Winnipeg Canada/Central
Link America/Regina Canada/East-Saskatchewan
@@ -50,8 +55,11 @@ Link America/Whitehorse Canada/Yukon
Link America/Santiago Chile/Continental
Link Pacific/Easter Chile/EasterIsland
Link America/Havana Cuba
+Link America/Panama EST
+Link America/New_York EST5EDT
Link Africa/Cairo Egypt
Link Europe/Dublin Eire
+Link Europe/London Europe/Belfast
Link Europe/Chisinau Europe/Tiraspol
Link Europe/London GB
Link Europe/London GB-Eire
@@ -59,6 +67,7 @@ Link Etc/GMT GMT+0
Link Etc/GMT GMT-0
Link Etc/GMT GMT0
Link Etc/GMT Greenwich
+Link Pacific/Honolulu HST
Link Asia/Hong_Kong Hongkong
Link Atlantic/Reykjavik Iceland
Link Asia/Tehran Iran
@@ -67,16 +76,20 @@ Link America/Jamaica Jamaica
Link Asia/Tokyo Japan
Link Pacific/Kwajalein Kwajalein
Link Africa/Tripoli Libya
+Link America/Phoenix MST
+Link America/Denver MST7MDT
Link America/Tijuana Mexico/BajaNorte
Link America/Mazatlan Mexico/BajaSur
Link America/Mexico_City Mexico/General
-Link America/Denver Navajo
Link Pacific/Auckland NZ
Link Pacific/Chatham NZ-CHAT
+Link America/Denver Navajo
+Link Asia/Shanghai PRC
+Link America/Los_Angeles PST8PDT
Link Pacific/Pago_Pago Pacific/Samoa
+Link Pacific/Truk Pacific/Yap
Link Europe/Warsaw Poland
Link Europe/Lisbon Portugal
-Link Asia/Shanghai PRC
Link Asia/Taipei ROC
Link Asia/Seoul ROK
Link Asia/Singapore Singapore
@@ -86,7 +99,7 @@ Link America/Anchorage US/Alaska
Link America/Adak US/Aleutian
Link America/Phoenix US/Arizona
Link America/Chicago US/Central
-Link America/Indianapolis US/East-Indiana
+Link America/Indiana/Indianapolis US/East-Indiana
Link America/New_York US/Eastern
Link Pacific/Honolulu US/Hawaii
Link America/Indiana/Knox US/Indiana-Starke
diff --git a/timezone/checktab.awk b/timezone/checktab.awk
index 6a2d19ae00..6d532141e6 100644
--- a/timezone/checktab.awk
+++ b/timezone/checktab.awk
@@ -1,8 +1,8 @@
# Check tz tables for consistency.
-# @(#)checktab.awk 1.6
+# @(#)checktab.awk 1.7
-# Contributed by Paul Eggert <eggert@twinsun.com>.
+# Contributed by Paul Eggert.
BEGIN {
FS = "\t"
diff --git a/timezone/europe b/timezone/europe
index 3bf1b1ab02..ec6720a804 100644
--- a/timezone/europe
+++ b/timezone/europe
@@ -1,10 +1,10 @@
-# @(#)europe 7.92
+# @(#)europe 7.95
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future).
-# From Paul Eggert <eggert@twinsun.com> (1999-10-29):
+# From Paul Eggert (1999-10-29):
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (5th edition),
# San Diego: ACS Publications, Inc. (1999).
@@ -55,7 +55,7 @@
# A reliable and entertaining source about time zones, especially in Britain,
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
-# From Peter Ilieve <peter@memex.co.uk> (1994-12-04),
+# From Peter Ilieve (1994-12-04),
# The original six [EU members]: Belgium, France, (West) Germany, Italy,
# Luxembourg, the Netherlands.
# Plus, from 1 Jan 73: Denmark, Ireland, United Kingdom.
@@ -81,7 +81,7 @@
# Britain (United Kingdom) and Ireland (Eire)
-# From Peter Ilieve <peter@memex.co.uk> (1994-07-06):
+# From Peter Ilieve (1994-07-06):
#
# On 17 Jan 1994 the Independent, a UK quality newspaper, had a piece about
# historical vistas along the Thames in west London. There was a photo
@@ -102,7 +102,7 @@
#
# [This yields GMTOFF = -0:01:15 for London LMT in the 18th century.]
-# From Paul Eggert <eggert@twinsun.com> (1993-11-18):
+# From Paul Eggert (1993-11-18):
#
# Howse writes that Britain was the first country to use standard time.
# The railways cared most about the inconsistencies of local mean time,
@@ -168,12 +168,12 @@
# known as "British" Summer Time in all parts of the United Kingdom.
# Date: 4 Jan 89 08:57:25 GMT (Wed)
-# From: Jonathan Leffler <nih-csl!uunet!mcvax!sphinx.co.uk!john>
+# From: Jonathan Leffler
# [British Summer Time] is fixed annually by Act of Parliament.
# If you can predict what Parliament will do, you should be in
# politics making a fortune, not computing.
-# From Chris Carrier <72157.3334@CompuServe.COM> (1996-06-14):
+# From Chris Carrier (1996-06-14):
# I remember reading in various wartime issues of the London Times the
# acronym BDST for British Double Summer Time. Look for the published
# time of sunrise and sunset in The Times, when BDST was in effect, and
@@ -204,15 +204,15 @@
# and follows the more usual convention of putting the location name first,
# so we use `BDST'.
-# Peter Ilieve <peter@aldie.co.uk> (1998-04-19) described at length
+# Peter Ilieve (1998-04-19) described at length
# the history of summer time legislation in the United Kingdom.
-# Since 1998 Joseph S. Myers <jsm28@cam.ac.uk> has been updating
+# Since 1998 Joseph S. Myers has been updating
# and extending this list, which can be found in
# <a href="http://student.cusu.cam.ac.uk/~jsm28/british-time/">
# History of legal time in Britain
# </a>
-# From Joseph S. Myers <jsm28@cam.ac.uk> (1998-01-06):
+# From Joseph S. Myers (1998-01-06):
#
# The legal time in the UK outside of summer time is definitely GMT, not UTC;
# see Lord Tanlaw's speech
@@ -422,13 +422,6 @@ Zone Europe/London -0:01:15 - LMT 1847 Dec 1
1:00 - BST 1971 Oct 31 2:00u
0:00 GB-Eire %s 1996
0:00 EU GMT/BST
-Zone Europe/Belfast -0:23:40 - LMT 1880 Aug 2
- -0:25:21 - DMT 1916 May 21 2:00 # Dublin/Dunsink MT
- -0:25:21 1:00 IST 1916 Oct 1 2:00s # Irish Summer Time
- 0:00 GB-Eire %s 1968 Oct 27
- 1:00 - BST 1971 Oct 31 2:00u
- 0:00 GB-Eire %s 1996
- 0:00 EU GMT/BST
Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2
-0:25:21 - DMT 1916 May 21 2:00
-0:25:21 1:00 IST 1916 Oct 1 2:00s
@@ -536,7 +529,7 @@ 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.
-# From Markus Kuhn <mskuhn@unrza3.dialin.rrze.uni-erlangen.de> (1996-07-12):
+# From Markus Kuhn (1996-07-12):
# The official German names ... are
#
# Mitteleuropaeische Zeit (MEZ) = UTC+01:00
@@ -652,7 +645,7 @@ Zone Europe/Minsk 1:50:16 - LMT 1880
# pp 8-9.
# LMT before 1892 was 0:17:30, according to the official journal of Belgium:
# Moniteur Belge, Samedi 30 Avril 1892, N.121.
-# Thanks to Pascal Delmoitie <pascal@belnet.be> for these references.
+# Thanks to Pascal Delmoitie for these references.
# The 1918 rules are listed for completeness; they apply to unoccupied Belgium.
# Assume Brussels switched to WET in 1918 when the armistice took effect.
#
@@ -711,7 +704,7 @@ Zone Europe/Brussels 0:17:30 - LMT 1880
# Bulgaria
#
-# From Plamen Simenov <P.Simeonov@cnsys.bg> via Steffen Thorsen (1999-09-09):
+# From Plamen Simenov via Steffen Thorsen (1999-09-09):
# A document of Government of Bulgaria (No.94/1997) says:
# EET --> EETDST is in 03:00 Local time in last Sunday of March ...
# EETDST --> EET is in 04:00 Local time in last Sunday of October
@@ -756,6 +749,40 @@ Zone Europe/Prague 0:57:44 - LMT 1850
1:00 EU CE%sT
# Denmark, Faeroe Islands, and Greenland
+
+# From Jesper Norgaard Welen (2005-04-26):
+# http://www.hum.aau.dk/~poe/tid/tine/DanskTid.htm says that the law
+# [introducing standard time] was in effect from 1894-01-01....
+# The page http://www.retsinfo.dk/_GETDOCI_/ACCN/A18930008330-REGL
+# confirms this, and states that the law was put forth 1893-03-29.
+#
+# The EU treaty with effect from 1973:
+# http://www.retsinfo.dk/_GETDOCI_/ACCN/A19722110030-REGL
+#
+# This provoked a new law from 1974 to make possible summer time changes
+# in subsequenet decrees with the law
+# http://www.retsinfo.dk/_GETDOCI_/ACCN/A19740022330-REGL
+#
+# It seems however that no decree was set forward until 1980. I have
+# not found any decree, but in another related law, the effecting DST
+# changes are stated explicitly to be from 1980-04-06 at 02:00 to
+# 1980-09-28 at 02:00. If this is true, this differs slightly from
+# the EU rule in that DST runs to 02:00, not 03:00. We don't know
+# when Denmark began using the EU rule correctly, but we have only
+# confirmation of the 1980-time, so I presume it was correct in 1981:
+# The law is about the management of the extra hour, concerning
+# working hours reported and effect on obligatory-rest rules (which
+# was suspended on that night):
+# http://www.retsinfo.dk/_GETDOCI_/ACCN/C19801120554-REGL
+
+# From Jesper Norgaard Welen (2005-06-11):
+# The Herning Folkeblad (1980-09-26) reported that the night between
+# Saturday and Sunday the clock is set back from three to two.
+
+# From Paul Eggert (2005-06-11):
+# Hence the "02:00" of the 1980 law refers to standard time, not
+# wall-clock time, and so the EU rules were in effect in 1980.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Denmark 1916 only - May 14 23:00 1:00 S
Rule Denmark 1916 only - Sep 30 23:00 0 -
@@ -768,13 +795,10 @@ Rule Denmark 1947 only - May 4 2:00s 1:00 S
Rule Denmark 1947 only - Aug 10 2:00s 0 -
Rule Denmark 1948 only - May 9 2:00s 1:00 S
Rule Denmark 1948 only - Aug 8 2:00s 0 -
-# Whitman also gives 1949 Apr 9 to 1949 Oct 1, and disagrees in minor ways
-# about many of the above dates; go with Shanks.
#
-# For 1894, Shanks says Jan, Whitman Apr; go with Whitman.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Copenhagen 0:50:20 - LMT 1890
- 0:50:20 - CMT 1894 Apr # Copenhagen Mean Time
+ 0:50:20 - CMT 1894 Jan 1 # Copenhagen MT
1:00 Denmark CE%sT 1942 Nov 2 2:00s
1:00 C-Eur CE%sT 1945 Apr 2 2:00
1:00 Denmark CE%sT 1980
@@ -874,12 +898,12 @@ Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik air base
-4:00 Thule A%sT
# Estonia
-# From Peter Ilieve <peter@memex.co.uk> (1994-10-15):
+# From Peter Ilieve (1994-10-15):
# A relative in Tallinn confirms the accuracy of the data for 1989 onwards
# [through 1994] and gives the legal authority for it,
# a regulation of the Government of Estonia, No. 111 of 1989....
#
-# From Peter Ilieve <peter@aldie.co.uk> (1996-10-28):
+# From Peter Ilieve (1996-10-28):
# [IATA SSIM (1992/1996) claims that the Baltic republics switch at 01:00s,
# but a relative confirms that Estonia still switches at 02:00s, writing:]
# ``I do not [know] exactly but there are some little different
@@ -889,7 +913,7 @@ Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik air base
# human physiology. It seems that Estonia maybe will not change to
# summer time next spring.''
-# From Peter Ilieve <peter@aldie.co.uk> (1998-11-04), heavily edited:
+# From Peter Ilieve (1998-11-04), heavily edited:
# <a href="http://trip.rk.ee/cgi-bin/thw?${BASE}=akt&${OOHTML}=rtd&TA=1998&TO=1&AN=1390">
# The 1998-09-22 Estonian time law
# </a>
@@ -938,11 +962,11 @@ Zone Europe/Tallinn 1:39:00 - LMT 1880
# Finland
#
-# From Hannu Strang <chs@apu.fi> (25 Sep 1994 06:03:37 UTC):
+# From Hannu Strang (25 Sep 1994 06:03:37 UTC):
# Well, here in Helsinki we're just changing from summer time to regular one,
# and it's supposed to change at 4am...
#
-# From Paul Eggert <eggert@twinsun.com> (25 Sep 1994):
+# From Paul Eggert (25 Sep 1994):
# Shanks says Finland has switched at 02:00 standard time since 1981.
# Go with Strang instead.
#
@@ -1019,7 +1043,7 @@ Rule France 1940 only - Feb 25 2:00 1:00 S
# Dole, Morez, St-Claude, and Collognes (Haute-Savioe).
Rule France 1941 only - May 5 0:00 2:00 M # Midsummer
# Shanks says this transition occurred at Oct 6 1:00,
-# but go with Denis.Excoffier@ens.fr (1997-12-12),
+# but go with Denis Excoffier (1997-12-12),
# who quotes the Ephemerides Astronomiques for 1998 from Bureau des Longitudes
# as saying 5/10/41 22hUT.
Rule France 1941 only - Oct 6 0:00 1:00 S
@@ -1053,7 +1077,7 @@ Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15 0:01
# Germany
-# From Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk> (1998-09-29):
+# From Markus Kuhn (1998-09-29):
# The German time zone web site by the Physikalisch-Technische
# Bundesanstalt contains DST information back to 1916.
# [See tz-link.htm for the URL.]
@@ -1168,7 +1192,7 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 Oct
# Iceland
#
-# From Adam David <adam@veda.is> (1993-11-06):
+# From Adam David (1993-11-06):
# The name of the timezone in Iceland for system / mail / news purposes is GMT.
#
# (1993-12-05):
@@ -1195,7 +1219,7 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 Oct
# might be a reference to the Julian calendar as opposed to Gregorian, or it
# might mean something else (???).
#
-# From Paul Eggert <eggert@twinsun.com> (1999-10-29):
+# From Paul Eggert (1999-10-29):
# The Iceland Almanak, Shanks and Whitman disagree on many points.
# We go with the Almanak, except for one claim from Shanks, namely that
# Reykavik was 21W57 from 1837 to 1908, local mean time before that.
@@ -1311,7 +1335,7 @@ Link Europe/Rome Europe/San_Marino
# Latvia
-# From Liene Kanepe <Liene_Kanepe@lm.gov.lv> (1998-09-17):
+# From Liene Kanepe (1998-09-17):
# I asked about this matter Scientific Secretary of the Institute of Astronomy
# of The University of Latvia Dr. paed Mr. Ilgonis Vilks. I also searched the
@@ -1398,7 +1422,7 @@ Zone Europe/Vaduz 0:38:04 - LMT 1894 Jun
# IATA SSIM (1992/1996) says Lithuania uses W-Eur rules, but since it is
# known to be wrong about Estonia and Latvia, assume it's wrong here too.
-# From Marius Gedminas <mgedmin@pub.osf.lt> (1998-08-07):
+# From Marius Gedminas (1998-08-07):
# I would like to inform that in this year Lithuanian time zone
# (Europe/Vilnius) was changed.
@@ -1505,7 +1529,7 @@ Zone Europe/Malta 0:58:04 - LMT 1893 Nov 2 # Valletta
# on 1991-08-27 (the 1992-01-19 date is that of a Russian decree).
# In early 1992 there was large-scale interethnic violence in the area
# and it's possible that some Russophones continued to observe Moscow time.
-# But moldavizolit@tirastel.md and mk@tirastel.md separately reported via
+# But [two people] separately reported via
# Jesper Norgaard that as of 2001-01-24 Tiraspol was like Chisinau.
# The Tiraspol entry has therefore been removed for now.
@@ -1608,12 +1632,10 @@ Zone Europe/Amsterdam 0:19:32 - LMT 1835
1:00 EU CE%sT
# Norway
+# http://met.no/met/met_lex/q_u/sommertid.html (2004-01) agrees with Shanks.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-# Whitman gives 1916 May 21 - 1916 Oct 21; go with Shanks.
Rule Norway 1916 only - May 22 1:00 1:00 S
Rule Norway 1916 only - Sep 30 0:00 0 -
-# Whitman says DST observed 1935-08-11/1942-11-01, then 1943-03-29/10-04,
-# 1944-04-03/10-02, and 1945-04-01/10-01; go with Shanks.
Rule Norway 1945 only - Apr 2 2:00s 1:00 S
Rule Norway 1945 only - Oct 1 2:00s 0 -
Rule Norway 1959 1964 - Mar Sun>=15 2:00s 1:00 S
@@ -1686,19 +1708,26 @@ Rule Poland 1944 only - Oct 4 2:00 0 -
# For 1944-1948 Whitman gives the previous day; go with Shanks.
Rule Poland 1945 only - Apr 29 0:00 1:00 S
Rule Poland 1945 only - Nov 1 0:00 0 -
-Rule Poland 1946 only - Apr 14 0:00 1:00 S
-Rule Poland 1946 only - Sep 7 0:00 0 -
-Rule Poland 1947 only - May 4 0:00 1:00 S
-Rule Poland 1947 1948 - Oct Sun>=1 0:00 0 -
-Rule Poland 1948 only - Apr 18 0:00 1:00 S
-# Whitman also gives 1949 Apr 9 - 1949 Oct 1; go with Shanks.
+# For 1946 on the source is Kazimierz Borkowski,
+# Torun Center for Astronomy, Dept. of Radio Astronomy, Nicolaus Copernicus U.,
+# <http://www.astro.uni.torun.pl/~kb/Artykuly/U-PA/Czas2.htm#tth_tAb1>
+# Thanks to Przemyslaw Augustyniak (2005-05-28) for this reference.
+# He also gives these further references:
+# Mon Pol nr 13, poz 162 (1995) <http://www.abc.com.pl/serwis/mp/1995/0162.htm>
+# Druk nr 2180 (2003) <http://www.senat.gov.pl/k5/dok/sejm/053/2180.pdf>
+Rule Poland 1946 only - Apr 14 0:00s 1:00 S
+Rule Poland 1946 only - Oct 7 2:00s 0 -
+Rule Poland 1947 only - May 4 2:00s 1:00 S
+Rule Poland 1947 1949 - Oct Sun>=1 2:00s 0 -
+Rule Poland 1948 only - Apr 18 2:00s 1:00 S
+Rule Poland 1949 only - Apr 10 2:00s 1:00 S
Rule Poland 1957 only - Jun 2 1:00s 1:00 S
Rule Poland 1957 1958 - Sep lastSun 1:00s 0 -
Rule Poland 1958 only - Mar 30 1:00s 1:00 S
Rule Poland 1959 only - May 31 1:00s 1:00 S
Rule Poland 1959 1961 - Oct Sun>=1 1:00s 0 -
Rule Poland 1960 only - Apr 3 1:00s 1:00 S
-Rule Poland 1961 1964 - May Sun>=25 1:00s 1:00 S
+Rule Poland 1961 1964 - May lastSun 1:00s 1:00 S
Rule Poland 1962 1964 - Sep lastSun 1:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Warsaw 1:24:00 - LMT 1880
@@ -1707,33 +1736,17 @@ Zone Europe/Warsaw 1:24:00 - LMT 1880
2:00 Poland EE%sT 1922 Jun
1:00 Poland CE%sT 1940 Jun 23 2:00
1:00 C-Eur CE%sT 1944 Oct
- 1:00 Poland CE%sT 1977 Apr 3 1:00
- 1:00 W-Eur CE%sT 1999
-# IATA SSIM (1991/1996) gives EU rules, but the _The Warsaw Voice_
-# <a href="http://www.warsawvoice.com.pl/v361/NewsInBrief.shtml">
-# http://www.warsawvoice.com/pl/v361/NewsInBrief.shtml (1995-09-24)
-# </a>
-# says the autumn 1995 switch was at 02:00.
-# Stick with W-Eur for now.
-#
-# From Marcin.Kasperski@softax.com.pl (1999-06-10):
-# According to my colleagues someone recently decided, that Poland would
-# follow European Union regulations, so - I think - the matter is not
-# worth further discussion.
-#
-# From Paul Eggert (1999-06-10):
-# Kasperski also writes that the government futzed with the rules in 1997
-# or 1998 but he doesn't remember the details. Assume they switched to
-# EU rules in 1999.
+ 1:00 Poland CE%sT 1977
+ 1:00 W-Eur CE%sT 1988
1:00 EU CE%sT
# Portugal
#
-# From Rui Pedro Salgueiro <rps@inescca.inescc.pt> (1992-11-12):
+# 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 <martin@ua.pt> (1996-02-29) reports via Peter Ilieve
+# 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.
#
@@ -1863,25 +1876,25 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct
# Russia
-# From Paul Eggert <eggert@twinsun.com> (1999-11-12):
+# From Paul Eggert (1999-11-12):
# Except for Moscow after 1919-07-01, I invented the time zone abbreviations.
# Moscow time zone abbreviations after 1919-07-01, and Moscow rules after 1991,
# are from Andrey A. Chernov. The rest is from Shanks, except we follow
# Chernov's report that 1992 DST transitions were Sat 23:00, not Sun 02:00s.
#
-# From Stanislaw A. Kuzikowski <S.A.Kuz@iae.nsk.su> (1994-06-29):
+# From Stanislaw A. Kuzikowski (1994-06-29):
# But now it is some months since Novosibirsk is 3 hours ahead of Moscow!
# I do not know why they have decided to make this change;
# as far as I remember it was done exactly during winter->summer switching
# so we (Novosibirsk) simply did not switch.
#
-# From Andrey A. Chernov <ache@nagual.ru> (1996-10-04):
+# From Andrey A. Chernov (1996-10-04):
# `MSK' and `MSD' were born and used initially on Moscow computers with
# UNIX-like OSes by several developer groups (e.g. Demos group, Kiae group)....
# The next step was the UUCP network, the Relcom predecessor
# (used mainly for mail), and MSK/MSD was actively used there.
#
-# From Chris Carrier <72157.3334@CompuServe.COM> (1996-10-30):
+# From Chris Carrier (1996-10-30):
# According to a friend of mine who rode the Trans-Siberian Railroad from
# Moscow to Irkutsk in 1995, public air and rail transport in Russia ...
# still follows Moscow time, no matter where in Russia it is located.
@@ -2069,7 +2082,7 @@ Zone Europe/Belgrade 1:22:00 - LMT 1884
1:00 - CET 1941 Apr 18 23:00
1:00 C-Eur CE%sT 1945 May 8 2:00s
1:00 1:00 CEST 1945 Sep 16 2:00s
-# Metod Kozelj <metod.kozelj@rzs-hm.si> reports that the legal date of
+# Metod Kozelj reports that the legal date of
# transition to EU rules was 1982-11-27, for all of Yugoslavia at the time.
# Shanks doesn't give as much detail, so go with Kozelj.
1:00 - CET 1982 Nov 27
@@ -2343,7 +2356,7 @@ Zone Europe/Simferopol 2:16:24 - LMT 1880
3:00 Russia MSK/MSD 1990
3:00 - MSK 1990 Jul 1 2:00
2:00 - EET 1992
-# From Paul Eggert <eggert@twinsun.com> (1999-11-12):
+# From Paul Eggert (1999-11-12):
# The _Economist_ (1994-05-28, p 45) reports that central Crimea switched
# from Kiev to Moscow time sometime after the January 1994 elections.
# Shanks says ``date of change uncertain'', but implies that it happened
@@ -2373,8 +2386,7 @@ Zone Europe/Simferopol 2:16:24 - LMT 1880
# ...
# Date: Wed, 28 Jan 87 16:56:27 -0100
-# From: seismo!mcvax!cgcha!wtho (Tom Hofmann)
-# Message-Id: <8701281556.AA22174@cgcha.uucp>
+# From: Tom Hofmann
# ...
#
# ...the European time rules are...standardized since 1981, when
@@ -2393,11 +2405,11 @@ Zone Europe/Simferopol 2:16:24 - LMT 1880
#
# Tom Hofmann, Scientific Computer Center, CIBA-GEIGY AG,
# 4002 Basle, Switzerland
-# UUCP: ...!mcvax!cernvax!cgcha!wtho
+# ...
# ...
# Date: Wed, 4 Feb 87 22:35:22 +0100
-# From: seismo!mcvax!cwi.nl!dik (Dik T. Winter)
+# From: Dik T. Winter
# ...
#
# The information from Tom Hofmann is (as far as I know) not entirely correct.
@@ -2423,8 +2435,7 @@ Zone Europe/Simferopol 2:16:24 - LMT 1880
#
# ...
# dik t. winter, cwi, amsterdam, nederland
-# INTERNET : dik@cwi.nl
-# BITNET/EARN: dik@mcvax
+# ...
# From Bob Devine (1988-01-28):
# ...
diff --git a/timezone/iso3166.tab b/timezone/iso3166.tab
index dad0d9d34a..07b43fc7c4 100644
--- a/timezone/iso3166.tab
+++ b/timezone/iso3166.tab
@@ -1,8 +1,8 @@
# ISO 3166 alpha-2 country codes
#
-# @(#)iso3166.tab 1.16
+# @(#)iso3166.tab 1.17
#
-# From Paul Eggert <eggert@twinsun.com> (2004-06-14):
+# From Paul Eggert (2004-06-14):
#
# This file contains a table with the following columns:
# 1. ISO 3166-1 alpha-2 country code, current as of
diff --git a/timezone/leapseconds b/timezone/leapseconds
index 2966e760e3..a1078837d7 100644
--- a/timezone/leapseconds
+++ b/timezone/leapseconds
@@ -1,4 +1,4 @@
-# @(#)leapseconds 7.19
+# @(#)leapseconds 7.20
# Allowance for leapseconds added to each timezone file.
@@ -43,8 +43,10 @@ Leap 1994 Jun 30 23:59:60 + S
Leap 1995 Dec 31 23:59:60 + S
Leap 1997 Jun 30 23:59:60 + S
Leap 1998 Dec 31 23:59:60 + S
+Leap 2005 Dec 31 23:59:60 + S
# INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE (IERS)
+#
# SERVICE INTERNATIONAL DE LA ROTATION TERRESTRE ET DES SYSTEMES DE REFERENCE
#
# SERVICE DE LA ROTATION TERRESTRE
@@ -52,29 +54,39 @@ Leap 1998 Dec 31 23:59:60 + S
# 61, Av. de l'Observatoire 75014 PARIS (France)
# Tel. : 33 (0) 1 40 51 22 26
# FAX : 33 (0) 1 40 51 22 91
-# Internet : services.iers@obspm.fr
-#
-# Paris, 21 July 2004
-#
+# ...
+# http://hpiers.obspm.fr/eop-pc
#
-# Bulletin C 28
+# Paris, 4 July 2005
+#
+# Bulletin C 30
#
# To authorities responsible
# for the measurement and
# distribution of time
#
-# INFORMATION ON UTC - TAI
#
-# NO positive leap second will be introduced at the end of December 2004.
+# UTC TIME STEP
+# on the 1st of January 2006
+#
+# A positive leap second will be introduced at the end of December 2005.
+# The sequence of dates of the UTC second markers will be:
+#
+# 2005 December 31, 23h 59m 59s
+# 2005 December 31, 23h 59m 60s
+# 2006 January 1, 0h 0m 0s
+#
# The difference between UTC and the International Atomic Time TAI is:
#
-# from 1999 January 1, 0h UTC, until further notice : UTC-TAI = -32 s
+# from 1999 January 1, 0h UTC, to 2006 January 1 0h UTC : UTC-TAI = - 32s
+# from 2006 January 1, 0h UTC, until further notice : UTC-TAI = - 33s
#
-# Leap seconds can be introduced in UTC at the end of the months of December
+# Leap seconds can be introduced in UtC at the end of the months of December
# or June, depending on the evolution of UT1-TAI. Bulletin C is mailed every
-# six months, either to announce a time step in UTC, or to confirm that there
+# six months, either to announce a time step in UTC or to confirm that there
# will be no time step at the next possible date.
#
# Daniel GAMBIS
-# Director
+# Head
# Earth Orientation Center of IERS
+# Observatoire de Paris, France
diff --git a/timezone/northamerica b/timezone/northamerica
index 2a58c95e66..40a2ce269d 100644
--- a/timezone/northamerica
+++ b/timezone/northamerica
@@ -1,11 +1,11 @@
-# @(#)northamerica 7.72
+# @(#)northamerica 7.79
# also includes Central America and the Caribbean
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future).
-# From Paul Eggert <eggert@twinsun.com> (1999-03-22):
+# From Paul Eggert (1999-03-22):
# A reliable and entertaining source about time zones is
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
@@ -24,12 +24,16 @@
# His proposal was adopted by the railroads on 1883-11-18 at 12:00,
# and the most of the country soon followed suit.
-# From Paul Eggert <eggert@twinsun.com> (1995-12-19):
+# From Paul Eggert (2005-04-16):
+# That 1883 transition occurred at 12:00 new time, not at 12:00 old time.
+# See p 46 of David Prerau, Seize the daylight, Thunder's Mouth Press (2005).
+
+# From Paul Eggert (1995-12-19):
# A good source for time zone historical data in the US is
# Thomas G. Shanks, The American Atlas (5th edition),
# San Diego: ACS Publications, Inc. (1991).
# Make sure you have the errata sheet; the book is somewhat useless without it.
-# It is the source for the US and Puerto Rico entries below.
+# It is the source for most of the pre-1991 US and Puerto Rico entries below.
# From Paul Eggert (2001-03-06):
# Daylight Saving Time was first suggested as a joke by Benjamin Franklin
@@ -48,7 +52,8 @@
# to push people into bed earlier, and get them up earlier, to make
# them healthy, wealthy and wise in spite of themselves.
#
-# -- Robertson Davies, The Diary of Samuel Marchbanks (1947), XIX, Sunday
+# -- Robertson Davies, The diary of Samuel Marchbanks,
+# Clarke, Irwin (1947), XIX, Sunday
#
# For more about the first ten years of DST in the United States, see
# Robert Garland's <a href="http://www.clpgh.org/exhibit/dst.html">
@@ -78,7 +83,7 @@
# Time' instead of the old familiar 'Eastern War Time.' Peace is wonderful."
# </a> (August 1945) by way of confirmation.
-# From Joseph Gallant <notquite@hotmail.com>, citing
+# From Joseph Gallant citing
# George H. Douglas, _The Early Days of Radio Broadcasting_ (1987):
# At 7 P.M. (Eastern War Time) [on 1945-08-14], the networks were set
# to switch to London for Attlee's address, but the American people
@@ -105,21 +110,26 @@
#
# He had scored a 20-second scoop on other broadcasters.
+# From Arthur David Olson (2005-08-22):
+# Paul has been careful to use the "US" rules only in those locations
+# that are part of the United States; this reflects the real scope of
+# U.S. government action. So even though the "US" rules have changed
+# in the latest release, other countries won't be affected.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule US 1918 1919 - Mar lastSun 2:00 1:00 D
Rule US 1918 1919 - Oct lastSun 2:00 0 S
Rule US 1942 only - Feb 9 2:00 1:00 W # War
Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace
Rule US 1945 only - Sep 30 2:00 0 S
-Rule US 1967 max - Oct lastSun 2:00 0 S
+Rule US 1967 2006 - Oct lastSun 2:00 0 S
Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
Rule US 1974 only - Jan 6 2:00 1:00 D
Rule US 1975 only - Feb 23 2:00 1:00 D
Rule US 1976 1986 - Apr lastSun 2:00 1:00 D
-Rule US 1987 max - Apr Sun>=1 2:00 1:00 D
-# <a href="http://thomas.loc.gov/cgi-bin/bdquery/z?d106:h.r.00177:">
-# H.R.177
-# </a> (introduced 1999-01-06) would change April to March in the above rule.
+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 Bob Devine (1988-01-28):
# ...Alaska (and Hawaii) had the timezone names changed in 1967.
@@ -197,13 +207,32 @@ Rule US 1987 max - Apr Sun>=1 2:00 1:00 D
# Public law 106-564 (2000-12-23) introduced the abbreviation
# "Chamorro Standard Time" for time in Guam and the Northern Marianas.
# See the file "australasia".
-
+
+# From Arthur David Olson, 2005-08-09
+# The following was signed into law on 2005-08-08.
+#
+# H.R. 6, Energy Policy Act of 2005, SEC. 110. DAYLIGHT SAVINGS.
+# (a) Amendment- Section 3(a) of the Uniform Time Act of 1966 (15
+# U.S.C. 260a(a)) is amended--
+# (1) by striking `first Sunday of April' and inserting `second
+# Sunday of March'; and
+# (2) by striking `last Sunday of October' and inserting `first
+# Sunday of November'.
+# (b) Effective Date- Subsection (a) shall take effect 1 year after the
+# date of enactment of this Act or March 1, 2007, whichever is later.
+# (c) Report to Congress- Not later than 9 months after the effective
+# date stated in subsection (b), the Secretary shall report to Congress
+# on the impact of this section on energy consumption in the United
+# States.
+# (d) Right to Revert- Congress retains the right to revert the
+# Daylight Saving Time back to the 2005 time schedules once the
+# Department study is complete.
# US eastern time, represented by New York
# Connecticut, Delaware, District of Columbia, most of Florida,
-# Georgia, southeast Indiana (Clark, Dearborn, Floyd, Harrison, and
-# Ohio counties), eastern Kentucky, Maine, Maryland, Massachusetts,
+# Georgia, southeast Indiana (Dearborn and Ohio counties), eastern Kentucky
+# (except America/Kentucky/Louisville below), Maine, Maryland, Massachusetts,
# New Hampshire, New Jersey, New York, North Carolina, Ohio,
# Pennsylvania, Rhode Island, South Carolina, eastern Tennessee,
# Vermont, Virginia, West Virginia
@@ -222,7 +251,7 @@ Rule NYC 1921 1966 - Apr lastSun 2:00 1:00 D
Rule NYC 1921 1954 - Sep lastSun 2:00 0 S
Rule NYC 1955 1966 - Oct lastSun 2:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone America/New_York -4:56:02 - LMT 1883 Nov 18 12:00
+Zone America/New_York -4:56:02 - LMT 1883 Nov 18 12:03:58
-5:00 US E%sT 1920
-5:00 NYC E%sT 1942
-5:00 US E%sT 1946
@@ -248,7 +277,7 @@ Rule Chicago 1922 1966 - Apr lastSun 2:00 1:00 D
Rule Chicago 1922 1954 - Sep lastSun 2:00 0 S
Rule Chicago 1955 1966 - Oct lastSun 2:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:00
+Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24
-6:00 US C%sT 1920
-6:00 Chicago C%sT 1936 Mar 1 2:00
-5:00 - EST 1936 Nov 15 2:00
@@ -257,7 +286,7 @@ Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:00
-6:00 Chicago C%sT 1967
-6:00 US C%sT
# Oliver County, ND switched from mountain to central time on 1992-10-25.
-Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 12:00
+Zone America/North_Dakota/Center -6:45:12 - LMT 1883 Nov 18 12:14:48
-7:00 US M%sT 1992 Oct 25 02:00
-6:00 US C%sT
@@ -276,7 +305,7 @@ Rule Denver 1921 only - May 22 2:00 0 S
Rule Denver 1965 1966 - Apr lastSun 2:00 1:00 D
Rule Denver 1965 1966 - Oct lastSun 2:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone America/Denver -6:59:56 - LMT 1883 Nov 18 12:00
+Zone America/Denver -6:59:56 - LMT 1883 Nov 18 12:00:04
-7:00 US M%sT 1920
-7:00 Denver M%sT 1942
-7:00 US M%sT 1946
@@ -296,7 +325,7 @@ Rule CA 1950 1966 - Apr lastSun 2:00 1:00 D
Rule CA 1950 1961 - Sep lastSun 2:00 0 S
Rule CA 1962 1966 - Oct lastSun 2:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:00
+Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02
-8:00 US P%sT 1946
-8:00 CA P%sT 1967
-8:00 US P%sT
@@ -423,7 +452,7 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1900 Jan 1 12:00
# Shanks says the 1944 experiment came to an end on 1944-03-17.
# Go with the Arizona State Library instead.
-Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 12:00
+Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 11:31:42
-7:00 US M%sT 1944 Jan 1 00:01
-7:00 - MST 1944 Apr 1 00:01
-7:00 US M%sT 1944 Oct 1 00:01
@@ -447,7 +476,7 @@ Link America/Denver America/Shiprock
# switched four weeks late in 1974.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:00
+Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:15:11
-8:00 US P%sT 1923 May 13 2:00
-7:00 US M%sT 1974
-7:00 - MST 1974 Feb 3 2:00
@@ -458,40 +487,44 @@ Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:00
# For a map of Indiana's time zone regions, see:
# <a href="http://www.mccsc.edu/time.html">
# What time is it in Indiana?
-# </a> (1999-04-06)
+# </a> (2005-05-03)
+#
+# From Paul Eggert (2005-08-22):
+# Since 1970, most of Indiana has been like America/Indiana/Indianapolis,
+# with the following exceptions:
+#
+# - Gibson, Jasper, Lake, LaPorte, Newton, Porter, Posey, Spencer,
+# Vandenburgh, and Warrick counties have been like America/Chicago.
+#
+# - Dearborn and Ohio counties have been like America/New_York.
+#
+# - Clark, Floyd, and Harrison counties have been like
+# America/Kentucky/Louisville.
+#
+# - Crawford, Starke, and Switzerland counties have their own time zone
+# histories as noted below.
#
-# From Paul Eggert (1995-12-19):
-# Indiana generally observes either EST all year, or CST/CDT,
-# but areas near Cincinnati and Louisville use those cities' timekeeping
-# and in 1969 and 1970 the whole state observed daylight time;
-# and there are other exceptions as noted below.
# Shanks partitions Indiana into 345 regions, each with its own time history,
# and writes ``Even newspaper reports present contradictory information.''
# Fortunately, most of the complexity occurred before our cutoff date of 1970.
#
-# Since 1970, EST-only Indiana has been like America/Indianapolis,
-# with exceptions noted below for Crawford, Starke, and Switzerland counties.
-# The parts of Indiana not listed below have been like America/Chicago,
-# America/Louisville, or America/New_York.
-#
# Other than Indianapolis, the Indiana place names are so nondescript
# that they would be ambiguous if we left them at the `America' level.
# So we reluctantly put them all in a subdirectory `America/Indiana'.
-#
-# Most of EST-only Indiana last observed DST in 1970.
-# From Paul Eggert (2001-03-06), following a tip by Markus Kuhn:
-# Pam Belluck reported in the New York Times (2001-01-31) that the
-# Indiana Legislature is considering a bill to adopt DST statewide.
-# Her article mentioned Vevay, whose post office observes a different
-# time zone from Danner's Hardware across the street.
+# From Paul Eggert (2005-08-16):
+# http://www.mccsc.edu/time.html says that Indiana will use DST starting 2006,
+# and that many counties may switch either to Central or to Eastern time.
+# The county-by-county decisions have not been made yet, so for now assume
+# that no counties will switch: this assumption is most likely wrong,
+# but it's the best we can do for now.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
Rule Indianapolis 1941 only - Jun 22 2:00 1:00 D
Rule Indianapolis 1941 1954 - Sep lastSun 2:00 0 S
Rule Indianapolis 1946 1954 - Apr lastSun 2:00 1:00 D
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone America/Indianapolis -5:44:38 - LMT 1883 Nov 18 12:00
+Zone America/Indiana/Indianapolis -5:44:38 - LMT 1883 Nov 18 12:15:22
-6:00 US C%sT 1920
-6:00 Indianapolis C%sT 1942
-6:00 US C%sT 1946
@@ -500,8 +533,8 @@ Zone America/Indianapolis -5:44:38 - LMT 1883 Nov 18 12:00
-6:00 - CST 1958 Apr 27 2:00
-5:00 - EST 1969
-5:00 US E%sT 1971
- -5:00 - EST
-Link America/Indianapolis America/Indiana/Indianapolis
+ -5:00 - EST 2006
+ -5:00 US E%sT
#
# Part of Crawford County, Indiana, last observed DST in 1975,
# and left its clocks alone in 1974.
@@ -511,14 +544,15 @@ Rule Marengo 1951 only - Sep lastSun 2:00 0 S
Rule Marengo 1954 1960 - Apr lastSun 2:00 1:00 D
Rule Marengo 1954 1960 - Sep lastSun 2:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 12:00
+Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 12:14:37
-6:00 US C%sT 1951
-6:00 Marengo C%sT 1961 Apr 30 2:00
-5:00 - EST 1969
-5:00 US E%sT 1974 Jan 6 2:00
-6:00 1:00 CDT 1974 Oct 27 2:00
-5:00 US E%sT 1976
- -5:00 - EST
+ -5:00 - EST 2006
+ -5:00 US E%sT
#
# Starke County, Indiana
# From Arthur David Olson (1991-10-28):
@@ -532,23 +566,25 @@ Rule Starke 1955 1956 - Oct lastSun 2:00 0 S
Rule Starke 1957 1958 - Sep lastSun 2:00 0 S
Rule Starke 1959 1961 - Oct lastSun 2:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 12:00
+Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 12:13:30
-6:00 US C%sT 1947
-6:00 Starke C%sT 1962 Apr 29 2:00
-5:00 - EST 1963 Oct 27 2:00
-6:00 US C%sT 1991 Oct 27 2:00
- -5:00 - EST
+ -5:00 - EST 2006
+ -5:00 US E%sT
#
# Switzerland County, Indiana, last observed DST in 1972.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 12:00
+Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 12:19:44
-6:00 US C%sT 1954 Apr 25 2:00
-5:00 - EST 1969
-5:00 US E%sT 1973
- -5:00 - EST
+ -5:00 - EST 2006
+ -5:00 US E%sT
# Part of Kentucky left its clocks alone in 1974.
-# This also includes a part of Indiana immediately adjacent to Louisville.
+# This also includes Clark, Floyd, and Harrison counties in Indiana.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
Rule Louisville 1921 only - May 1 2:00 1:00 D
Rule Louisville 1921 only - Sep 1 2:00 0 S
@@ -558,7 +594,7 @@ Rule Louisville 1946 only - Jun 2 2:00 0 S
Rule Louisville 1950 1955 - Sep lastSun 2:00 0 S
Rule Louisville 1956 1960 - Oct lastSun 2:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone America/Louisville -5:43:02 - LMT 1883 Nov 18 12:00
+Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 12:16:58
-6:00 US C%sT 1921
-6:00 Louisville C%sT 1942
-6:00 US C%sT 1946
@@ -567,7 +603,6 @@ Zone America/Louisville -5:43:02 - LMT 1883 Nov 18 12:00
-5:00 US E%sT 1974 Jan 6 2:00
-6:00 1:00 CDT 1974 Oct 27 2:00
-5:00 US E%sT
-Link America/Louisville America/Kentucky/Louisville
#
# Wayne, Clinton, and Russell Counties, Kentucky
#
@@ -595,7 +630,7 @@ Link America/Louisville America/Kentucky/Louisville
# Federal Register 65, 160 (2000-08-17), page 50154-50158.
# </a>
#
-Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:00
+Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36
-6:00 US C%sT 1946
-6:00 - CST 1968
-6:00 US C%sT 2000 Oct 29 2:00
@@ -690,21 +725,10 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
# _Los Angeles Times_ (1998-11-10), A1, A10; it cites
# Jimmy Skaggs, _The Great Guano Rush_ (1994).
-# Old names, for S5 users
-
-# Link LINK-FROM LINK-TO
-Link America/New_York EST5EDT
-Link America/Chicago CST6CDT
-Link America/Denver MST7MDT
-Link America/Los_Angeles PST8PDT
-Link America/Indianapolis EST
-Link America/Phoenix MST
-Link Pacific/Honolulu HST
-
################################################################################
-# From Paul Eggert <eggert@twinsun.com> (1999-10-29):
+# From Paul Eggert (1999-10-29):
# A good source for time zone historical data outside the US is
# Thomas G. Shanks, The International Atlas (5th edition),
# San Diego: ACS Publications, Inc. (1999).
@@ -732,7 +756,7 @@ Link Pacific/Honolulu HST
# Canada
-# From Alain LaBont<e'> <ALB@immedia.ca> (1994-11-14):
+# From Alain LaBont<e'> (1994-11-14):
# I post here the time zone abbreviations standardized in Canada
# for both English and French in the CAN/CSA-Z234.4-89 standard....
#
@@ -761,7 +785,7 @@ Link Pacific/Honolulu HST
# T: de Terre-Neuve
# Y: du Yukon Yukon
#
-# From Paul Eggert <eggert@twinsun.com> (1994-11-22):
+# From Paul Eggert (1994-11-22):
# Alas, this sort of thing must be handled by localization software.
# Unless otherwise specified, the data for Canada are all from Shanks.
@@ -1146,7 +1170,7 @@ Zone America/Winnipeg -6:28:36 - LMT 1887 Jul 16
# Matthews and Vincent (1998) write that Denare Beach and Creighton
# are like Winnipeg, in violation of Saskatchewan law.
-# From W. Jones <jones@skdad.usask.ca> (1992-11-06):
+# From W. Jones (1992-11-06):
# The. . .below is based on information I got from our law library, the
# provincial archives, and the provincial Community Services department.
# A precise history would require digging through newspaper archives, and
@@ -1264,7 +1288,7 @@ Zone America/Dawson_Creek -8:00:56 - LMT 1884
# From Paul Eggert (1999-10-29):
# Dawson switched to PST in 1973. Inuvik switched to MST in 1979.
-# Mathew Englander <mathew@io.org> (1996-10-07) gives the following refs:
+# Mathew Englander (1996-10-07) gives the following refs:
# * 1967. Paragraph 28(34)(g) of the Interpretation Act, S.C. 1967-68,
# c. 7 defines Yukon standard time as UTC-9. This is still valid;
# see Interpretation Act, R.S.C. 1985, c. I-21, s. 35(1).
@@ -1289,8 +1313,6 @@ Zone America/Dawson_Creek -8:00:56 - LMT 1884
# </a> (1999) reports that Pangnirtung operates on eastern time,
# and that Coral Harbour does not observe DST. We don't know when
# Pangnirtung switched to eastern time; we'll guess 1995.
-# We'll ignore the claim about Coral Harbour for now,
-# since we have no further info.
# From Rives McDow (1999-11-08):
# On October 31, when the rest of Nunavut went to Central time,
@@ -1365,6 +1387,23 @@ Zone America/Dawson_Creek -8:00:56 - LMT 1884
# more.
# [Also see <http://www.nunatsiaq.com/nunavut/nvt10309_06.html> (2001-03-09).]
+# From Gwillim Law (2005-05-21):
+# According to maps at
+# http://inms-ienm.nrc-cnrc.gc.ca/images/time_services/TZ01SWE.jpg
+# http://inms-ienm.nrc-cnrc.gc.ca/images/time_services/TZ01SSE.jpg
+# (both dated 2003), and
+# http://www.canadiangeographic.ca/Magazine/SO98/geomap.asp
+# (from a 1998 Canadian Geographic article), the de facto and de jure time
+# for Southampton Island (at the north end of Hudson Bay) is UTC-5 all year
+# round. Using Google, it's easy to find other websites that confirm this.
+# I wasn't able to find how far back this time regimen goes, but since it
+# predates the creation of Nunavut, it probably goes back many years....
+# The Inuktitut name of Coral Harbour is Sallit, but it's rarely used.
+#
+# From Paul Eggert (2005-07-26):
+# For lack of better information, assume that Southampton Island observed
+# daylight saving only during wartime.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule NT_YK 1918 only - Apr 14 2:00 1:00 D
Rule NT_YK 1918 only - Oct 27 2:00 0 S
@@ -1388,6 +1427,9 @@ Zone America/Iqaluit -4:33:52 - LMT 1884 # Frobisher Bay before 1987
-5:00 NT_YK E%sT 1999 Oct 31 2:00
-6:00 Canada C%sT 2000 Oct 29 2:00
-5:00 Canada E%sT
+Zone America/Coral_Harbour -5:32:40 - LMT 1884
+ -5:00 NT_YK E%sT 1946
+ -5:00 - EST
Zone America/Rankin_Inlet -6:08:40 - LMT 1884
-6:00 NT_YK C%sT 2000 Oct 29 2:00
-5:00 - EST 2001 Apr 1 3:00
@@ -1427,7 +1469,7 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
# Shanks reports that Baja was at -8:00 in 1922/1923.
# Shanks says the 1930 transition in Baja was 1930-11-16.
# Shanks reports no DST during summer 1931.
-# Shanks reports a transition at 1032-03-30 23:00, not 1932-04-01.
+# Shanks reports a transition at 1932-03-30 23:00, not 1932-04-01.
# Shanks does not report transitions for Baja in 1945 or 1948.
# Shanks reports southern Mexico transitions on 1981-12-01, not 12-23.
# Shanks says Quintana Roo switched to -6:00 on 1982-12-02, and to -5:00
@@ -1443,7 +1485,7 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
# Shanks gives 1942-04-01 instead of 1942-04-24, and omits the 1981
# and 1988 DST experiments. Go with spin.com.mx.
-# From Alan Perry <alan.perry@eng.sun.com> (1996-02-15):
+# From Alan Perry (1996-02-15):
# A guy from our Mexico subsidiary finally found the Presidential Decree
# outlining the timezone changes in Mexico.
#
@@ -1873,6 +1915,26 @@ Zone America/Guatemala -6:02:04 - LMT 1918 Oct 5
-6:00 Guat C%sT
# Haiti
+# From Gwillim Law (2005-04-15):
+# Risto O. Nykanen wrote me that Haiti is now on DST.
+# I searched for confirmation, and I found a
+# <a href="http://www.haitianconsulate.org/time.doc"> press release
+# on the Web page of the Haitian Consulate in Chicago (2005-03-31),
+# </a>. Translated from French, it says:
+#
+# "The Prime Minister's Communication Office notifies the public in general
+# and the press in particular that, following a decision of the Interior
+# Ministry and the Territorial Collectivities [I suppose that means the
+# provinces], Haiti will move to Eastern Daylight Time in the night from next
+# Saturday the 2nd to Sunday the 3rd.
+#
+# "Consequently, the Prime Minister's Communication Office wishes to inform
+# the population that the country's clocks will be set forward one hour
+# starting at midnight. This provision will hold until the last Saturday in
+# October 2005.
+#
+# "Port-au-Prince, March 31, 2005"
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Haiti 1983 only - May 8 0:00 1:00 D
Rule Haiti 1984 1987 - Apr lastSun 0:00 1:00 D
@@ -1880,6 +1942,8 @@ Rule Haiti 1983 1987 - Oct lastSun 0:00 0 S
# Shanks says AT is 2:00, but IATA SSIM (1991/1997) says 1:00s. Go with IATA.
Rule Haiti 1988 1997 - Apr Sun>=1 1:00s 1:00 D
Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S
+Rule Haiti 2005 only - Apr Sun>=1 0:00 1:00 D
+Rule Haiti 2005 only - Oct lastSun 0:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Port-au-Prince -4:49:20 - LMT 1890
-4:49 - PPMT 1917 Jan 24 12:00 # P-a-P MT
@@ -1931,11 +1995,39 @@ Zone America/Montserrat -4:08:52 - LMT 1911 Jul 1 0:01 # Olveston
# Nicaragua seems to be back at -6:00 but I have not been able to find when
# they changed from -5:00.
#
+# From Steffen Thorsen (2005-04-12):
+# I've got reports from 8 different people that Nicaragua just started
+# DST on Sunday 2005-04-10, in order to save energy because of
+# expensive petroleum. The exact end date for DST is not yet
+# announced, only "September" but some sites also say "mid-September".
+# Some background information is available on the President's official site:
+# http://www.presidencia.gob.ni/Presidencia/Files_index/Secretaria/Notas%20de%20Prensa/Presidente/2005/ABRIL/Gobierno-de-nicaragua-adelanta-hora-oficial-06abril.htm
+# The Decree, no 23-2005 is available here:
+# http://www.presidencia.gob.ni/buscador_gaceta/BD/DECRETOS/2005/Decreto%2023-2005%20Se%20adelanta%20en%20una%20hora%20en%20todo%20el%20territorio%20nacional%20apartir%20de%20las%2024horas%20del%2009%20de%20Abril.pdf
+#
+# From Paul Eggert (2005-05-01):
+# The decree doesn't say anything about daylight saving, but for now let's
+# assume that it is daylight saving and that they'll switch back on the
+# 3rd Sunday in September.
+#
+# From Gwillim Law (2005-04-21):
+# The Associated Press story on the time change, which can be found at
+# http://www.lapalmainteractivo.com/guias/content/gen/ap/America_Latina/AMC_GEN_NICARAGUA_HORA.html
+# and elsewhere, says (fifth paragraph, translated from Spanish): "The last
+# time that a change of clocks was applied to save energy was in the year 2000
+# during the Arnoldo Aleman administration."...
+# The northamerica file says that Nicaragua has been on UTC-6 continuously
+# since December 1998. I wasn't able to find any details of Nicaraguan time
+# changes in 2000. Perhaps a note could be added to the northamerica file, to
+# the effect that we have indirect evidence that DST was observed in 2000.
+#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Nic 1979 1980 - Mar Sun>=16 0:00 1:00 D
Rule Nic 1979 1980 - Jun Mon>=23 0:00 0 S
Rule Nic 1992 only - Jan 1 4:00 1:00 D
Rule Nic 1992 only - Sep 24 0:00 0 S
+Rule Nic 2005 only - Apr 10 0:00 1:00 D
+Rule Nic 2005 only - Sep 18 0:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Managua -5:45:08 - LMT 1890
-5:45:12 - MMT 1934 Jun 23 # Managua Mean Time?
@@ -1943,7 +2035,7 @@ Zone America/Managua -5:45:08 - LMT 1890
-5:00 - EST 1975 Feb 16
-6:00 Nic C%sT 1993 Jan 1 4:00
-5:00 - EST 1998 Dec
- -6:00 - CST
+ -6:00 Nic C%sT
# Panama
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
diff --git a/timezone/private.h b/timezone/private.h
index 5de2f7dfe4..9a1ef22abb 100644
--- a/timezone/private.h
+++ b/timezone/private.h
@@ -25,6 +25,8 @@ static char privatehid[] = "@(#)private.h 7.55";
#endif /* !defined NOID */
#endif /* !defined lint */
+#define GRANDPARENTED "Local time zone must be set--see zic manual page"
+
/*
** Defaults for preprocessor symbols.
** You can override these in your C compiler options, e.g. `-DHAVE_ADJTIME=0'.
@@ -91,13 +93,13 @@ static char privatehid[] = "@(#)private.h 7.55";
#include "time.h"
#include "stdlib.h"
-#if HAVE_GETTEXT - 0
+#if HAVE_GETTEXT
#include "libintl.h"
-#endif /* HAVE_GETTEXT - 0 */
+#endif /* HAVE_GETTEXT */
-#if HAVE_SYS_WAIT_H - 0
+#if HAVE_SYS_WAIT_H
#include <sys/wait.h> /* for WIFEXITED and WEXITSTATUS */
-#endif /* HAVE_SYS_WAIT_H - 0 */
+#endif /* HAVE_SYS_WAIT_H */
#ifndef WIFEXITED
#define WIFEXITED(status) (((status) & 0xff) == 0)
@@ -106,20 +108,20 @@ static char privatehid[] = "@(#)private.h 7.55";
#define WEXITSTATUS(status) (((status) >> 8) & 0xff)
#endif /* !defined WEXITSTATUS */
-#if HAVE_UNISTD_H - 0
+#if HAVE_UNISTD_H
#include "unistd.h" /* for F_OK and R_OK */
-#endif /* HAVE_UNISTD_H - 0 */
+#endif /* HAVE_UNISTD_H */
-#if !(HAVE_UNISTD_H - 0)
+#if !HAVE_UNISTD_H
#ifndef F_OK
#define F_OK 0
#endif /* !defined F_OK */
#ifndef R_OK
#define R_OK 4
#endif /* !defined R_OK */
-#endif /* !(HAVE_UNISTD_H - 0) */
+#endif /* !HAVE_UNISTD_H */
-/* Unlike <ctype.h>'s isdigit, this also works if c < 0 | c > UCHAR_MAX. */
+/* Unlike <ctype.h>'s isdigit, this also works if c < 0 | c > UCHAR_MAX. */
#define is_digit(c) ((unsigned)(c) - '0' <= 9)
/*
@@ -216,7 +218,7 @@ char * imalloc P((int n));
void * irealloc P((void * pointer, int size));
void icfree P((char * pointer));
void ifree P((char * pointer));
-char * scheck P((const char *string, const char *format));
+char * scheck P((const char *string, char *format));
/*
** Finally, some convenience items.
@@ -255,7 +257,8 @@ char * scheck P((const char *string, const char *format));
** add one more for a minus sign if the type is signed.
*/
#define INT_STRLEN_MAXIMUM(type) \
- ((TYPE_BIT(type) - TYPE_SIGNED(type)) * 302 / 1000 + 1 + TYPE_SIGNED(type))
+ ((TYPE_BIT(type) - TYPE_SIGNED(type)) * 302 / 1000 + \
+ 1 + TYPE_SIGNED(type))
#endif /* !defined INT_STRLEN_MAXIMUM */
/*
@@ -289,11 +292,11 @@ char * scheck P((const char *string, const char *format));
*/
#ifndef _
-#if HAVE_GETTEXT - 0
+#if HAVE_GETTEXT
#define _(msgid) gettext(msgid)
-#else /* !(HAVE_GETTEXT - 0) */
+#else /* !HAVE_GETTEXT */
#define _(msgid) msgid
-#endif /* !(HAVE_GETTEXT - 0) */
+#endif /* !HAVE_GETTEXT */
#endif /* !defined _ */
#ifndef TZ_DOMAIN
diff --git a/timezone/scheck.c b/timezone/scheck.c
index fd115f9c48..2dd9b35285 100644
--- a/timezone/scheck.c
+++ b/timezone/scheck.c
@@ -11,7 +11,7 @@ static char elsieid[] = "@(#)scheck.c 8.16";
char *
scheck(string, format)
const char * const string;
-const char * const format;
+char * const format;
{
register char * fbuf;
register const char * fp;
diff --git a/timezone/solar87 b/timezone/solar87
index 3f32347973..21ba2c2d64 100644
--- a/timezone/solar87
+++ b/timezone/solar87
@@ -1,4 +1,4 @@
-# @(#)solar87 7.3
+# @(#)solar87 7.4
# So much for footnotes about Saudi Arabia.
# Apparent noon times below are for Riyadh; your mileage will vary.
@@ -381,8 +381,8 @@ Rule sol87 1987 only - Dec 31 12:02:45s -0:02:45 -
# Before and after 1987, we'll operate on local mean solar time.
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
-Zone Asia/Riyadh87 3:07:04 - ?? 1987
- 3:07:04 sol87 ?? 1988
- 3:07:04 - ??
+Zone Asia/Riyadh87 3:07:04 - zzz 1987
+ 3:07:04 sol87 zzz 1988
+ 3:07:04 - zzz
# For backward compatibility...
Link Asia/Riyadh87 Mideast/Riyadh87
diff --git a/timezone/solar88 b/timezone/solar88
index 41a64e5023..7e15f2b077 100644
--- a/timezone/solar88
+++ b/timezone/solar88
@@ -1,4 +1,4 @@
-# @(#)solar88 7.3
+# @(#)solar88 7.4
# Apparent noon times below are for Riyadh; they're a bit off for other places.
# Times were computed using formulas in the U.S. Naval Observatory's
@@ -381,8 +381,8 @@ Rule sol88 1988 only - Dec 31 12:03:05s -0:03:05 -
# Before and after 1988, we'll operate on local mean solar time.
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
-Zone Asia/Riyadh88 3:07:04 - ?? 1988
- 3:07:04 sol88 ?? 1989
- 3:07:04 - ??
+Zone Asia/Riyadh88 3:07:04 - zzz 1988
+ 3:07:04 sol88 zzz 1989
+ 3:07:04 - zzz
# For backward compatibility...
Link Asia/Riyadh88 Mideast/Riyadh88
diff --git a/timezone/solar89 b/timezone/solar89
index a6d3d718d3..3c36b6a30d 100644
--- a/timezone/solar89
+++ b/timezone/solar89
@@ -1,4 +1,4 @@
-# @(#)solar89 7.4
+# @(#)solar89 7.5
# Apparent noon times below are for Riyadh; they're a bit off for other places.
# Times were computed using a formula provided by the U. S. Naval Observatory:
@@ -386,8 +386,8 @@ Rule sol89 1989 only - Dec 31 12:03:00s -0:03:00 -
# Before and after 1989, we'll operate on local mean solar time.
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
-Zone Asia/Riyadh89 3:07:04 - ?? 1989
- 3:07:04 sol89 ?? 1990
- 3:07:04 - ??
+Zone Asia/Riyadh89 3:07:04 - zzz 1989
+ 3:07:04 sol89 zzz 1990
+ 3:07:04 - zzz
# For backward compatibility...
Link Asia/Riyadh89 Mideast/Riyadh89
diff --git a/timezone/southamerica b/timezone/southamerica
index 6f3b081294..9bf068ba9e 100644
--- a/timezone/southamerica
+++ b/timezone/southamerica
@@ -1,10 +1,10 @@
-# @(#)southamerica 7.59
+# @(#)southamerica 7.61
# This data is by no means authoritative; if you think you know better,
# go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future).
-# From Paul Eggert <eggert@twinsun.com> (1999-07-07):
+# From Paul Eggert (1999-07-07):
# A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (5th edition),
# San Diego: ACS Publications, Inc. (1999).
@@ -58,7 +58,7 @@
# From U. S. Naval Observatory (1988-01-199):
# ARGENTINA 3 H BEHIND UTC
-# From Hernan G. Otero <hernan@isoft.com.ar> (1995-06-26):
+# From Hernan G. Otero (1995-06-26):
# I am sending modifications to the Argentine time zone table...
# AR was chosen because they are the ISO letters that represent Argentina.
@@ -86,7 +86,7 @@ Rule Arg 1974 only - Jan 23 0:00 1:00 S
Rule Arg 1974 only - May 1 0:00 0 -
Rule Arg 1988 only - Dec 1 0:00 1:00 S
#
-# From Hernan G. Otero <hernan@isoft.com.ar> (1995-06-26):
+# From Hernan G. Otero (1995-06-26):
# These corrections were contributed by InterSoft Argentina S.A.,
# obtaining the data from the:
# Talleres de Hidrografia Naval Argentina
@@ -96,7 +96,7 @@ Rule Arg 1988 only - Dec 1 0:00 1:00 S
Rule Arg 1989 1993 - Mar Sun>=1 0:00 0 -
Rule Arg 1989 1992 - Oct Sun>=15 0:00 1:00 S
#
-# From Hernan G. Otero <hernan@isoft.com.ar> (1995-06-26):
+# From Hernan G. Otero (1995-06-26):
# From this moment on, the law that mandated the daylight saving
# time corrections was derogated and no more modifications
# to the time zones (for daylight saving) are now made.
@@ -113,7 +113,7 @@ Rule Arg 2000 only - Mar Sun>=1 0:00 0 -
# Argentina decided not to become one of the countries that go on or off DST.
# So Buenos Aires should be -3 hours from GMT at all times.
#
-# From Fabian L. Arce Jofre <farcejofre@bigfoot.com> (2000-04-04):
+# From Fabian L. Arce Jofre (2000-04-04):
# The law that claimed DST for Argentina was derogated by President Fernando
# de la Rua on March 2, 2000, because it would make people spend more energy
# in the winter time, rather than less. The change took effect on March 3.
@@ -293,7 +293,7 @@ Zone America/Argentina/Jujuy -4:21:12 - LMT 1894 Oct 31
-4:00 Arg AR%sT 2000 Mar 3
-3:00 - ART
#
-# Catamarca (CT)
+# Catamarca (CT), Chubut (CH)
Zone America/Argentina/Catamarca -4:23:08 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May
-4:00 - ART 1930 Dec
@@ -323,20 +323,6 @@ Zone America/Argentina/Mendoza -4:35:16 - LMT 1894 Oct 31
-4:00 - WART 2004 Sep 26
-3:00 - ART
#
-# Chubut (CH)
-# The name "Comodoro Rivadavia" exceeds the 14-byte POSIX limit.
-Zone America/Argentina/ComodRivadavia -4:30:00 - LMT 1894 Oct 31
- -4:16:48 - CMT 1920 May
- -4:00 - ART 1930 Dec
- -4:00 Arg AR%sT 1969 Oct 5
- -3:00 Arg AR%sT 1991 Mar 3
- -4:00 - WART 1991 Oct 20
- -3:00 Arg AR%sT 1999 Oct 3
- -4:00 Arg AR%sT 2000 Mar 3
- -3:00 - ART 2004 Jun 1
- -4:00 - WART 2004 Jun 20
- -3:00 - ART
-#
# Santa Cruz (SC)
Zone America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 Oct 31
-4:16:48 - CMT 1920 May # Cordoba Mean Time
@@ -374,7 +360,7 @@ Zone America/La_Paz -4:32:36 - LMT 1890
# Brazil
-# From Paul Eggert <eggert@twinsun.com> (1993-11-18):
+# From Paul Eggert (1993-11-18):
# The mayor of Rio recently attempted to change the time zone rules
# just in his city, in order to leave more summer time for the tourist trade.
# The rule change lasted only part of the day;
@@ -532,7 +518,7 @@ Rule Brazil 1996 only - Feb 11 0:00 0 -
# adopted by same states, minus AL, SE.
Rule Brazil 1996 only - Oct 6 0:00 1:00 S
Rule Brazil 1997 only - Feb 16 0:00 0 -
-# From Daniel C. Sobral <dcs@gns.com.br> (1998-02-12):
+# From Daniel C. Sobral (1998-02-12):
# In 1997, the DS began on October 6. The stated reason was that
# because international television networks ignored Brazil's policy on DS,
# they bought the wrong times on satellite for coverage of Pope's visit.
@@ -1010,7 +996,7 @@ Zone America/Port_of_Spain -4:06:04 - LMT 1912 Mar 2
-4:00 - AST
# Uruguay
-# From Paul Eggert <eggert@twinsun.com> (1993-11-18):
+# From Paul Eggert (1993-11-18):
# Uruguay wins the prize for the strangest peacetime manipulation of the rules.
# From Shanks:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
diff --git a/timezone/test-tz.c b/timezone/test-tz.c
index 642b45a0ed..55613654c7 100644
--- a/timezone/test-tz.c
+++ b/timezone/test-tz.c
@@ -7,7 +7,7 @@ struct {
const char * env;
time_t expected;
} tests[] = {
- {"MST", 832935315},
+ {"MST", 832910115},
{"", 832910115},
{":UTC", 832910115},
{"UTC", 832910115},
diff --git a/timezone/tst-timezone.c b/timezone/tst-timezone.c
index 127956de29..4c879163cf 100644
--- a/timezone/tst-timezone.c
+++ b/timezone/tst-timezone.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@suse.de>, 1998.
@@ -42,9 +42,9 @@ static const struct test_times tests[] =
{ "Australia/Melbourne", 1, -36000, { "EST", "EST" }},
{ "America/Sao_Paulo", 1, 10800, {"BRT", "BRST" }},
{ "America/Chicago", 1, 21600, {"CST", "CDT" }},
- { "America/Indianapolis", 1, 18000, {"EST", "EDT" }},
+ { "America/Indiana/Indianapolis", 1, 18000, {"EST", "EDT" }},
{ "America/Los_Angeles", 1, 28800, {"PST", "PDT" }},
- { "Asia/Tokyo", 0, -32400, {"JST", "JST" }},
+ { "Asia/Tokyo", 1, -32400, {"JST", "JDT" }},
{ "Pacific/Auckland", 1, -43200, { "NZST", "NZDT" }},
{ NULL, 0, 0 }
};
diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh
index be589240d1..f6e28bfdab 100644
--- a/timezone/tzselect.ksh
+++ b/timezone/tzselect.ksh
@@ -1,11 +1,11 @@
#! @KSH@
-# '@(#)tzselect.ksh 1.7'
+# '@(#)tzselect.ksh 1.8'
# Ask the user about the time zone, and output the resulting TZ value to stdout.
# Interact with the user via stderr and stdin.
-# Contributed by Paul Eggert <eggert@twinsun.com>.
+# Contributed by Paul Eggert.
# Porting notes:
#
diff --git a/timezone/yearistype b/timezone/yearistype
index 8d796f1f21..d3a248032e 100755
--- a/timezone/yearistype
+++ b/timezone/yearistype
@@ -1,6 +1,6 @@
#! /bin/sh
-: '@(#)yearistype.sh 7.7'
+: '@(#)yearistype.sh 7.8'
case $#-$1 in
2-|2-0*|2-*[!0-9]*)
@@ -9,7 +9,7 @@ case $#-$1 in
esac
case $#-$2 in
- 2-even)
+ 2-even)
case $1 in
*[24680]) exit 0 ;;
*) exit 1 ;;
@@ -19,7 +19,7 @@ case $#-$2 in
*[02468][048]|*[13579][26]) exit 1 ;;
*) exit 0 ;;
esac ;;
- 2-odd)
+ 2-odd)
case $1 in
*[13579]) exit 0 ;;
*) exit 1 ;;
@@ -29,7 +29,7 @@ case $#-$2 in
*[02468][048]|*[13579][26]) exit 0 ;;
*) exit 1 ;;
esac ;;
- 2-*)
+ 2-*)
echo "$0: wild type - $2" >&2 ;;
esac
diff --git a/timezone/zdump.c b/timezone/zdump.c
index 2fcce38c06..d767d75fb7 100644
--- a/timezone/zdump.c
+++ b/timezone/zdump.c
@@ -1,4 +1,4 @@
-static char elsieid[] = "@(#)zdump.c 7.64";
+static char elsieid[] = "@(#)zdump.c 7.66";
/*
** This code has been made independent of the rest of the time
@@ -12,6 +12,7 @@ static char elsieid[] = "@(#)zdump.c 7.64";
#include "time.h" /* for struct tm */
#include "stdlib.h" /* for exit, malloc, atoi */
#include "float.h" /* for FLT_MAX and DBL_MAX */
+#include <ctype.h> /* for isascii, isalpha, isdigit */
#ifndef ZDUMP_LO_YEAR
#define ZDUMP_LO_YEAR (-500)
@@ -144,8 +145,10 @@ static time_t absolute_min_time;
static time_t absolute_max_time;
static size_t longest;
static char * progname;
+static int warned;
static char * abbr P((struct tm * tmp));
+static void abbrok P((const char * abbr, const char * zone));
static long delta P((struct tm * newp, struct tm * oldp));
static void dumptime P((const struct tm * tmp));
static time_t hunt P((char * name, time_t lot, time_t hit));
@@ -191,6 +194,43 @@ time_t * tp;
}
#endif /* !defined TYPECHECK */
+static void
+abbrok(abbr, zone)
+const char * const abbr;
+const char * const zone;
+{
+ register const char * cp;
+ register char * wp;
+
+ if (warned)
+ return;
+ cp = abbr;
+ wp = NULL;
+ while (isascii(*cp) && isalpha(*cp))
+ ++cp;
+ if (cp - abbr == 0)
+ wp = _("lacks alphabetic at start");
+ if (cp - abbr < 3)
+ wp = _("has fewer than 3 alphabetics");
+ if (cp - abbr > 6)
+ wp = _("has more than 6 alphabetics");
+ if (wp == NULL && (*cp == '+' || *cp == '-')) {
+ ++cp;
+ if (isascii(*cp) && isdigit(*cp))
+ if (*cp++ == '1' && *cp >= '0' && *cp <= '4')
+ ++cp;
+ }
+ if (*cp != '\0')
+ wp = _("differs from POSIX standard");
+ if (wp == NULL)
+ return;
+ (void) fflush(stdout);
+ (void) fprintf(stderr,
+ "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n",
+ progname, zone, abbr, wp);
+ warned = TRUE;
+}
+
int
main(argc, argv)
int argc;
@@ -216,7 +256,7 @@ char * argv[];
INITIALIZE(cutlotime);
INITIALIZE(cuthitime);
#if HAVE_GETTEXT
- (void) setlocale(LC_MESSAGES, "");
+ (void) setlocale(LC_ALL, "");
#ifdef TZ_DOMAINDIR
(void) bindtextdomain(TZ_DOMAIN, TZ_DOMAINDIR);
#endif /* defined TEXTDOMAINDIR */
@@ -297,6 +337,7 @@ _("%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"),
show(argv[i], now, FALSE);
continue;
}
+ warned = FALSE;
t = absolute_min_time;
show(argv[i], t, TRUE);
t += SECSPERHOUR * HOURSPERDAY;
@@ -527,6 +568,8 @@ int v;
}
}
(void) printf("\n");
+ if (tmp != NULL && *abbr(tmp) != '\0')
+ abbrok(abbr(tmp), zone);
}
static char *
diff --git a/timezone/zic.c b/timezone/zic.c
index fb86fc69d2..57dc5311d5 100644
--- a/timezone/zic.c
+++ b/timezone/zic.c
@@ -1,4 +1,4 @@
-static char elsieid[] = "@(#)zic.c 7.122";
+static char elsieid[] = "@(#)zic.c 7.124";
/*
** Regardless of the type of time_t, we do our work using this type.
@@ -10,6 +10,10 @@ typedef int zic_t;
#include "locale.h"
#include "tzfile.h"
+#ifndef ZIC_MAX_ABBR_LEN_WO_WARN
+#define ZIC_MAX_ABBR_LEN_WO_WARN 6
+#endif /* !defined ZIC_MAX_ABBR_LEN_WO_WARN */
+
#if HAVE_SYS_STAT_H
#include "sys/stat.h"
#endif
@@ -475,8 +479,7 @@ char * argv[];
(void) umask(umask(S_IWGRP | S_IWOTH) | (S_IWGRP | S_IWOTH));
#endif /* defined unix */
#if HAVE_GETTEXT
- (void) setlocale(LC_CTYPE, "");
- (void) setlocale(LC_MESSAGES, "");
+ (void) setlocale(LC_ALL, "");
#ifdef TZ_DOMAINDIR
(void) bindtextdomain(TZ_DOMAIN, TZ_DOMAINDIR);
#endif /* defined TEXTDOMAINDIR */
@@ -2197,6 +2200,41 @@ const char * const string;
{
register int i;
+ if (strcmp(string, GRANDPARENTED) != 0) {
+ register const char * cp;
+ register char * wp;
+
+ /*
+ ** Want one to ZIC_MAX_ABBR_LEN_WO_WARN alphabetics
+ ** optionally followed by a + or - and a number from 1 to 14.
+ */
+ cp = string;
+ wp = NULL;
+ while (isascii(*cp) && isalpha(*cp))
+ ++cp;
+ if (cp - string == 0)
+wp = _("time zone abbreviation lacks alphabetic at start");
+ if (noise && cp - string > 3)
+wp = _("time zone abbreviation has more than 3 alphabetics");
+ if (cp - string > ZIC_MAX_ABBR_LEN_WO_WARN)
+wp = _("time zone abbreviation has too many alphabetics");
+ if (wp == NULL && (*cp == '+' || *cp == '-')) {
+ ++cp;
+ if (isascii(*cp) && isdigit(*cp))
+ if (*cp++ == '1' && *cp >= '0' && *cp <= '4')
+ ++cp;
+ }
+ if (*cp != '\0')
+wp = _("time zone abbreviation differs from POSIX standard");
+ if (wp != NULL) {
+ wp = ecpyalloc(wp);
+ wp = ecatalloc(wp, " (");
+ wp = ecatalloc(wp, string);
+ wp = ecatalloc(wp, ")");
+ warning(wp);
+ ifree(wp);
+ }
+ }
i = strlen(string) + 1;
if (charcnt + i > TZ_MAX_CHARS) {
error(_("too many, or too long, time zone abbreviations"));
diff --git a/timezone/zone.tab b/timezone/zone.tab
index e3c8e39e1e..d9b278b0ec 100644
--- a/timezone/zone.tab
+++ b/timezone/zone.tab
@@ -1,8 +1,8 @@
-# @(#)zone.tab 1.30
+# @(#)zone.tab 1.32
#
# TZ zone descriptions
#
-# From Paul Eggert <eggert@twinsun.com> (1996-08-05):
+# From Paul Eggert (1996-08-05):
#
# This file contains a table with the following columns:
# 1. ISO 3166 2-character country code. See the file `iso3166.tab'.
@@ -45,17 +45,17 @@ AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF)
AR -3124-06411 America/Argentina/Cordoba most locations (CB, CC, CN, ER, FM, LP, MN, NQ, RN, SA, SE, SF, SL)
AR -2411-06518 America/Argentina/Jujuy Jujuy (JY)
AR -3124-06411 America/Argentina/Tucuman Tucuman (TM)
-AR -2828-06547 America/Argentina/Catamarca Catamarca (CT)
+AR -2828-06547 America/Argentina/Catamarca Catamarca (CT), Chubut (CH)
AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR)
AR -3132-06831 America/Argentina/San_Juan San Juan (SJ)
AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ)
-AR -4552-06730 America/Argentina/ComodRivadavia Chubut (CH)
AR -5138-06913 America/Argentina/Rio_Gallegos Santa Cruz (SC)
AR -5448-06818 America/Argentina/Ushuaia Tierra del Fuego (TF)
AS -1416-17042 Pacific/Pago_Pago
AT +4813+01620 Europe/Vienna
AU -3133+15905 Australia/Lord_Howe Lord Howe Island
-AU -4253+14719 Australia/Hobart Tasmania
+AU -4253+14719 Australia/Hobart Tasmania - most locations
+AU -3956+14352 Australia/Currie Tasmania - King Island
AU -3749+14458 Australia/Melbourne Victoria
AU -3352+15113 Australia/Sydney New South Wales - most locations
AU -3157+14127 Australia/Broken_Hill New South Wales - Yancowinna
@@ -107,9 +107,10 @@ CA +4531-07334 America/Montreal Eastern Time - Quebec - most locations
CA +4339-07923 America/Toronto Eastern Time - Ontario - most locations
CA +4901-08816 America/Nipigon Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973
CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario
-CA +6608-06544 America/Pangnirtung Eastern Standard Time - Pangnirtung, Nunavut
-CA +6344-06828 America/Iqaluit Eastern Standard Time - east Nunavut
-CA +6245-09210 America/Rankin_Inlet Eastern Standard Time - central Nunavut
+CA +6608-06544 America/Pangnirtung Eastern Time - Pangnirtung, Nunavut
+CA +6344-06828 America/Iqaluit Eastern Time - east Nunavut
+CA +6408-08310 America/Coral_Harbour Eastern Standard Time - Southampton Island
+CA +6245-09210 America/Rankin_Inlet Central Time - central Nunavut
CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario
CA +4843-09429 America/Rainy_River Central Time - Rainy River & Fort Frances, Ontario
CA +6903-10505 America/Cambridge_Bay Central Time - west Nunavut
@@ -165,15 +166,13 @@ ET +0902+03842 Africa/Addis_Ababa
FI +6010+02458 Europe/Helsinki
FJ -1808+17825 Pacific/Fiji
FK -5142-05751 Atlantic/Stanley
-FM +0931+13808 Pacific/Yap Yap
-FM +0725+15147 Pacific/Truk Truk (Chuuk)
+FM +0725+15147 Pacific/Truk Truk (Chuuk) and Yap
FM +0658+15813 Pacific/Ponape Ponape (Pohnpei)
FM +0519+16259 Pacific/Kosrae Kosrae
FO +6201-00646 Atlantic/Faeroe
FR +4852+00220 Europe/Paris
GA +0023+00927 Africa/Libreville
-GB +512830-0001845 Europe/London Great Britain
-GB +5435-00555 Europe/Belfast Northern Ireland
+GB +512830-0001845 Europe/London
GD +1203-06145 America/Grenada
GE +4143+04449 Asia/Tbilisi
GF +0456-05220 America/Cayenne
@@ -248,8 +247,7 @@ MG -1855+04731 Indian/Antananarivo
MH +0709+17112 Pacific/Majuro most locations
MH +0905+16720 Pacific/Kwajalein Kwajalein
MK +4159+02126 Europe/Skopje
-ML +1239-00800 Africa/Bamako southwest Mali
-ML +1446-00301 Africa/Timbuktu northeast Mali
+ML +1239-00800 Africa/Bamako
MM +1647+09610 Asia/Rangoon
MN +4755+10653 Asia/Ulaanbaatar most locations
MN +4801+09139 Asia/Hovd Bayan-Olgiy, Govi-Altai, Hovd, Uvs, Zavkhan
@@ -370,9 +368,9 @@ UM +2813-17722 Pacific/Midway Midway Islands
UM +1917+16637 Pacific/Wake Wake Island
US +404251-0740023 America/New_York Eastern Time
US +421953-0830245 America/Detroit Eastern Time - Michigan - most locations
-US +381515-0854534 America/Louisville Eastern Time - Kentucky - Louisville area
+US +381515-0854534 America/Kentucky/Louisville Eastern Time - Kentucky - Louisville area
US +364947-0845057 America/Kentucky/Monticello Eastern Time - Kentucky - Wayne County
-US +394606-0860929 America/Indianapolis Eastern Standard Time - Indiana - most locations
+US +394606-0860929 America/Indiana/Indianapolis Eastern Standard Time - Indiana - most locations
US +382232-0862041 America/Indiana/Marengo Eastern Standard Time - Indiana - Crawford County
US +411745-0863730 America/Indiana/Knox Eastern Standard Time - Indiana - Starke County
US +384452-0850402 America/Indiana/Vevay Eastern Standard Time - Indiana - Switzerland County
diff --git a/wcsmbs/wcscoll.c b/wcsmbs/wcscoll.c
index ed6db06e4e..ae3d48c623 100644
--- a/wcsmbs/wcscoll.c
+++ b/wcsmbs/wcscoll.c
@@ -22,12 +22,11 @@
#define STRING_TYPE wchar_t
#define USTRING_TYPE wint_t
-#define STRCOLL __wcscoll
+#define STRCOLL wcscoll
#define STRCOLL_L __wcscoll_l
#include "../string/strcoll.c"
#ifndef USE_IN_EXTENDED_LOCALE_MODEL
-weak_alias (__wcscoll, wcscoll)
libc_hidden_weak (wcscoll)
#endif