1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

update from main archive 960909

Mon Sep  9 20:31:27 1996  Ulrich Drepper  <drepper@cygnus.com>

	* version.c (banner): Report to bug-glibc@prep not @gnu.
	Reported by Andreas Jaeger.

	* libio/stdio.h [!__USE_REENTRANT]: Don't define getc as
 	_IO_getc_unlocked.
	[__USE_REENTRANT]: Don't define

Mon Sep  9 15:59:32 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/i386/strrchr.c: Fix bug where NUL byte is not recognized
	when it is the third byte in the string.  Reported by
	NIIBE Yutaka.
	* string/tester.c: Add tests for above bug to strlen, strchr, and
	strrchr tests.

Fri Sep  6 21:23:33 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/e_acos.c: Deansideclized.  Include
	"math_private.h" to get prototype.
	* sysdeps/m68k/fpu/e_fmod.c: Likewise.
	* sysdeps/m68k/fpu/k_cos.c: Likewise.
	* sysdeps/m68k/fpu/k_sin.c: Likewise.
	* sysdeps/m68k/fpu/k_tan.c: Likewise.

	* sysdeps/m68k/fpu/k_sin.c: Remove uneeded indirection of
	__m81_u.
	* sysdeps/m68k/fpu/k_tan.c: Likewise.

Sun Sep  1 18:01:35 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/__math.h: Check for __NO_M81_MATH_INLINES
	instead of __NO_MATH_INLINES.
	(__M81_MATH_INLINES): Renamed from __MATH_INLINES.
	* sysdeps/m68k/fpu/e_acos.c: Define __NO_M81_MATH_INLINES.
	* sysdeps/m68k/fpu/e_fmod.c: Likewise.
	* sysdeps/m68k/fpu/k_cos.c: Likewise.
	* sysdeps/m68k/fpu/k_sin.c: Likewise.
	* sysdeps/m68k/fpu/k_tan.c: Likewise.
	* sysdeps/m68k/fpu/s_atan.c: Likewise.
	* sysdeps/m68k/fpu/s_frexp.c: Likewise.
	* sysdeps/m68k/fpu/s_ilogb.c: Likewise.
	* sysdeps/m68k/fpu/s_isinf.c: Likewise.
	* sysdeps/m68k/fpu/s_ldexp.c: Likewise.
	* sysdeps/m68k/fpu/s_modf.c: Likewise.
	* sysdeps/m68k/fpu/k_cos.c: Use inline version of __cos.
	* sysdeps/m68k/fpu/k_sin.c: Likewise.
	* sysdeps/m68k/fpu/k_tan.c: Likewise.

Mon Sep  9 12:55:14 1996  Ulrich Drepper  <drepper@cygnus.com>

	* nss/nss_files/files-parse.c (INT_FIELD_MAYBE_NULL): Check for
	available character before converting number and return with
	error if none is available.

Fri Sep  6 22:09:08 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/init-first.h: New file, generic
	implementation for architectures where parameters are passed on
	stack.
	* sysdeps/unix/sysv/linux/m68k/init-first.h: Removed.
	* sysdeps/unix/sysv/linux/i386/init-first.h: Removed.

Fri Sep  6 22:05:32 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* configure.in: Remove unneeded sysnames frobbing.

Mon Sep  9 05:29:09 1996  Ulrich Drepper  <drepper@cygnus.com>

	* time/zic.c: Update from ADO 96l.
	* time/africa: Update from ADO 96k.
	* time/antarctica: Likewise.
	* time/asia: Likewise.
	* time/australia: Likewise.
	* time/europe: Likewise.
	* time/northamerica: Likewise.
	* time/southamerica: Likewise.

Mon Sep  9 05:03:47 1996  NIIBE Yutaka  <gniibe@mri.co.jp>

	* sysdeps/unix/sysv/linux/i386/init-first.h: Work around buggy
	gcc <= 2.7.2.1 which optimizes away address operations on weak
	objects.

	* nss/nss_files/files-parse.c (INT_FIELD_MAYBE_NULL): New macro.
	Like INT_FIELD but also accept non-existing field.
	* shadow/sgetspent_r.c (LINE_PARSER): Use INT_FIELD_MAYBE_NULL
	for last four fields.
	* shadow/putspent.c (putspent): Print `:' after numeric value.

Mon Sep  9 02:42:48 1996  Richard Henderson  <rth@tamu.edu>

	* libio/stdio.h (BUFSIZ): Define using _IO_BUFSIZ.

Sun Sep  8 16:43:56 1996  Ulrich Drepper  <drepper@cygnus.com>

	* Make-dist: Filter out $(add-ons) from $(subdirs).
	Don't distribute TAGS files.
	($(tardir).tar): Remove dist.tar when all is done.
	* manual/Makefile (distribute): Add libc.info*.
	* libio/Makefile (distribute): Add Banner.
	* inet/Makefile (headers): Add netinet/tcp.h.

	* resolv/Makefile (libresolv-routines): Add getnetnamadr.

	* crypt-README: Removed.
	* gnu-stabs.h: Removed.

	* sysdeps/alpha/copysign.S: Renamed to...
	* sysdeps/alpha/s_copysign.S: ...this.
	* sysdeps/alpha/fabs.S: Renamed to...
	* sysdeps/alpha/s_fabs.S: ...this.

	* sysdeps/m68k/isinfl.c: Renamed to...
	* sysdeps/m68k/s_isinfl.c: ...this.
	* sysdeps/m68k/isnanl.c: Renamed to...
	* sysdeps/m68k/s_isnanl.c: ...this.

	* sysdeps/sparc/sqrt.c: Renamed to...
	* sysdeps/sparc/e_sqrt.c: ...this.  Function name now is
	__ieee754_sqrt.

	* sysdeps/generic/get_str.c: Removed.

	* sysdeps/ieee754/cbrt.c: Removed.
	* sysdeps/ieee754/drem.c: Removed.
	* sysdeps/ieee754/logb.c: Removed.
	* sysdeps/ieee754/sqrt.c: Removed.

	* sysdeps/stub/cbrt.c: Removed.
	* sysdeps/stub/cos.c: Removed.
	* sysdeps/stub/drem.c: Removed.
	* sysdeps/stub/isinf.c: Removed.
	* sysdeps/stub/isinfl.c: Removed.
	* sysdeps/stub/isnanl.c: Removed.
	* sysdeps/stub/logb.c: Removed.
	* sysdeps/stub/sin.c: Removed.
	* sysdeps/stub/sqrt.c: Removed.

	* sysdeps/tahoe/log10.c: Removed.

	* sysdeps/vax/index.s: Removed.
	* sysdeps/vax/rindex.s: Removed.
	* sysdeps/vax/bcmp.s: Removed.
	* sysdeps/vax/log10.c: Removed.
	* sysdeps/vax/infnan.c: Removed.
	* sysdeps/vax/Dist: Add fl.h.

	* sysdeps/unix/sysv/linux/alpha/Dist: Add llseek.S.

	* inet/rcmd.c (rcmd): Make messages more uniform.

Sun Sep  8 14:15:42 1996  Ulrich Drepper  <drepper@cygnus.com>

	* po/de.po: Update.
	* po/es.po: Update.
	* po/ko.po: Update.
	* po/pl.po: New file.
	* po/nl.po: New file.

	take care for a possible clash.  Nobody will name the domain
This commit is contained in:
Ulrich Drepper
1996-09-10 02:00:15 +00:00
parent c2bb8cabc5
commit 569c558c88
73 changed files with 1834 additions and 2888 deletions

163
ChangeLog
View File

@ -1,3 +1,164 @@
Mon Sep 9 20:31:27 1996 Ulrich Drepper <drepper@cygnus.com>
* version.c (banner): Report to bug-glibc@prep not @gnu.
Reported by Andreas Jaeger.
* libio/stdio.h [!__USE_REENTRANT]: Don't define getc as
_IO_getc_unlocked.
[__USE_REENTRANT]: Don't define
Mon Sep 9 15:59:32 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/strrchr.c: Fix bug where NUL byte is not recognized
when it is the third byte in the string. Reported by
NIIBE Yutaka.
* string/tester.c: Add tests for above bug to strlen, strchr, and
strrchr tests.
Fri Sep 6 21:23:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/e_acos.c: Deansideclized. Include
"math_private.h" to get prototype.
* sysdeps/m68k/fpu/e_fmod.c: Likewise.
* sysdeps/m68k/fpu/k_cos.c: Likewise.
* sysdeps/m68k/fpu/k_sin.c: Likewise.
* sysdeps/m68k/fpu/k_tan.c: Likewise.
* sysdeps/m68k/fpu/k_sin.c: Remove uneeded indirection of
__m81_u.
* sysdeps/m68k/fpu/k_tan.c: Likewise.
Sun Sep 1 18:01:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/__math.h: Check for __NO_M81_MATH_INLINES
instead of __NO_MATH_INLINES.
(__M81_MATH_INLINES): Renamed from __MATH_INLINES.
* sysdeps/m68k/fpu/e_acos.c: Define __NO_M81_MATH_INLINES.
* sysdeps/m68k/fpu/e_fmod.c: Likewise.
* sysdeps/m68k/fpu/k_cos.c: Likewise.
* sysdeps/m68k/fpu/k_sin.c: Likewise.
* sysdeps/m68k/fpu/k_tan.c: Likewise.
* sysdeps/m68k/fpu/s_atan.c: Likewise.
* sysdeps/m68k/fpu/s_frexp.c: Likewise.
* sysdeps/m68k/fpu/s_ilogb.c: Likewise.
* sysdeps/m68k/fpu/s_isinf.c: Likewise.
* sysdeps/m68k/fpu/s_ldexp.c: Likewise.
* sysdeps/m68k/fpu/s_modf.c: Likewise.
* sysdeps/m68k/fpu/k_cos.c: Use inline version of __cos.
* sysdeps/m68k/fpu/k_sin.c: Likewise.
* sysdeps/m68k/fpu/k_tan.c: Likewise.
Mon Sep 9 12:55:14 1996 Ulrich Drepper <drepper@cygnus.com>
* nss/nss_files/files-parse.c (INT_FIELD_MAYBE_NULL): Check for
available character before converting number and return with
error if none is available.
Fri Sep 6 22:09:08 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/init-first.h: New file, generic
implementation for architectures where parameters are passed on
stack.
* sysdeps/unix/sysv/linux/m68k/init-first.h: Removed.
* sysdeps/unix/sysv/linux/i386/init-first.h: Removed.
Fri Sep 6 22:05:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.in: Remove unneeded sysnames frobbing.
Mon Sep 9 05:29:09 1996 Ulrich Drepper <drepper@cygnus.com>
* time/zic.c: Update from ADO 96l.
* time/africa: Update from ADO 96k.
* time/antarctica: Likewise.
* time/asia: Likewise.
* time/australia: Likewise.
* time/europe: Likewise.
* time/northamerica: Likewise.
* time/southamerica: Likewise.
Mon Sep 9 05:03:47 1996 NIIBE Yutaka <gniibe@mri.co.jp>
* sysdeps/unix/sysv/linux/i386/init-first.h: Work around buggy
gcc <= 2.7.2.1 which optimizes away address operations on weak
objects.
* nss/nss_files/files-parse.c (INT_FIELD_MAYBE_NULL): New macro.
Like INT_FIELD but also accept non-existing field.
* shadow/sgetspent_r.c (LINE_PARSER): Use INT_FIELD_MAYBE_NULL
for last four fields.
* shadow/putspent.c (putspent): Print `:' after numeric value.
Mon Sep 9 02:42:48 1996 Richard Henderson <rth@tamu.edu>
* libio/stdio.h (BUFSIZ): Define using _IO_BUFSIZ.
Sun Sep 8 16:43:56 1996 Ulrich Drepper <drepper@cygnus.com>
* Make-dist: Filter out $(add-ons) from $(subdirs).
Don't distribute TAGS files.
($(tardir).tar): Remove dist.tar when all is done.
* manual/Makefile (distribute): Add libc.info*.
* libio/Makefile (distribute): Add Banner.
* inet/Makefile (headers): Add netinet/tcp.h.
* resolv/Makefile (libresolv-routines): Add getnetnamadr.
* crypt-README: Removed.
* gnu-stabs.h: Removed.
* sysdeps/alpha/copysign.S: Renamed to...
* sysdeps/alpha/s_copysign.S: ...this.
* sysdeps/alpha/fabs.S: Renamed to...
* sysdeps/alpha/s_fabs.S: ...this.
* sysdeps/m68k/isinfl.c: Renamed to...
* sysdeps/m68k/s_isinfl.c: ...this.
* sysdeps/m68k/isnanl.c: Renamed to...
* sysdeps/m68k/s_isnanl.c: ...this.
* sysdeps/sparc/sqrt.c: Renamed to...
* sysdeps/sparc/e_sqrt.c: ...this. Function name now is
__ieee754_sqrt.
* sysdeps/generic/get_str.c: Removed.
* sysdeps/ieee754/cbrt.c: Removed.
* sysdeps/ieee754/drem.c: Removed.
* sysdeps/ieee754/logb.c: Removed.
* sysdeps/ieee754/sqrt.c: Removed.
* sysdeps/stub/cbrt.c: Removed.
* sysdeps/stub/cos.c: Removed.
* sysdeps/stub/drem.c: Removed.
* sysdeps/stub/isinf.c: Removed.
* sysdeps/stub/isinfl.c: Removed.
* sysdeps/stub/isnanl.c: Removed.
* sysdeps/stub/logb.c: Removed.
* sysdeps/stub/sin.c: Removed.
* sysdeps/stub/sqrt.c: Removed.
* sysdeps/tahoe/log10.c: Removed.
* sysdeps/vax/index.s: Removed.
* sysdeps/vax/rindex.s: Removed.
* sysdeps/vax/bcmp.s: Removed.
* sysdeps/vax/log10.c: Removed.
* sysdeps/vax/infnan.c: Removed.
* sysdeps/vax/Dist: Add fl.h.
* sysdeps/unix/sysv/linux/alpha/Dist: Add llseek.S.
* inet/rcmd.c (rcmd): Make messages more uniform.
Sun Sep 8 14:15:42 1996 Ulrich Drepper <drepper@cygnus.com>
* po/de.po: Update.
* po/es.po: Update.
* po/ko.po: Update.
* po/pl.po: New file.
* po/nl.po: New file.
Sat Sep 7 18:41:17 1996 Richard Henderson <rth@tamu.edu> Sat Sep 7 18:41:17 1996 Richard Henderson <rth@tamu.edu>
* Makeconfig (+link): Filter out start, pre & postinit from the * Makeconfig (+link): Filter out start, pre & postinit from the
@ -11,7 +172,7 @@ Sun Sep 8 02:36:02 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/SYS_libc.c (_libc_intl_domainname): Change value to "libc". * locale/SYS_libc.c (_libc_intl_domainname): Change value to "libc".
This is consistent with all other GNU packages. We shouldn't This is consistent with all other GNU packages. We shouldn't
take care for a possible clash. Somebody will name the domain take care for a possible clash. Nobody will name the domain
of a package libc if it is not the libc itself. of a package libc if it is not the libc itself.
* MakeTAGS ($P/SYS_libc.pot): Rename to $P/libc.pot. * MakeTAGS ($P/SYS_libc.pot): Rename to $P/libc.pot.
* po/Makefile (domainname): Change to libc. * po/Makefile (domainname): Change to libc.

View File

@ -40,6 +40,9 @@ else
sysdep_dirs := $(addprefix $(..),$(sysdep_dirs)) sysdep_dirs := $(addprefix $(..),$(sysdep_dirs))
endif endif
# Don't distribute add-on subdirs.
subdirs := $(filter-out $(add-ons),$(subdirs))
# Make sure both stdio and libio get in, whichever is in use. # Make sure both stdio and libio get in, whichever is in use.
subdirs += stdio libio subdirs += stdio libio
@ -129,8 +132,8 @@ endif
$(..)glibc-$(version): $(..)glibc-$(version):
ln -s . $@ ln -s . $@
+tsrcs := $(+tsrcs) \ #+tsrcs := $(+tsrcs) \
TAGS # TAGS
.PHONY: TAGS .PHONY: TAGS
TAGS: $(..)MakeTAGS TAGS: $(..)MakeTAGS
$(MAKE) -f $< $@ -o subdir_TAGS $(MAKE) -f $< $@ -o subdir_TAGS
@ -195,7 +198,7 @@ $(tardir).tar: dist.tar subdir_dist
@echo Files listed here have names exceeding 14 chars. @echo Files listed here have names exceeding 14 chars.
tar xfv $< -C /tmp | sed -n '/[^/]\{15,\}/p' tar xfv $< -C /tmp | sed -n '/[^/]\{15,\}/p'
tar covf $@ -C /tmp $(tardir) tar covf $@ -C /tmp $(tardir)
-rm -fr /tmp/$(tardir) & -rm -fr /tmp/$(tardir) dist.tar &
%.Z: % %.Z: %
compress -c $< > $@ compress -c $< > $@

4
README
View File

@ -1,4 +1,4 @@
This directory contains the version 1.93 test release of the GNU C Library. This directory contains the version 1.94 test release of the GNU C Library.
Many bugs have been fixed since the last release. Many bugs have been fixed since the last release.
Some bugs surely remain. Some bugs surely remain.
@ -38,7 +38,7 @@ provides the Unix `crypt' function, plus some other entry points.
Because of the United States export restriction on DES implementations, Because of the United States export restriction on DES implementations,
we are distributing this code separately from the rest of the C we are distributing this code separately from the rest of the C
library. There is an extra distribution tar file just for crypt; it is library. There is an extra distribution tar file just for crypt; it is
called `glibc-1.93-crypt.tar.gz'. You can just unpack the crypt called `glibc-1.94-crypt.tar.gz'. You can just unpack the crypt
distribution along with the rest of the C library and build; you can distribution along with the rest of the C library and build; you can
also build the library without getting crypt. Users outside the USA also build the library without getting crypt. Users outside the USA
can get the crypt distribution via anonymous FTP from ftp.uni-c.dk can get the crypt distribution via anonymous FTP from ftp.uni-c.dk

28
configure vendored
View File

@ -886,10 +886,6 @@ if test "$elf" = yes; then
fi fi
# Remove the leading slashes.
sysnames="`echo $sysnames | sed -e 's@^/@@' -e 's@ /@ @g'`"
# Expand the list of system names into a full list of directories # Expand the list of system names into a full list of directories
# from each element's parent name and Implies file (if present). # from each element's parent name and Implies file (if present).
set $sysnames set $sysnames
@ -1174,13 +1170,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser, # On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. # not just through cpp.
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 1178 "configure" #line 1174 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <assert.h> #include <assert.h>
Syntax Error Syntax Error
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1184: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:1180: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out` ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then if test -z "$ac_err"; then
: :
@ -1189,13 +1185,13 @@ else
rm -rf conftest* rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp" CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 1193 "configure" #line 1189 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <assert.h> #include <assert.h>
Syntax Error Syntax Error
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1199: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:1195: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out` ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then if test -z "$ac_err"; then
: :
@ -1337,7 +1333,7 @@ if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 1341 "configure" #line 1337 "configure"
#include "confdefs.h" #include "confdefs.h"
#define __need_size_t #define __need_size_t
#define __need_wchar_t #define __need_wchar_t
@ -1353,7 +1349,7 @@ size_t size; wchar_t wchar;
if (&size == NULL || &wchar == NULL) abort (); if (&size == NULL || &wchar == NULL) abort ();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:1357: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:1353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
libc_cv_friendly_stddef=yes libc_cv_friendly_stddef=yes
else else
@ -1460,7 +1456,7 @@ if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 1464 "configure" #line 1460 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { return 0; } int main() { return 0; }
@ -1470,7 +1466,7 @@ asm (".section .init");
asm (".text"); asm (".text");
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:1474: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:1470: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
libc_cv_have_initfini=yes libc_cv_have_initfini=yes
else else
@ -1498,7 +1494,7 @@ if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 1502 "configure" #line 1498 "configure"
#include "confdefs.h" #include "confdefs.h"
asm ("_glibc_foobar:"); asm ("_glibc_foobar:");
int main() { return 0; } int main() { return 0; }
@ -1506,7 +1502,7 @@ int t() {
glibc_foobar (); glibc_foobar ();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:1510: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then if { (eval echo configure:1506: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
libc_cv_asm_underscores=yes libc_cv_asm_underscores=yes
else else
@ -1600,7 +1596,7 @@ __throw () {}
EOF EOF
if { ac_try='${CC-cc} $CFLAGS if { ac_try='${CC-cc} $CFLAGS
-nostdlib -nostartfiles -Wl,--no-whole-archive -nostdlib -nostartfiles -Wl,--no-whole-archive
-o conftest conftest.c'; { (eval echo configure:1604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then -o conftest conftest.c'; { (eval echo configure:1600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_ld_no_whole_archive=yes libc_cv_ld_no_whole_archive=yes
else else
libc_cv_ld_no_whole_archive=no libc_cv_ld_no_whole_archive=no
@ -1621,7 +1617,7 @@ __throw () {}
EOF EOF
if { ac_try='${CC-cc} $CFLAGS if { ac_try='${CC-cc} $CFLAGS
-nostdlib -nostartfiles -fno-exceptions -nostdlib -nostartfiles -fno-exceptions
-o conftest conftest.c'; { (eval echo configure:1625: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then -o conftest conftest.c'; { (eval echo configure:1621: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_gcc_no_exceptions=yes libc_cv_gcc_no_exceptions=yes
else else
libc_cv_gcc_no_exceptions=no libc_cv_gcc_no_exceptions=no

View File

@ -256,10 +256,6 @@ if test "$elf" = yes; then
fi fi
# Remove the leading slashes.
sysnames="`echo $sysnames | sed -e 's@^/@@' -e 's@ /@ @g'`"
# Expand the list of system names into a full list of directories # Expand the list of system names into a full list of directories
# from each element's parent name and Implies file (if present). # from each element's parent name and Implies file (if present).
set $sysnames set $sysnames

View File

@ -1,14 +0,0 @@
The GNU C library now includes Michael Glad's Ultra Fast Crypt, which
provides the Unix `crypt' function, plus some other entry points. Because
of the United States export restriction on DES implementations, we are
distributing this code separately from the rest of the C library. There is
an extra distribution tar file just for crypt; it is called
`glibc-1.07-crypt.tar.gz'. You can just unpack the crypt distribution
along with the rest of the C library and build; you can also build the
library without getting crypt. Users outside the USA can get the crypt
distribution via anonymous FTP from ftp.uni-c.dk [129.142.6.74], or another
archive site outside the USA. Archive maintainers are encouraged to copy
this distribution to their archives outside the USA. Please get it from
ftp.uni-c.dk; transferring this distribution from prep.ai.mit.edu (or any
other site in the USA) to a site outside the USA is in violation of US
export laws.

View File

@ -1,75 +0,0 @@
#error This file is obsolete.
/* Copyright (C) 1991, 1992, 1994 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#ifndef __GNU_STABS_H
#define __GNU_STABS_H 1
#ifdef HAVE_GNU_LD
/* Alias a function:
function_alias(creat, _creat, int, (file, mode),
DEFUN(creat, (file, mode),
CONST char *file AND int mode))
Yes, this is very repetitive. Nothing you can do about it, so shut up. */
#define function_alias(name, _name, type, args, defun) \
symbol_alias (_name, name);
#define function_alias_void(name, _name, args, defun) \
symbol_alias (_name, name);
#ifdef NO_UNDERSCORES
#define __SYMBOL_PREFIX
#else
#define __SYMBOL_PREFIX "_"
#endif
/* Make references to ALIAS refer to SYMBOL. */
#define symbol_alias(symbol, alias) \
asm(".stabs \"" __SYMBOL_PREFIX #alias "\",11,0,0,0\n"\
".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0")
/* Issue a warning message from the linker whenever SYMBOL is referenced. */
#define warn_references(symbol, msg) \
asm(".stabs \"" msg "\",30,0,0,0\n" \
".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0")
#define stub_warning(name) \
warn_references(name, \
"warning: " #name " is not implemented and will always fail")
#define text_set_element(set, symbol) \
asm(".stabs \"" __SYMBOL_PREFIX #set "\",23,0,0," __SYMBOL_PREFIX #symbol)
#define data_set_element(set, symbol) \
asm(".stabs \"" __SYMBOL_PREFIX #set "\",25,0,0," __SYMBOL_PREFIX #symbol)
#define bss_set_element(set, symbol) \
asm(".stabs \"" __SYMBOL_PREFIX #set "\",27,0,0," __SYMBOL_PREFIX #symbol)
#else /* No GNU stabs. */
#define function_alias(name, _name, type, args, defun) \
type defun { return _name args; }
#define function_alias_void(name, _name, args, defun) \
void defun { _name args; }
#endif /* GNU stabs. */
#endif /* gnu-stabs.h */

View File

@ -22,7 +22,7 @@
subdir := inet subdir := inet
headers := netinet/ether.h netinet/in.h netinet/if_ether.h \ headers := netinet/ether.h netinet/in.h netinet/if_ether.h \
$(wildcard arpa/*.h protocols/*.h) netinet/tcp.h $(wildcard arpa/*.h protocols/*.h)
routines := ntohl ntohs htonl htons \ routines := ntohl ntohs htonl htons \
inet_lnaof inet_mkadr \ inet_lnaof inet_mkadr \

View File

@ -173,7 +173,7 @@ rcmd(ahost, rport, locuser, remuser, cmd, fd2p)
from.sin_port >= IPPORT_RESERVED || from.sin_port >= IPPORT_RESERVED ||
from.sin_port < IPPORT_RESERVED / 2) { from.sin_port < IPPORT_RESERVED / 2) {
(void)fprintf(stderr, (void)fprintf(stderr,
_("socket: protocol failure in circuit setup.\n")); _("socket: protocol failure in circuit setup\n"));
goto bad2; goto bad2;
} }
} }

View File

@ -48,6 +48,6 @@ endif
aux := \ aux := \
cleanup fileops genops stdfiles stdio strops cleanup fileops genops stdfiles stdio strops
distribute := iolibio.h libioP.h strfile.h distribute := iolibio.h libioP.h strfile.h Banner
include ../Rules include ../Rules

View File

@ -40,7 +40,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define EOF (-1) #define EOF (-1)
#endif #endif
#ifndef BUFSIZ #ifndef BUFSIZ
#define BUFSIZ 1024 #define BUFSIZ _IO_BUFSIZ
#endif #endif
#define _IOFBF 0 /* Fully buffered. */ #define _IOFBF 0 /* Fully buffered. */
@ -234,21 +234,16 @@ extern int putc_unlocked __P ((int, FILE *));
extern int putchar_locked __P ((int)); extern int putchar_locked __P ((int));
extern int putchar_unlocked __P ((int)); extern int putchar_unlocked __P ((int));
# ifndef _LIBC
# define getc_unlocked(fp) _IO_getc_unlocked (fp) # define getc_unlocked(fp) _IO_getc_unlocked (fp)
# define getc_locked(fp) fgetc (fp) # define getc_locked(fp) fgetc (fp)
# define getchar_unlocked() getc_unlocked (stdin) # define getchar_unlocked() getc_unlocked (stdin)
# define getchar_locked() getc_locked (stdin) # define getchar_locked() getc_locked (stdin)
# define getc(fp) getc_locked (fp) # define getc(fp) getc_locked (fp)
# define putc_unlocked(c, fp) putc_unlocked (c, fp)
# define putc_locked(c, fp) putc_locked (c, fp)
# define putchar_unlocked(c) putc_unlocked (c, stdout) # define putchar_unlocked(c) putc_unlocked (c, stdout)
# define putchar_locked(c) putc_locked (c, stdout) # define putchar_locked(c) putc_locked (c, stdout)
# define putc(c, fp) putc_locked (c, fp) # define putc(c, fp) putc_locked (c, fp)
# endif
#else
# define getc(fp) _IO_getc_unlocked (fp)
# define putc(c, fp) _IO_putc_unlocked (c, fp)
#endif /* __USE_REENTRANT */ #endif /* __USE_REENTRANT */

View File

@ -77,7 +77,7 @@ doc-only-dist = Makefile COPYING.LIB mkinstalldirs
distribute = $(minimal-dist) \ distribute = $(minimal-dist) \
$(patsubst examples/%.c,%.c.texi,$(filter examples/%.c, \ $(patsubst examples/%.c,%.c.texi,$(filter examples/%.c, \
$(minimal-dist))) \ $(minimal-dist))) \
libc.?? libc.??s texinfo.tex summary.texi \ libc.info* libc.?? libc.??s texinfo.tex summary.texi \
stamp-summary chapters chapters-incl stamp-summary chapters chapters-incl
export distribute := $(distribute) export distribute := $(distribute)

View File

@ -121,6 +121,24 @@ parse_line (char *line, struct STRUCTURE *result, \
line = endp; \ line = endp; \
} }
#define INT_FIELD_MAYBE_NULL(variable, terminator_p, swallow, base, convert, default) \
{ \
char *endp; \
if (*line == '\0') \
/* We expect some more input, so don't allow the string to end here. */ \
return 0; \
variable = convert (strtol (line, &endp, base)); \
if (endp == line) \
variable = default; \
if (terminator_p (*endp)) \
do \
++endp; \
while (swallow && terminator_p (*endp)); \
else if (*endp != '\0') \
return 0; \
line = endp; \
}
#define ISCOLON(c) ((c) == ':') #define ISCOLON(c) ((c) == ':')

View File

@ -27,9 +27,9 @@ distribute := ../conf/portability.h mapv4v6addr.h mapv4v6hostent.h
routines := herror inet_addr inet_ntop inet_pton nsap_addr res_init routines := herror inet_addr inet_ntop inet_pton nsap_addr res_init
extra-libs := libresolv extra-libs := libresolv
libresolv-routines := gethnamaddr res_comp res_debug res_data res_mkquery \ libresolv-routines := gethnamaddr getnetnamadr res_comp res_debug \
res_query res_send inet_net_ntop inet_net_pton \ res_data res_mkquery res_query res_send \
inet_neta base64 inet_net_ntop inet_net_pton inet_neta base64
include ../Rules include ../Rules

View File

@ -28,48 +28,48 @@ putspent (const struct spwd *p, FILE *stream)
{ {
int errors = 0; int errors = 0;
if (fprintf (stream, "%s:%s", p->sp_namp, p->sp_pwdp) < 0) if (fprintf (stream, "%s:%s:", p->sp_namp, p->sp_pwdp) < 0)
++errors; ++errors;
if ((p->sp_lstchg != (time_t) -1 if ((p->sp_lstchg != (time_t) -1
&& fprintf (stream, "%ld", p->sp_lstchg) < 0) && fprintf (stream, "%ld:", p->sp_lstchg) < 0)
|| (p->sp_lstchg == (time_t) -1 || (p->sp_lstchg == (time_t) -1
&& putc (':', stream) == EOF)) && putc (':', stream) == EOF))
++errors; ++errors;
if ((p->sp_min != (time_t) -1 if ((p->sp_min != (time_t) -1
&& fprintf (stream, "%ld", p->sp_min) < 0) && fprintf (stream, "%ld:", p->sp_min) < 0)
|| (p->sp_min == (time_t) -1 || (p->sp_min == (time_t) -1
&& putc (':', stream) == EOF)) && putc (':', stream) == EOF))
++errors; ++errors;
if ((p->sp_max != (time_t) -1 if ((p->sp_max != (time_t) -1
&& fprintf (stream, "%ld", p->sp_max) < 0) && fprintf (stream, "%ld:", p->sp_max) < 0)
|| (p->sp_max == (time_t) -1 || (p->sp_max == (time_t) -1
&& putc (':', stream) == EOF)) && putc (':', stream) == EOF))
++errors; ++errors;
if ((p->sp_warn != (time_t) -1 if ((p->sp_warn != (time_t) -1
&& fprintf (stream, "%ld", p->sp_warn) < 0) && fprintf (stream, "%ld:", p->sp_warn) < 0)
|| (p->sp_warn == (time_t) -1 || (p->sp_warn == (time_t) -1
&& putc (':', stream) == EOF)) && putc (':', stream) == EOF))
++errors; ++errors;
if ((p->sp_inact != (time_t) -1 if ((p->sp_inact != (time_t) -1
&& fprintf (stream, "%ld", p->sp_inact) < 0) && fprintf (stream, "%ld:", p->sp_inact) < 0)
|| (p->sp_inact == (time_t) -1 || (p->sp_inact == (time_t) -1
&& putc (':', stream) == EOF)) && putc (':', stream) == EOF))
++errors; ++errors;
if ((p->sp_expire != (time_t) -1 if ((p->sp_expire != (time_t) -1
&& fprintf (stream, "%ld", p->sp_expire) < 0) && fprintf (stream, "%ld:", p->sp_expire) < 0)
|| (p->sp_expire == (time_t) -1 || (p->sp_expire == (time_t) -1
&& putc (':', stream) == EOF)) && putc (':', stream) == EOF))
++errors; ++errors;
if ((p->sp_flag != -1l if ((p->sp_flag != ~0ul
&& fprintf (stream, "%ld", p->sp_flag) < 0) && fprintf (stream, "%ld:", p->sp_flag) < 0)
|| (p->sp_flag == -1l || (p->sp_flag == ~0ul
&& putc (':', stream) == EOF)) && putc (':', stream) == EOF))
++errors; ++errors;

View File

@ -44,19 +44,18 @@ LINE_PARSER
result->sp_warn = (time_t) -1; result->sp_warn = (time_t) -1;
result->sp_inact = (time_t) -1; result->sp_inact = (time_t) -1;
result->sp_expire = (time_t) -1; result->sp_expire = (time_t) -1;
result->sp_flag = (time_t) -1; result->sp_flag = ~0ul;
} }
else else
{ {
INT_FIELD (result->sp_warn, ISCOLON, 0, 10, (time_t)); INT_FIELD_MAYBE_NULL (result->sp_warn, ISCOLON, 0, 10, (time_t),
INT_FIELD (result->sp_inact, ISCOLON, 0, 10, (time_t)); (time_t) -1);
INT_FIELD (result->sp_expire, ISCOLON, 0, 10, (time_t)); INT_FIELD_MAYBE_NULL (result->sp_inact, ISCOLON, 0, 10, (time_t),
while (isspace (*line)) (time_t) -1);
++line; INT_FIELD_MAYBE_NULL (result->sp_expire, ISCOLON, 0, 10, (time_t),
if (*line == '\0') (time_t) -1);
result->sp_flag = -1; INT_FIELD_MAYBE_NULL (result->sp_flag, ISCOLON, 0, 10,
else (unsigned long int), ~0ul);
INT_FIELD (result->sp_flag, ISCOLON, 0, 10, );
} }
) )

View File

@ -209,6 +209,18 @@ DEFUN(main, (argc, argv), int argc AND char **argv)
check(strlen("") == 0, 1); /* Empty. */ check(strlen("") == 0, 1); /* Empty. */
check(strlen("a") == 1, 2); /* Single char. */ check(strlen("a") == 1, 2); /* Single char. */
check(strlen("abcd") == 4, 3); /* Multiple chars. */ check(strlen("abcd") == 4, 3); /* Multiple chars. */
{
char buf[4096];
int i;
char *p;
for (i=0; i < 0x100; i++)
{
p = (char *)((int)(buf + 0xff) & ~0xff) + i;
strcpy (p, "OK");
strcpy (p+3, "BAD/WRONG");
check(strlen(p) == 2, 4+i);
}
}
/* strchr. */ /* strchr. */
it = "strchr"; it = "strchr";
@ -223,6 +235,18 @@ DEFUN(main, (argc, argv), int argc AND char **argv)
(void) strcpy(one, ""); (void) strcpy(one, "");
check(strchr(one, 'b') == NULL, 7); /* Empty string. */ check(strchr(one, 'b') == NULL, 7); /* Empty string. */
check(strchr(one, '\0') == one, 8); /* NUL in empty string. */ check(strchr(one, '\0') == one, 8); /* NUL in empty string. */
{
char buf[4096];
int i;
char *p;
for (i=0; i < 0x100; i++)
{
p = (char *)((int)(buf + 0xff) & ~0xff) + i;
strcpy (p, "OK");
strcpy (p+3, "BAD/WRONG");
check(strchr(p, '/') == NULL, 9+i);
}
}
#if 0 #if 0
/* index - just like strchr. */ /* index - just like strchr. */
@ -253,6 +277,18 @@ DEFUN(main, (argc, argv), int argc AND char **argv)
(void) strcpy(one, ""); (void) strcpy(one, "");
check(strrchr(one, 'b') == NULL, 7); /* Empty string. */ check(strrchr(one, 'b') == NULL, 7); /* Empty string. */
check(strrchr(one, '\0') == one, 8); /* NUL in empty string. */ check(strrchr(one, '\0') == one, 8); /* NUL in empty string. */
{
char buf[4096];
int i;
char *p;
for (i=0; i < 0x100; i++)
{
p = (char *)((int)(buf + 0xff) & ~0xff) + i;
strcpy (p, "OK");
strcpy (p+3, "BAD/WRONG");
check(strrchr(p, '/') == NULL, 9+i);
}
}
#if 0 #if 0
/* rindex - just like strrchr. */ /* rindex - just like strrchr. */
@ -515,8 +551,8 @@ DEFUN(main, (argc, argv), int argc AND char **argv)
char buf[128 + sizeof(long)]; char buf[128 + sizeof(long)];
long align, len, i, pos; long align, len, i, pos;
for (align = 0; align < sizeof(long); ++align) { for (align = 0; align < (long) sizeof(long); ++align) {
for (len = 0; len < sizeof(buf) - align; ++len) { for (len = 0; len < (long) (sizeof(buf) - align); ++len) {
for (i = 0; i < len; ++i) { for (i = 0; i < len; ++i) {
buf[align + i] = 'x'; /* don't depend on memset... */ buf[align + i] = 'x'; /* don't depend on memset... */
} }

View File

@ -19,9 +19,10 @@ Cambridge, MA 02139, USA. */
#include <sysdep.h> #include <sysdep.h>
ENTRY(fabs) ENTRY(__fabs)
.prologue 0 .prologue 0
cpys $f31,$f16,$f0 cpys $f31,$f16,$f0
ret ret
END(fabs) END(__fabs)
weak_alias (__fabs, fabs)

View File

@ -1,213 +0,0 @@
/* __mpn_get_str -- Convert a MSIZE long limb vector pointed to by MPTR
to a printable string in STR in base BASE.
Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. This file is in fact copied from the GNU MP
Library and its source lives there.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include "gmp.h"
#include "gmp-impl.h"
/* Convert the limb vector pointed to by MPTR and MSIZE long to a
char array, using base BASE for the result array. Store the
result in the character array STR. STR must point to an array with
space for the largest possible number represented by a MSIZE long
limb vector + 1 extra character.
The result is NOT in Ascii, to convert it to printable format, add
'0' or 'A' depending on the base and range.
Return the number of digits in the result string.
This may include some leading zeros.
The limb vector pointed to by MPTR is clobbered. */
size_t
__mpn_get_str (str, base, mptr, msize)
unsigned char *str;
int base;
mp_ptr mptr;
mp_size_t msize;
{
mp_limb big_base;
#if UDIV_NEEDS_NORMALIZATION || UDIV_TIME > 2 * UMUL_TIME
int normalization_steps;
#endif
#if UDIV_TIME > 2 * UMUL_TIME
mp_limb big_base_inverted;
#endif
unsigned int dig_per_u;
mp_size_t out_len;
register unsigned char *s;
big_base = __mp_bases[base].big_base;
s = str;
/* Special case zero, as the code below doesn't handle it. */
if (msize == 0)
{
s[0] = 0;
return 1;
}
if ((base & (base - 1)) == 0)
{
/* The base is a power of 2. Make conversion from most
significant side. */
mp_limb n1, n0;
register int bits_per_digit = big_base;
register int x;
register int bit_pos;
register int i;
n1 = mptr[msize - 1];
count_leading_zeros (x, n1);
/* BIT_POS should be R when input ends in least sign. nibble,
R + bits_per_digit * n when input ends in n:th least significant
nibble. */
{
int bits;
bits = BITS_PER_MP_LIMB * msize - x;
x = bits % bits_per_digit;
if (x != 0)
bits += bits_per_digit - x;
bit_pos = bits - (msize - 1) * BITS_PER_MP_LIMB;
}
/* Fast loop for bit output. */
i = msize - 1;
for (;;)
{
bit_pos -= bits_per_digit;
while (bit_pos >= 0)
{
*s++ = (n1 >> bit_pos) & ((1 << bits_per_digit) - 1);
bit_pos -= bits_per_digit;
}
i--;
if (i < 0)
break;
n0 = (n1 << -bit_pos) & ((1 << bits_per_digit) - 1);
n1 = mptr[i];
bit_pos += BITS_PER_MP_LIMB;
*s++ = n0 | (n1 >> bit_pos);
}
*s = 0;
return s - str;
}
else
{
/* General case. The base is not a power of 2. Make conversion
from least significant end. */
/* If udiv_qrnnd only handles divisors with the most significant bit
set, prepare BIG_BASE for being a divisor by shifting it to the
left exactly enough to set the most significant bit. */
#if UDIV_NEEDS_NORMALIZATION || UDIV_TIME > 2 * UMUL_TIME
count_leading_zeros (normalization_steps, big_base);
big_base <<= normalization_steps;
#if UDIV_TIME > 2 * UMUL_TIME
/* Get the fixed-point approximation to 1/(BIG_BASE << NORMALIZATION_STEPS). */
big_base_inverted = __mp_bases[base].big_base_inverted;
#endif
#endif
dig_per_u = __mp_bases[base].chars_per_limb;
out_len = ((size_t) msize * BITS_PER_MP_LIMB
* __mp_bases[base].chars_per_bit_exactly) + 1;
s += out_len;
while (msize != 0)
{
int i;
mp_limb n0, n1;
#if UDIV_NEEDS_NORMALIZATION || UDIV_TIME > 2 * UMUL_TIME
/* If we shifted BIG_BASE above, shift the dividend too, to get
the right quotient. We need to do this every loop,
since the intermediate quotients are OK, but the quotient from
one turn in the loop is going to be the dividend in the
next turn, and the dividend needs to be up-shifted. */
if (normalization_steps != 0)
{
n0 = __mpn_lshift (mptr, mptr, msize, normalization_steps);
/* If the shifting gave a carry out limb, store it and
increase the length. */
if (n0 != 0)
{
mptr[msize] = n0;
msize++;
}
}
#endif
/* Divide the number at TP with BIG_BASE to get a quotient and a
remainder. The remainder is our new digit in base BIG_BASE. */
i = msize - 1;
n1 = mptr[i];
if (n1 >= big_base)
n1 = 0;
else
{
msize--;
i--;
}
for (; i >= 0; i--)
{
n0 = mptr[i];
#if UDIV_TIME > 2 * UMUL_TIME
udiv_qrnnd_preinv (mptr[i], n1, n1, n0, big_base, big_base_inverted);
#else
udiv_qrnnd (mptr[i], n1, n1, n0, big_base);
#endif
}
#if UDIV_NEEDS_NORMALIZATION || UDIV_TIME > 2 * UMUL_TIME
/* If we shifted above (at previous UDIV_NEEDS_NORMALIZATION tests)
the remainder will be up-shifted here. Compensate. */
n1 >>= normalization_steps;
#endif
/* Convert N1 from BIG_BASE to a string of digits in BASE
using single precision operations. */
for (i = dig_per_u - 1; i >= 0; i--)
{
*--s = n1 % base;
n1 /= base;
if (n1 == 0 && msize == 0)
break;
}
}
while (s != str)
*--s = 0;
return out_len;
}
}

View File

@ -55,62 +55,3 @@ __profile_frequency ()
return 0; return 0;
return (1000000 / tim.it_interval.tv_usec); return (1000000 / tim.it_interval.tv_usec);
} }
/* Return frequency of ticks reported by profil. Generic version. */
/*-
* Copyright (c) 1983, 1992, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <sys/types.h>
#include <sys/time.h>
int
__profile_frequency ()
{
/*
* Discover the tick frequency of the machine if something goes wrong,
* we return 0, an impossible hertz.
*/
struct itimerval tim;
tim.it_interval.tv_sec = 0;
tim.it_interval.tv_usec = 1;
tim.it_value.tv_sec = 0;
tim.it_value.tv_usec = 0;
setitimer(ITIMER_REAL, &tim, 0);
setitimer(ITIMER_REAL, 0, &tim);
if (tim.it_interval.tv_usec < 2)
return 0;
return (1000000 / tim.it_interval.tv_usec);
}

View File

@ -1,6 +1,6 @@
/* strchr (str, ch) -- Return pointer to last occurrence of CH in STR. /* strrchr (str, ch) -- Return pointer to last occurrence of CH in STR.
For Intel 80x86, x>=3. For Intel 80x86, x>=3.
Copyright (C) 1994, 1995 Free Software Foundation, Inc. Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
This file is part of the GNU C Library. This file is part of the GNU C Library.
@ -84,7 +84,7 @@ L12: orb %dl, %dl /* is NUL? */
cmpb %dl, %cl /* compare byte */ cmpb %dl, %cl /* compare byte */
jne L13 /* target found => return */ jne L13 /* target found => return */
movl %esi, %eax /* remember pointer as result */ movl %esi, %eax /* remember pointer as result */
L13: orb %cl, %cl /* is NUL? */ L13: orb %dl, %dl /* is NUL? */
jz L2 /* yes => return NULL */ jz L2 /* yes => return NULL */
incl %esi /* increment pointer */ incl %esi /* increment pointer */
@ -134,7 +134,11 @@ L13: orb %cl, %cl /* is NUL? */
/* These fill bytes make the main loop be correctly aligned. /* These fill bytes make the main loop be correctly aligned.
We cannot use align because it is not the following instruction We cannot use align because it is not the following instruction
which should be aligned. */ which should be aligned. */
.byte 0, 0, 0, 0, 0, 0, 0, 0 .byte 0, 0
#ifndef PROF
/* Profiling adds some code and so changes the alignment. */
.byte 0
#endif
L4: subl $4, %esi /* adjust pointer */ L4: subl $4, %esi /* adjust pointer */
L41: subl $4, %esi L41: subl $4, %esi

View File

@ -1,120 +0,0 @@
/*
* Copyright (c) 1985, 1993
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef lint
static char sccsid[] = "@(#)cbrt.c 8.1 (Berkeley) 6/4/93";
#endif /* not lint */
#include <sys/cdefs.h>
/* kahan's cube root (53 bits IEEE double precision)
* for IEEE machines only
* coded in C by K.C. Ng, 4/30/85
*
* Accuracy:
* better than 0.667 ulps according to an error analysis. Maximum
* error observed was 0.666 ulps in an 1,000,000 random arguments test.
*
* Warning: this code is semi machine dependent; the ordering of words in
* a floating point number must be known in advance. I assume that the
* long interger at the address of a floating point number will be the
* leading 32 bits of that floating point number (i.e., sign, exponent,
* and the 20 most significant bits).
* On a National machine, it has different ordering; therefore, this code
* must be compiled with flag -DNATIONAL.
*/
#if !defined(vax)&&!defined(tahoe)
static const unsigned long
B1 = 715094163, /* B1 = (682-0.03306235651)*2**20 */
B2 = 696219795; /* B2 = (664-0.03306235651)*2**20 */
static const double
C= 19./35.,
D= -864./1225.,
E= 99./70.,
F= 45./28.,
G= 5./14.;
double cbrt(x)
double x;
{
double r,s,t=0.0,w;
unsigned long *px = (unsigned long *) &x,
*pt = (unsigned long *) &t,
mexp,sign;
#ifdef national /* ordering of words in a floating points number */
const int n0=1,n1=0;
#else /* national */
const int n0=0,n1=1;
#endif /* national */
mexp=px[n0]&0x7ff00000;
if(mexp==0x7ff00000) return(x); /* cbrt(NaN,INF) is itself */
if(x==0.0) return(x); /* cbrt(0) is itself */
sign=px[n0]&0x80000000; /* sign= sign(x) */
px[n0] ^= sign; /* x=|x| */
/* rough cbrt to 5 bits */
if(mexp==0) /* subnormal number */
{pt[n0]=0x43500000; /* set t= 2**54 */
t*=x; pt[n0]=pt[n0]/3+B2;
}
else
pt[n0]=px[n0]/3+B1;
/* new cbrt to 23 bits, may be implemented in single precision */
r=t*t/x;
s=C+r*t;
t*=G+F/(s+E+D/s);
/* chopped to 20 bits and make it larger than cbrt(x) */
pt[n1]=0; pt[n0]+=0x00000001;
/* one step newton iteration to 53 bits with error less than 0.667 ulps */
s=t*t; /* t*t is exact */
r=x/s;
w=t+t;
r=(r-t)/(w+r); /* r-t is exact */
t=t+t*r;
/* retore the sign bit */
pt[n0] |= sign;
return(t);
}
#endif

View File

@ -1,107 +0,0 @@
/* Copyright (C) 1992, 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
/*
* Copyright (c) 1985 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted provided
* that: (1) source distributions retain this entire copyright notice and
* comment, and (2) distributions including binaries display the following
* acknowledgement: ``This product includes software developed by the
* University of California, Berkeley and its contributors'' in the
* documentation or other materials provided with the distribution and in
* all advertising materials mentioning features or use of this software.
* Neither the name of the University nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
#include <ansidecl.h>
#include <math.h>
#include <float.h>
#include "ieee754.h"
/* Return the remainder of X/Y. */
double
DEFUN(__drem, (x, y),
double x AND double y)
{
union ieee754_double ux, uy;
ux.d = x;
uy.d = y;
#define x ux.d
#define y uy.d
uy.ieee.negative = 0;
if (!__finite (x) || y == 0.0)
return NAN;
else if (__isnan (y))
return y;
else if (__isinf (y))
return x;
else if (uy.ieee.exponent <= 1)
{
/* Subnormal (or almost subnormal) Y value. */
double b = __scalb (1.0, 54);
y *= b;
x = __drem (x, y);
x *= b;
return __drem (x, y) / b;
}
else if (y >= 1.7e308 / 2)
{
y /= 2;
x /= 2;
return __drem (x, y) * 2;
}
else
{
union ieee754_double a;
double b;
unsigned int negative = ux.ieee.negative;
a.d = y + y;
b = y / 2;
ux.ieee.negative = 0;
while (x > a.d)
{
unsigned short int k = ux.ieee.exponent - a.ieee.exponent;
union ieee754_double tmp;
tmp.d = a.d;
tmp.ieee.exponent += k;
if (x < tmp.d)
--tmp.ieee.exponent;
x -= tmp.d;
}
if (x > b)
{
x -= y;
if (x >= b)
x -= y;
}
ux.ieee.negative ^= negative;
return x;
}
}
weak_alias (__drem, drem)

View File

@ -1,48 +0,0 @@
/* Copyright (C) 1992, 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <math.h>
#include <float.h>
#include "ieee754.h"
/* Return the base 2 signed integral exponent of X. */
double
DEFUN(__logb, (x), double x)
{
union ieee754_double u;
if (__isnan (x))
return x;
else if (__isinf (x))
return HUGE_VAL;
else if (x == 0.0)
return - HUGE_VAL;
u.d = x;
if (u.ieee.exponent == 0)
/* A denormalized number.
Multiplying by 2 ** DBL_MANT_DIG normalizes it;
we then subtract the DBL_MANT_DIG we added to the exponent. */
return (__logb (x * ldexp (1.0, DBL_MANT_DIG)) - DBL_MANT_DIG);
return (int) u.ieee.exponent - (DBL_MAX_EXP - 1);
}
weak_alias (__logb, logb)

View File

@ -1,120 +0,0 @@
/*
* Copyright (c) 1985 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted provided
* that: (1) source distributions retain this entire copyright notice and
* comment, and (2) distributions including binaries display the following
* acknowledgement: ``This product includes software developed by the
* University of California, Berkeley and its contributors'' in the
* documentation or other materials provided with the distribution and in
* all advertising materials mentioning features or use of this software.
* Neither the name of the University nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
#include <ansidecl.h>
#include <errno.h>
#include <math.h>
/* Return the square root of X. */
double
DEFUN (sqrt, (x), double x)
{
double q, s, b, r, t;
CONST double zero = 0.0;
int m, n, i;
/* sqrt (NaN) is NaN; sqrt (+-0) is +-0. */
if (__isnan (x) || x == zero)
return x;
if (x < zero)
return zero / zero;
/* sqrt (Inf) is Inf. */
if (__isinf (x))
return x;
/* Scale X to [1,4). */
n = __logb (x);
x = __scalb (x, -n);
m = __logb (x);
if (m != 0)
/* Subnormal number. */
x = __scalb (x, -m);
m += n;
n = m / 2;
if ((n + n) != m)
{
x *= 2;
--m;
n = m / 2;
}
/* Generate sqrt (X) bit by bit (accumulating in Q). */
q = 1.0;
s = 4.0;
x -= 1.0;
r = 1;
for (i = 1; i <= 51; i++)
{
t = s + 1;
x *= 4;
r /= 2;
if (t <= x)
{
s = t + t + 2, x -= t;
q += r;
}
else
s *= 2;
}
/* Generate the last bit and determine the final rounding. */
r /= 2;
x *= 4;
if (x == zero)
goto end;
(void) (100 + r); /* Trigger inexact flag. */
if (s < x)
{
q += r;
x -= s;
s += 2;
s *= 2;
x *= 4;
t = (x - s) - 5;
b = 1.0 + 3 * r / 4;
if (b == 1.0)
goto end; /* B == 1: Round to zero. */
b = 1.0 + r / 4;
if (b > 1.0)
t = 1; /* B > 1: Round to +Inf. */
if (t >= 0)
q += r;
} /* Else round to nearest. */
else
{
s *= 2;
x *= 4;
t = (x - s) - 1;
b = 1.0 + 3 * r / 4;
if (b == 1.0)
goto end;
b = 1.0 + r / 4;
if (b > 1.0)
t = 1;
if (t >= 0)
q += r;
}
end:
return __scalb (q, n);
}

View File

@ -20,7 +20,7 @@ Cambridge, MA 02139, USA. */
#include <sys/cdefs.h> #include <sys/cdefs.h>
#ifdef __NO_MATH_INLINES #ifdef __NO_M81_MATH_INLINES
/* This is used when defining the functions themselves. Define them with /* This is used when defining the functions themselves. Define them with
__ names, and with `static inline' instead of `extern inline' so the __ names, and with `static inline' instead of `extern inline' so the
bodies will always be used, never an external function call. */ bodies will always be used, never an external function call. */
@ -29,7 +29,7 @@ Cambridge, MA 02139, USA. */
#else #else
#define __m81_u(x) x #define __m81_u(x) x
#define __m81_inline extern __inline #define __m81_inline extern __inline
#define __MATH_INLINES 1 #define __M81_MATH_INLINES 1
#endif #endif
/* Define a const math function. */ /* Define a const math function. */

View File

@ -16,8 +16,9 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave, not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#include <ansidecl.h> #define __NO_M81_MATH_INLINES
#include <math.h> #include <math.h>
#include "math_private.h"
#ifndef FUNC #ifndef FUNC
#define FUNC __ieee754_acos #define FUNC __ieee754_acos
@ -27,7 +28,8 @@ Cambridge, MA 02139, USA. */
#endif #endif
float_type float_type
DEFUN(FUNC, (x), float_type x) FUNC (x)
float_type x;
{ {
return __m81_u(FUNC)(x); return __m81_u(FUNC)(x);
} }

View File

@ -16,8 +16,9 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave, not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#include <ansidecl.h> #define __NO_M81_MATH_INLINES
#include <math.h> #include <math.h>
#include "math_private.h"
#ifndef FUNC #ifndef FUNC
#define FUNC __ieee754_fmod #define FUNC __ieee754_fmod
@ -27,7 +28,9 @@ Cambridge, MA 02139, USA. */
#endif #endif
float_type float_type
DEFUN(FUNC, (x, y), float_type x AND float_type y) FUNC (x, y)
float_type x;
float_type y;
{ {
return __m81_u(FUNC)(x, y); return __m81_u(FUNC)(x, y);
} }

View File

@ -16,7 +16,9 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave, not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#define __NO_M81_MATH_INLINES
#include <math.h> #include <math.h>
#include "math_private.h"
#ifndef FUNC #ifndef FUNC
#define FUNC cos #define FUNC cos

View File

@ -16,7 +16,9 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave, not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#define __NO_M81_MATH_INLINES
#include <math.h> #include <math.h>
#include "math_private.h"
#ifndef FUNC #ifndef FUNC
#define FUNC sin #define FUNC sin
@ -35,7 +37,7 @@ __CONCATX(__kernel_,FUNC) (x, y, iy)
{ {
float_type sin_x, cos_x, sin_y, cos_y; float_type sin_x, cos_x, sin_y, cos_y;
if (iy == 0) if (iy == 0)
return __m81_u_(__CONCATX(__,FUNC)) (x); return __m81_u(__CONCATX(__,FUNC)) (x);
__asm__ __volatile__ ("fsincosx %2,%0:%1" : "=f" (cos_x), "=f" (sin_x) __asm__ __volatile__ ("fsincosx %2,%0:%1" : "=f" (cos_x), "=f" (sin_x)
: "f" (x)); : "f" (x));
__asm__ __volatile__ ("fsincosx %2,%0:%1" : "=f" (cos_y), "=f" (sin_y) __asm__ __volatile__ ("fsincosx %2,%0:%1" : "=f" (cos_y), "=f" (sin_y)

View File

@ -16,7 +16,9 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave, not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#define __NO_M81_MATH_INLINES
#include <math.h> #include <math.h>
#include "math_private.h"
#ifndef FUNC #ifndef FUNC
#define FUNC tan #define FUNC tan
@ -34,8 +36,8 @@ __CONCATX(__kernel_,FUNC) (x, y, iy)
int iy; int iy;
{ {
float_type tan_x, tan_y; float_type tan_x, tan_y;
tan_x = __m81_u_(__CONCATX(__,FUNC)) (x); tan_x = __m81_u(__CONCATX(__,FUNC)) (x);
tan_y = __m81_u_(__CONCATX(__,FUNC)) (y); tan_y = __m81_u(__CONCATX(__,FUNC)) (y);
if (iy > 0) if (iy > 0)
return (tan_x + tan_y) / (1 - tan_x * tan_y); return (tan_x + tan_y) / (1 - tan_x * tan_y);
else else

View File

@ -17,6 +17,7 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#include <ansidecl.h> #include <ansidecl.h>
#define __NO_M81_MATH_INLINES
#include <math.h> #include <math.h>
#ifndef FUNC #ifndef FUNC

View File

@ -17,6 +17,7 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#include <ansidecl.h> #include <ansidecl.h>
#define __NO_M81_MATH_INLINES
#include <math.h> #include <math.h>
#ifndef FUNC #ifndef FUNC

View File

@ -17,6 +17,7 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#include <ansidecl.h> #include <ansidecl.h>
#define __NO_M81_MATH_INLINES
#include <math.h> #include <math.h>
#ifndef FUNC #ifndef FUNC

View File

@ -17,6 +17,7 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#include <ansidecl.h> #include <ansidecl.h>
#define __NO_M81_MATH_INLINES
#include <math.h> #include <math.h>
#ifndef FUNC #ifndef FUNC

View File

@ -17,6 +17,7 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#include <ansidecl.h> #include <ansidecl.h>
#define __NO_M81_MATH_INLINES
#include <math.h> #include <math.h>
#ifndef FUNC #ifndef FUNC

View File

@ -17,6 +17,7 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#include <ansidecl.h> #include <ansidecl.h>
#define __NO_M81_MATH_INLINES
#include <math.h> #include <math.h>
#ifndef FUNC #ifndef FUNC

View File

@ -1,4 +1,2 @@
/* __profile_frequency is in sysdeps/mach/hurd/profil.c. This file /* __profile_frequency is in sysdeps/mach/hurd/profil.c. This file
is here as a place-holder to prevent the use of sysdeps/generic/prof-freq.c. */ is here as a place-holder to prevent the use of sysdeps/generic/prof-freq.c. */
/* __profile_frequency is in sysdeps/mach/hurd/profil.c. This file
is here as a place-holder to prevent the use of sysdeps/generic/prof-freq.c. */

View File

@ -26,7 +26,7 @@ Cambridge, MA 02139, USA. */
/* Return the square root of X. */ /* Return the square root of X. */
double double
DEFUN(sqrt, (x), double x) DEFUN(__ieee754_sqrt, (x), double x)
{ {
register double result; register double result;
asm("fsqrtd %1, %0" : "=f" (result) : "f" (x)); asm("fsqrtd %1, %0" : "=f" (result) : "f" (x));

View File

@ -1,32 +0,0 @@
/* Copyright (C) 1992, 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <errno.h>
#include <math.h>
/* Return the cube root of X. */
double
DEFUN(cbrt, (x), double x)
{
errno = ENOSYS;
return 0.0;
}
stub_warning (cbrt)

View File

@ -1,32 +0,0 @@
/* Copyright (C) 1991, 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <errno.h>
#include <math.h>
/* Return the cosine of X. */
double
DEFUN(cos, (x), double x)
{
errno = ENOSYS;
return(0.0);
}
stub_warning (cos)

View File

@ -1,33 +0,0 @@
/* Copyright (C) 1992, 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <errno.h>
#include <math.h>
/* Return the remainder of X/Y. */
double
DEFUN(__drem, (x, y),
double x AND double y)
{
errno = ENOSYS;
return 0.0;
}
stub_warning (drem)
weak_alias (__drem, drem)

View File

@ -1,31 +0,0 @@
/* Copyright (C) 1991, 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <math.h>
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
int
DEFUN(__isinf, (value), double value)
{
return 0;
}
weak_alias (__isinf, isinf)
stub_warning (__isinf)

View File

@ -1,33 +0,0 @@
/* Copyright (C) 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <math.h>
#undef __isinfl
#undef isinfl
/* Return 0 if VALUE is finite or NaN, +1 if it
is +Infinity, -1 if it is -Infinity. */
int
__isinfl (long double value)
{
return 0;
}
weak_alias (__isinfl, isinfl);

View File

@ -1,33 +0,0 @@
/* Copyright (C) 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <math.h>
#undef __isnanl
#undef isnanl
/* Return nonzero if VALUE is not a number. */
int
__isnanl (long double value)
{
return 0;
}
weak_alias (__isnanl, isnanl);

View File

@ -1,31 +0,0 @@
/* Copyright (C) 1992, 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <math.h>
#include <errno.h>
/* Return the base 2 signed integral exponent of X. */
double
DEFUN(__logb, (x), double x)
{
errno = ENOSYS;
return 0.0;
}
stub_warning (logb)
weak_alias (__logb, logb)

View File

@ -1,32 +0,0 @@
/* Copyright (C) 1991, 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <errno.h>
#include <math.h>
/* Return the sine of X. */
double
DEFUN(sin, (x), double x)
{
errno = ENOSYS;
return(0.0);
}
stub_warning (sin)

View File

@ -1,32 +0,0 @@
/* Copyright (C) 1991, 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <errno.h>
#include <math.h>
/* Return the square root of X. */
double
DEFUN(sqrt, (x), double x)
{
errno = ENOSYS;
return(0.0);
}
stub_warning (sqrt)

View File

@ -1,22 +0,0 @@
/* Copyright (C) 1991 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#define FPCONST(hi0, lo0, hi1, lo1) { (hi0), (lo0), (hi1), (lo1) }
#include <../sysdeps/vax/log10.c>

View File

@ -4,3 +4,4 @@ ioperm.c
init-first.h init-first.h
clone.S clone.S
sys/io.h sys/io.h
llseek.S

View File

@ -1,27 +0,0 @@
/* The job of this fragment it to find argc and friends for INIT.
This is done in one of two ways: either in the stack context
of program start, or having dlopen pass them in. */
#define SYSDEP_CALL_INIT(NAME, INIT) \
void NAME (void *arg) \
{ \
int argc; \
char **argv, **envp; \
\
__libc_multiple_libcs = &_dl_starting_up && !_dl_starting_up; \
\
if (!__libc_multiple_libcs) \
{ \
argc = (int) arg; \
argv = (char **) &arg + 1; \
envp = &argv[argc+1]; \
} \
else \
{ \
argc = (int) arg; \
argv = ((char ***) &arg)[1]; \
envp = ((char ***) &arg)[2]; \
} \
\
INIT (argc, argv, envp); \
}

View File

@ -1,12 +0,0 @@
/* This fragment is invoked in the stack context of program start.
Its job is to set up a pointer to argc as an argument, pass
control to `INIT', and, if necessary, clean up after the call
to leave the stack in the same condition it was found in. */
#define SYSDEP_CALL_INIT(NAME, INIT) \
asm(".globl " #NAME "\n\t" \
#NAME ":\n\t" \
"pea %sp@(4)\n\t" \
"jbsr " #INIT "\n\t" \
"addq #4,%sp\n\t" \
"rts");

View File

@ -1 +1,2 @@
DEFS.h DEFS.h
fl.h

View File

@ -1,57 +0,0 @@
/*
* Copyright (c) 1983 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#if defined(LIBC_SCCS) && !defined(lint)
.asciz "@(#)bcmp.s 5.6 (Berkeley) 6/1/90"
#endif /* LIBC_SCCS and not lint */
/* bcmp(s1, s2, n) */
#include "DEFS.h"
ENTRY(bcmp, 0)
movl 4(ap),r1
movl 8(ap),r3
movl 12(ap),r4
1:
movzwl $65535,r0
cmpl r4,r0
jleq 2f
subl2 r0,r4
cmpc3 r0,(r1),(r3)
jeql 1b
addl2 r4,r0
ret
2:
cmpc3 r4,(r1),(r3)
ret

View File

@ -1,99 +0,0 @@
/*
* Copyright (c) 1980 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#if defined(LIBC_SCCS) && !defined(lint)
.asciz "@(#)index.s 5.6 (Berkeley) 6/1/90"
#endif /* LIBC_SCCS and not lint */
/*
* Find the first occurence of c in the string cp.
* Return pointer to match or null pointer.
*
* char *
* index(cp, c)
* char *cp, c;
*/
#include "DEFS.h"
ENTRY(index, 0)
movq 4(ap),r1 # r1 = cp; r2 = c
tstl r2 # check for special case c == '\0'
bneq 2f
1:
locc $0,$65535,(r1) # just find end of string
beql 1b # still looking
movl r1,r0 # found it
ret
2:
moval tbl,r3 # r3 = address of table
bbss $0,(r3),5f # insure not reentering
movab (r3)[r2],r5 # table entry for c
incb (r5)
movzwl $65535,r4 # fast access
3:
scanc r4,(r1),(r3),$1 # look for c or '\0'
beql 3b # still looking
movl r1,r0 # return pointer to char
tstb (r0) # if have found '\0'
bneq 4f
clrl r0 # else return 0
4:
clrb (r5) # clean up table
clrb (r3)
ret
.data
tbl: .space 256
.text
/*
* Reentrant, but slower version of index
*/
5:
movl r1,r3
6:
locc $0,$65535,(r3) # look for '\0'
bneq 7f
locc r2,$65535,(r3) # look for c
bneq 8f
movl r1,r3 # reset pointer and ...
jbr 6b # ... try again
7:
subl3 r3,r1,r4 # length of short block
incl r4 # +1 for '\0'
locc r2,r4,(r3) # look for c
bneq 8f
ret
8:
movl r1,r0 # return pointer to char
ret

View File

@ -1,62 +0,0 @@
/* Copyright (C) 1991, 1992, 1995 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#ifndef __GNUC__
#error This file uses GNU C extensions; you must compile with GCC.
#else
#include <ansidecl.h>
#include <errno.h>
#include <math.h>
/* Deal with an infinite or NaN result.
If ERROR is ERANGE, result is +Inf;
if ERROR is - ERANGE, result is -Inf;
otherwise result is NaN.
This will set `errno' to either ERANGE or EDOM,
and may return an infinity or NaN, or may do something else. */
double
DEFUN(__infnan, (error), int error)
{
switch (error)
{
case ERANGE:
errno = ERANGE;
break;
case - ERANGE:
errno = ERANGE;
break;
default:
errno = EDOM;
break;
}
/* Trigger a reserved operand fault. */
{
double result;
asm volatile("emodd %1, %1, %2, %0, %0" : "=r" (result) :
"i" (0), "i" (0x8000));
return result;
}
}
#endif
weak_alias (__infnan, infnan)

View File

@ -1,28 +0,0 @@
/* Copyright (C) 1991 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#ifndef FPCONST
#define FPCONST(hi0, lo0, hi1, lo1) { (lo0), (hi0), (lo1), (hi1) }
#endif
static CONST short int ln10[] = FPCONST(0x4113, 0x5d8d, 0xddaa, 0xa8ac);
#define LN10 (*(CONST double *) ln10)
#include <../sysdeps/generic/log10.c>

View File

@ -59,3 +59,5 @@ ENTRY(memcmp, 0)
cmpc3 r5,(r1),(r3) cmpc3 r5,(r1),(r3)
jeql 0b /* loop if same */ jeql 0b /* loop if same */
jbr 1b jbr 1b
weak_alias (memcmp, bcmp)

View File

@ -1,113 +0,0 @@
/*
* Copyright (c) 1983 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#if defined(LIBC_SCCS) && !defined(lint)
.asciz "@(#)rindex.s 5.6 (Berkeley) 6/1/90"
#endif /* LIBC_SCCS and not lint */
/*
* Find the last occurence of c in the string cp.
* Return pointer to match or null pointer.
*
* char *
* rindex(cp, c)
* char *cp, c;
*/
#include "DEFS.h"
ENTRY(rindex, 0)
movq 4(ap),r1 # r1 = cp; r2 = c
tstl r2 # check for special case c == '\0'
bneq 2f
1:
locc $0,$65535,(r1) # just find end of string
beql 1b # still looking
movl r1,r0 # found it
ret
2:
moval tbl,r3 # r3 = address of table
bbss $0,(r3),5f # insure not reentering
movab (r3)[r2],r5 # table entry for c
incb (r5)
clrl r4 # last found
3:
scanc $65535,(r1),(r3),$1 # look for c or '\0'
beql 3b # keep looking
tstb (r1) # if have found '\0'
beql 4f # we are done
movl r1,r4 # save most recently found
incl r1 # skip over character
jbr 3b # keep looking
4:
movl r4,r0 # return last found (if any)
clrb (r5) # clean up table
clrb (r3)
ret
.data
tbl: .space 256
.text
/*
* Reentrant, but slower version of rindex
*/
5:
movl r1,r3
clrl r4 # r4 = pointer to last match
6:
locc $0,$65535,(r3) # look for '\0'
bneq 8f
decw r0 # r0 = 65535
1:
locc r2,r0,(r3) # look for c
bneq 7f
movl r1,r3 # reset pointer and ...
jbr 6b # ... try again
7:
movl r1,r4 # stash pointer ...
addl3 $1,r1,r3 # ... skip over match and ...
decl r0 # ... decrement count
jbr 6b # ... try again
8:
subl3 r3,r1,r0 # length of short block
incl r0 # +1 for '\0'
9:
locc r2,r0,(r3) # look for c
beql 0f
movl r1,r4 # stash pointer ...
addl3 $1,r1,r3 # ... skip over match ...
decl r0 # ... adjust count and ...
jbr 9b # ... try again
0:
movl r4,r0 # return stashed pointer
ret

View File

@ -103,3 +103,5 @@ Lreent:
beql 2f /* not found: return NULL */ beql 2f /* not found: return NULL */
movl r1,r0 movl r1,r0
2: ret 2: ret
weak_alias (strchr, index)

View File

@ -112,3 +112,5 @@ Lreent:
3: 3:
movl r5,r0 /* return stashed pointer */ movl r5,r0 /* return stashed pointer */
ret ret
weak_alias (strrchr, rindex)

View File

@ -1,10 +1,10 @@
# @(#)africa 7.13 # @(#)africa 7.14
# This data is by no means authoritative; if you think you know better, # 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 # go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future). # tz@elsie.nci.nih.gov for general use in the future).
# From Paul Eggert <eggert@twinsun.com> (November 18, 1993): # From Paul Eggert <eggert@twinsun.com> (1996-09-03):
# #
# A good source for time zone historical data outside the U.S. is # A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (3rd edition), # Thomas G. Shanks, The International Atlas (3rd edition),
@ -61,64 +61,95 @@
# Omit `.' from abbreviations in names, e.g. prefer `St_Helena' # Omit `.' from abbreviations in names, e.g. prefer `St_Helena'
# to `St._Helena'. # to `St._Helena'.
# #
# We typically use traditional English time zone abbreviations, # For time zone abbreviations like `EST' I used the following rules,
# and assume that applications translate them to other languages # in decreasing order of importance:
# as part of the normal localization process.
# #
# I made up the following time zone abbreviations; corrections are welcome! # Use abbreviations that consist of 3 or more upper-case Ascii letters,
# except use "___" for locations while uninhabited.
# Posix.1 requires at least 3 characters, and the restriction to
# upper-case Ascii letters follows most traditions.
# Previous editions of this database also used characters like
# ' ' and '?', but these characters have a special meaning to
# the shell and cause commands like
# set `date`
# to have unexpected effects. In theory, the character set could
# be !%./@A-Z^_a-z{}, but these tables use only upper-case
# Ascii letters (and "___").
# Use abbreviations that are in common use among English-speakers,
# e.g. `EST' for Eastern Standard Time in North America.
# We assume that applications translate them to other languages
# as part of the normal localization process; for example,
# a French application might translate `EST' to `HNE'.
# For zones whose times are taken from a city's longitude, use the
# traditional xMT notation, e.g. `PMT' for Paris Mean Time.
# The only name like this in current use is `GMT'.
# If there is no common English abbreviation, abbreviate the English
# translation of the usual phrase used by native speakers.
# If this is not available or is a phrase mentioning the country
# (e.g. ``Cape Verde Time''), then:
#
# When a country has a single or principal time zone region,
# append `T' to the country's ISO code, e.g. `CVT' for
# Cape Verde Time. For summer time append `ST';
# for double summer time append `DST'; etc.
# When a country has multiple time zones, take the first three
# letters of an English place name identifying each zone
# and then append `T', `ST', etc. as before;
# e.g. `MOSST' for MOScow Summer Time.
#
#
# For Africa I invented the following time zone abbreviations.
# LMT Local Mean Time # LMT Local Mean Time
# -2:00 CVT Cape Verde Time (no longer used) # -1:00 AAT Atlantic Africa Time (no longer used)
# -1:00 AAT Atlantic Africa Time
# 0:00 WAT West Africa Time # 0:00 WAT West Africa Time
# 1:00 CAT Central Africa Time # 1:00 CAT Central Africa Time
# 2:00 SAT South Africa Time # 2:00 SAT South Africa Time
# 3:00 EAT East Africa Time # 3:00 EAT East Africa Time
# 4:00 SMT Seychelles and Mascarene Time
# The final `T' is replaced by `ST' for summer time, e.g. `SAST'. # The final `T' is replaced by `ST' for summer time, e.g. `SAST'.
# BEAT is British East Africa Time, which was 2:30 before 1948 and 2:45 after. # BEAT is British East Africa Time, which was 2:30 before 1948 and 2:45 after.
# Algeria # Algeria
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Algeria 1916 only - Jun 14 23:00s 1:00 " DST" Rule Algeria 1916 only - Jun 14 23:00s 1:00 S
Rule Algeria 1916 1919 - Oct Sun<=7 23:00s 0 - Rule Algeria 1916 1919 - Oct Sun<=7 23:00s 0 -
Rule Algeria 1917 only - Mar 24 23:00s 1:00 " DST" Rule Algeria 1917 only - Mar 24 23:00s 1:00 S
Rule Algeria 1918 only - Mar 9 23:00s 1:00 " DST" Rule Algeria 1918 only - Mar 9 23:00s 1:00 S
Rule Algeria 1919 only - Mar 1 23:00s 1:00 " DST" Rule Algeria 1919 only - Mar 1 23:00s 1:00 S
Rule Algeria 1920 only - Feb 14 23:00s 1:00 " DST" Rule Algeria 1920 only - Feb 14 23:00s 1:00 S
Rule Algeria 1920 only - Oct 23 23:00s 0 - Rule Algeria 1920 only - Oct 23 23:00s 0 -
Rule Algeria 1921 only - Mar 14 23:00s 1:00 " DST" Rule Algeria 1921 only - Mar 14 23:00s 1:00 S
Rule Algeria 1921 only - Jun 21 23:00s 0 - Rule Algeria 1921 only - Jun 21 23:00s 0 -
Rule Algeria 1939 only - Sep 11 23:00s 1:00 " DST" Rule Algeria 1939 only - Sep 11 23:00s 1:00 S
Rule Algeria 1939 only - Nov 19 1:00 0 - Rule Algeria 1939 only - Nov 19 1:00 0 -
Rule Algeria 1944 1945 - Apr Mon<=7 2:00 1:00 " DST" Rule Algeria 1944 1945 - Apr Mon<=7 2:00 1:00 S
Rule Algeria 1944 only - Oct 8 2:00 0 - Rule Algeria 1944 only - Oct 8 2:00 0 -
Rule Algeria 1945 only - Sep 16 1:00 0 - Rule Algeria 1945 only - Sep 16 1:00 0 -
Rule Algeria 1971 only - Apr 25 23:00s 1:00 " DST" Rule Algeria 1971 only - Apr 25 23:00s 1:00 S
Rule Algeria 1971 only - Sep 26 23:00s 0 - Rule Algeria 1971 only - Sep 26 23:00s 0 -
Rule Algeria 1977 only - May 6 0:00 1:00 " DST" Rule Algeria 1977 only - May 6 0:00 1:00 S
Rule Algeria 1977 only - Oct 21 0:00 0 - Rule Algeria 1977 only - Oct 21 0:00 0 -
Rule Algeria 1978 only - Mar 24 1:00 1:00 " DST" Rule Algeria 1978 only - Mar 24 1:00 1:00 S
Rule Algeria 1978 only - Sep 22 3:00 0 - Rule Algeria 1978 only - Sep 22 3:00 0 -
Rule Algeria 1980 only - Apr 25 0:00 1:00 " DST" Rule Algeria 1980 only - Apr 25 0:00 1:00 S
Rule Algeria 1980 only - Oct 31 2:00 0 - Rule Algeria 1980 only - Oct 31 2:00 0 -
# Shanks gives 0:09 for Paris Mean Time; go with Howse's more precise 0:09:21. # Shanks gives 0:09 for Paris Mean Time; go with Howse's more precise 0:09:21.
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01 Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
0:00 Algeria WET%s 1940 Feb 25 2:00 0:00 Algeria WE%sT 1940 Feb 25 2:00
1:00 Algeria MET%s 1946 Oct 7 1:00 Algeria CE%sT 1946 Oct 7
0:00 - WET 1956 Jan 29 0:00 - WET 1956 Jan 29
1:00 - MET 1963 Apr 14 1:00 - CET 1963 Apr 14
0:00 Algeria WET%s 1977 Oct 21 0:00 Algeria WE%sT 1977 Oct 21
1:00 Algeria MET%s 1979 Oct 26 1:00 Algeria CE%sT 1979 Oct 26
0:00 Algeria WET%s 1981 May 0:00 Algeria WE%sT 1981 May
1:00 - MET 1:00 - CET
# Angola # Angola
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Luanda 0:52:56 - LMT 1892 Zone Africa/Luanda 0:52:56 - LMT 1892
0:52 - LMT 1911 May 26 # Luanda Mean Time 0:52:04 - LMT 1911 May 26 # Luanda Mean Time?
1:00 - CAT 1:00 - CAT
# Bassas da India # Bassas da India
@ -160,7 +191,7 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1907 # Praia
-2:00 - CVT 1942 Sep -2:00 - CVT 1942 Sep
-2:00 1:00 CVST 1945 Oct 15 -2:00 1:00 CVST 1945 Oct 15
-2:00 - CVT 1975 Nov 25 2:00 -2:00 - CVT 1975 Nov 25 2:00
-1:00 - AAT -1:00 - CVT
# Central African Republic # Central African Republic
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -211,28 +242,28 @@ Zone Africa/Djibouti 2:52:36 - LMT 1911 Jul
# From Shanks (1991): # From Shanks (1991):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Egypt 1940 only - Jul 15 0:00 1:00 " DST" Rule Egypt 1940 only - Jul 15 0:00 1:00 S
Rule Egypt 1940 only - Oct 1 0:00 0 - Rule Egypt 1940 only - Oct 1 0:00 0 -
Rule Egypt 1941 only - Apr 15 0:00 1:00 " DST" Rule Egypt 1941 only - Apr 15 0:00 1:00 S
Rule Egypt 1941 only - Sep 16 0:00 0 - Rule Egypt 1941 only - Sep 16 0:00 0 -
Rule Egypt 1942 1944 - Apr 1 0:00 1:00 " DST" Rule Egypt 1942 1944 - Apr 1 0:00 1:00 S
Rule Egypt 1942 only - Oct 27 0:00 0 - Rule Egypt 1942 only - Oct 27 0:00 0 -
Rule Egypt 1943 1945 - Nov 1 0:00 0 - Rule Egypt 1943 1945 - Nov 1 0:00 0 -
Rule Egypt 1945 only - Apr 16 0:00 1:00 " DST" Rule Egypt 1945 only - Apr 16 0:00 1:00 S
Rule Egypt 1957 only - May 10 0:00 1:00 " DST" Rule Egypt 1957 only - May 10 0:00 1:00 S
Rule Egypt 1957 1958 - Oct 1 0:00 0 - Rule Egypt 1957 1958 - Oct 1 0:00 0 -
Rule Egypt 1958 only - May 1 0:00 1:00 " DST" Rule Egypt 1958 only - May 1 0:00 1:00 S
Rule Egypt 1959 1981 - May 1 1:00 1:00 " DST" Rule Egypt 1959 1981 - May 1 1:00 1:00 S
Rule Egypt 1959 1965 - Sep 30 3:00 0 - Rule Egypt 1959 1965 - Sep 30 3:00 0 -
Rule Egypt 1966 max - Oct 1 3:00 0 - Rule Egypt 1966 max - Oct 1 3:00 0 -
Rule Egypt 1982 only - Jul 25 1:00 1:00 " DST" Rule Egypt 1982 only - Jul 25 1:00 1:00 S
Rule Egypt 1983 only - Jul 12 1:00 1:00 " DST" Rule Egypt 1983 only - Jul 12 1:00 1:00 S
Rule Egypt 1984 1988 - May 1 1:00 1:00 " DST" Rule Egypt 1984 1988 - May 1 1:00 1:00 S
Rule Egypt 1989 only - May 6 1:00 1:00 " DST" Rule Egypt 1989 only - May 6 1:00 1:00 S
Rule Egypt 1990 max - May 1 1:00 1:00 " DST" Rule Egypt 1990 max - May 1 1:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Cairo 2:05:00 - LMT 1900 Oct Zone Africa/Cairo 2:05:00 - LMT 1900 Oct
2:00 Egypt EET%s 2:00 Egypt EE%sT
# Equatorial Guinea # Equatorial Guinea
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -243,14 +274,14 @@ Zone Africa/Malabo 0:35:08 - LMT 1912
# Eritrea # Eritrea
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Asmera 2:35:32 - LMT 1870 Zone Africa/Asmera 2:35:32 - LMT 1870
2:36 - AMT 1890 # Asmera Mean Time 2:35:32 - AMT 1890 # Asmera Mean Time
2:35 - AAMT 1936 May 5 # Addis Ababa MT 2:35:20 - AAMT 1936 May 5 # Addis Ababa MT?
3:00 - EAT 3:00 - EAT
# Ethiopia # Ethiopia
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Addis_Ababa 2:34:48 - LMT 1870 Zone Africa/Addis_Ababa 2:34:48 - LMT 1870
2:35 - AAMT 1936 May 5 # Addis Ababa MT 2:35:20 - AAMT 1936 May 5 # Addis Ababa MT?
3:00 - EAT 3:00 - EAT
# Europa Island # Europa Island
@ -264,17 +295,17 @@ Zone Africa/Libreville 0:37:48 - LMT 1912
# Gambia # Gambia
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Banjul -1:06:36 - LMT 1912 Zone Africa/Banjul -1:06:36 - LMT 1912
-1:07 - BMT 1935 # Banjul Mean Time -1:06:36 - BMT 1935 # Banjul Mean Time
-1:00 - AAT 1964 -1:00 - AAT 1964
0:00 - WAT 0:00 - WAT
# Ghana # Ghana
# From Paul Eggert <eggert@twinsun.com> (November 18, 1993): # From Paul Eggert <eggert@twinsun.com> (1996-09-03):
# WATDT is my invention for ``West Africa one-Third Daylight Time''. # WATST is my invention for ``West Africa one-Third Summer Time''.
# From Shanks (1991): # From Shanks (1991):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Whitman says DST was observed from 1931 to ``the present''; go with Shanks. # Whitman says DST was observed from 1931 to ``the present''; go with Shanks.
Rule Ghana 1936 1942 - Sep 1 0:00 0:20 WATDT Rule Ghana 1936 1942 - Sep 1 0:00 0:20 WATST
Rule Ghana 1936 1942 - Dec 31 0:00 0 WAT Rule Ghana 1936 1942 - Dec 31 0:00 0 WAT
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Accra -0:00:52 - LMT 1918 Zone Africa/Accra -0:00:52 - LMT 1918
@ -329,7 +360,7 @@ Zone Africa/Maseru 1:50:00 - LMT 1903 Mar
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Monrovia -0:43:08 - LMT 1882 Zone Africa/Monrovia -0:43:08 - LMT 1882
-0:43:08 - MMT 1919 Mar # Monrovia Mean Time -0:43:08 - MMT 1919 Mar # Monrovia Mean Time
-0:44:30 - LST 1972 May # Liberia Standard Time -0:44:30 - LRT 1972 May # Liberia Time
0:00 - WAT 0:00 - WAT
############################################################################### ###############################################################################
@ -345,28 +376,28 @@ Zone Africa/Monrovia -0:43:08 - LMT 1882
# From Shanks (1991): # From Shanks (1991):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Libya 1951 only - Oct 14 2:00 1:00 " DST" Rule Libya 1951 only - Oct 14 2:00 1:00 S
Rule Libya 1952 only - Jan 1 0:00 0 - Rule Libya 1952 only - Jan 1 0:00 0 -
Rule Libya 1953 only - Oct 9 2:00 1:00 " DST" Rule Libya 1953 only - Oct 9 2:00 1:00 S
Rule Libya 1954 only - Jan 1 0:00 0 - Rule Libya 1954 only - Jan 1 0:00 0 -
Rule Libya 1955 only - Sep 30 0:00 1:00 " DST" Rule Libya 1955 only - Sep 30 0:00 1:00 S
Rule Libya 1956 only - Jan 1 0:00 0 - Rule Libya 1956 only - Jan 1 0:00 0 -
Rule Libya 1982 1984 - Apr 1 0:00 1:00 " DST" Rule Libya 1982 1984 - Apr 1 0:00 1:00 S
Rule Libya 1982 1985 - Oct 1 0:00 0 - Rule Libya 1982 1985 - Oct 1 0:00 0 -
Rule Libya 1985 only - Apr 6 0:00 1:00 " DST" Rule Libya 1985 only - Apr 6 0:00 1:00 S
Rule Libya 1986 only - Apr 4 0:00 1:00 " DST" Rule Libya 1986 only - Apr 4 0:00 1:00 S
Rule Libya 1986 only - Oct 3 0:00 0 - Rule Libya 1986 only - Oct 3 0:00 0 -
Rule Libya 1987 1989 - Apr 1 0:00 1:00 " DST" Rule Libya 1987 1989 - Apr 1 0:00 1:00 S
Rule Libya 1987 1990 - Oct 1 0:00 0 - Rule Libya 1987 1990 - Oct 1 0:00 0 -
Rule Libya 1990 only - May 4 0:00 1:00 " DST" Rule Libya 1990 only - May 4 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Tripoli 0:52:44 - LMT 1920 Zone Africa/Tripoli 0:52:44 - LMT 1920
1:00 Libya MET%s 1959 1:00 Libya CE%sT 1959
2:00 - EET 1982 2:00 - EET 1982
# From Paul Eggert <eggert@twinsun.com> (1995-12-19): # From Paul Eggert <eggert@twinsun.com> (1995-12-19):
# usno1995 (from OAG) says Libya uses 2:00 all year, as they did before 1982. # usno1995 (from OAG) says Libya uses 2:00 all year, as they did before 1982.
# We don't know when they switched back. We'll guess 1991. # We don't know when they switched back. We'll guess 1991.
1:00 Libya MET%s 1991 1:00 Libya CE%sT 1991
2:00 - EET 2:00 - EET
# Madagascar # Madagascar
@ -401,7 +432,7 @@ Zone Africa/Nouakchott -1:03:48 - LMT 1912
# Mauritius # Mauritius
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
4:00 - SMT 4:00 - MUT # Mauritius Time
# Agalega Is, Rodriguez # Agalega Is, Rodriguez
# no information; probably like Indian/Mauritius # no information; probably like Indian/Mauritius
@ -411,29 +442,31 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
3:00 - EAT 3:00 - EAT
# Morocco # Morocco
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Morocco 1939 only - Sep 12 0:00 1:00 " DST" Rule Morocco 1939 only - Sep 12 0:00 1:00 S
Rule Morocco 1939 only - Nov 19 0:00 0 - Rule Morocco 1939 only - Nov 19 0:00 0 -
Rule Morocco 1940 only - Feb 25 0:00 1:00 " DST" Rule Morocco 1940 only - Feb 25 0:00 1:00 S
Rule Morocco 1945 only - Nov 18 0:00 0 - Rule Morocco 1945 only - Nov 18 0:00 0 -
Rule Morocco 1950 only - Jun 11 0:00 1:00 " DST" Rule Morocco 1950 only - Jun 11 0:00 1:00 S
Rule Morocco 1950 only - Oct 29 0:00 0 - Rule Morocco 1950 only - Oct 29 0:00 0 -
Rule Morocco 1967 only - Jun 3 12:00 1:00 " DST" Rule Morocco 1967 only - Jun 3 12:00 1:00 S
Rule Morocco 1967 only - Oct 1 0:00 0 - Rule Morocco 1967 only - Oct 1 0:00 0 -
Rule Morocco 1974 only - Jun 24 0:00 1:00 " DST" Rule Morocco 1974 only - Jun 24 0:00 1:00 S
Rule Morocco 1974 only - Sep 1 0:00 0 - Rule Morocco 1974 only - Sep 1 0:00 0 -
Rule Morocco 1976 1977 - May 1 0:00 1:00 " DST" Rule Morocco 1976 1977 - May 1 0:00 1:00 S
Rule Morocco 1976 only - Aug 1 0:00 0 - Rule Morocco 1976 only - Aug 1 0:00 0 -
Rule Morocco 1977 only - Sep 28 0:00 0 - Rule Morocco 1977 only - Sep 28 0:00 0 -
Rule Morocco 1978 only - Jun 1 0:00 1:00 " DST" Rule Morocco 1978 only - Jun 1 0:00 1:00 S
Rule Morocco 1978 only - Aug 4 0:00 0 - Rule Morocco 1978 only - Aug 4 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26 Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
0:00 Morocco WET%s 1984 Mar 16 0:00 Morocco WE%sT 1984 Mar 16
1:00 - MET 1986 1:00 - CET 1986
0:00 - WET
# Western Sahara
Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan
-1:00 - AAT 1976 Apr 14
0:00 - WET 0:00 - WET
# The following are controlled by Spain, and are like Europe/Madrid:
# Alboran, Alhucemas Is, Ceuta, Chafarinas Is, Melilla.
# Mozambique # Mozambique
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -463,7 +496,7 @@ Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
# Reunion # Reunion
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
4:00 - SMT 4:00 - RET # Reunion Time
# Rwanda # Rwanda
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -473,7 +506,7 @@ Zone Africa/Kigali 2:00:16 - LMT 1935 Jun
# St Helena # St Helena
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown
-0:06 - ?MT 1951 # a typo in Shanks? -0:06 - SHT 1951 # St Helena Time (?)
0:00 - GMT 0:00 - GMT
# The other parts of the St Helena territory are similar: # The other parts of the St Helena territory are similar:
# Tristan da Cunha: on GMT, says Whitman # Tristan da Cunha: on GMT, says Whitman
@ -483,7 +516,7 @@ Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown
# Sao Tome and Principe # Sao Tome and Principe
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Sao_Tome 0:26:56 - LMT 1884 Zone Africa/Sao_Tome 0:26:56 - LMT 1884
-0:37 - ?MT 1912 # a typo in Shanks? -0:36:32 - LMT 1912 # Lisbon Mean Time
0:00 - WAT 0:00 - WAT
# Senegal # Senegal
@ -495,7 +528,7 @@ Zone Africa/Dakar -1:09:44 - LMT 1912
# Seychelles # Seychelles
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
4:00 - SMT 4:00 - SCT # Seychelles Time
# Sierra Leone # Sierra Leone
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@ -506,7 +539,7 @@ Rule SL 1957 1962 - Jun 1 0:00 1:00 S
Rule SL 1957 1962 - Sep 1 0:00 0 - Rule SL 1957 1962 - Sep 1 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Freetown -0:53:00 - LMT 1882 Zone Africa/Freetown -0:53:00 - LMT 1882
-0:53 - FMT 1913 Jun -0:53:00 - FMT 1913 Jun # Freetown Mean Time
-1:00 SL AA%sT 1957 -1:00 SL AA%sT 1957
0:00 SL WA%sT 0:00 SL WA%sT
@ -537,13 +570,13 @@ Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
# I verified this today by telephone with the Sudan Mission to the # I verified this today by telephone with the Sudan Mission to the
# United Nations: 212-573-6033 # United Nations: 212-573-6033
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Sudan 1970 only - May 1 0:00 1:00 " DST" Rule Sudan 1970 only - May 1 0:00 1:00 S
Rule Sudan 1970 1985 - Oct 15 0:00 0 - Rule Sudan 1970 1985 - Oct 15 0:00 0 -
Rule Sudan 1971 only - Apr 30 0:00 1:00 " DST" Rule Sudan 1971 only - Apr 30 0:00 1:00 S
Rule Sudan 1972 1985 - Apr lastSun 0:00 1:00 " DST" Rule Sudan 1972 1985 - Apr lastSun 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Khartoum 2:10:08 - LMT 1931 Zone Africa/Khartoum 2:10:08 - LMT 1931
2:00 Sudan EET%s 2:00 Sudan EE%sT
# Swaziland # Swaziland
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -567,34 +600,34 @@ Zone Africa/Lome 0:04:52 - LMT 1893
# Tunisia # Tunisia
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Tunisia 1939 only - Apr 15 23:00s 1:00 " DST" Rule Tunisia 1939 only - Apr 15 23:00s 1:00 S
Rule Tunisia 1939 only - Nov 18 23:00s 0 - Rule Tunisia 1939 only - Nov 18 23:00s 0 -
Rule Tunisia 1940 only - Feb 25 23:00s 1:00 " DST" Rule Tunisia 1940 only - Feb 25 23:00s 1:00 S
Rule Tunisia 1941 only - Oct 6 0:00 0 - Rule Tunisia 1941 only - Oct 6 0:00 0 -
Rule Tunisia 1942 only - Mar 9 0:00 1:00 " DST" Rule Tunisia 1942 only - Mar 9 0:00 1:00 S
Rule Tunisia 1942 only - Nov 2 3:00 0 - Rule Tunisia 1942 only - Nov 2 3:00 0 -
Rule Tunisia 1943 only - Mar 29 2:00 1:00 " DST" Rule Tunisia 1943 only - Mar 29 2:00 1:00 S
Rule Tunisia 1943 only - Apr 17 2:00 0 - Rule Tunisia 1943 only - Apr 17 2:00 0 -
Rule Tunisia 1943 only - Apr 25 2:00 1:00 " DST" Rule Tunisia 1943 only - Apr 25 2:00 1:00 S
Rule Tunisia 1943 only - Oct 4 2:00 0 - Rule Tunisia 1943 only - Oct 4 2:00 0 -
Rule Tunisia 1944 1945 - Apr Mon>=1 2:00 1:00 " DST" Rule Tunisia 1944 1945 - Apr Mon>=1 2:00 1:00 S
Rule Tunisia 1944 only - Oct 8 0:00 0 - Rule Tunisia 1944 only - Oct 8 0:00 0 -
Rule Tunisia 1945 only - Sep 16 0:00 0 - Rule Tunisia 1945 only - Sep 16 0:00 0 -
Rule Tunisia 1977 only - Apr 30 0:00s 1:00 " DST" Rule Tunisia 1977 only - Apr 30 0:00s 1:00 S
Rule Tunisia 1977 only - Sep 24 0:00s 0 - Rule Tunisia 1977 only - Sep 24 0:00s 0 -
Rule Tunisia 1978 only - May 1 0:00s 1:00 " DST" Rule Tunisia 1978 only - May 1 0:00s 1:00 S
Rule Tunisia 1978 only - Oct 1 0:00s 0 - Rule Tunisia 1978 only - Oct 1 0:00s 0 -
Rule Tunisia 1988 only - Jun 1 0:00s 1:00 " DST" Rule Tunisia 1988 only - Jun 1 0:00s 1:00 S
Rule Tunisia 1988 max - Sep lastSun 0:00s 0 - Rule Tunisia 1988 max - Sep lastSun 0:00s 0 -
Rule Tunisia 1989 only - Mar 26 0:00s 1:00 " DST" Rule Tunisia 1989 only - Mar 26 0:00s 1:00 S
Rule Tunisia 1990 only - May 1 0:00s 1:00 " DST" Rule Tunisia 1990 only - May 1 0:00s 1:00 S
Rule Tunisia 1991 max - Mar lastSun 0:00s 1:00 " DST" Rule Tunisia 1991 max - Mar lastSun 0:00s 1:00 S
# Shanks gives 0:09 for Paris Mean Time; go with Howse's more precise 0:09:21. # 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. # Shanks says the 1911 switch occurred on Mar 9; go with Howse's Mar 11.
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12 Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time 0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
1:00 Tunisia MET%s 1:00 Tunisia CE%sT
# Uganda # Uganda
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -608,7 +641,7 @@ Zone Africa/Kampala 2:09:40 - LMT 1928 Jul
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Kinshasa 1:01:12 - LMT 1897 Nov 9 Zone Africa/Kinshasa 1:01:12 - LMT 1897 Nov 9
1:00 - CAT 1:00 - CAT
Zone Africa/Lumumbashi 1:49:52 - LMT 1897 Nov 9 Zone Africa/Lubumbashi 1:49:52 - LMT 1897 Nov 9
2:00 - SAT 2:00 - SAT
# Zambia # Zambia

View File

@ -1,25 +1,151 @@
# @(#)antarctica 7.3 # @(#)antarctica 7.4
# From Arthur David Olson (February 13, 1988): # From Paul Eggert (1996-09-03):
# No data available. # To keep things manageable, we list only locations occupied year-round;
# see <URL:http://earth.agu.org/amen/nations.html> (1996-05-24).
# Unless otherwise specified, we have no time zone information.
#
# I made up all time zone abbreviations mentioned here; corrections welcome!
# FORMAT is `___' and GMTOFF is 0 for locations while uninhabited.
# Balleny Is
# British Antarctic Territories include # Argentina - 6 year-round bases
# South Orkney Is # General Belgrano II
# South Shetland Is # 5 others
# Bouvet # Australia - territories
# uninhabited # Heard Island, McDonald Islands
#
# year-round bases
# Casey, Bailey Peninsula, since 1969
# Davis, Vestfold Hills, since 1957-01-13 (except 1965-01 - 1969-02)
# Mawson, Holme Bay, since 1954-02-13
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/Casey 0 - ___ 1969
8:00 - WST # Western (Aus) Standard Time
#Zone Antartica/Davis unknown
Zone Antarctica/Mawson 0 - ___ 1954 Feb 13
6:00 - MAWT # Mawson Time
# References:
# <URL:http://www.antdiv.gov.au/aad/exop/sfo/casey/casey_aws.html> (1996-07-15)
# <URL:http://www.antdiv.gov.au/aad/exop/sfo/mawson/video.html> (1996-04-19)
# French Southern and Antarctic Lands (no indigenous inhabitants) include # Brazil - year-round base
# Ferraz, King George Island, since 1983/4
# Chile - 4 year-round bases
# China - year-round bases
# Great Wall, King George Island, since 1985-02-20
# Zhongshan, Larsemann Hills, Prydz Bay, since 1989-02-26
# Finland - year-round base
# Aboa, Queen Maud Land, since 1988
# France
#
# French Southern Territories with year-round inhabitants
# Amsterdam Island # Amsterdam Island
# Crozet Is # Crozet Islands
# Kerguelen Is # Kerguelen Islands
# St Paul Island # St Paul Island
#
# year-round base
# Dumont d'Urville, Adelie Land, since IGY
# Heard Island, McDonald Is # Germany - year-round base
# uninhabited # Georg von Neumayer
# Peter I Island # India - year-round base
# Dakshin Gangotri
# Japan - year-round bases
# Dome Fuji
# Syowa
# S Korea - year-round base
# King Sejong, King George Island, since 1988
# New Zealand - claims
# Balleny Islands
# Scott Island # Scott Island
#
# year-round base
# Scott, Ross Island, since 1957-01, is like Antarctica/McMurdo.
#
# These rules for New Zealand are stolen from the `australasia' file.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule NZAQ 1974 only - Nov 3 2:00s 1:00 D
Rule NZAQ 1975 1988 - Oct lastSun 2:00s 1:00 D
Rule NZAQ 1989 only - Oct 8 2:00s 1:00 D
Rule NZAQ 1990 max - Oct Sun>=1 2:00s 1:00 D
Rule NZAQ 1975 only - Feb 23 2:00s 0 S
Rule NZAQ 1976 1989 - Mar Sun>=1 2:00s 0 S
Rule NZAQ 1990 max - Mar Sun>=15 2:00s 0 S
# Norway - territories
# Bouvet (uninhabited)
#
# claims
# Peter I Island (uninhabited)
# Poland - year-round base
# Arctowski, King George Island, since 1977
# Russia - year-round bases
# Bellingshausen, King George Island
# Mirny
# Molodezhnaya
# Novolazarevskaya
# Vostok
# S Africa - year-round bases
# Marion Island
# Sanae
# UK
#
# British Antarctic Territories (BAT) claims
# South Orkney Islands
# South Shetland Islands
#
# year-round bases
# Halley, Coates Land, -7535-2619, since 1956-01-06
# Rothera, Adelaide Island, -6734-6808, since 1976-12-01
# Uruguay - year round base
# Artigas, King George Island
# USA - year-round bases
#
# Palmer, Anvers Island
#
# McMurdo, Ross Island, since 1956
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/McMurdo 0 - ___ 1956
12:00 NZAQ NZ%sT
#
# Amundsen-Scott, South Pole, since 1957-01-23
# From Paul Eggert (1996-09-03):
# Normally it wouldn't have a separate entry, since it's like the
# larger Antarctica/McMurdo since 1970, but it's too famous to omit.
#
# From Chris Carrier <72157.3334@CompuServe.COM> (1996-06-27):
# Siple, the first commander of the South Pole station,
# stated that he would have liked to have kept GMT at the station,
# but that he found it more convenient to keep GMT+12
# as supplies for the station were coming from McMurdo Sound,
# which was on GMT+12 because New Zealand was on GMT+12 all year
# at that time (1957). (Source: Siple's book 90 degrees SOUTH.)
#
# From Susan Smith <URL:http://www.cybertours.com/whs/pole10.html>
# (1995-11-13 16:24:56 +1300): We use the same time as McMurdo does.
# And they use the same time as Christchurch, NZ does....
# One last quirk about South Pole time.
# All the electric clocks are usually wrong.
# Something about the generators running at 60.1hertz or something
# makes all of the clocks run fast. So every couple of days,
# we have to go around and set them back 5 minutes or so.
# Maybe if we let them run fast all of the time, we'd get to leave here sooner!!
#
Link Antarctica/McMurdo Antarctica/South_Pole

518
time/asia
View File

@ -1,10 +1,10 @@
# @(#)asia 7.23 # @(#)asia 7.24
# This data is by no means authoritative; if you think you know better, # 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 # go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future). # tz@elsie.nci.nih.gov for general use in the future).
# From Paul Eggert <eggert@twinsun.com> (1995-12-19): # From Paul Eggert <eggert@twinsun.com> (1995-07-24):
# #
# A good source for time zone historical data outside the U.S. is # A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (3rd edition), # Thomas G. Shanks, The International Atlas (3rd edition),
@ -25,42 +25,20 @@
# std dst # std dst
# LMT Local Mean Time # LMT Local Mean Time
# LST Local Star Time (Russian ``mestnoe zvezdnoe vremya'') # LST Local Star Time (Russian ``mestnoe zvezdnoe vremya'')
# 2:00 EET EET DST Eastern European Time # 2:00 EET EEST Eastern European Time
# 2:00 IST IDT Israel # 2:00 IST IDT Israel
# 3:00 AST ADT Arabia* # 3:00 AST ADT Arabia*
# 3:00 BSK BSD Baku (was 4:00)* # 4:00 GST Gulf*
# 3:30 IST IDT Iran # 5:30 IST India
# 4:00 AMST AMDT Armenia (was 3:00) (was YSK, YSD)*
# 4:00 TBSK TBSD Tbilisi (was 3:00)*
# 4:00 GST GDT Gulf*
# 4:30 AFT Afghanistan*
# 5:00 ASK ASD Aktau (was SHSK, SHSD)*
# 5:00 ASK ASD Ashkhabad (was 4:00)*
# 5:00 BSK BSD Bishkek (was 6:00) (was FSK, FSD)*
# 5:00 PKT Pakistan*
# 5:00 TSK TSD Tashkent (was 6:00)*
# 5:30 IST IST India
# 5:45 NPT Nepal*
# 6:00 AASK AASD Alma-Ata (was 5:00)*
# 6:00 BGT Bengal, Bangladesh*
# 6:00 DSK DSD Dushanbe (was 5:00)*
# 6:30 BMT Burma*
# 7:00 ICT Indochina* # 7:00 ICT Indochina*
# 7:00 JVT Java* # 8:00 CST China
# 8:00 BNT Borneo, Brunei* # 9:00 JST Japan
# 8:00 CST CDT China # 9:00 KST Korea
# 8:00 HKT HKST Hong Kong # 9:30 CST (Australian) Central Standard Time
# 8:00 PST PDT Philippines*
# 8:00 SGT Singapore
# 8:00 UST UDT Ulan Bator*
# 9:00 JST JDT Japan
# 9:00 KST KDT Korea
# 9:00 MLT Moluccas*
# 9:30 CST Australian Central Standard Time
# #
# See the `europe' file for Russia and Turkey in Asia. # See the `europe' file for Russia and Turkey in Asia.
# #
# See the `africa' file for Zone naming conventions. # See the `africa' file for time zone naming and abbreviation conventions.
# From Guy Harris: # From Guy Harris:
# Incorporates data for Singapore from Robert Elz' asia 1.1, as well as # Incorporates data for Singapore from Robert Elz' asia 1.1, as well as
@ -72,15 +50,15 @@
# These rules for Russia are stolen from the `europe' file. # These rules for Russia are stolen from the `europe' file.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule RussiaAsia 1981 1984 - Apr 1 0:00 1:00 D Rule RussiaAsia 1981 1984 - Apr 1 0:00 1:00 S
Rule RussiaAsia 1981 1983 - Oct 1 0:00 0 K Rule RussiaAsia 1981 1983 - Oct 1 0:00 0 -
Rule RussiaAsia 1984 max - Sep lastSun 2:00s 0 K Rule RussiaAsia 1984 max - Sep lastSun 2:00s 0 -
Rule RussiaAsia 1985 max - Mar lastSun 2:00s 1:00 D Rule RussiaAsia 1985 max - Mar lastSun 2:00s 1:00 S
# Afghanistan # Afghanistan
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Kabul 4:36:48 - LMT 1890 Zone Asia/Kabul 4:36:48 - LMT 1890
4:00 - GST 1945 4:00 - AFT 1945
4:30 - AFT 4:30 - AFT
# Armenia # Armenia
@ -90,30 +68,27 @@ Zone Asia/Kabul 4:36:48 - LMT 1890
# <edd@AIC.NET> reported today that Yerevan probably won't use DST this year, # <edd@AIC.NET> reported today that Yerevan probably won't use DST this year,
# though it did use DST in 1995. We guess Yerevan stayed in sync with Moscow # though it did use DST in 1995. We guess Yerevan stayed in sync with Moscow
# between 1990 and 1995, but stopped using DST in 1996. # between 1990 and 1995, but stopped using DST in 1996.
# Der-Danieliantz also asked for a better abbreviation than `YSK'
# after independence. Apparently no abbreviation is in common use;
# use `AMST/AMDT' since `AM' is the ISO country code for Armenia.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Armenia 1992 1995 - Sep lastSun 2:00s 0 S Rule Armenia 1991 1995 - Mar lastSun 2:00s 1:00 S
Rule Armenia 1992 1995 - Mar lastSun 2:00s 1:00 D Rule Armenia 1991 1995 - Sep lastSun 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2 Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2
3:00 - YSK 1957 Mar 3:00 - YERT 1957 Mar # Yerevan Time
4:00 RussiaAsia YS%s 1991 Mar 31 2:00s 4:00 RussiaAsia YER%sT 1991 Mar 31 2:00s
3:00 1:00 YSD 1991 Sep 29 2:00s 3:00 1:00 YERST 1991 Sep 23 # independence
3:00 - AMST 1992 Jan 19 2:00s 3:00 Armenia AM%sT 1992 Jan 19 2:00s # Armenia Time
4:00 Armenia AM%sT 1996 4:00 Armenia AM%sT
4:00 - AMST
# Azerbaijan # Azerbaijan
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Baku 3:19:24 - LMT 1924 May 2 Zone Asia/Baku 3:19:24 - LMT 1924 May 2
3:00 - BSK 1957 Mar 3:00 - BAKT 1957 Mar # Baku Time
4:00 RussiaAsia BS%s 1991 Mar 31 2:00s 4:00 RussiaAsia BAK%sT 1991 Mar 31 2:00s
3:00 1:00 BSD 1991 Sep 29 2:00s 3:00 1:00 BAKST 1991 Aug 30 # independence
3:00 - BSK 3:00 RussiaAsia AZ%sT 1992 # Azerbaijan Time
3:00 - AZT
# Shanks has Baku using Russian DST rules after 1991, # Shanks has Baku using Russian DST rules after 1991,
# but usno1995 has Azerbaijan with no DST. Go with usno1995. # but usno1995 has Azerbaijan with no DST. Guess no DST after 1991.
# Bahrain # Bahrain
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -124,22 +99,23 @@ Zone Asia/Bahrain 3:22:20 - LMT 1920 # Al-Manamah
# Bangladesh # Bangladesh
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Dacca 6:01:40 - LMT 1890 Zone Asia/Dacca 6:01:40 - LMT 1890
5:53 - CMT 1941 Oct # Calcutta Mean Time 5:53:20 - HMT 1941 Oct # Howrah Mean Time?
6:30 - BMT 1942 May 15 6:30 - BURT 1942 May 15 # Burma Time
5:30 - IST 1942 Sep 5:30 - IST 1942 Sep
6:30 - BMT 1951 Sep 30 6:30 - BURT 1951 Sep 30
6:00 - BGT 6:00 - DACT 1971 Mar 26 # Dacca Time
6:00 - BDT # Bangladesh Time
# Bhutan # Bhutan
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Thimbu 5:58:36 - LMT 1947 Aug 15 Zone Asia/Thimbu 5:58:36 - LMT 1947 Aug 15
5:30 - IST 1987 Oct 5:30 - IST 1987 Oct
6:00 - BGT 6:00 - BTT # Bhutan Time
# British Indian Ocean Territory # British Indian Ocean Territory
# From Whitman: # From Whitman:
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Chagos 5:00 - PKT Zone Indian/Chagos 5:00 - IOT # BIOT Time
# Brunei # Brunei
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -150,15 +126,15 @@ Zone Asia/Brunei 7:39:40 - LMT 1926 Mar # Bandar Seri Begawan
# Burma / Myanmar # Burma / Myanmar
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Rangoon 6:24:40 - LMT 1880 # or Yangon Zone Asia/Rangoon 6:24:40 - LMT 1880 # or Yangon
6:25 - RMT 1920 6:24:36 - RMT 1920 # Rangoon Mean Time?
6:30 - BMT 1942 May 6:30 - BURT 1942 May # Burma Time
9:00 - JST 1945 May 3 9:00 - JST 1945 May 3
6:30 - BMT 6:30 - MMT # Myanmar Time
# Cambodia # Cambodia
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Phnom_Penh 6:59:40 - LMT 1906 Jun 9 Zone Asia/Phnom_Penh 6:59:40 - LMT 1906 Jun 9
7:06 - SMT 1911 Mar 11 0:01 # Saigon MT 7:06:20 - SMT 1911 Mar 11 0:01 # Saigon MT?
7:00 - ICT 1912 May 7:00 - ICT 1912 May
8:00 - ICT 1931 May 8:00 - ICT 1931 May
7:00 - ICT 7:00 - ICT
@ -187,8 +163,7 @@ Zone Asia/Phnom_Penh 6:59:40 - LMT 1906 Jun 9
# CHINA 9 H AHEAD OF UTC APR 17 - SEP 10 # CHINA 9 H AHEAD OF UTC APR 17 - SEP 10
# From Paul Eggert <eggert@twinsun.com> (1995-12-19): # From Paul Eggert <eggert@twinsun.com> (1995-12-19):
# Shanks writes that China switched from the Chinese calendar on 1912 Feb 12. # Shanks writes that China has had a single time zone since 1980 May 1,
# He also writes that China has had a single time zone since 1980 May 1,
# observing summer DST from 1986 through 1991; this contradicts Devine's # observing summer DST from 1986 through 1991; this contradicts Devine's
# note about Time magazine, though apparently _something_ happened in 1986. # note about Time magazine, though apparently _something_ happened in 1986.
# Go with Shanks for now. I made up names for the other pre-1980 time zones. # Go with Shanks for now. I made up names for the other pre-1980 time zones.
@ -204,23 +179,23 @@ Rule PRC 1986 1991 - Sep Sun>=11 0:00 0 S
Rule PRC 1987 1991 - Apr Sun>=10 0:00 1:00 D Rule PRC 1987 1991 - Apr Sun>=10 0:00 1:00 D
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Harbin 8:26:44 - LMT 1928 Zone Asia/Harbin 8:26:44 - LMT 1928
8:30 - MAT 1932 Mar # Manchuria 8:30 - HART 1932 Mar # Harbin Time
8:00 - CST 1940 8:00 - CST 1940
9:00 - KST 1966 May 9:00 - HART 1966 May
8:30 - MAT 1980 May 8:30 - HART 1980 May
8:00 PRC C%sT 8:00 PRC C%sT
Zone Asia/Shanghai 8:05:52 - LMT 1928 Zone Asia/Shanghai 8:05:52 - LMT 1928
8:00 Shang C%sT 1949 8:00 Shang C%sT 1949
8:00 PRC C%sT 8:00 PRC C%sT
Zone Asia/Chungking 7:06:20 - LMT 1928 Zone Asia/Chungking 7:06:20 - LMT 1928
7:00 - ICT 1980 May 7:00 - CHUT 1980 May # Chungking Time
8:00 PRC C%sT 8:00 PRC C%sT
Zone Asia/Urumqi 5:50:20 - LMT 1928 Zone Asia/Urumqi 5:50:20 - LMT 1928
6:00 - URT 1980 May # Urumqi 6:00 - URUT 1980 May # Urumqi Time
8:00 PRC C%sT 8:00 PRC C%sT
Zone Asia/Kashgar 5:03:56 - LMT 1928 Zone Asia/Kashgar 5:03:56 - LMT 1928
5:30 - ETT 1940 # Eastern Turkestan 5:30 - KAST 1940 # Kashgar Time
5:00 - ETT 1980 May 5:00 - KAST 1980 May
8:00 PRC C%sT 8:00 PRC C%sT
############################################################################### ###############################################################################
@ -263,45 +238,47 @@ Rule HK 1979 1980 - May Sun>=8 3:30 1:00 S
Rule HK 1979 1980 - Oct Sun>=16 3:30 0 - Rule HK 1979 1980 - Oct Sun>=16 3:30 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Hong_Kong 7:36:36 - LMT 1904 Oct 30 Zone Asia/Hong_Kong 7:36:36 - LMT 1904 Oct 30
8:00 HK HK%sT 8:00 HK HK%sT 1997 Jul 1 # return to China
8:00 PRC C%sT
# Macao # Macao
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Macao 1961 1962 - Mar Sun>=16 3:30 1:00 D Rule Macao 1961 1962 - Mar Sun>=16 3:30 1:00 S
Rule Macao 1961 1964 - Nov Sun>=1 3:30 0 S Rule Macao 1961 1964 - Nov Sun>=1 3:30 0 -
Rule Macao 1963 only - Mar Sun>=16 0:00 1:00 D Rule Macao 1963 only - Mar Sun>=16 0:00 1:00 S
Rule Macao 1964 only - Mar Sun>=16 3:30 1:00 D Rule Macao 1964 only - Mar Sun>=16 3:30 1:00 S
Rule Macao 1965 only - Mar Sun>=16 0:00 1:00 D Rule Macao 1965 only - Mar Sun>=16 0:00 1:00 S
Rule Macao 1965 only - Oct 31 0:00 0 S Rule Macao 1965 only - Oct 31 0:00 0 -
Rule Macao 1966 1971 - Apr Sun>=16 3:30 1:00 D Rule Macao 1966 1971 - Apr Sun>=16 3:30 1:00 S
Rule Macao 1966 1971 - Oct Sun>=16 3:30 0 S Rule Macao 1966 1971 - Oct Sun>=16 3:30 0 -
Rule Macao 1972 1974 - Apr Sun>=15 0:00 1:00 D Rule Macao 1972 1974 - Apr Sun>=15 0:00 1:00 S
Rule Macao 1972 1973 - Oct Sun>=15 0:00 0 S Rule Macao 1972 1973 - Oct Sun>=15 0:00 0 -
Rule Macao 1974 1977 - Oct Sun>=15 3:30 0 S Rule Macao 1974 1977 - Oct Sun>=15 3:30 0 -
Rule Macao 1975 1977 - Apr Sun>=15 3:30 1:00 D Rule Macao 1975 1977 - Apr Sun>=15 3:30 1:00 S
Rule Macao 1978 1980 - Apr Sun>=15 0:00 1:00 D Rule Macao 1978 1980 - Apr Sun>=15 0:00 1:00 S
Rule Macao 1978 1980 - Oct Sun>=15 0:00 0 S Rule Macao 1978 1980 - Oct Sun>=15 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Macao 7:34:20 - LMT 1912 Zone Asia/Macao 7:34:20 - LMT 1912
8:00 Macao C%sT 8:00 Macao MO%sT 1999 Dec 20 # return to China
8:00 PRC C%sT
############################################################################### ###############################################################################
# Cyprus # Cyprus
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Cyprus 1975 only - Apr 13 0:00 1:00 " DST" Rule Cyprus 1975 only - Apr 13 0:00 1:00 S
Rule Cyprus 1975 only - Oct 12 0:00 0 - Rule Cyprus 1975 only - Oct 12 0:00 0 -
Rule Cyprus 1976 only - May 15 0:00 1:00 " DST" Rule Cyprus 1976 only - May 15 0:00 1:00 S
Rule Cyprus 1976 only - Oct 11 0:00 0 - Rule Cyprus 1976 only - Oct 11 0:00 0 -
Rule Cyprus 1977 1980 - Apr Sun>=1 0:00 1:00 " DST" Rule Cyprus 1977 1980 - Apr Sun>=1 0:00 1:00 S
Rule Cyprus 1977 only - Sep 25 0:00 0 - Rule Cyprus 1977 only - Sep 25 0:00 0 -
Rule Cyprus 1978 only - Oct 2 0:00 0 - Rule Cyprus 1978 only - Oct 2 0:00 0 -
Rule Cyprus 1979 max - Sep lastSun 0:00 0 - Rule Cyprus 1979 max - Sep lastSun 0:00 0 -
Rule Cyprus 1981 max - Mar lastSun 0:00 1:00 " DST" Rule Cyprus 1981 max - Mar lastSun 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Nicosia 2:13:28 - LMT 1921 Nov 14 Zone Asia/Nicosia 2:13:28 - LMT 1921 Nov 14
2:00 Cyprus EET%s 2:00 Cyprus EE%sT
# Georgia # Georgia
# From Paul Eggert <eggert@twinsun.com> (1994-11-19): # From Paul Eggert <eggert@twinsun.com> (1994-11-19):
@ -316,18 +293,18 @@ Zone Asia/Nicosia 2:13:28 - LMT 1921 Nov 14
# Most likely we're still missing some rule changes between 1991 and 1994. # Most likely we're still missing some rule changes between 1991 and 1994.
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Tbilisi 2:59:16 - LMT 1880 Zone Asia/Tbilisi 2:59:16 - LMT 1880
2:59 - LST 1924 May 2 2:59:16 - TBMT 1924 May 2 # Tbilisi Mean Time
3:00 - TBSK 1957 Mar 3:00 - TBIT 1957 Mar # Tbilisi Time
4:00 RussiaAsia TBS%s 1991 Mar 31 2:00s 4:00 RussiaAsia TBI%sT 1991 Mar 31 2:00s
3:00 1:00 TBSD 1991 Sep 29 2:00s 3:00 1:00 TBIST 1991 Apr 9 # independence
3:00 RussiaAsia TBS%s 1994 Sep 25 2:00s 3:00 RussiaAsia GE%sT 1994 Sep 25 2:00s # Georgia Time
4:00 - TBSK 4:00 - GET
# India # India
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Calcutta 5:53:28 - LMT 1880 Zone Asia/Calcutta 5:53:28 - LMT 1880
5:53 - CMT 1941 Oct # Calcutta Mean Time 5:53:20 - HMT 1941 Oct # Howrah Mean Time?
6:30 - BMT 1942 May 15 6:30 - BURT 1942 May 15 # Burma Time
5:30 - IST 1942 Sep 5:30 - IST 1942 Sep
5:30 1:00 IST 1945 Oct 15 5:30 1:00 IST 1945 Oct 15
5:30 - IST 5:30 - IST
@ -339,36 +316,36 @@ Zone Asia/Calcutta 5:53:28 - LMT 1880
# Indonesia # Indonesia
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Jakarta 7:07:12 - LMT 1867 Aug 10 Zone Asia/Jakarta 7:07:12 - LMT 1867 Aug 10
7:07 - JMT 1924 Jan 1 0:13 7:07:12 - JMT 1924 Jan 1 0:13 # Jakarta MT
7:20 - JVT 1932 Nov 7:20 - JAVT 1932 Nov # Java Time
7:30 - JVT 1942 Mar 23 7:30 - JAVT 1942 Mar 23
9:00 - JST 1945 Aug 9:00 - JST 1945 Aug
7:30 - JVT 1948 May 7:30 - JAVT 1948 May
8:00 - JVT 1950 May 8:00 - JAVT 1950 May
7:30 - JVT 1964 7:30 - JAVT 1964
7:00 - JVT 7:00 - JAVT
Zone Asia/Ujung_Pandang 7:57:36 - LMT 1920 Zone Asia/Ujung_Pandang 7:57:36 - LMT 1920
7:58 - MMT 1932 Nov # Macassar Mean Time 7:57:36 - MMT 1932 Nov # Macassar MT
8:00 - BNT 1942 Feb 9 8:00 - BORT 1942 Feb 9 # Borneo Time
9:00 - JST 1945 Aug 9:00 - JST 1945 Aug
8:00 - BNT 8:00 - BORT
Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
9:00 - MLT 1944 9:00 - JAYT 1944 # Jayapura Time
9:30 - CST 1964 9:30 - CST 1964
9:00 - MLT 9:00 - JAYT
# Iran # Iran
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Iran 1978 1980 - Mar 21 0:00 1:00 D Rule Iran 1978 1980 - Mar 21 0:00 1:00 S
Rule Iran 1978 only - Oct 21 0:00 0 S Rule Iran 1978 only - Oct 21 0:00 0 -
Rule Iran 1979 only - Sep 19 0:00 0 S Rule Iran 1979 only - Sep 19 0:00 0 -
Rule Iran 1980 only - Sep 23 0:00 0 S Rule Iran 1980 only - Sep 23 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Tehran 3:25:44 - LMT 1916 Zone Asia/Tehran 3:25:44 - LMT 1916
3:26 - TMT 1946 3:25:44 - TMT 1946 # Tehran Mean Time
3:30 - IST 1977 Nov 3:30 - IRT 1977 Nov
4:00 Iran G%sT 1979 4:00 Iran IR%sT 1979
3:30 Iran I%sT 3:30 Iran IR%sT
# Iraq # Iraq
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@ -380,7 +357,7 @@ Rule Iraq 1985 max - Sep lastSun 1:00s 0 S
Rule Iraq 1986 max - Mar lastSun 1:00s 1:00 D Rule Iraq 1986 max - Mar lastSun 1:00s 1:00 D
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Baghdad 2:57:40 - LMT 1890 Zone Asia/Baghdad 2:57:40 - LMT 1890
2:58 - BMT 1918 # Baghdad Mean Time 2:57:36 - BMT 1918 # Baghdad Mean Time?
3:00 - AST 1982 May 3:00 - AST 1982 May
3:00 Iraq A%sT 3:00 Iraq A%sT
@ -440,12 +417,6 @@ Rule Zion 1987 only - Apr 15 0:00 1:00 D
Rule Zion 1987 only - Sep 13 0:00 0 S 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 - Apr 9 0:00 1:00 D
Rule Zion 1988 only - Sep 3 0:00 0 S Rule Zion 1988 only - Sep 3 0:00 0 S
#Rule Zion 1989 only - Apr 29 0:00 1:00 D
#Rule Zion 1989 only - Sep 2 0:00 0 S
#Rule Zion 1990 only - Mar 25 0:00 1:00 D
#Rule Zion 1990 only - Aug 26 0:00 0 S
#Rule Zion 1991 only - Mar 10 0:00 1:00 D
#Rule Zion 1991 only - Sep 1 0:00 0 S
# From Ephraim Silverberg (1996-01-02): # From Ephraim Silverberg (1996-01-02):
# #
@ -466,15 +437,15 @@ Rule Zion 1988 only - Sep 3 0:00 0 S
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Zion 1989 only - Apr 30 0:00 1:00 D Rule Zion 1989 only - Apr 30 0:00 1:00 D
Rule Zion 1989 only - Sep 3 0:00 0:00 S Rule Zion 1989 only - Sep 3 0:00 0 S
Rule Zion 1990 only - Mar 25 0:00 1:00 D Rule Zion 1990 only - Mar 25 0:00 1:00 D
Rule Zion 1990 only - Aug 26 0:00 0:00 S Rule Zion 1990 only - Aug 26 0:00 0 S
Rule Zion 1991 only - Mar 24 0:00 1:00 D Rule Zion 1991 only - Mar 24 0:00 1:00 D
Rule Zion 1991 only - Sep 1 0:00 0:00 S Rule Zion 1991 only - Sep 1 0:00 0 S
Rule Zion 1992 only - Mar 29 0:00 1:00 D Rule Zion 1992 only - Mar 29 0:00 1:00 D
Rule Zion 1992 only - Sep 6 0:00 0:00 S Rule Zion 1992 only - Sep 6 0:00 0 S
Rule Zion 1993 only - Apr 2 0:00 1:00 D Rule Zion 1993 only - Apr 2 0:00 1:00 D
Rule Zion 1993 only - Sep 5 0:00 0:00 S Rule Zion 1993 only - Sep 5 0:00 0 S
# The dates for 1994-1995 were obtained from Office of the Spokeswoman for the # The dates for 1994-1995 were obtained from Office of the Spokeswoman for the
# Ministry of Interior, Jerusalem, Israel. The spokeswoman can be reached by # Ministry of Interior, Jerusalem, Israel. The spokeswoman can be reached by
@ -482,9 +453,9 @@ Rule Zion 1993 only - Sep 5 0:00 0:00 S
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Zion 1994 only - Apr 1 0:00 1:00 D Rule Zion 1994 only - Apr 1 0:00 1:00 D
Rule Zion 1994 only - Aug 28 0:00 0:00 S Rule Zion 1994 only - Aug 28 0:00 0 S
Rule Zion 1995 only - Mar 31 0:00 1:00 D Rule Zion 1995 only - Mar 31 0:00 1:00 D
Rule Zion 1995 only - Sep 3 0:00 0:00 S Rule Zion 1995 only - Sep 3 0:00 0 S
# The dates for 1996-1998 were also obtained from Office of the Spokeswoman # The dates for 1996-1998 were also obtained from Office of the Spokeswoman
# for the Ministry of Interior, Jerusalem, Israel. The official announcement # for the Ministry of Interior, Jerusalem, Israel. The official announcement
@ -504,12 +475,12 @@ Rule Zion 1995 only - Sep 3 0:00 0:00 S
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Zion 1996 1998 - Mar Fri>=14 0:00 1:00 D Rule Zion 1996 1998 - Mar Fri>=14 0:00 1:00 D
Rule Zion 1996 only - Sep 16 0:00 0:00 S Rule Zion 1996 only - Sep 16 0:00 0 S
Rule Zion 1997 1998 - Oct Sun>=14 0:00 0:00 S Rule Zion 1997 1998 - Oct Sun>=14 0:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Jerusalem 2:20:56 - LMT 1880 Zone Asia/Jerusalem 2:20:56 - LMT 1880
2:21 - JMT 1918 2:20:40 - JMT 1918 # Jerusalem Mean Time?
2:00 Zion I%sT 2:00 Zion I%sT
@ -531,29 +502,12 @@ Zone Asia/Jerusalem 2:20:56 - LMT 1880
#Rule Japan 1950 1951 - May 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. # but the only locations using it were US military bases.
# We go with Shanks and omit daylight saving in those years for Asia/Tokyo. # We go with Shanks and omit daylight saving in those years for Asia/Tokyo.
#
# The same news article also reports that Japan is likely to go on DST in 1996
# as follows, where I've guessed the AT and LETTER/S columns:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
#Rule Japan 1996 max - Apr Sun>=1 2:00 1:00 D
#Rule Japan 1996 max - Oct lastSun 2:00 0 S
# From Shanks (1991):
# Japan switched from the Japanese calendar on 1893 Jan 1.
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Tokyo 9:19:04 - LMT 1896 Zone Asia/Tokyo 9:19:04 - LMT 1896
9:00 - JST 9:00 - JST
# If Japan adopts DST in 1996, replace the above line with the following lines: Zone Asia/Ishigaki 8:16:36 - LMT 1896
# 9:00 - JST 1996 8:00 - CST
# 9:00 Japan J%sT
# and uncomment the two `Rule' lines commented out above.
# From Paul Eggert <eggert@twinsun.com> (1995-12-19):
# Shanks says that the far southern Ryukyu Is (Nansei-Shoto) are 8:00,
# but we haven't confirmed this.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
#Zone Asia/Ishigaki 8:16:36 - LMT 1896
# 8:00 - CST
# There is no information for Marcus. # There is no information for Marcus.
# Other Japanese possessions are probably like Asia/Tokyo. # Other Japanese possessions are probably like Asia/Tokyo.
@ -562,26 +516,26 @@ Zone Asia/Tokyo 9:19:04 - LMT 1896
# Most likely Shanks is merely guessing dates from 1992 on. # Most likely Shanks is merely guessing dates from 1992 on.
# From Shanks (1991): # From Shanks (1991):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Jordan 1973 only - Jun 6 0:00 1:00 " DST" Rule Jordan 1973 only - Jun 6 0:00 1:00 S
Rule Jordan 1973 1975 - Oct 1 0:00 0 - Rule Jordan 1973 1975 - Oct 1 0:00 0 -
Rule Jordan 1974 1977 - May 1 0:00 1:00 " DST" Rule Jordan 1974 1977 - May 1 0:00 1:00 S
Rule Jordan 1976 only - Nov 1 0:00 0 - Rule Jordan 1976 only - Nov 1 0:00 0 -
Rule Jordan 1977 only - Oct 1 0:00 0 - Rule Jordan 1977 only - Oct 1 0:00 0 -
Rule Jordan 1978 only - Apr 30 0:00 1:00 " DST" Rule Jordan 1978 only - Apr 30 0:00 1:00 S
Rule Jordan 1978 only - Sep 30 0:00 0 - Rule Jordan 1978 only - Sep 30 0:00 0 -
Rule Jordan 1985 only - Apr 1 0:00 1:00 " DST" Rule Jordan 1985 only - Apr 1 0:00 1:00 S
Rule Jordan 1985 only - Oct 1 0:00 0 - Rule Jordan 1985 only - Oct 1 0:00 0 -
Rule Jordan 1986 1988 - Apr Fri>=1 0:00 1:00 " DST" Rule Jordan 1986 1988 - Apr Fri>=1 0:00 1:00 S
Rule Jordan 1986 1990 - Oct Fri>=1 0:00 0 - Rule Jordan 1986 1990 - Oct Fri>=1 0:00 0 -
Rule Jordan 1989 only - May 8 0:00 1:00 " DST" Rule Jordan 1989 only - May 8 0:00 1:00 S
Rule Jordan 1990 only - Apr 27 0:00 1:00 " DST" Rule Jordan 1990 only - Apr 27 0:00 1:00 S
Rule Jordan 1991 only - Apr 19 0:00 1:00 " DST" Rule Jordan 1991 only - Apr 19 0:00 1:00 S
Rule Jordan 1991 only - Sep 27 0:00 0 - Rule Jordan 1991 only - Sep 27 0:00 0 -
Rule Jordan 1992 max - Apr Fri>=1 0:00 1:00 " DST" Rule Jordan 1992 max - Apr Fri>=1 0:00 1:00 S
Rule Jordan 1992 max - Oct Fri>=1 0:00 0 - Rule Jordan 1992 max - Oct Fri>=1 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Amman 2:23:44 - LMT 1931 Zone Asia/Amman 2:23:44 - LMT 1931
2:00 Jordan EET%s 2:00 Jordan EE%sT
# Kazakhstan # Kazakhstan
# From Paul Eggert (1996-04-19): # From Paul Eggert (1996-04-19):
@ -590,25 +544,25 @@ Zone Asia/Amman 2:23:44 - LMT 1931
# in western Kazakhstan. Follow Shanks before 1991, Evtichov afterwards. # in western Kazakhstan. Follow Shanks before 1991, Evtichov afterwards.
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Alma-Ata 5:07:48 - LMT 1924 May 2 # or Almaty Zone Asia/Alma-Ata 5:07:48 - LMT 1924 May 2 # or Almaty
5:00 - AASK 1957 Mar 5:00 - ALMT 1957 Mar # Alma-Ata Time
6:00 RussiaAsia AAS%s 1991 Mar 31 2:00s 6:00 RussiaAsia ALM%sT 1991 Mar 31 2:00s
5:00 1:00 AASD 1991 Sep 29 2:00s 5:00 1:00 ALMST 1991 Sep 29 2:00s
5:00 - AASK 1992 Jan 19 2:00s 5:00 - ALMT 1992 Jan 19 2:00s
6:00 RussiaAsia AAS%s 6:00 RussiaAsia ALM%sT
Zone Asia/Aktau 3:21:04 - LMT 1924 May 2 # or Aqtau Zone Asia/Aktau 3:21:04 - LMT 1924 May 2 # or Aqtau
4:00 - SHSK 1957 Mar # Fort Shevchenko 4:00 - SHET 1957 Mar # Fort Shevchenko Time
5:00 RussiaAsia SHS%s 1991 Mar 31 2:00s 5:00 RussiaAsia SHE%sT 1991 Mar 31 2:00s
4:00 1:00 ASD 1991 Sep 29 2:00s 4:00 1:00 AKTST 1991 Sep 29 2:00s
4:00 - ASK 1992 Jan 19 2:00s 4:00 - AKTT 1992 Jan 19 2:00s # Aktau Time
5:00 RussiaAsia AS%s 5:00 RussiaAsia AKT%sT
# Kirgizstan # Kirgizstan
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Bishkek 4:58:24 - LMT 1924 May 2 Zone Asia/Bishkek 4:58:24 - LMT 1924 May 2
5:00 - FSK 1957 Mar # Frunze 5:00 - FRUT 1957 Mar # Frunze Time
6:00 RussiaAsia FS%s 1991 Mar 31 2:00s 6:00 RussiaAsia FRU%sT 1991 Mar 31 2:00s
5:00 1:00 FSD 1991 Sep 29 2:00s 5:00 1:00 FRUST 1991 Aug 31 # independence
5:00 RussiaAsia BS%s 5:00 RussiaAsia KG%sT # Kirgizstan Time
############################################################################### ###############################################################################
@ -653,81 +607,90 @@ Zone Asia/Kuwait 3:11:56 - LMT 1950
# Laos # Laos
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Vientiane 6:50:24 - LMT 1906 Jun 9 Zone Asia/Vientiane 6:50:24 - LMT 1906 Jun 9
7:06 - SMT 1911 Mar 11 0:01 # Saigon MT 7:06:20 - SMT 1911 Mar 11 0:01 # Saigon MT?
7:00 - ICT 1912 May 7:00 - ICT 1912 May
8:00 - ICT 1931 May 8:00 - ICT 1931 May
7:00 - ICT 7:00 - ICT
# Lebanon # Lebanon
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Lebanon 1920 only - Mar 28 0:00 1:00 " DST" Rule Lebanon 1920 only - Mar 28 0:00 1:00 S
Rule Lebanon 1920 only - Oct 25 0:00 0 - Rule Lebanon 1920 only - Oct 25 0:00 0 -
Rule Lebanon 1921 only - Apr 3 0:00 1:00 " DST" Rule Lebanon 1921 only - Apr 3 0:00 1:00 S
Rule Lebanon 1921 only - Oct 3 0:00 0 - Rule Lebanon 1921 only - Oct 3 0:00 0 -
Rule Lebanon 1922 only - Mar 26 0:00 1:00 " DST" Rule Lebanon 1922 only - Mar 26 0:00 1:00 S
Rule Lebanon 1922 only - Oct 8 0:00 0 - Rule Lebanon 1922 only - Oct 8 0:00 0 -
Rule Lebanon 1923 only - Apr 22 0:00 1:00 " DST" Rule Lebanon 1923 only - Apr 22 0:00 1:00 S
Rule Lebanon 1923 only - Sep 16 0:00 0 - Rule Lebanon 1923 only - Sep 16 0:00 0 -
Rule Lebanon 1957 1961 - May 1 0:00 1:00 " DST" Rule Lebanon 1957 1961 - May 1 0:00 1:00 S
Rule Lebanon 1957 1961 - Oct 1 0:00 0 - Rule Lebanon 1957 1961 - Oct 1 0:00 0 -
Rule Lebanon 1972 only - Jun 22 0:00 1:00 " DST" Rule Lebanon 1972 only - Jun 22 0:00 1:00 S
Rule Lebanon 1972 1977 - Oct 1 0:00 0 - Rule Lebanon 1972 1977 - Oct 1 0:00 0 -
Rule Lebanon 1973 1977 - May 1 0:00 1:00 " DST" Rule Lebanon 1973 1977 - May 1 0:00 1:00 S
Rule Lebanon 1978 only - Apr 30 0:00 1:00 " DST" Rule Lebanon 1978 only - Apr 30 0:00 1:00 S
Rule Lebanon 1978 only - Sep 30 0:00 0 - Rule Lebanon 1978 only - Sep 30 0:00 0 -
Rule Lebanon 1984 1987 - May 1 0:00 1:00 " DST" Rule Lebanon 1984 1987 - May 1 0:00 1:00 S
Rule Lebanon 1984 max - Oct 16 0:00 0 - Rule Lebanon 1984 max - Oct 16 0:00 0 -
Rule Lebanon 1988 only - Jun 1 0:00 1:00 " DST" Rule Lebanon 1988 only - Jun 1 0:00 1:00 S
Rule Lebanon 1989 only - May 10 0:00 1:00 " DST" Rule Lebanon 1989 only - May 10 0:00 1:00 S
Rule Lebanon 1990 max - May 1 0:00 1:00 " DST" Rule Lebanon 1990 max - May 1 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Beirut 2:22:00 - LMT 1880 Zone Asia/Beirut 2:22:00 - LMT 1880
2:00 Lebanon EET%s 2:00 Lebanon EE%sT
# Malaysia # Malaysia
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule NBorneo 1935 1941 - Sep 14 0:00 0:20 TS
Rule NBorneo 1935 1941 - Dec 14 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Kuala_Lumpur 6:46:48 - LMT 1880 Zone Asia/Kuala_Lumpur 6:46:48 - LMT 1880
6:55 - SMT 1905 Jun 6:55:24 - SMT 1905 Jun # Singapore Mean Time
7:00 - SGT 1933 7:00 - MALT 1933 # Malaya Time
7:20 - SGT 1942 Feb 15 7:20 - MALT 1942 Feb 15
9:00 - JST 1945 Sep 2 9:00 - JST 1945 Sep 2
7:20 - SGT 1950 7:20 - MALT 1950
7:30 - SGT 1982 May 7:30 - MALT 1982 May
8:00 - SGT 8:00 - MYT # Malaysia Time
Zone Asia/Kuching 7:21:20 - LMT 1926 Mar
7:30 - BORT 1933 # Borneo Time
8:00 NBorneo BOR%sT 1942
9:00 - JST 1945 Sep 2
8:00 - BORT 1982 May
8:00 - MYT
# Maldives # Maldives
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Maldives 4:54:00 - LMT 1880 # Male Zone Indian/Maldives 4:54:00 - LMT 1880 # Male
4:54 - MMT 1960 4:54:00 - MMT 1960 # Male Mean Time
5:00 - PKT 5:00 - MVT # Maldives Time
# Mongolia # Mongolia
# Shanks says that Mongolia has three time zones, # Shanks says that Mongolia has three time zones, but usno1995 and
# but usno1995 and http://www.odci.gov/cia/publications/95fact/802389h.gif # <URL:http://www.odci.gov/cia/publications/95fact/802389h.gif> (1995)
# both say that it has just one. # both say that it has just one.
# Let's comment out the western and eastern Mongolian time zones # Let's comment out the western and eastern Mongolian time zones
# till we know what their principal towns are. # till we know what their principal towns are.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Mongol 1981 1984 - Apr 1 0:00 1:00 T Rule Mongol 1981 1984 - Apr 1 0:00 1:00 S
Rule Mongol 1981 1984 - Oct 1 0:00 0 S Rule Mongol 1981 1984 - Oct 1 0:00 0 -
Rule Mongol 1985 max - Mar lastSun 2:00 1:00 T Rule Mongol 1985 max - Mar lastSun 2:00 1:00 S
Rule Mongol 1985 max - Sep lastSun 3:00 0 S Rule Mongol 1985 max - Sep lastSun 3:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
#Zone Asia/Dariv 6:14:32 - LMT 1905 Aug #Zone Asia/Dariv 6:14:32 - LMT 1905 Aug
# 6:00 - DST 1978 # 6:00 - DART 1978 # Dariv Time
# 7:00 Mongol D%sT # 7:00 Mongol DAR%sT
Zone Asia/Ulan_Bator 7:07:32 - LMT 1905 Aug Zone Asia/Ulan_Bator 7:07:32 - LMT 1905 Aug
7:00 - UST 1978 7:00 - ULAT 1978 # Ulan Bator Time
8:00 Mongol U%sT 8:00 Mongol ULA%sT
#Zone Asia/Baruun-Urt 7:33:00 - LMT 1905 Aug #Zone Asia/Baruun-Urt 7:33:00 - LMT 1905 Aug
# 8:00 - BST 1978 # 8:00 - BART 1978 # Baruun-Urt Time
# 9:00 Mongol B%sT # 9:00 Mongol BAR%sT
# Nepal # Nepal
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Katmandu 5:41:16 - LMT 1920 Zone Asia/Katmandu 5:41:16 - LMT 1920
5:30 - IST 1986 5:30 - IST 1986
5:45 - NPT 5:45 - NPT # Nepal Time
# Oman # Oman
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -740,23 +703,23 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
5:30 - IST 1942 Sep 5:30 - IST 1942 Sep
5:30 1:00 IST 1945 Oct 15 5:30 1:00 IST 1945 Oct 15
5:30 - IST 1951 Sep 30 5:30 - IST 1951 Sep 30
5:00 - PKT 5:00 - KART 1971 Mar 26 # Karachi Time
5:00 - PKT # Pakistan Time
# Palestine # Palestine
# These rules for Egypt are stolen from the `africa' file. # These rules for Egypt are stolen from the `africa' file.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule EgyptAsia 1957 only - May 10 0:00 1:00 " DST" Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 - Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 -
Rule EgyptAsia 1958 only - May 1 0:00 1:00 " DST" Rule EgyptAsia 1958 only - May 1 0:00 1:00 S
Rule EgyptAsia 1959 1981 - May 1 1:00 1:00 " DST" Rule EgyptAsia 1959 1981 - May 1 1:00 1:00 S
Rule EgyptAsia 1959 1965 - Sep 30 3:00 0 - Rule EgyptAsia 1959 1965 - Sep 30 3:00 0 -
Rule EgyptAsia 1966 max - Oct 1 3:00 0 - Rule EgyptAsia 1966 max - Oct 1 3:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
2:00 - EET 1957 May 10 2:00 - EET 1957 May 10
2:00 EgyptAsia EET%s 1967 Jun 30 2:00 EgyptAsia EE%sT 1967 Jun 30
2:00 Zion I%sT 2:00 Zion I%sT
# This will undoubtedly change soon.
# Paracel Is # Paracel Is
# no information # no information
@ -765,18 +728,18 @@ Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
# Howse writes (p 162) that until 1844 the Philippines kept American date. # Howse writes (p 162) that until 1844 the Philippines kept American date.
# The rest of this data is from Shanks. # The rest of this data is from Shanks.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Phil 1936 only - Nov 1 0:00 1:00 D Rule Phil 1936 only - Nov 1 0:00 1:00 S
Rule Phil 1937 only - Feb 1 0:00 0 S Rule Phil 1937 only - Feb 1 0:00 0 -
Rule Phil 1954 only - Apr 12 0:00 1:00 D Rule Phil 1954 only - Apr 12 0:00 1:00 S
Rule Phil 1954 only - Jul 1 0:00 0 S Rule Phil 1954 only - Jul 1 0:00 0 -
Rule Phil 1978 only - Mar 22 0:00 1:00 D Rule Phil 1978 only - Mar 22 0:00 1:00 S
Rule Phil 1978 only - Sep 21 0:00 0 S Rule Phil 1978 only - Sep 21 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Manila -15:56:00 - LMT 1844 Zone Asia/Manila -15:56:00 - LMT 1844
8:04:00 - LMT 1899 May 11 8:04:00 - LMT 1899 May 11
8:00 Phil P%sT 1942 May 8:00 Phil PH%sT 1942 May
9:00 - JST 1944 Nov 9:00 - JST 1944 Nov
8:00 Phil P%sT 8:00 Phil PH%sT
# Qatar # Qatar
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -792,78 +755,93 @@ Zone Asia/Riyadh 3:06:52 - LMT 1950
# Singapore # Singapore
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Singapore 6:55:24 - LMT 1880 Zone Asia/Singapore 6:55:24 - LMT 1880
6:55 - SMT 1905 Jun 6:55:24 - SMT 1905 Jun # Singapore Mean Time
7:00 - SGT 1933 7:00 - MALT 1933 # Malaya Time
7:20 - SGT 1942 Feb 15 7:20 - MALT 1942 Feb 15
9:00 - JST 1945 Sep 2 9:00 - JST 1945 Sep 2
7:20 - SGT 1950 7:20 - MALT 1950
7:30 - SGT 1982 May 7:30 - MALT 1965 Aug 9 # independence
7:30 - SGT 1982 May # Singapore Time
8:00 - SGT 8:00 - SGT
# Spratly Is # Spratly Is
# no information # no information
# Sri Lanka # Sri Lanka
# From Paul Eggert (1996-09-03):
# <URL:http://www.virtual-pc.com/lankaweb/news/items/240596-2.html> (1996-05-24)
# reported ``the country's standard time will be put forward by one hour at
# midnight Friday (1830 GMT) `in the light of the present power crisis'.''
# Transitions before 1996 are from Shanks (1991).
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Colombo 5:19:24 - LMT 1880 Zone Asia/Colombo 5:19:24 - LMT 1880
5:20 - JMT 1906 5:20 - CEYT 1906 # Ceylon Time
5:30 - IST 1942 Jan 5 5:30 - IST 1942 Jan 5
5:30 0:30 IHST 1942 Sep 5:30 0:30 IHST 1942 Sep
5:30 1:00 IST 1945 Oct 16 2:00 5:30 1:00 IST 1945 Oct 16 2:00
5:30 - IST 5:30 - IST 1996 May 25 0:00
6:30 - LKT # Sri Lanka Time
# Syria # Syria
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Syria 1920 1923 - Apr Sun>=15 2:00 1:00 " DST" Rule Syria 1920 1923 - Apr Sun>=15 2:00 1:00 S
Rule Syria 1920 1923 - Oct Sun>=1 2:00 0 - Rule Syria 1920 1923 - Oct Sun>=1 2:00 0 -
Rule Syria 1962 only - Apr 29 2:00 1:00 " DST" Rule Syria 1962 only - Apr 29 2:00 1:00 S
Rule Syria 1962 only - Oct 1 2:00 0 - Rule Syria 1962 only - Oct 1 2:00 0 -
Rule Syria 1963 1965 - May 1 2:00 1:00 " DST" Rule Syria 1963 1965 - May 1 2:00 1:00 S
Rule Syria 1963 only - Sep 30 2:00 0 - Rule Syria 1963 only - Sep 30 2:00 0 -
Rule Syria 1964 only - Oct 1 2:00 0 - Rule Syria 1964 only - Oct 1 2:00 0 -
Rule Syria 1965 only - Sep 30 2:00 0 - Rule Syria 1965 only - Sep 30 2:00 0 -
Rule Syria 1966 only - Apr 24 2:00 1:00 " DST" Rule Syria 1966 only - Apr 24 2:00 1:00 S
Rule Syria 1966 1976 - Oct 1 2:00 0 - Rule Syria 1966 1976 - Oct 1 2:00 0 -
Rule Syria 1967 1978 - May 1 2:00 1:00 " DST" Rule Syria 1967 1978 - May 1 2:00 1:00 S
Rule Syria 1977 1978 - Sep 1 2:00 0 - Rule Syria 1977 1978 - Sep 1 2:00 0 -
Rule Syria 1983 1984 - Apr 9 2:00 1:00 " DST" Rule Syria 1983 1984 - Apr 9 2:00 1:00 S
Rule Syria 1983 1984 - Oct 1 2:00 0 - Rule Syria 1983 1984 - Oct 1 2:00 0 -
Rule Syria 1986 only - Feb 16 2:00 1:00 " DST" Rule Syria 1986 only - Feb 16 2:00 1:00 S
Rule Syria 1986 only - Oct 9 2:00 0 - Rule Syria 1986 only - Oct 9 2:00 0 -
Rule Syria 1987 only - Mar 1 2:00 1:00 " DST" Rule Syria 1987 only - Mar 1 2:00 1:00 S
Rule Syria 1987 1988 - Oct 31 2:00 0 - Rule Syria 1987 1988 - Oct 31 2:00 0 -
Rule Syria 1988 only - Mar 15 2:00 1:00 " DST" Rule Syria 1988 only - Mar 15 2:00 1:00 S
Rule Syria 1989 only - Mar 31 2:00 1:00 " DST" Rule Syria 1989 only - Mar 31 2:00 1:00 S
Rule Syria 1989 only - Oct 1 2:00 0 - Rule Syria 1989 only - Oct 1 2:00 0 -
Rule Syria 1990 max - Apr 1 2:00 1:00 " DST" Rule Syria 1990 max - Apr 1 2:00 1:00 S
Rule Syria 1990 max - Sep 30 2:00 0 - Rule Syria 1990 max - Sep 30 2:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Damascus 2:25:12 - LMT 1920 Zone Asia/Damascus 2:25:12 - LMT 1920
2:00 Syria EET%s 2:00 Syria EE%sT
# Tajikistan # Tajikistan
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2 Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2
5:00 - DSK 1957 Mar 5:00 - DUST 1957 Mar # Dushanbe Time
6:00 RussiaAsia DS%s 1991 6:00 RussiaAsia DUS%sT 1991 Mar 31 2:00s
6:00 - DSK 5:00 1:00 DUSST 1991 Sep 9 # independence
# Shanks has Dushanbe at 5:00 (6:00 summer) after 1991 Sep 29 3:00, 5:00 RussiaAsia TJ%sT 1992
# but usno1995 has it at 6:00. Go with usno1995. 5:00 - TJT # Tajikistan Time
# Shanks has Dushanbe at 5:00 (6:00 summer) after 1991,
# but a cable from the American Embassy at Dushanbe
# <URL:http://www.itaiep.doc.gov/bisnis/cables/960703ti.html> (1996-07-02)
# says that Tajikistan is at 5:00. Guess no DST after 1991.
# Thailand # Thailand
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Bangkok 6:42:04 - LMT 1880 Zone Asia/Bangkok 6:42:04 - LMT 1880
6:42 - BMT 1920 Apr 6:42:04 - BMT 1920 Apr # Bangkok Mean Time
7:00 - ICT 7:00 - ICT
# Turkmenistan # Turkmenistan
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Ashkhabad 3:53:32 - LMT 1924 May 2 Zone Asia/Ashkhabad 3:53:32 - LMT 1924 May 2 # or Ashgabat
4:00 - ASK 1957 Mar 4:00 - ASHT 1957 Mar # Ashkhabad Time
5:00 RussiaAsia AS%s 1991 5:00 RussiaAsia ASH%sT 1991 Mar 31 2:00s
5:00 - ASK 4:00 1:00 ASHST 1991 Oct 27 # independence
# Shanks has Ashkhabad at 4:00 (5:00 summer) after 1991 Sep 20 3:00, 4:00 RussiaAsia TM%sT 1992 # Turkmenistan Time
# but usno has it at 5:00. Go with usno1995. 4:00 - TMT
# Shanks has Ashkhabad at 4:00 (5:00 summer) after 1991, but
# DHL <URL:http://www.dhl.com/dhlinfo/country/turkmeni.html> (1996-07-26)
# reports 4:00. Guess no DST after 1991.
# United Arab Emirates # United Arab Emirates
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -873,14 +851,16 @@ Zone Asia/Dubai 3:41:12 - LMT 1920
# Uzbekistan # Uzbekistan
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Tashkent 4:37:12 - LMT 1924 May 2 Zone Asia/Tashkent 4:37:12 - LMT 1924 May 2
5:00 - TSK 1957 Mar 5:00 - TAST 1957 Mar # Tashkent Time
6:00 RussiaAsia TS%s 1991 Mar 31 2:00s 6:00 RussiaAsia TAS%sT 1991 Mar 31 2:00s
5:00 1:00 TSD 1991 Sep 29 2:00s 5:00 1:00 TASST 1991 Sep 29 2:00s
5:00 - TSK 5:00 - UZT # Uzbekistan Time
# Shanks has Tashkent using DST after 1991, but usno1995 says they don't. # Shanks has Tashkent using DST after 1991, but usno1995 says they don't.
# Go with usno1995. # Guess no DST after 1991.
# http://www.odci.gov/cia/publications/95fact/802389h.gif claims that # <URL:http://www.odci.gov/cia/publications/95fact/802389h.gif> (1995)
# Uzbekistan has two time zones, but we lack data about this. # says that Uzbekistan has two time zones, but a cable
# <URL:http://www.itaiep.doc.gov/bisnis/cables/960510uz.html> (1996-05-10)
# from the American Embassy in Tashkent implies that they have just one.
# Vietnam # Vietnam
# From Paul Eggert <eggert@twinsun.com> (November 18, 1993): # From Paul Eggert <eggert@twinsun.com> (November 18, 1993):
@ -889,7 +869,7 @@ Zone Asia/Tashkent 4:37:12 - LMT 1924 May 2
# From Shanks (1991): # From Shanks (1991):
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Saigon 7:06:40 - LMT 1906 Jun 9 Zone Asia/Saigon 7:06:40 - LMT 1906 Jun 9
7:06 - SMT 1911 Mar 11 0:01 # Saigon MT 7:06:20 - SMT 1911 Mar 11 0:01 # Saigon MT?
7:00 - ICT 1912 May 7:00 - ICT 1912 May
8:00 - ICT 1931 May 8:00 - ICT 1931 May
7:00 - ICT 7:00 - ICT

View File

@ -1,4 +1,4 @@
# @(#)australasia 7.27 # @(#)australasia 7.28
# This file also includes Pacific islands. # This file also includes Pacific islands.
# Notes are at the end of this file # Notes are at the end of this file
@ -143,7 +143,7 @@ Zone Australia/Lord_Howe 10:36:20 - LMT 1895 Feb
# Australian miscellany # Australian miscellany
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Christmas 7:02:52 - LMT 1895 Feb Zone Indian/Christmas 7:02:52 - LMT 1895 Feb
7:00 - JVT 7:00 - CXT # Christmas Island Time
# #
# Ashmore Is, Cartier # Ashmore Is, Cartier
# no indigenous inhabitants; only seasonal caretakers # no indigenous inhabitants; only seasonal caretakers
@ -159,32 +159,32 @@ Zone Indian/Christmas 7:02:52 - LMT 1895 Feb
# Cook Is # Cook Is
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Cook 1978 only - Nov 12 0:00 0:30 HD Rule Cook 1978 only - Nov 12 0:00 0:30 HS
Rule Cook 1979 max - Mar Sun>=1 0:00 0 H Rule Cook 1979 max - Mar Sun>=1 0:00 0 -
Rule Cook 1979 max - Oct lastSun 0:00 0:30 HD Rule Cook 1979 max - Oct lastSun 0:00 0:30 HS
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
-10:30 - CIST 1978 Nov 12 # Cook Is ST -10:30 - CKT 1978 Nov 12 # Cook Is Time
-10:00 Cook T%sT -10:00 Cook CK%sT
# Cocos # Cocos
# From USNO (1989): # From USNO (1989):
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Cocos 6:30 - CCT Zone Indian/Cocos 6:30 - CCT # Cocos Islands Time
# Fiji # Fiji
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Fiji 11:53:40 - LMT 1915 Oct 26 # Suva Zone Pacific/Fiji 11:53:40 - LMT 1915 Oct 26 # Suva
12:00 - NZST 12:00 - FJT # Fiji Time
# French Polynesia # French Polynesia
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea
-9:00 - GBT -9:00 - GAMT # Gambier Time
Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct
-9:30 - MQT -9:30 - MART # Marquesas Time
Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete
-10:00 - THT -10:00 - TAHT # Tahiti Time
# Guam # Guam
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -209,57 +209,57 @@ Zone Pacific/Johnston -10:00 - HST
# Kiribati # Kiribati
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki
12:00 - NZST 12:00 - GILT # Gilbert Is Time
Zone Pacific/Enderbury -11:24:20 - LMT 1901 Zone Pacific/Enderbury -11:24:20 - LMT 1901
-12:00 - KJT 1979 Oct -12:00 - PHOT 1979 Oct # Phoenix Is Time
-11:00 - SST 1995 -11:00 - PHOT 1995
13:00 - TGT 13:00 - PHOT
Zone Pacific/Kiritimati -10:29:20 - LMT 1901 Zone Pacific/Kiritimati -10:29:20 - LMT 1901
-10:40 - LIT 1979 Oct # Line Is Time -10:40 - LINT 1979 Oct # Line Is Time
-10:00 - THT 1995 -10:00 - LINT 1995
14:00 - KRT 14:00 - LINT
# N Mariana Is # N Mariana Is
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Saipan 9:43:00 - LMT 1901 Zone Pacific/Saipan 9:43:00 - LMT 1901
9:00 - PLT 1969 Oct 9:00 - MPT 1969 Oct # N Mariana Is Time
10:00 - GST 10:00 - MPT
# Marshall Is # Marshall Is
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Majuro 11:24:48 - LMT 1901 Zone Pacific/Majuro 11:24:48 - LMT 1901
11:00 - NCST 1969 Oct 11:00 - MHT 1969 Oct # Marshall Islands Time
12:00 - NZST 12:00 - MHT
Zone Pacific/Kwajalein 11:09:20 - LMT 1901 Zone Pacific/Kwajalein 11:09:20 - LMT 1901
11:00 - NCST 1969 Oct 11:00 - MHT 1969 Oct
-12:00 - KJT 1993 Aug 20 -12:00 - KWAT 1993 Aug 20 # Kwajalein Time
12:00 - NZST 12:00 - MHT
# Micronesia # Micronesia
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Yap 9:12:32 - LMT 1901 # Colonia Zone Pacific/Yap 9:12:32 - LMT 1901 # Colonia
9:00 - PLT 1969 Oct 9:00 - YAPT 1969 Oct # Yap Time
10:00 - GST 10:00 - YAPT
Zone Pacific/Truk 10:07:08 - LMT 1901 Zone Pacific/Truk 10:07:08 - LMT 1901
10:00 - GST 10:00 - TRUT # Truk Time
Zone Pacific/Ponape 10:32:52 - LMT 1901 # Kolonia Zone Pacific/Ponape 10:32:52 - LMT 1901 # Kolonia
11:00 - NCST 11:00 - PONT # Ponape Time
Zone Pacific/Kosrae 10:51:56 - LMT 1901 Zone Pacific/Kosrae 10:51:56 - LMT 1901
11:00 - NCST 1969 Oct 11:00 - PONT 1969 Oct
12:00 - NZST 12:00 - KOST # Kosrae Time
# Nauru # Nauru
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Nauru 11:07:40 - LMT 1921 Jan 15 # Uaobe Zone Pacific/Nauru 11:07:40 - LMT 1921 Jan 15 # Uaobe
11:30 - NST 1942 Mar 15 11:30 - NRT 1942 Mar 15 # Nauru Time
9:00 - JST 1944 Aug 15 9:00 - JST 1944 Aug 15
11:30 - NST 1979 May 11:30 - NRT 1979 May
12:00 - NZST 12:00 - NRT
# New Caledonia # New Caledonia
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule NC 1977 1978 - Dec Sun>=1 0:00 1:00 D Rule NC 1977 1978 - Dec Sun>=1 0:00 1:00 S
Rule NC 1978 1979 - Feb 27 0:00 0 S Rule NC 1978 1979 - Feb 27 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13 Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13
11:00 NC NC%sT 11:00 NC NC%sT
@ -293,11 +293,11 @@ Rule NZ 1990 max - Mar Sun>=15 2:00s 0 S
Zone Pacific/Auckland 11:39:04 - LMT 1868 Zone Pacific/Auckland 11:39:04 - LMT 1868
11:30 NZ NZ%sT 1940 Sep 29 2:00 11:30 NZ NZ%sT 1940 Sep 29 2:00
12:00 NZ NZ%sT 12:00 NZ NZ%sT
Zone Pacific/Chatham 12:45 NZ CH%sT Zone Pacific/Chatham 12:45 NZ CHA%sT
# Antipodes Is, Kermadec Is # Antipodes Is, Kermadec Is
# no information; probably like Pacific/Auckland # uninhabited except by research personnel; probably like Pacific/Auckland
############################################################################### ###############################################################################
@ -305,20 +305,20 @@ Zone Pacific/Chatham 12:45 NZ CH%sT
# Niue # Niue
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Niue -11:19:40 - LMT 1901 # Alofi Zone Pacific/Niue -11:19:40 - LMT 1901 # Alofi
-11:20 - NIT 1951 # Niue I Time -11:20 - NUT 1951 # Niue Time
-11:30 - NIT 1978 Oct 1 -11:30 - NUT 1978 Oct 1
-11:00 - SST -11:00 - NUT
# Norfolk # Norfolk
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston
11:12 - NMT 1951 11:12 - NMT 1951 # Norfolk Mean Time
11:30 - NRFT 11:30 - NFT # Norfolk Time
# Palau # Palau
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Palau 8:57:56 - LMT 1901 # Koror Zone Pacific/Palau 8:57:56 - LMT 1901 # Koror
9:00 - PLT 9:00 - PWT # Palau Time
# Palmyra # Palmyra
# uninhabited since World War II; was probably like Pacific/Kiritmati # uninhabited since World War II; was probably like Pacific/Kiritmati
@ -326,18 +326,18 @@ Zone Pacific/Palau 8:57:56 - LMT 1901 # Koror
# Papua New Guinea # Papua New Guinea
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Port_Moresby 9:48:40 - LMT 1880 Zone Pacific/Port_Moresby 9:48:40 - LMT 1880
9:49 - PMMT 1895 9:48:40 - PMMT 1895 # Port Moresby Mean Time
10:00 - EST 10:00 - PGT # Papua New Guinea Time
# Pitcairn # Pitcairn
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown
-8:30 - PIT -8:30 - PNT # Pitcairn Time
# American Samoa # American Samoa
Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5 Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5
-11:22:48 - LMT 1911 -11:22:48 - LMT 1911
-11:30 - SST 1950 -11:30 - SAMT 1950 # Samoa Time
-11:00 - NST 1967 Apr # N=Nome -11:00 - NST 1967 Apr # N=Nome
-11:00 - BST 1983 Nov 30 # B=Bering -11:00 - BST 1983 Nov 30 # B=Bering
-11:00 - SST # S=Samoa -11:00 - SST # S=Samoa
@ -345,52 +345,52 @@ Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5
# W Samoa # W Samoa
Zone Pacific/Apia 12:33:04 - LMT 1879 Jul 5 Zone Pacific/Apia 12:33:04 - LMT 1879 Jul 5
-11:26:56 - LMT 1911 -11:26:56 - LMT 1911
-11:30 - SST 1950 -11:30 - SAMT 1950 # Samoa Time
-11:00 - SST -11:00 - WST # W Samoa Time
# Solomon Is # Solomon Is
# excludes Bougainville, for which see Papua New Guinea # excludes Bougainville, for which see Papua New Guinea
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara
11:00 - NCST 11:00 - SBT # Solomon Is Time
# Tokelau Is # Tokelau Is
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Fakaofo -11:24:56 - LMT 1901 Zone Pacific/Fakaofo -11:24:56 - LMT 1901
-10:00 - THT -10:00 - TKT # Tokelau Time
# Tonga # Tonga
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Tongatapu 12:19:20 - LMT 1901 Zone Pacific/Tongatapu 12:19:20 - LMT 1901
12:20 - TMT 1968 Oct 12:20 - TOT 1968 Oct # Tonga Time
13:00 - TGT 13:00 - TOT
# Tuvalu # Tuvalu
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Funafuti 11:56:52 - LMT 1901 Zone Pacific/Funafuti 11:56:52 - LMT 1901
12:00 - NZST 12:00 - TVT # Tuvalu Time
# Vanuatu # Vanuatu
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Vanuatu 1983 only - Sep 25 0:00 1:00 D Rule Vanuatu 1983 only - Sep 25 0:00 1:00 S
Rule Vanuatu 1984 1991 - Mar Sun>=23 0:00 0 S Rule Vanuatu 1984 1991 - Mar Sun>=23 0:00 0 -
Rule Vanuatu 1984 only - Oct 23 0:00 1:00 D Rule Vanuatu 1984 only - Oct 23 0:00 1:00 S
Rule Vanuatu 1985 1990 - Sep Sun>=23 0:00 1:00 D Rule Vanuatu 1985 1990 - Sep Sun>=23 0:00 1:00 S
Rule Vanuatu 1991 max - Sep lastSun 0:00 1:00 D Rule Vanuatu 1991 max - Sep lastSun 0:00 1:00 S
Rule Vanuatu 1992 max - Mar lastSun 0:00 0 S Rule Vanuatu 1992 max - Mar lastSun 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
11:00 - NCST 11:00 Vanuatu VU%sT # Vanuatu Time
# Wake # Wake
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Wake 11:06:28 - LMT 1901 Zone Pacific/Wake 11:06:28 - LMT 1901
12:00 - NZST 12:00 - WAKT # Wake Time
# Wallis and Futuna # Wallis and Futuna
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Wallis 12:15:20 - LMT 1901 Zone Pacific/Wallis 12:15:20 - LMT 1901
12:00 - NZST 12:00 - WFT # Wallis & Futuna Time
############################################################################### ###############################################################################
@ -419,34 +419,21 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Corrections are welcome! # Corrections are welcome!
# std dst # std dst
# LMT Local Mean Time # LMT Local Mean Time
# 6:30 CCT Cocos*
# 7:00 JVT Java*
# 8:00 WST WST Western Australia # 8:00 WST WST Western Australia
# 9:00 JST Japan # 9:00 JST Japan
# 9:00 PLT Palau*
# 9:30 CST CST Central Australia # 9:30 CST CST Central Australia
# 10:00 EST EST Eastern Australia # 10:00 EST EST Eastern Australia
# 10:00 GST Guam* # 10:00 GST Guam
# 10:30 LHST LHST Lord Howe* # 10:30 LHST LHST Lord Howe*
# 11:00 NCST NCDT New Caledonia*
# 11:30 NRFT Norfolk*
# 12:00 NZST NZDT New Zealand # 12:00 NZST NZDT New Zealand
# 12:45 CHST CHDT Chatham* # 12:45 CHAST CHADT Chatham*
# 13:00 TGT Tongatapu*
# 14:00 KRT Kiritimati*
# -12:00 KJT Kwajalein (no longer used)*
# -11:00 SST Samoa # -11:00 SST Samoa
# -10:40 LIT Line Is (no longer used)*
# -10:00 THT Tahiti*
# -10:00 HST Hawaii # -10:00 HST Hawaii
# - 9:30 MQT Marquesas*
# - 9:00 GBT Gambier*
# - 8:30 PIT Pitcairn*
# #
# See the `northamerica' file for Hawaii. # See the `northamerica' file for Hawaii.
# See the `southamerica' file for Easter I and the Galapagos Is. # See the `southamerica' file for Easter I and the Galapagos Is.
# #
# See the `africa' file for Zone naming conventions. # See the `africa' file for time zone naming and abbreviation conventions.
############################################################################### ###############################################################################

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
# @(#)northamerica 7.26 # @(#)northamerica 7.27
# also includes Central America and the Caribbean # also includes Central America and the Caribbean
# This data is by no means authoritative; if you think you know better, # This data is by no means authoritative; if you think you know better,
@ -202,9 +202,9 @@ Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:00
# #
# From Paul Eggert (1995-12-19): # From Paul Eggert (1995-12-19):
# Howse writes that Alaska switched from the Julian to the Gregorian calendar, # Howse writes that Alaska switched from the Julian to the Gregorian calendar,
# and from east-of-GMT to west-of-GMT days, in 1867 when the US purchased it # and from east-of-GMT to west-of-GMT days, when the US bought it from Russia.
# from Russia. We omit this transition, since we can't represent changes # This was on 1867-10-18. We omit this transition, since we can't represent
# from Julian to Gregorian. # changes from Julian to Gregorian.
# #
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Juneau -8:57:41 - LMT 1900 Aug 20 12:00 Zone America/Juneau -8:57:41 - LMT 1900 Aug 20 12:00
@ -472,12 +472,9 @@ Link Pacific/Honolulu HST
# Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which
# I found in the UCLA library. # I found in the UCLA library.
# #
# I invented the abbreviation SPST for St Pierre Standard Time; SPDT likewise.
# Corrections are welcome!
#
# See the `europe' file for Greenland. # See the `europe' file for Greenland.
# #
# See the `africa' file for Zone naming conventions. # See the `africa' file for time zone naming and abbreviation conventions.
# Canada # Canada
@ -839,7 +836,6 @@ Rule NT_YK 1919 only - May 25 2:00 1:00 D
Rule NT_YK 1919 only - Nov 1 0:00 0 S Rule NT_YK 1919 only - Nov 1 0:00 0 S
Rule NT_YK 1942 only - Feb 9 2:00 1:00 D Rule NT_YK 1942 only - Feb 9 2:00 1:00 D
Rule NT_YK 1945 only - Sep 30 2:00 0 S Rule NT_YK 1945 only - Sep 30 2:00 0 S
# 0:00 ??
Rule NT_YK 1965 only - Apr lastSun 0:00 2:00 DD Rule NT_YK 1965 only - Apr lastSun 0:00 2:00 DD
Rule NT_YK 1965 only - Oct lastSun 2:00 0 S Rule NT_YK 1965 only - Oct lastSun 2:00 0 S
Rule NT_YK 1980 1986 - Apr lastSun 2:00 1:00 D Rule NT_YK 1980 1986 - Apr lastSun 2:00 1:00 D
@ -1158,7 +1154,7 @@ Zone America/El_Salvador -5:56:48 - LMT 1921 # San Salvador
# Grenada # Grenada
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Grenada -4:07:00 - LMT 1911 Jul Zone America/Grenada -4:07:00 - LMT 1911 Jul # St George's
-4:00 - AST -4:00 - AST
# Guadeloupe # Guadeloupe
@ -1263,7 +1259,7 @@ Zone America/St_Lucia -4:04:00 - LMT 1890 # Castries
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
-4:00 - AST 1980 May -4:00 - AST 1980 May
-3:00 Mont SP%sT -3:00 Mont PM%sT # Pierre & Miquelon Time
# St Vincent and the Grenadines # St Vincent and the Grenadines
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]

View File

@ -1,33 +1,35 @@
# @(#)southamerica 7.12 # @(#)southamerica 7.13
# This data is by no means authoritative; if you think you know better, # 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 # go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future). # tz@elsie.nci.nih.gov for general use in the future).
# From Paul Eggert <eggert@twinsun.com> (November 18, 1993): # From Paul Eggert <eggert@twinsun.com> (1996-09-03):
# A good source for time zone historical data outside the U.S. is # A good source for time zone historical data outside the U.S. is
# Thomas G. Shanks, The International Atlas (3rd edition), # Thomas G. Shanks, The International Atlas (3rd edition),
# San Diego: ACS Publications, Inc. (1991). # San Diego: ACS Publications, Inc. (1991).
# Except where otherwise noted, it is the source for the data below. # Except where otherwise noted, it is the source for the data below.
# #
# I invented the abbreviations marked `*' in the following table; # The following abbreviations are used in this file.
# the rest are from earlier versions of this file, or from other sources.
# Some of these are just plausible excuses for common English abbreviations.
# Corrections are welcome! # Corrections are welcome!
# std dst # std dst
# LMT Local Mean Time # LMT Local Mean Time
# -2:00 FST FDT Fernando de Noronha # -2:00 FST FDT Fernando de Noronha
# -3:00 EST EDT Eastern South America (conflicts with -5:00) # -3:00 EST EDT Eastern Brazil
# -3:00 ARST ARDT Argentina
# -4:00 AST ADT Andes*, Antilles*, Asuncion*, Atlantic
# -4:00 CST CDT Chile (conflicts with -6:00)
# -4:00 WST WDT Western Brazil # -4:00 WST WDT Western Brazil
# -5:00 AST ADT Acre (conflicts with -4:00) # -4:00 AST ADT Atlantic
# -5:00 EST EDT Eastern, Ecuador* # -5:00 AST ADT Acre
# -6:00 CST CDT Archipelago of Columbus*, Central
# -7:00 MST MDT Mataveri*, Mountain
# #
# See the `africa' file for Zone naming conventions. # See the `africa' file for time zone naming and abbreviation conventions.
# Earlier editions of these tables used the North American style (e.g. ARST and
# ARDT for Argentine Standard and Daylight Time), but the following quote
# suggests that it's better to use European style (e.g. ART and ARST).
# I suggest the use of _Summer time_ instead of the more cumbersome
# _daylight-saving time_. _Summer time_ seems to be in general use
# in Europe and South America.
# -- E O Cutler, _New York Times_ (1937-02-14), quoted in
# H L Mencken, _The American Language: Supplement I_ (1960), p 466
# From Guy Harris: # From Guy Harris:
# From Official Airline Guide - Worldwide Edition (1987). Countries not # From Official Airline Guide - Worldwide Edition (1987). Countries not
@ -55,35 +57,35 @@
# AR was chosen because they are the ISO letters that represent Argentina. # AR was chosen because they are the ISO letters that represent Argentina.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Arg 1930 only - Dec 1 0:00 1:00 D Rule Arg 1930 only - Dec 1 0:00 1:00 S
Rule Arg 1931 only - Apr 1 0:00 0 S Rule Arg 1931 only - Apr 1 0:00 0 -
Rule Arg 1931 only - Oct 15 0:00 1:00 D Rule Arg 1931 only - Oct 15 0:00 1:00 S
Rule Arg 1932 1940 - Mar 1 0:00 0 S Rule Arg 1932 1940 - Mar 1 0:00 0 -
Rule Arg 1932 1939 - Nov 1 0:00 1:00 D Rule Arg 1932 1939 - Nov 1 0:00 1:00 S
Rule Arg 1940 only - Jul 1 0:00 1:00 D Rule Arg 1940 only - Jul 1 0:00 1:00 S
Rule Arg 1941 only - Jun 15 0:00 0 S Rule Arg 1941 only - Jun 15 0:00 0 -
Rule Arg 1941 only - Oct 15 0:00 1:00 D Rule Arg 1941 only - Oct 15 0:00 1:00 S
Rule Arg 1943 only - Aug 1 0:00 0 S Rule Arg 1943 only - Aug 1 0:00 0 -
Rule Arg 1943 only - Oct 15 0:00 1:00 D Rule Arg 1943 only - Oct 15 0:00 1:00 S
Rule Arg 1946 only - Mar 1 0:00 0 S Rule Arg 1946 only - Mar 1 0:00 0 -
Rule Arg 1946 only - Oct 1 0:00 1:00 D Rule Arg 1946 only - Oct 1 0:00 1:00 S
Rule Arg 1963 only - Oct 1 0:00 0 S Rule Arg 1963 only - Oct 1 0:00 0 -
Rule Arg 1963 only - Dec 15 0:00 1:00 D Rule Arg 1963 only - Dec 15 0:00 1:00 S
Rule Arg 1964 1966 - Mar 1 0:00 0 S Rule Arg 1964 1966 - Mar 1 0:00 0 -
Rule Arg 1964 1966 - Oct 15 0:00 1:00 D Rule Arg 1964 1966 - Oct 15 0:00 1:00 S
Rule Arg 1967 only - Apr 1 0:00 0 S Rule Arg 1967 only - Apr 1 0:00 0 -
Rule Arg 1967 1968 - Oct Sun<=7 0:00 1:00 D Rule Arg 1967 1968 - Oct Sun<=7 0:00 1:00 S
Rule Arg 1968 1969 - Apr Sun<=7 0:00 0 S Rule Arg 1968 1969 - Apr Sun<=7 0:00 0 -
Rule Arg 1974 only - Jan 23 0:00 1:00 D Rule Arg 1974 only - Jan 23 0:00 1:00 S
Rule Arg 1974 only - May 1 0:00 0 S Rule Arg 1974 only - May 1 0:00 0 -
Rule Arg 1974 1976 - Oct Sun<=7 0:00 1:00 D Rule Arg 1974 1976 - Oct Sun<=7 0:00 1:00 S
Rule Arg 1975 1977 - Apr Sun<=7 0:00 0 S Rule Arg 1975 1977 - Apr Sun<=7 0:00 0 -
Rule Arg 1985 only - Nov 2 0:00 1:00 D Rule Arg 1985 only - Nov 2 0:00 1:00 S
Rule Arg 1986 only - Mar 14 0:00 0 S Rule Arg 1986 only - Mar 14 0:00 0 -
Rule Arg 1986 1987 - Oct 25 0:00 1:00 D Rule Arg 1986 1987 - Oct 25 0:00 1:00 S
Rule Arg 1987 only - Feb 13 0:00 0 S Rule Arg 1987 only - Feb 13 0:00 0 -
Rule Arg 1988 only - Feb 7 0:00 0 S Rule Arg 1988 only - Feb 7 0:00 0 -
Rule Arg 1988 only - Dec 1 0:00 1:00 D Rule Arg 1988 only - Dec 1 0:00 1:00 S
# #
# From Hernan G. Otero <hernan@isoft.com.ar> (June 26, 1995): # From Hernan G. Otero <hernan@isoft.com.ar> (June 26, 1995):
# These corrections were contributed by InterSoft Argentina S.A., # These corrections were contributed by InterSoft Argentina S.A.,
@ -92,8 +94,8 @@ Rule Arg 1988 only - Dec 1 0:00 1:00 D
# (Argentinian Naval Hydrography Institute) # (Argentinian Naval Hydrography Institute)
# #
# Shanks gives 1989 Mar 16 and stops after 1990 Mar 4; go with Otero. # Shanks gives 1989 Mar 16 and stops after 1990 Mar 4; go with Otero.
Rule Arg 1989 1993 - Mar Sun>=1 0:00 0 S Rule Arg 1989 1993 - Mar Sun>=1 0:00 0 -
Rule Arg 1989 1992 - Oct Sun>=15 0:00 1:00 D Rule Arg 1989 1992 - Oct Sun>=15 0:00 1:00 S
# #
# From Hernan G. Otero <hernan@isoft.com.ar> (June 26, 1995): # From Hernan G. Otero <hernan@isoft.com.ar> (June 26, 1995):
# From this moment on, the law that mandated the daylight saving # From this moment on, the law that mandated the daylight saving
@ -102,23 +104,23 @@ Rule Arg 1989 1992 - Oct Sun>=15 0:00 1:00 D
# #
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Buenos_Aires -3:53:48 - LMT 1894 Nov Zone America/Buenos_Aires -3:53:48 - LMT 1894 Nov
-4:17 - CMT 1920 May # Cordoba Mean Time -4:16:44 - CMT 1920 May # Cordoba Mean Time
-4:00 - AST 1930 Dec -4:00 - ART 1930 Dec
-4:00 Arg A%sT 1969 Oct 5 -4:00 Arg AR%sT 1969 Oct 5
-3:00 Arg AR%sT -3:00 Arg AR%sT
# Aruba # Aruba
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Aruba -4:40:24 - LMT 1912 Feb 12 # Oranjestad Zone America/Aruba -4:40:24 - LMT 1912 Feb 12 # Oranjestad
-4:30 - NAST 1965 # Netherlands Antilles -4:30 - ANT 1965 # Netherlands Antilles Time
-4:00 - AST -4:00 - AST
# Bolivia # Bolivia
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/La_Paz -4:32:36 - LMT 1890 Zone America/La_Paz -4:32:36 - LMT 1890
-4:33 - LPMT 1931 Oct 15 # La Paz Mean Time -4:32:36 - LPMT 1931 Oct 15 # La Paz Mean Time
-4:33 1:00 LPDT 1932 Mar 21 -4:32:36 1:00 BOST 1932 Mar 21 # Bolivia ST
-4:00 - AST -4:00 - BOT # Bolivia Time
# Brazil # Brazil
@ -164,26 +166,26 @@ Zone America/La_Paz -4:32:36 - LMT 1890
# about time zone changes after 1990 Feb 11. # about time zone changes after 1990 Feb 11.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Brazil 1931 only - Oct 3 11:00 1 D Rule Brazil 1931 only - Oct 3 11:00 1:00 D
Rule Brazil 1932 1933 - Apr 1 0:00 0 S Rule Brazil 1932 1933 - Apr 1 0:00 0 S
Rule Brazil 1932 only - Oct 3 0:00 1 D Rule Brazil 1932 only - Oct 3 0:00 1:00 D
Rule Brazil 1949 1952 - Dec 1 0:00 1 D Rule Brazil 1949 1952 - Dec 1 0:00 1:00 D
Rule Brazil 1950 only - Apr 16 0:00 0 S Rule Brazil 1950 only - Apr 16 0:00 0 S
Rule Brazil 1951 1953 - Apr 1 0:00 0 S Rule Brazil 1951 1953 - Apr 1 0:00 0 S
Rule Brazil 1963 only - Dec 9 0:00 1 D Rule Brazil 1963 only - Dec 9 0:00 1:00 D
Rule Brazil 1964 only - Mar 1 0:00 0 S Rule Brazil 1964 only - Mar 1 0:00 0 S
Rule Brazil 1965 only - Jan 31 0:00 1 D Rule Brazil 1965 only - Jan 31 0:00 1:00 D
Rule Brazil 1965 only - Apr 1 0:00 0 S Rule Brazil 1965 only - Apr 1 0:00 0 S
Rule Brazil 1965 only - Dec 1 0:00 1 D Rule Brazil 1965 only - Dec 1 0:00 1:00 D
Rule Brazil 1966 1968 - Mar 1 0:00 0 S Rule Brazil 1966 1968 - Mar 1 0:00 0 S
Rule Brazil 1966 1967 - Nov 1 0:00 1 D Rule Brazil 1966 1967 - Nov 1 0:00 1:00 D
Rule Brazil 1985 only - Nov 2 0:00 1 D Rule Brazil 1985 only - Nov 2 0:00 1:00 D
Rule Brazil 1986 only - Mar 15 0:00 0 S Rule Brazil 1986 only - Mar 15 0:00 0 S
Rule Brazil 1986 1987 - Oct Sat<=28 0:00 1 D Rule Brazil 1986 1987 - Oct Sat<=28 0:00 1:00 D
Rule Brazil 1987 only - Feb 14 0:00 0 S Rule Brazil 1987 only - Feb 14 0:00 0 S
Rule Brazil 1988 only - Feb 7 0:00 0 S Rule Brazil 1988 only - Feb 7 0:00 0 S
Rule Brazil 1989 only - Jan 22 0:00 0 S Rule Brazil 1989 only - Jan 22 0:00 0 S
Rule Brazil 1988 max - Oct Sun>=15 0:00 1 D Rule Brazil 1988 max - Oct Sun>=15 0:00 1:00 D
Rule Brazil 1990 max - Feb Sun>=8 0:00 0 S Rule Brazil 1990 max - Feb Sun>=8 0:00 0 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Noronha -2:09:40 - LMT 1914 Zone America/Noronha -2:09:40 - LMT 1914
@ -209,21 +211,21 @@ Zone America/Porto_Acre -4:31:12 - LMT 1914
# of October.... The law is the same for March and October. # of October.... The law is the same for March and October.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Chile 1918 only - Sep 1 0:00 1:00 D Rule Chile 1918 only - Sep 1 0:00 1:00 S
Rule Chile 1919 only - Jul 2 0:00 0 S Rule Chile 1919 only - Jul 2 0:00 0 -
Rule Chile 1927 1931 - Sep 1 0:00 1:00 D Rule Chile 1927 1931 - Sep 1 0:00 1:00 S
Rule Chile 1928 1932 - Apr 1 0:00 0 S Rule Chile 1928 1932 - Apr 1 0:00 0 -
Rule Chile 1969 max - Oct Sun>=9 0:00 1:00 D Rule Chile 1969 max - Oct Sun>=9 0:00 1:00 S
Rule Chile 1970 max - Mar Sun>=9 0:00 0 S Rule Chile 1970 max - Mar Sun>=9 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Santiago -4:42:40 - LMT 1890 Zone America/Santiago -4:42:40 - LMT 1890
-4:43 - SMT 1910 # Santiago Mean Time -4:42:40 - SMT 1910 # Santiago Mean Time
-5:00 Chile C%sT 1932 Sep -5:00 Chile CL%sT 1932 Sep # Chile Time
-4:00 Chile C%sT -4:00 Chile CL%sT
Zone Pacific/Easter -7:17:28 - LMT 1890 # Mataveri Zone Pacific/Easter -7:17:28 - LMT 1890 # Mataveri
-7:17 - MMT 1932 Sep # Mataveri Mean Time -7:17:28 - MMT 1932 Sep # Mataveri Mean Time
-7:00 Chile M%sT 1982 Mar 14 -7:00 Chile EAS%sT 1982 Mar 14 # Easter I Time
-6:00 Chile C%sT -6:00 Chile EAS%sT
# #
# Whitman says Juan Fernandez Is are like America/Santiago. # Whitman says Juan Fernandez Is are like America/Santiago.
# San Ambrosio, San Felix # San Ambrosio, San Felix
@ -233,56 +235,57 @@ Zone Pacific/Easter -7:17:28 - LMT 1890 # Mataveri
# Colombia # Colombia
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Bogota -4:56:20 - LMT 1884 Mar 13 Zone America/Bogota -4:56:20 - LMT 1884 Mar 13
-4:56 - BMT 1914 Nov 23 # Bogota Mean Time -4:56:20 - BMT 1914 Nov 23 # Bogota Mean Time
-5:00 - EST -5:00 - COT # Colombia Time
# Malpelo, Providencia, San Andres # Malpelo, Providencia, San Andres
# no information; probably like America/Bogota # no information; probably like America/Bogota
# Curacao # Curacao
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Curacao -4:35:44 - LMT 1912 Feb 12 # Willemstad Zone America/Curacao -4:35:44 - LMT 1912 Feb 12 # Willemstad
-4:30 - NAST 1965 # Netherlands Antilles -4:30 - ANT 1965 # Netherlands Antilles Time
-4:00 - AST -4:00 - AST
# Ecuador # Ecuador
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Guayaquil -5:19:20 - LMT 1890 Zone America/Guayaquil -5:19:20 - LMT 1890
-5:14 - QMT 1931 # Quito Mean Time -5:14:00 - QMT 1931 # Quito Mean Time
-5:00 - EST -5:00 - ECT # Ecuador Time
Zone Pacific/Galapagos -5:58:24 - LMT 1931 # Puerto Baquerizo Moreno Zone Pacific/Galapagos -5:58:24 - LMT 1931 # Puerto Baquerizo Moreno
-5:00 - EST 1986 -5:00 - ECT 1986
-6:00 - CST -6:00 - GALT # Galapagos Time
# Falklands # Falklands
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Falk 1937 1938 - Sep lastSun 0:00 1:00 D Rule Falk 1937 1938 - Sep lastSun 0:00 1:00 S
Rule Falk 1938 1942 - Mar Sun>=19 0:00 0 S Rule Falk 1938 1942 - Mar Sun>=19 0:00 0 -
Rule Falk 1939 only - Oct 1 0:00 1:00 D Rule Falk 1939 only - Oct 1 0:00 1:00 S
Rule Falk 1940 1942 - Sep lastSun 0:00 1:00 D Rule Falk 1940 1942 - Sep lastSun 0:00 1:00 S
Rule Falk 1943 only - Jan 1 0:00 0 S Rule Falk 1943 only - Jan 1 0:00 0 -
Rule Falk 1983 only - Sep lastSun 0:00 1:00 D Rule Falk 1983 only - Sep lastSun 0:00 1:00 S
Rule Falk 1984 1985 - Apr lastSun 0:00 0 S Rule Falk 1984 1985 - Apr lastSun 0:00 0 -
Rule Falk 1984 only - Sep 16 0:00 1:00 D Rule Falk 1984 only - Sep 16 0:00 1:00 S
Rule Falk 1985 max - Sep Sun>=9 0:00 1:00 D Rule Falk 1985 max - Sep Sun>=9 0:00 1:00 S
Rule Falk 1986 max - Apr Sun>=16 0:00 0 S Rule Falk 1986 max - Apr Sun>=16 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/Stanley -3:51:24 - LMT 1890 Zone Atlantic/Stanley -3:51:24 - LMT 1890
-3:51 - SMT 1912 Mar 12 # Stanley Mean Time -3:51:24 - SMT 1912 Mar 12 # Stanley Mean Time
-4:00 Falk A%sT 1983 May -4:00 Falk FK%sT 1983 May # Falkland Is Time
-3:00 Falk E%sT 1985 Sep 15 -3:00 Falk FK%sT 1985 Sep 15
-4:00 Falk A%sT -4:00 Falk FK%sT
# French Guiana # French Guiana
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Cayenne -3:29:20 - LMT 1911 Jul Zone America/Cayenne -3:29:20 - LMT 1911 Jul
-4:00 - AST 1967 Oct -4:00 - GFT 1967 Oct # French Guiana Time
-3:00 - EST -3:00 - GFT
# Guyana # Guyana
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown
-3:45 - BGST 1975 Jul 31 # British Guiana ST -3:45 - GBGT 1966 May 26 # Br Guiana Time
-3:00 - EST -3:45 - GYT 1975 Jul 31 # Guyana Time
-3:00 - GYT
# Paraguay # Paraguay
@ -297,39 +300,39 @@ Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown
# From Shanks (1991): # From Shanks (1991):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Para 1975 1978 - Oct 1 0:00 1:00 D Rule Para 1975 1978 - Oct 1 0:00 1:00 S
Rule Para 1975 1978 - Mar 1 0:00 0 S Rule Para 1975 1978 - Mar 1 0:00 0 -
# Shanks says 1979 was all DST. # Shanks says 1979 was all DST.
Rule Para 1980 max - Apr 1 0:00 0 S Rule Para 1980 max - Apr 1 0:00 0 -
Rule Para 1980 1988 - Oct 1 0:00 1:00 D Rule Para 1980 1988 - Oct 1 0:00 1:00 S
Rule Para 1989 only - Oct 22 0:00 1:00 D Rule Para 1989 only - Oct 22 0:00 1:00 S
Rule Para 1990 max - Oct 1 0:00 1:00 D Rule Para 1990 max - Oct 1 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Asuncion -3:50:40 - LMT 1890 Zone America/Asuncion -3:50:40 - LMT 1890
-3:51 - AMT 1931 Oct 10 # Asuncion Mean Time -3:50:40 - AMT 1931 Oct 10 # Asuncion Mean Time
-4:00 - AST 1972 Oct -4:00 - PYT 1972 Oct # Paraguay Time
-3:00 - EST 1974 Apr -3:00 - PYT 1974 Apr
-4:00 Para A%sT -4:00 Para PY%sT
# Peru # Peru
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Peru 1938 only - Jan 1 0:00 1:00 D Rule Peru 1938 only - Jan 1 0:00 1:00 S
Rule Peru 1938 only - Apr 1 0:00 0 S Rule Peru 1938 only - Apr 1 0:00 0 -
Rule Peru 1938 1939 - Sep lastSun 0:00 1:00 D Rule Peru 1938 1939 - Sep lastSun 0:00 1:00 S
Rule Peru 1939 1940 - Mar Sun>=24 0:00 0 S Rule Peru 1939 1940 - Mar Sun>=24 0:00 0 -
Rule Peru 1987 only - Jan 1 0:00 1:00 D Rule Peru 1987 only - Jan 1 0:00 1:00 S
Rule Peru 1987 only - Apr 1 0:00 0 S Rule Peru 1987 only - Apr 1 0:00 0 -
Rule Peru 1990 only - Jan 1 0:00 1:00 D Rule Peru 1990 only - Jan 1 0:00 1:00 S
Rule Peru 1990 only - Apr 1 0:00 0 S Rule Peru 1990 only - Apr 1 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Lima -5:08:12 - LMT 1890 Zone America/Lima -5:08:12 - LMT 1890
-5:09 - LMT 1908 Jul 28 -5:09 - LMT 1908 Jul 28 # Lima Mean Time
-5:00 Peru E%sT -5:00 Peru PE%sT # Peru Time
# South Georgia # South Georgia
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken
-2:00 - FST -2:00 - GST # South Georgia Time
# South Sandwich Is # South Sandwich Is
# uninhabited # uninhabited
@ -339,8 +342,9 @@ Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken
Zone America/Paramaribo -3:40:40 - LMT 1911 Zone America/Paramaribo -3:40:40 - LMT 1911
-3:40:52 - PMT 1935 # Paramaribo Mean Time -3:40:52 - PMT 1935 # Paramaribo Mean Time
-3:40:36 - PMT 1945 Oct # The capital moved? -3:40:36 - PMT 1945 Oct # The capital moved?
-3:30 - DGST 1984 Oct # Dutch Guiana Std Time -3:30 - NEGT 1975 Nov 20 # Dutch Guiana Time
-3:00 - EST -3:30 - SRT 1984 Oct # Suriname Time
-3:00 - SRT
# Trinidad and Tobago # Trinidad and Tobago
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -353,55 +357,55 @@ Zone America/Port_of_Spain -4:06:04 - LMT 1912 Mar 2
# From Shanks (1991): # From Shanks (1991):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Whitman gives 1923 Oct 1; go with Shanks. # Whitman gives 1923 Oct 1; go with Shanks.
Rule Uruguay 1923 only - Oct 2 0:00 0:30 HD Rule Uruguay 1923 only - Oct 2 0:00 0:30 HS
Rule Uruguay 1924 1926 - Apr 1 0:00 0 S Rule Uruguay 1924 1926 - Apr 1 0:00 0 -
Rule Uruguay 1924 1925 - Oct 1 0:00 0:30 HD Rule Uruguay 1924 1925 - Oct 1 0:00 0:30 HS
Rule Uruguay 1933 1935 - Oct lastSun 0:00 0:30 HD Rule Uruguay 1933 1935 - Oct lastSun 0:00 0:30 HS
# Shanks gives 1935 Apr 1 0:00 and 1936 Mar 30 0:00; go with Whitman. # Shanks gives 1935 Apr 1 0:00 and 1936 Mar 30 0:00; go with Whitman.
Rule Uruguay 1934 1936 - Mar Sat>=25 23:30s 0 S Rule Uruguay 1934 1936 - Mar Sat>=25 23:30s 0 -
Rule Uruguay 1936 only - Nov 1 0:00 0:30 HD Rule Uruguay 1936 only - Nov 1 0:00 0:30 HS
Rule Uruguay 1937 1941 - Mar lastSun 0:00 0 S Rule Uruguay 1937 1941 - Mar lastSun 0:00 0 -
# Whitman gives 1937 Oct 3; go with Shanks. # Whitman gives 1937 Oct 3; go with Shanks.
Rule Uruguay 1937 1940 - Oct lastSun 0:00 0:30 HD Rule Uruguay 1937 1940 - Oct lastSun 0:00 0:30 HS
# Whitman gives 1941 Oct 24 - 1942 Mar 27, 1942 Dec 14 - 1943 Apr 13, # Whitman gives 1941 Oct 24 - 1942 Mar 27, 1942 Dec 14 - 1943 Apr 13,
# and 1943 Apr 13 ``to present time''; go with Shanks. # and 1943 Apr 13 ``to present time''; go with Shanks.
Rule Uruguay 1941 only - Aug 1 0:00 0 S Rule Uruguay 1941 only - Aug 1 0:00 0 -
Rule Uruguay 1942 only - Jan 1 0:00 0:30 HD Rule Uruguay 1942 only - Jan 1 0:00 0:30 HS
Rule Uruguay 1942 only - Dec 14 0:00 1:00 D Rule Uruguay 1942 only - Dec 14 0:00 1:00 S
Rule Uruguay 1943 only - Mar 14 0:00 0 S Rule Uruguay 1943 only - Mar 14 0:00 0 -
Rule Uruguay 1959 only - May 24 0:00 1:00 D Rule Uruguay 1959 only - May 24 0:00 1:00 S
Rule Uruguay 1959 only - Nov 15 0:00 0 S Rule Uruguay 1959 only - Nov 15 0:00 0 -
Rule Uruguay 1960 only - Jan 17 0:00 1:00 D Rule Uruguay 1960 only - Jan 17 0:00 1:00 S
Rule Uruguay 1960 only - Mar 6 0:00 0 S Rule Uruguay 1960 only - Mar 6 0:00 0 -
Rule Uruguay 1965 1967 - Apr Sun>=1 0:00 1:00 D Rule Uruguay 1965 1967 - Apr Sun>=1 0:00 1:00 S
Rule Uruguay 1965 only - Sep 26 0:00 0 S Rule Uruguay 1965 only - Sep 26 0:00 0 -
Rule Uruguay 1966 1967 - Oct 31 0:00 0 S Rule Uruguay 1966 1967 - Oct 31 0:00 0 -
Rule Uruguay 1968 1970 - May 27 0:00 0:30 HD Rule Uruguay 1968 1970 - May 27 0:00 0:30 HS
Rule Uruguay 1968 1970 - Dec 2 0:00 0 S Rule Uruguay 1968 1970 - Dec 2 0:00 0 -
Rule Uruguay 1972 only - Apr 24 0:00 1:00 D Rule Uruguay 1972 only - Apr 24 0:00 1:00 S
Rule Uruguay 1972 only - Aug 15 0:00 0 S Rule Uruguay 1972 only - Aug 15 0:00 0 -
Rule Uruguay 1974 only - Mar 10 0:00 0:30 HD Rule Uruguay 1974 only - Mar 10 0:00 0:30 HS
Rule Uruguay 1974 only - Dec 22 0:00 1:00 D Rule Uruguay 1974 only - Dec 22 0:00 1:00 S
Rule Uruguay 1976 only - Oct 1 0:00 0 S Rule Uruguay 1976 only - Oct 1 0:00 0 -
Rule Uruguay 1977 only - Dec 4 0:00 1:00 D Rule Uruguay 1977 only - Dec 4 0:00 1:00 S
Rule Uruguay 1978 only - Apr 1 0:00 0 S Rule Uruguay 1978 only - Apr 1 0:00 0 -
Rule Uruguay 1979 only - Oct 1 0:00 1:00 D Rule Uruguay 1979 only - Oct 1 0:00 1:00 S
Rule Uruguay 1980 only - May 1 0:00 0 S Rule Uruguay 1980 only - May 1 0:00 0 -
Rule Uruguay 1987 only - Dec 14 0:00 1:00 D Rule Uruguay 1987 only - Dec 14 0:00 1:00 S
Rule Uruguay 1988 only - Mar 14 0:00 0 S Rule Uruguay 1988 only - Mar 14 0:00 0 -
Rule Uruguay 1988 only - Dec 11 0:00 1:00 D Rule Uruguay 1988 only - Dec 11 0:00 1:00 S
Rule Uruguay 1989 only - Mar 12 0:00 0 S Rule Uruguay 1989 only - Mar 12 0:00 0 -
Rule Uruguay 1989 only - Oct 29 0:00 1:00 D Rule Uruguay 1989 only - Oct 29 0:00 1:00 S
Rule Uruguay 1990 only - Mar 4 0:00 0 S Rule Uruguay 1990 only - Mar 4 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Montevideo -3:44:44 - LMT 1898 Jun 28 Zone America/Montevideo -3:44:44 - LMT 1898 Jun 28
-3:45 - MMT 1920 May 1 # Montevideo MT -3:44:44 - MMT 1920 May 1 # Montevideo MT
-3:30 Uruguay U%sT 1942 Dec 14 # Uruguay ST -3:30 Uruguay UY%sT 1942 Dec 14 # Uruguay Time
-3:00 Uruguay E%sT -3:00 Uruguay UY%sT
# Venezuela # Venezuela
# Zone NAME GMTOFF RULES FORMAT [UNTIL] # Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Caracas -4:27:44 - LMT 1890 Zone America/Caracas -4:27:44 - LMT 1890
-4:28 - CMT 1912 Feb 12 # Caracas Mean Time -4:27:44 - CMT 1912 Feb 12 # Caracas Mean Time
-4:30 - VZT 1965 # Venezuela Time -4:30 - VET 1965 # Venezuela Time
-4:00 - AST -4:00 - VET

View File

@ -1,6 +1,6 @@
#ifndef lint #ifndef lint
#ifndef NOID #ifndef NOID
static char elsieid[] = "@(#)zic.c 7.77"; static char elsieid[] = "@(#)zic.c 7.78";
#endif /* !defined NOID */ #endif /* !defined NOID */
#endif /* !defined lint */ #endif /* !defined lint */
@ -136,9 +136,9 @@ static void usage P((void));
static void writezone P((const char * name)); static void writezone P((const char * name));
static int yearistype P((int year, const char * type)); static int yearistype P((int year, const char * type));
#if !HAVE_STRERROR #if !(HAVE_STRERROR - 0)
static char * strerror P((int)); static char * strerror P((int));
#endif /* !HAVE_STRERROR */ #endif /* !(HAVE_STRERROR - 0) */
static int charcnt; static int charcnt;
static int errors; static int errors;
@ -375,19 +375,18 @@ char * const ptr;
** Error handling. ** Error handling.
*/ */
#if ! HAVE_STRERROR #if !(HAVE_STRERROR - 0)
static char * static char *
strerror(errnum) strerror(errnum)
int errnum; int errnum;
{ {
extern char *sys_errlist[]; extern char * sys_errlist[];
extern int sys_nerr; extern int sys_nerr;
if (errnum > 0 && errnum <= sys_nerr) return (errnum > 0 && errnum <= sys_nerr) ?
return sys_errlist[errnum]; sys_errlist[errnum] : "Unknown system error";
return "Unknown system error";
} }
#endif /* ! HAVE_STRERROR */ #endif /* !(HAVE_STRERROR - 0) */
static void static void
eats(name, num, rname, rnum) eats(name, num, rname, rnum)

View File

@ -28,7 +28,7 @@ This is free software; see the source for copying conditions.\n\
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
PARTICULAR PURPOSE.\n" PARTICULAR PURPOSE.\n"
#include "version-info.h" #include "version-info.h"
"Report bugs to <bug-glibc@gnu.ai.mit.edu>.\n"; "Report bugs to <bug-glibc@prep.ai.mit.edu>.\n";
#include <unistd.h> #include <unistd.h>