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>
* 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".
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.
* MakeTAGS ($P/SYS_libc.pot): Rename to $P/libc.pot.
* po/Makefile (domainname): Change to libc.

View file

@ -40,6 +40,9 @@ else
sysdep_dirs := $(addprefix $(..),$(sysdep_dirs))
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.
subdirs += stdio libio
@ -129,8 +132,8 @@ endif
$(..)glibc-$(version):
ln -s . $@
+tsrcs := $(+tsrcs) \
TAGS
#+tsrcs := $(+tsrcs) \
# TAGS
.PHONY: TAGS
TAGS: $(..)MakeTAGS
$(MAKE) -f $< $@ -o subdir_TAGS
@ -195,7 +198,7 @@ $(tardir).tar: dist.tar subdir_dist
@echo Files listed here have names exceeding 14 chars.
tar xfv $< -C /tmp | sed -n '/[^/]\{15,\}/p'
tar covf $@ -C /tmp $(tardir)
-rm -fr /tmp/$(tardir) &
-rm -fr /tmp/$(tardir) dist.tar &
%.Z: %
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.
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,
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.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
also build the library without getting crypt. Users outside the USA
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
# 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
# from each element's parent name and Implies file (if present).
set $sysnames
@ -1174,13 +1170,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
#line 1178 "configure"
#line 1174 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
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`
if test -z "$ac_err"; then
:
@ -1189,13 +1185,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
#line 1193 "configure"
#line 1189 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
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`
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
else
cat > conftest.$ac_ext <<EOF
#line 1341 "configure"
#line 1337 "configure"
#include "confdefs.h"
#define __need_size_t
#define __need_wchar_t
@ -1353,7 +1349,7 @@ size_t size; wchar_t wchar;
if (&size == NULL || &wchar == NULL) abort ();
; return 0; }
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*
libc_cv_friendly_stddef=yes
else
@ -1460,7 +1456,7 @@ if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1464 "configure"
#line 1460 "configure"
#include "confdefs.h"
int main() { return 0; }
@ -1470,7 +1466,7 @@ asm (".section .init");
asm (".text");
; return 0; }
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*
libc_cv_have_initfini=yes
else
@ -1498,7 +1494,7 @@ if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1502 "configure"
#line 1498 "configure"
#include "confdefs.h"
asm ("_glibc_foobar:");
int main() { return 0; }
@ -1506,7 +1502,7 @@ int t() {
glibc_foobar ();
; return 0; }
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*
libc_cv_asm_underscores=yes
else
@ -1600,7 +1596,7 @@ __throw () {}
EOF
if { ac_try='${CC-cc} $CFLAGS
-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
else
libc_cv_ld_no_whole_archive=no
@ -1621,7 +1617,7 @@ __throw () {}
EOF
if { ac_try='${CC-cc} $CFLAGS
-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
else
libc_cv_gcc_no_exceptions=no

View file

@ -256,10 +256,6 @@ if test "$elf" = yes; then
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
# from each element's parent name and Implies file (if present).
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
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 \
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 / 2) {
(void)fprintf(stderr,
_("socket: protocol failure in circuit setup.\n"));
_("socket: protocol failure in circuit setup\n"));
goto bad2;
}
}

View file

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

View file

@ -40,7 +40,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define EOF (-1)
#endif
#ifndef BUFSIZ
#define BUFSIZ 1024
#define BUFSIZ _IO_BUFSIZ
#endif
#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_unlocked __P ((int));
# define getc_unlocked(fp) _IO_getc_unlocked (fp)
# define getc_locked(fp) fgetc (fp)
# define getchar_unlocked() getc_unlocked (stdin)
# define getchar_locked() getc_locked (stdin)
# 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_locked(c) putc_locked (c, stdout)
# define putc(c, fp) putc_locked (c, fp)
#else
# define getc(fp) _IO_getc_unlocked (fp)
# define putc(c, fp) _IO_putc_unlocked (c, fp)
# ifndef _LIBC
# define getc_unlocked(fp) _IO_getc_unlocked (fp)
# define getc_locked(fp) fgetc (fp)
# define getchar_unlocked() getc_unlocked (stdin)
# define getchar_locked() getc_locked (stdin)
# define getc(fp) getc_locked (fp)
# define putchar_unlocked(c) putc_unlocked (c, stdout)
# define putchar_locked(c) putc_locked (c, stdout)
# define putc(c, fp) putc_locked (c, fp)
# endif
#endif /* __USE_REENTRANT */

View file

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

View file

@ -121,6 +121,24 @@ parse_line (char *line, struct STRUCTURE *result, \
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) == ':')

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
extra-libs := libresolv
libresolv-routines := gethnamaddr res_comp res_debug res_data res_mkquery \
res_query res_send inet_net_ntop inet_net_pton \
inet_neta base64
libresolv-routines := gethnamaddr getnetnamadr res_comp res_debug \
res_data res_mkquery res_query res_send \
inet_net_ntop inet_net_pton inet_neta base64
include ../Rules

View file

@ -28,48 +28,48 @@ putspent (const struct spwd *p, FILE *stream)
{
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;
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
&& putc (':', stream) == EOF))
++errors;
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
&& putc (':', stream) == EOF))
++errors;
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
&& putc (':', stream) == EOF))
++errors;
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
&& putc (':', stream) == EOF))
++errors;
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
&& putc (':', stream) == EOF))
++errors;
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
&& putc (':', stream) == EOF))
++errors;
if ((p->sp_flag != -1l
&& fprintf (stream, "%ld", p->sp_flag) < 0)
|| (p->sp_flag == -1l
if ((p->sp_flag != ~0ul
&& fprintf (stream, "%ld:", p->sp_flag) < 0)
|| (p->sp_flag == ~0ul
&& putc (':', stream) == EOF))
++errors;

View file

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

View file

@ -208,7 +208,19 @@ DEFUN(main, (argc, argv), int argc AND char **argv)
it = "strlen";
check(strlen("") == 0, 1); /* Empty. */
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. */
it = "strchr";
@ -223,6 +235,18 @@ DEFUN(main, (argc, argv), int argc AND char **argv)
(void) strcpy(one, "");
check(strchr(one, 'b') == NULL, 7); /* 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
/* index - just like strchr. */
@ -253,6 +277,18 @@ DEFUN(main, (argc, argv), int argc AND char **argv)
(void) strcpy(one, "");
check(strrchr(one, 'b') == NULL, 7); /* 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
/* rindex - just like strrchr. */
@ -515,8 +551,8 @@ DEFUN(main, (argc, argv), int argc AND char **argv)
char buf[128 + sizeof(long)];
long align, len, i, pos;
for (align = 0; align < sizeof(long); ++align) {
for (len = 0; len < sizeof(buf) - align; ++len) {
for (align = 0; align < (long) sizeof(long); ++align) {
for (len = 0; len < (long) (sizeof(buf) - align); ++len) {
for (i = 0; i < len; ++i) {
buf[align + i] = 'x'; /* don't depend on memset... */
}

View file

@ -19,9 +19,10 @@ Cambridge, MA 02139, USA. */
#include <sysdep.h>
ENTRY(fabs)
ENTRY(__fabs)
.prologue 0
cpys $f31,$f16,$f0
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 (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.
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>
Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
This file is part of the GNU C Library.
@ -84,7 +84,7 @@ L12: orb %dl, %dl /* is NUL? */
cmpb %dl, %cl /* compare byte */
jne L13 /* target found => return */
movl %esi, %eax /* remember pointer as result */
L13: orb %cl, %cl /* is NUL? */
L13: orb %dl, %dl /* is NUL? */
jz L2 /* yes => return NULL */
incl %esi /* increment pointer */
@ -134,7 +134,11 @@ L13: orb %cl, %cl /* is NUL? */
/* These fill bytes make the main loop be correctly aligned.
We cannot use align because it is not the following instruction
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 */
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>
#ifdef __NO_MATH_INLINES
#ifdef __NO_M81_MATH_INLINES
/* This is used when defining the functions themselves. Define them with
__ names, and with `static inline' instead of `extern inline' so the
bodies will always be used, never an external function call. */
@ -29,7 +29,7 @@ Cambridge, MA 02139, USA. */
#else
#define __m81_u(x) x
#define __m81_inline extern __inline
#define __MATH_INLINES 1
#define __M81_MATH_INLINES 1
#endif
/* 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,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#define __NO_M81_MATH_INLINES
#include <math.h>
#include "math_private.h"
#ifndef FUNC
#define FUNC __ieee754_acos
@ -27,7 +28,8 @@ Cambridge, MA 02139, USA. */
#endif
float_type
DEFUN(FUNC, (x), float_type x)
FUNC (x)
float_type 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,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#define __NO_M81_MATH_INLINES
#include <math.h>
#include "math_private.h"
#ifndef FUNC
#define FUNC __ieee754_fmod
@ -27,7 +28,9 @@ Cambridge, MA 02139, USA. */
#endif
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);
}

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,
Cambridge, MA 02139, USA. */
#define __NO_M81_MATH_INLINES
#include <math.h>
#include "math_private.h"
#ifndef FUNC
#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,
Cambridge, MA 02139, USA. */
#define __NO_M81_MATH_INLINES
#include <math.h>
#include "math_private.h"
#ifndef FUNC
#define FUNC sin
@ -35,7 +37,7 @@ __CONCATX(__kernel_,FUNC) (x, y, iy)
{
float_type sin_x, cos_x, sin_y, cos_y;
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)
: "f" (x));
__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,
Cambridge, MA 02139, USA. */
#define __NO_M81_MATH_INLINES
#include <math.h>
#include "math_private.h"
#ifndef FUNC
#define FUNC tan
@ -34,8 +36,8 @@ __CONCATX(__kernel_,FUNC) (x, y, iy)
int iy;
{
float_type tan_x, tan_y;
tan_x = __m81_u_(__CONCATX(__,FUNC)) (x);
tan_y = __m81_u_(__CONCATX(__,FUNC)) (y);
tan_x = __m81_u(__CONCATX(__,FUNC)) (x);
tan_y = __m81_u(__CONCATX(__,FUNC)) (y);
if (iy > 0)
return (tan_x + tan_y) / (1 - tan_x * tan_y);
else

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,4 +1,2 @@
/* __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. */
/* __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. */
double
DEFUN(sqrt, (x), double x)
DEFUN(__ieee754_sqrt, (x), double x)
{
register double result;
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
clone.S
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
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)
jeql 0b /* loop if same */
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 */
movl r1,r0
2: ret
weak_alias (strchr, index)

View file

@ -112,3 +112,5 @@ Lreent:
3:
movl r5,r0 /* return stashed pointer */
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,
# go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future).
# From Paul Eggert <eggert@twinsun.com> (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
# Thomas G. Shanks, The International Atlas (3rd edition),
@ -61,64 +61,95 @@
# Omit `.' from abbreviations in names, e.g. prefer `St_Helena'
# to `St._Helena'.
#
# We typically use traditional English time zone abbreviations,
# and assume that applications translate them to other languages
# as part of the normal localization process.
# For time zone abbreviations like `EST' I used the following rules,
# in decreasing order of importance:
#
# 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
# -2:00 CVT Cape Verde Time (no longer used)
# -1:00 AAT Atlantic Africa Time
# -1:00 AAT Atlantic Africa Time (no longer used)
# 0:00 WAT West Africa Time
# 1:00 CAT Central Africa Time
# 2:00 SAT South 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'.
# BEAT is British East Africa Time, which was 2:30 before 1948 and 2:45 after.
# Algeria
# 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 1917 only - Mar 24 23:00s 1:00 " DST"
Rule Algeria 1918 only - Mar 9 23:00s 1:00 " DST"
Rule Algeria 1919 only - Mar 1 23:00s 1:00 " DST"
Rule Algeria 1920 only - Feb 14 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 S
Rule Algeria 1919 only - Mar 1 23:00s 1:00 S
Rule Algeria 1920 only - Feb 14 23:00s 1:00 S
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 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 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 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 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 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 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 -
# Shanks gives 0:09 for Paris Mean Time; go with Howse's more precise 0:09:21.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
0:00 Algeria WET%s 1940 Feb 25 2:00
1:00 Algeria MET%s 1946 Oct 7
0:00 Algeria WE%sT 1940 Feb 25 2:00
1:00 Algeria CE%sT 1946 Oct 7
0:00 - WET 1956 Jan 29
1:00 - MET 1963 Apr 14
0:00 Algeria WET%s 1977 Oct 21
1:00 Algeria MET%s 1979 Oct 26
0:00 Algeria WET%s 1981 May
1:00 - MET
1:00 - CET 1963 Apr 14
0:00 Algeria WE%sT 1977 Oct 21
1:00 Algeria CE%sT 1979 Oct 26
0:00 Algeria WE%sT 1981 May
1:00 - CET
# Angola
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
# Bassas da India
@ -160,7 +191,7 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1907 # Praia
-2:00 - CVT 1942 Sep
-2:00 1:00 CVST 1945 Oct 15
-2:00 - CVT 1975 Nov 25 2:00
-1:00 - AAT
-1:00 - CVT
# Central African Republic
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -211,28 +242,28 @@ Zone Africa/Djibouti 2:52:36 - LMT 1911 Jul
# From Shanks (1991):
# 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 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 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 1943 1945 - Nov 1 0:00 0 -
Rule Egypt 1945 only - Apr 16 0:00 1:00 " DST"
Rule Egypt 1957 only - May 10 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 S
Rule Egypt 1957 1958 - Oct 1 0:00 0 -
Rule Egypt 1958 only - May 1 0:00 1:00 " DST"
Rule Egypt 1959 1981 - May 1 1: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 S
Rule Egypt 1959 1965 - Sep 30 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 1983 only - Jul 12 1:00 1:00 " DST"
Rule Egypt 1984 1988 - May 1 1:00 1:00 " DST"
Rule Egypt 1989 only - May 6 1:00 1:00 " DST"
Rule Egypt 1990 max - May 1 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 S
Rule Egypt 1984 1988 - May 1 1:00 1:00 S
Rule Egypt 1989 only - May 6 1:00 1:00 S
Rule Egypt 1990 max - May 1 1:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Cairo 2:05:00 - LMT 1900 Oct
2:00 Egypt EET%s
2:00 Egypt EE%sT
# Equatorial Guinea
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -243,14 +274,14 @@ Zone Africa/Malabo 0:35:08 - LMT 1912
# Eritrea
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Asmera 2:35:32 - LMT 1870
2:36 - AMT 1890 # Asmera Mean Time
2:35 - AAMT 1936 May 5 # Addis Ababa MT
2:35:32 - AMT 1890 # Asmera Mean Time
2:35:20 - AAMT 1936 May 5 # Addis Ababa MT?
3:00 - EAT
# Ethiopia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
# Europa Island
@ -264,17 +295,17 @@ Zone Africa/Libreville 0:37:48 - LMT 1912
# Gambia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
0:00 - WAT
# Ghana
# From Paul Eggert <eggert@twinsun.com> (November 18, 1993):
# WATDT is my invention for ``West Africa one-Third Daylight Time''.
# From Paul Eggert <eggert@twinsun.com> (1996-09-03):
# WATST is my invention for ``West Africa one-Third Summer Time''.
# From Shanks (1991):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# 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
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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 Africa/Monrovia -0:43:08 - LMT 1882
-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
###############################################################################
@ -345,28 +376,28 @@ Zone Africa/Monrovia -0:43:08 - LMT 1882
# From Shanks (1991):
# 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 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 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 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 1985 only - Apr 6 0:00 1:00 " DST"
Rule Libya 1986 only - Apr 4 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 S
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 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 Africa/Tripoli 0:52:44 - LMT 1920
1:00 Libya MET%s 1959
1:00 Libya CE%sT 1959
2:00 - EET 1982
# From Paul Eggert <eggert@twinsun.com> (1995-12-19):
# 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.
1:00 Libya MET%s 1991
1:00 Libya CE%sT 1991
2:00 - EET
# Madagascar
@ -401,7 +432,7 @@ Zone Africa/Nouakchott -1:03:48 - LMT 1912
# Mauritius
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
4:00 - SMT
4:00 - MUT # Mauritius Time
# Agalega Is, Rodriguez
# no information; probably like Indian/Mauritius
@ -411,29 +442,31 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
3:00 - EAT
# Morocco
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Morocco 1939 only - Sep 12 0:00 1:00 " DST"
# rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Morocco 1939 only - Sep 12 0:00 1:00 S
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 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 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 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 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 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 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
0:00 Morocco WET%s 1984 Mar 16
1:00 - MET 1986
0:00 Morocco WE%sT 1984 Mar 16
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
# The following are controlled by Spain, and are like Europe/Madrid:
# Alboran, Alhucemas Is, Ceuta, Chafarinas Is, Melilla.
# Mozambique
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -463,7 +496,7 @@ Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
# Reunion
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
4:00 - SMT
4:00 - RET # Reunion Time
# Rwanda
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -473,7 +506,7 @@ Zone Africa/Kigali 2:00:16 - LMT 1935 Jun
# St Helena
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
# The other parts of the St Helena territory are similar:
# 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
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
# Senegal
@ -495,7 +528,7 @@ Zone Africa/Dakar -1:09:44 - LMT 1912
# Seychelles
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
4:00 - SMT
4:00 - SCT # Seychelles Time
# Sierra Leone
# 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 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
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
# United Nations: 212-573-6033
# 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 1971 only - Apr 30 0:00 1:00 " DST"
Rule Sudan 1972 1985 - Apr lastSun 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 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Khartoum 2:10:08 - LMT 1931
2:00 Sudan EET%s
2:00 Sudan EE%sT
# Swaziland
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -567,34 +600,34 @@ Zone Africa/Lome 0:04:52 - LMT 1893
# Tunisia
# 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 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 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 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 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 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 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 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 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 1989 only - Mar 26 0:00s 1:00 " DST"
Rule Tunisia 1990 only - May 1 0:00s 1:00 " DST"
Rule Tunisia 1991 max - Mar lastSun 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 S
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 says the 1911 switch occurred on Mar 9; go with Howse's Mar 11.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
1:00 Tunisia MET%s
1:00 Tunisia CE%sT
# Uganda
# 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 Africa/Kinshasa 1:01:12 - LMT 1897 Nov 9
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
# Zambia

View file

@ -1,25 +1,151 @@
# @(#)antarctica 7.3
# @(#)antarctica 7.4
# From Arthur David Olson (February 13, 1988):
# No data available.
# From Paul Eggert (1996-09-03):
# 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
# South Orkney Is
# South Shetland Is
# Argentina - 6 year-round bases
# General Belgrano II
# 5 others
# Bouvet
# uninhabited
# Australia - territories
# 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
# Amsterdam Island
# Crozet Is
# Kerguelen Is
# St Paul Island
# Brazil - year-round base
# Ferraz, King George Island, since 1983/4
# Heard Island, McDonald Is
# uninhabited
# Chile - 4 year-round bases
# Peter I Island
# 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
# Crozet Islands
# Kerguelen Islands
# St Paul Island
#
# year-round base
# Dumont d'Urville, Adelie Land, since IGY
# Germany - year-round base
# Georg von Neumayer
# 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
#
# 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

524
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,
# go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future).
# From Paul Eggert <eggert@twinsun.com> (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
# Thomas G. Shanks, The International Atlas (3rd edition),
@ -25,42 +25,20 @@
# std dst
# LMT Local Mean Time
# 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
# 3:00 AST ADT Arabia*
# 3:00 BSK BSD Baku (was 4:00)*
# 3:30 IST IDT Iran
# 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*
# 4:00 GST Gulf*
# 5:30 IST India
# 7:00 ICT Indochina*
# 7:00 JVT Java*
# 8:00 BNT Borneo, Brunei*
# 8:00 CST CDT China
# 8:00 HKT HKST Hong Kong
# 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
# 8:00 CST China
# 9:00 JST Japan
# 9:00 KST Korea
# 9:30 CST (Australian) Central Standard Time
#
# 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:
# 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.
# 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 1983 - Oct 1 0:00 0 K
Rule RussiaAsia 1984 max - Sep lastSun 2:00s 0 K
Rule RussiaAsia 1985 max - Mar lastSun 2:00s 1:00 D
Rule RussiaAsia 1981 1984 - Apr 1 0:00 1:00 S
Rule RussiaAsia 1981 1983 - Oct 1 0:00 0 -
Rule RussiaAsia 1984 max - Sep lastSun 2:00s 0 -
Rule RussiaAsia 1985 max - Mar lastSun 2:00s 1:00 S
# Afghanistan
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Kabul 4:36:48 - LMT 1890
4:00 - GST 1945
4:00 - AFT 1945
4:30 - AFT
# 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,
# 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.
# 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 Armenia 1992 1995 - Sep lastSun 2:00s 0 S
Rule Armenia 1992 1995 - Mar lastSun 2:00s 1:00 D
Rule Armenia 1991 1995 - Mar lastSun 2:00s 1:00 S
Rule Armenia 1991 1995 - Sep lastSun 2:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2
3:00 - YSK 1957 Mar
4:00 RussiaAsia YS%s 1991 Mar 31 2:00s
3:00 1:00 YSD 1991 Sep 29 2:00s
3:00 - AMST 1992 Jan 19 2:00s
4:00 Armenia AM%sT 1996
4:00 - AMST
3:00 - YERT 1957 Mar # Yerevan Time
4:00 RussiaAsia YER%sT 1991 Mar 31 2:00s
3:00 1:00 YERST 1991 Sep 23 # independence
3:00 Armenia AM%sT 1992 Jan 19 2:00s # Armenia Time
4:00 Armenia AM%sT
# Azerbaijan
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Baku 3:19:24 - LMT 1924 May 2
3:00 - BSK 1957 Mar
4:00 RussiaAsia BS%s 1991 Mar 31 2:00s
3:00 1:00 BSD 1991 Sep 29 2:00s
3:00 - BSK
3:00 - BAKT 1957 Mar # Baku Time
4:00 RussiaAsia BAK%sT 1991 Mar 31 2:00s
3:00 1:00 BAKST 1991 Aug 30 # independence
3:00 RussiaAsia AZ%sT 1992 # Azerbaijan Time
3:00 - AZT
# 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
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -124,22 +99,23 @@ Zone Asia/Bahrain 3:22:20 - LMT 1920 # Al-Manamah
# Bangladesh
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Dacca 6:01:40 - LMT 1890
5:53 - CMT 1941 Oct # Calcutta Mean Time
6:30 - BMT 1942 May 15
5:53:20 - HMT 1941 Oct # Howrah Mean Time?
6:30 - BURT 1942 May 15 # Burma Time
5:30 - IST 1942 Sep
6:30 - BMT 1951 Sep 30
6:00 - BGT
6:30 - BURT 1951 Sep 30
6:00 - DACT 1971 Mar 26 # Dacca Time
6:00 - BDT # Bangladesh Time
# Bhutan
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Thimbu 5:58:36 - LMT 1947 Aug 15
5:30 - IST 1987 Oct
6:00 - BGT
6:00 - BTT # Bhutan Time
# British Indian Ocean Territory
# From Whitman:
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Chagos 5:00 - PKT
Zone Indian/Chagos 5:00 - IOT # BIOT Time
# Brunei
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -150,15 +126,15 @@ Zone Asia/Brunei 7:39:40 - LMT 1926 Mar # Bandar Seri Begawan
# Burma / Myanmar
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Rangoon 6:24:40 - LMT 1880 # or Yangon
6:25 - RMT 1920
6:30 - BMT 1942 May
6:24:36 - RMT 1920 # Rangoon Mean Time?
6:30 - BURT 1942 May # Burma Time
9:00 - JST 1945 May 3
6:30 - BMT
6:30 - MMT # Myanmar Time
# Cambodia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
8:00 - ICT 1931 May
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
# From Paul Eggert <eggert@twinsun.com> (1995-12-19):
# Shanks writes that China switched from the Chinese calendar on 1912 Feb 12.
# He also writes that China has had a single time zone since 1980 May 1,
# Shanks writes that China has had a single time zone since 1980 May 1,
# observing summer DST from 1986 through 1991; this contradicts Devine's
# note about Time magazine, though apparently _something_ happened in 1986.
# 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
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
9:00 - KST 1966 May
8:30 - MAT 1980 May
9:00 - HART 1966 May
8:30 - HART 1980 May
8:00 PRC C%sT
Zone Asia/Shanghai 8:05:52 - LMT 1928
8:00 Shang C%sT 1949
8:00 PRC C%sT
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
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
Zone Asia/Kashgar 5:03:56 - LMT 1928
5:30 - ETT 1940 # Eastern Turkestan
5:00 - ETT 1980 May
5:30 - KAST 1940 # Kashgar Time
5:00 - KAST 1980 May
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 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
# 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 1964 - Nov Sun>=1 3:30 0 S
Rule Macao 1963 only - Mar Sun>=16 0:00 1:00 D
Rule Macao 1964 only - Mar Sun>=16 3:30 1:00 D
Rule Macao 1965 only - Mar Sun>=16 0:00 1:00 D
Rule Macao 1965 only - Oct 31 0:00 0 S
Rule Macao 1966 1971 - Apr Sun>=16 3:30 1:00 D
Rule Macao 1966 1971 - Oct Sun>=16 3:30 0 S
Rule Macao 1972 1974 - Apr Sun>=15 0:00 1:00 D
Rule Macao 1972 1973 - Oct Sun>=15 0:00 0 S
Rule Macao 1974 1977 - Oct Sun>=15 3:30 0 S
Rule Macao 1975 1977 - Apr Sun>=15 3:30 1:00 D
Rule Macao 1978 1980 - Apr Sun>=15 0:00 1:00 D
Rule Macao 1978 1980 - Oct Sun>=15 0:00 0 S
Rule Macao 1961 1962 - Mar Sun>=16 3:30 1:00 S
Rule Macao 1961 1964 - Nov Sun>=1 3:30 0 -
Rule Macao 1963 only - Mar Sun>=16 0:00 1:00 S
Rule Macao 1964 only - Mar Sun>=16 3:30 1:00 S
Rule Macao 1965 only - Mar Sun>=16 0:00 1:00 S
Rule Macao 1965 only - Oct 31 0:00 0 -
Rule Macao 1966 1971 - Apr Sun>=16 3:30 1:00 S
Rule Macao 1966 1971 - Oct Sun>=16 3:30 0 -
Rule Macao 1972 1974 - Apr Sun>=15 0:00 1:00 S
Rule Macao 1972 1973 - Oct Sun>=15 0:00 0 -
Rule Macao 1974 1977 - Oct Sun>=15 3:30 0 -
Rule Macao 1975 1977 - Apr Sun>=15 3:30 1:00 S
Rule Macao 1978 1980 - Apr Sun>=15 0:00 1:00 S
Rule Macao 1978 1980 - Oct Sun>=15 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
# 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 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 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 1978 only - Oct 2 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 Asia/Nicosia 2:13:28 - LMT 1921 Nov 14
2:00 Cyprus EET%s
2:00 Cyprus EE%sT
# Georgia
# 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.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Tbilisi 2:59:16 - LMT 1880
2:59 - LST 1924 May 2
3:00 - TBSK 1957 Mar
4:00 RussiaAsia TBS%s 1991 Mar 31 2:00s
3:00 1:00 TBSD 1991 Sep 29 2:00s
3:00 RussiaAsia TBS%s 1994 Sep 25 2:00s
4:00 - TBSK
2:59:16 - TBMT 1924 May 2 # Tbilisi Mean Time
3:00 - TBIT 1957 Mar # Tbilisi Time
4:00 RussiaAsia TBI%sT 1991 Mar 31 2:00s
3:00 1:00 TBIST 1991 Apr 9 # independence
3:00 RussiaAsia GE%sT 1994 Sep 25 2:00s # Georgia Time
4:00 - GET
# India
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Calcutta 5:53:28 - LMT 1880
5:53 - CMT 1941 Oct # Calcutta Mean Time
6:30 - BMT 1942 May 15
5:53:20 - HMT 1941 Oct # Howrah Mean Time?
6:30 - BURT 1942 May 15 # Burma Time
5:30 - IST 1942 Sep
5:30 1:00 IST 1945 Oct 15
5:30 - IST
@ -339,36 +316,36 @@ Zone Asia/Calcutta 5:53:28 - LMT 1880
# Indonesia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Jakarta 7:07:12 - LMT 1867 Aug 10
7:07 - JMT 1924 Jan 1 0:13
7:20 - JVT 1932 Nov
7:30 - JVT 1942 Mar 23
7:07:12 - JMT 1924 Jan 1 0:13 # Jakarta MT
7:20 - JAVT 1932 Nov # Java Time
7:30 - JAVT 1942 Mar 23
9:00 - JST 1945 Aug
7:30 - JVT 1948 May
8:00 - JVT 1950 May
7:30 - JVT 1964
7:00 - JVT
7:30 - JAVT 1948 May
8:00 - JAVT 1950 May
7:30 - JAVT 1964
7:00 - JAVT
Zone Asia/Ujung_Pandang 7:57:36 - LMT 1920
7:58 - MMT 1932 Nov # Macassar Mean Time
8:00 - BNT 1942 Feb 9
7:57:36 - MMT 1932 Nov # Macassar MT
8:00 - BORT 1942 Feb 9 # Borneo Time
9:00 - JST 1945 Aug
8:00 - BNT
8:00 - BORT
Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
9:00 - MLT 1944
9:00 - JAYT 1944 # Jayapura Time
9:30 - CST 1964
9:00 - MLT
9:00 - JAYT
# Iran
# 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 only - Oct 21 0:00 0 S
Rule Iran 1979 only - Sep 19 0:00 0 S
Rule Iran 1980 only - Sep 23 0:00 0 S
Rule Iran 1978 1980 - Mar 21 0:00 1:00 S
Rule Iran 1978 only - Oct 21 0:00 0 -
Rule Iran 1979 only - Sep 19 0:00 0 -
Rule Iran 1980 only - Sep 23 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Tehran 3:25:44 - LMT 1916
3:26 - TMT 1946
3:30 - IST 1977 Nov
4:00 Iran G%sT 1979
3:30 Iran I%sT
3:25:44 - TMT 1946 # Tehran Mean Time
3:30 - IRT 1977 Nov
4:00 Iran IR%sT 1979
3:30 Iran IR%sT
# Iraq
# 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
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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 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 1988 only - Apr 9 0:00 1:00 D
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):
#
@ -466,25 +437,25 @@ Rule Zion 1988 only - Sep 3 0:00 0 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 - 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 - 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 - 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 - 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 - 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
# Ministry of Interior, Jerusalem, Israel. The spokeswoman can be reached by
# calling the switchboard at 972-2-701411 and asking for the spokeswoman.
# 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 - Aug 28 0:00 0:00 S
Rule Zion 1995 only - Mar 31 0:00 1:00 D
Rule Zion 1995 only - Sep 3 0:00 0:00 S
Rule Zion 1994 only - Apr 1 0:00 1:00 D
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 - Sep 3 0:00 0 S
# The dates for 1996-1998 were also obtained from Office of the Spokeswoman
# 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 Zion 1996 1998 - Mar Fri>=14 0:00 1:00 D
Rule Zion 1996 only - Sep 16 0:00 0:00 S
Rule Zion 1997 1998 - Oct Sun>=14 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 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
@ -531,29 +502,12 @@ Zone Asia/Jerusalem 2:20:56 - LMT 1880
#Rule Japan 1950 1951 - May Sun>=1 2:00 1:00 D
# but the only locations using it were US military bases.
# We go with Shanks and omit daylight saving in those years for Asia/Tokyo.
#
# 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 Asia/Tokyo 9:19:04 - LMT 1896
9:00 - JST
# If Japan adopts DST in 1996, replace the above line with the following lines:
# 9:00 - JST 1996
# 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
Zone Asia/Ishigaki 8:16:36 - LMT 1896
8:00 - CST
# There is no information for Marcus.
# 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.
# From Shanks (1991):
# 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 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 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 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 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 1989 only - May 8 0:00 1:00 " DST"
Rule Jordan 1990 only - Apr 27 0:00 1:00 " DST"
Rule Jordan 1991 only - Apr 19 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 S
Rule Jordan 1991 only - Apr 19 0:00 1:00 S
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 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Amman 2:23:44 - LMT 1931
2:00 Jordan EET%s
2:00 Jordan EE%sT
# Kazakhstan
# 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.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Alma-Ata 5:07:48 - LMT 1924 May 2 # or Almaty
5:00 - AASK 1957 Mar
6:00 RussiaAsia AAS%s 1991 Mar 31 2:00s
5:00 1:00 AASD 1991 Sep 29 2:00s
5:00 - AASK 1992 Jan 19 2:00s
6:00 RussiaAsia AAS%s
5:00 - ALMT 1957 Mar # Alma-Ata Time
6:00 RussiaAsia ALM%sT 1991 Mar 31 2:00s
5:00 1:00 ALMST 1991 Sep 29 2:00s
5:00 - ALMT 1992 Jan 19 2:00s
6:00 RussiaAsia ALM%sT
Zone Asia/Aktau 3:21:04 - LMT 1924 May 2 # or Aqtau
4:00 - SHSK 1957 Mar # Fort Shevchenko
5:00 RussiaAsia SHS%s 1991 Mar 31 2:00s
4:00 1:00 ASD 1991 Sep 29 2:00s
4:00 - ASK 1992 Jan 19 2:00s
5:00 RussiaAsia AS%s
4:00 - SHET 1957 Mar # Fort Shevchenko Time
5:00 RussiaAsia SHE%sT 1991 Mar 31 2:00s
4:00 1:00 AKTST 1991 Sep 29 2:00s
4:00 - AKTT 1992 Jan 19 2:00s # Aktau Time
5:00 RussiaAsia AKT%sT
# Kirgizstan
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Bishkek 4:58:24 - LMT 1924 May 2
5:00 - FSK 1957 Mar # Frunze
6:00 RussiaAsia FS%s 1991 Mar 31 2:00s
5:00 1:00 FSD 1991 Sep 29 2:00s
5:00 RussiaAsia BS%s
5:00 - FRUT 1957 Mar # Frunze Time
6:00 RussiaAsia FRU%sT 1991 Mar 31 2:00s
5:00 1:00 FRUST 1991 Aug 31 # independence
5:00 RussiaAsia KG%sT # Kirgizstan Time
###############################################################################
@ -653,81 +607,90 @@ Zone Asia/Kuwait 3:11:56 - LMT 1950
# Laos
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
8:00 - ICT 1931 May
7:00 - ICT
# Lebanon
# 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 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 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 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 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 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 1973 1977 - May 1 0:00 1:00 " DST"
Rule Lebanon 1978 only - Apr 30 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 S
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 1988 only - Jun 1 0:00 1:00 " DST"
Rule Lebanon 1989 only - May 10 0:00 1:00 " DST"
Rule Lebanon 1990 max - May 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 S
Rule Lebanon 1990 max - May 1 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Beirut 2:22:00 - LMT 1880
2:00 Lebanon EET%s
2:00 Lebanon EE%sT
# 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 Asia/Kuala_Lumpur 6:46:48 - LMT 1880
6:55 - SMT 1905 Jun
7:00 - SGT 1933
7:20 - SGT 1942 Feb 15
6:55:24 - SMT 1905 Jun # Singapore Mean Time
7:00 - MALT 1933 # Malaya Time
7:20 - MALT 1942 Feb 15
9:00 - JST 1945 Sep 2
7:20 - SGT 1950
7:30 - SGT 1982 May
8:00 - SGT
7:20 - MALT 1950
7:30 - MALT 1982 May
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
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Maldives 4:54:00 - LMT 1880 # Male
4:54 - MMT 1960
5:00 - PKT
Zone Indian/Maldives 4:54:00 - LMT 1880 # Male
4:54:00 - MMT 1960 # Male Mean Time
5:00 - MVT # Maldives Time
# Mongolia
# Shanks says that Mongolia has three time zones,
# but usno1995 and http://www.odci.gov/cia/publications/95fact/802389h.gif
# Shanks says that Mongolia has three time zones, but usno1995 and
# <URL:http://www.odci.gov/cia/publications/95fact/802389h.gif> (1995)
# both say that it has just one.
# Let's comment out the western and eastern Mongolian time zones
# till we know what their principal towns are.
# 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 - Oct 1 0:00 0 S
Rule Mongol 1985 max - Mar lastSun 2:00 1:00 T
Rule Mongol 1985 max - Sep lastSun 3:00 0 S
Rule Mongol 1981 1984 - Apr 1 0:00 1:00 S
Rule Mongol 1981 1984 - Oct 1 0:00 0 -
Rule Mongol 1985 max - Mar lastSun 2:00 1:00 S
Rule Mongol 1985 max - Sep lastSun 3:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
#Zone Asia/Dariv 6:14:32 - LMT 1905 Aug
# 6:00 - DST 1978
# 7:00 Mongol D%sT
# 6:00 - DART 1978 # Dariv Time
# 7:00 Mongol DAR%sT
Zone Asia/Ulan_Bator 7:07:32 - LMT 1905 Aug
7:00 - UST 1978
8:00 Mongol U%sT
7:00 - ULAT 1978 # Ulan Bator Time
8:00 Mongol ULA%sT
#Zone Asia/Baruun-Urt 7:33:00 - LMT 1905 Aug
# 8:00 - BST 1978
# 9:00 Mongol B%sT
# 8:00 - BART 1978 # Baruun-Urt Time
# 9:00 Mongol BAR%sT
# Nepal
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Katmandu 5:41:16 - LMT 1920
5:30 - IST 1986
5:45 - NPT
5:45 - NPT # Nepal Time
# Oman
# 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 1:00 IST 1945 Oct 15
5:30 - IST 1951 Sep 30
5:00 - PKT
5:00 - KART 1971 Mar 26 # Karachi Time
5:00 - PKT # Pakistan Time
# Palestine
# These rules for Egypt are stolen from the `africa' file.
# 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 1958 only - May 1 0:00 1:00 " DST"
Rule EgyptAsia 1959 1981 - May 1 1: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 S
Rule EgyptAsia 1959 1965 - Sep 30 3:00 0 -
Rule EgyptAsia 1966 max - Oct 1 3:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
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
# This will undoubtedly change soon.
# Paracel Is
# 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.
# The rest of this data is from Shanks.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Phil 1936 only - Nov 1 0:00 1:00 D
Rule Phil 1937 only - Feb 1 0:00 0 S
Rule Phil 1954 only - Apr 12 0:00 1:00 D
Rule Phil 1954 only - Jul 1 0:00 0 S
Rule Phil 1978 only - Mar 22 0:00 1:00 D
Rule Phil 1978 only - Sep 21 0:00 0 S
Rule Phil 1936 only - Nov 1 0:00 1:00 S
Rule Phil 1937 only - Feb 1 0:00 0 -
Rule Phil 1954 only - Apr 12 0:00 1:00 S
Rule Phil 1954 only - Jul 1 0:00 0 -
Rule Phil 1978 only - Mar 22 0:00 1:00 S
Rule Phil 1978 only - Sep 21 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Manila -15:56:00 - LMT 1844
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
8:00 Phil P%sT
8:00 Phil PH%sT
# Qatar
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -792,78 +755,93 @@ Zone Asia/Riyadh 3:06:52 - LMT 1950
# Singapore
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Singapore 6:55:24 - LMT 1880
6:55 - SMT 1905 Jun
7:00 - SGT 1933
7:20 - SGT 1942 Feb 15
6:55:24 - SMT 1905 Jun # Singapore Mean Time
7:00 - MALT 1933 # Malaya Time
7:20 - MALT 1942 Feb 15
9:00 - JST 1945 Sep 2
7:20 - SGT 1950
7:30 - SGT 1982 May
7:20 - MALT 1950
7:30 - MALT 1965 Aug 9 # independence
7:30 - SGT 1982 May # Singapore Time
8:00 - SGT
# Spratly Is
# no information
# 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 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 0:30 IHST 1942 Sep
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
# 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 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 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 1964 only - Oct 1 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 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 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 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 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 1988 only - Mar 15 2:00 1:00 " DST"
Rule Syria 1989 only - Mar 31 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 S
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 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Damascus 2:25:12 - LMT 1920
2:00 Syria EET%s
2:00 Syria EE%sT
# Tajikistan
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2
5:00 - DSK 1957 Mar
6:00 RussiaAsia DS%s 1991
6:00 - DSK
# Shanks has Dushanbe at 5:00 (6:00 summer) after 1991 Sep 29 3:00,
# but usno1995 has it at 6:00. Go with usno1995.
5:00 - DUST 1957 Mar # Dushanbe Time
6:00 RussiaAsia DUS%sT 1991 Mar 31 2:00s
5:00 1:00 DUSST 1991 Sep 9 # independence
5:00 RussiaAsia TJ%sT 1992
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
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
# Turkmenistan
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Ashkhabad 3:53:32 - LMT 1924 May 2
4:00 - ASK 1957 Mar
5:00 RussiaAsia AS%s 1991
5:00 - ASK
# Shanks has Ashkhabad at 4:00 (5:00 summer) after 1991 Sep 20 3:00,
# but usno has it at 5:00. Go with usno1995.
Zone Asia/Ashkhabad 3:53:32 - LMT 1924 May 2 # or Ashgabat
4:00 - ASHT 1957 Mar # Ashkhabad Time
5:00 RussiaAsia ASH%sT 1991 Mar 31 2:00s
4:00 1:00 ASHST 1991 Oct 27 # independence
4:00 RussiaAsia TM%sT 1992 # Turkmenistan Time
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
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -873,14 +851,16 @@ Zone Asia/Dubai 3:41:12 - LMT 1920
# Uzbekistan
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Tashkent 4:37:12 - LMT 1924 May 2
5:00 - TSK 1957 Mar
6:00 RussiaAsia TS%s 1991 Mar 31 2:00s
5:00 1:00 TSD 1991 Sep 29 2:00s
5:00 - TSK
5:00 - TAST 1957 Mar # Tashkent Time
6:00 RussiaAsia TAS%sT 1991 Mar 31 2:00s
5:00 1:00 TASST 1991 Sep 29 2:00s
5:00 - UZT # Uzbekistan Time
# Shanks has Tashkent using DST after 1991, but usno1995 says they don't.
# Go with usno1995.
# http://www.odci.gov/cia/publications/95fact/802389h.gif claims that
# Uzbekistan has two time zones, but we lack data about this.
# Guess no DST after 1991.
# <URL:http://www.odci.gov/cia/publications/95fact/802389h.gif> (1995)
# 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
# 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):
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
8:00 - ICT 1931 May
7:00 - ICT

View file

@ -1,4 +1,4 @@
# @(#)australasia 7.27
# @(#)australasia 7.28
# This file also includes Pacific islands.
# Notes are at the end of this file
@ -143,7 +143,7 @@ Zone Australia/Lord_Howe 10:36:20 - LMT 1895 Feb
# Australian miscellany
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Christmas 7:02:52 - LMT 1895 Feb
7:00 - JVT
7:00 - CXT # Christmas Island Time
#
# Ashmore Is, Cartier
# no indigenous inhabitants; only seasonal caretakers
@ -159,32 +159,32 @@ Zone Indian/Christmas 7:02:52 - LMT 1895 Feb
# Cook Is
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Cook 1978 only - Nov 12 0:00 0:30 HD
Rule Cook 1979 max - Mar Sun>=1 0:00 0 H
Rule Cook 1979 max - Oct lastSun 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 -
Rule Cook 1979 max - Oct lastSun 0:00 0:30 HS
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
-10:30 - CIST 1978 Nov 12 # Cook Is ST
-10:00 Cook T%sT
-10:30 - CKT 1978 Nov 12 # Cook Is Time
-10:00 Cook CK%sT
# Cocos
# From USNO (1989):
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Cocos 6:30 - CCT
Zone Indian/Cocos 6:30 - CCT # Cocos Islands Time
# Fiji
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Fiji 11:53:40 - LMT 1915 Oct 26 # Suva
12:00 - NZST
12:00 - FJT # Fiji Time
# French Polynesia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
-9:30 - MQT
-9:30 - MART # Marquesas Time
Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete
-10:00 - THT
-10:00 - TAHT # Tahiti Time
# Guam
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@ -209,57 +209,57 @@ Zone Pacific/Johnston -10:00 - HST
# Kiribati
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
-12:00 - KJT 1979 Oct
-11:00 - SST 1995
13:00 - TGT
-12:00 - PHOT 1979 Oct # Phoenix Is Time
-11:00 - PHOT 1995
13:00 - PHOT
Zone Pacific/Kiritimati -10:29:20 - LMT 1901
-10:40 - LIT 1979 Oct # Line Is Time
-10:00 - THT 1995
14:00 - KRT
-10:40 - LINT 1979 Oct # Line Is Time
-10:00 - LINT 1995
14:00 - LINT
# N Mariana Is
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Saipan 9:43:00 - LMT 1901
9:00 - PLT 1969 Oct
10:00 - GST
9:00 - MPT 1969 Oct # N Mariana Is Time
10:00 - MPT
# Marshall Is
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Majuro 11:24:48 - LMT 1901
11:00 - NCST 1969 Oct
12:00 - NZST
11:00 - MHT 1969 Oct # Marshall Islands Time
12:00 - MHT
Zone Pacific/Kwajalein 11:09:20 - LMT 1901
11:00 - NCST 1969 Oct
-12:00 - KJT 1993 Aug 20
12:00 - NZST
11:00 - MHT 1969 Oct
-12:00 - KWAT 1993 Aug 20 # Kwajalein Time
12:00 - MHT
# Micronesia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Yap 9:12:32 - LMT 1901 # Colonia
9:00 - PLT 1969 Oct
10:00 - GST
9:00 - YAPT 1969 Oct # Yap Time
10:00 - YAPT
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
11:00 - NCST
11:00 - PONT # Ponape Time
Zone Pacific/Kosrae 10:51:56 - LMT 1901
11:00 - NCST 1969 Oct
12:00 - NZST
11:00 - PONT 1969 Oct
12:00 - KOST # Kosrae Time
# Nauru
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
11:30 - NST 1979 May
12:00 - NZST
11:30 - NRT 1979 May
12:00 - NRT
# New Caledonia
# 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 1978 1979 - Feb 27 0:00 0 S
Rule NC 1977 1978 - Dec Sun>=1 0:00 1:00 S
Rule NC 1978 1979 - Feb 27 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13
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
11:30 NZ NZ%sT 1940 Sep 29 2:00
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
# 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
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Niue -11:19:40 - LMT 1901 # Alofi
-11:20 - NIT 1951 # Niue I Time
-11:30 - NIT 1978 Oct 1
-11:00 - SST
-11:20 - NUT 1951 # Niue Time
-11:30 - NUT 1978 Oct 1
-11:00 - NUT
# Norfolk
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston
11:12 - NMT 1951
11:30 - NRFT
11:12 - NMT 1951 # Norfolk Mean Time
11:30 - NFT # Norfolk Time
# Palau
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Palau 8:57:56 - LMT 1901 # Koror
9:00 - PLT
9:00 - PWT # Palau Time
# Palmyra
# 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
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Port_Moresby 9:48:40 - LMT 1880
9:49 - PMMT 1895
10:00 - EST
9:48:40 - PMMT 1895 # Port Moresby Mean Time
10:00 - PGT # Papua New Guinea Time
# Pitcairn
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown
-8:30 - PIT
-8:30 - PNT # Pitcairn Time
# American Samoa
Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5
-11:22:48 - LMT 1911
-11:30 - SST 1950
-11:30 - SAMT 1950 # Samoa Time
-11:00 - NST 1967 Apr # N=Nome
-11:00 - BST 1983 Nov 30 # B=Bering
-11:00 - SST # S=Samoa
@ -345,52 +345,52 @@ Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5
# W Samoa
Zone Pacific/Apia 12:33:04 - LMT 1879 Jul 5
-11:26:56 - LMT 1911
-11:30 - SST 1950
-11:00 - SST
-11:30 - SAMT 1950 # Samoa Time
-11:00 - WST # W Samoa Time
# Solomon Is
# excludes Bougainville, for which see Papua New Guinea
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara
11:00 - NCST
11:00 - SBT # Solomon Is Time
# Tokelau Is
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Fakaofo -11:24:56 - LMT 1901
-10:00 - THT
-10:00 - TKT # Tokelau Time
# Tonga
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Tongatapu 12:19:20 - LMT 1901
12:20 - TMT 1968 Oct
13:00 - TGT
12:20 - TOT 1968 Oct # Tonga Time
13:00 - TOT
# Tuvalu
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Funafuti 11:56:52 - LMT 1901
12:00 - NZST
12:00 - TVT # Tuvalu Time
# Vanuatu
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Vanuatu 1983 only - Sep 25 0:00 1:00 D
Rule Vanuatu 1984 1991 - Mar Sun>=23 0:00 0 S
Rule Vanuatu 1984 only - Oct 23 0:00 1:00 D
Rule Vanuatu 1985 1990 - Sep Sun>=23 0:00 1:00 D
Rule Vanuatu 1991 max - Sep lastSun 0:00 1:00 D
Rule Vanuatu 1992 max - Mar lastSun 0:00 0 S
Rule Vanuatu 1983 only - Sep 25 0:00 1:00 S
Rule Vanuatu 1984 1991 - Mar Sun>=23 0:00 0 -
Rule Vanuatu 1984 only - Oct 23 0:00 1:00 S
Rule Vanuatu 1985 1990 - Sep Sun>=23 0:00 1:00 S
Rule Vanuatu 1991 max - Sep lastSun 0:00 1:00 S
Rule Vanuatu 1992 max - Mar lastSun 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
11:00 - NCST
11:00 Vanuatu VU%sT # Vanuatu Time
# Wake
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Wake 11:06:28 - LMT 1901
12:00 - NZST
12:00 - WAKT # Wake Time
# Wallis and Futuna
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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!
# std dst
# LMT Local Mean Time
# 6:30 CCT Cocos*
# 7:00 JVT Java*
# 8:00 WST WST Western Australia
# 9:00 JST Japan
# 9:00 PLT Palau*
# 9:30 CST CST Central Australia
# 10:00 EST EST Eastern Australia
# 10:00 GST Guam*
# 10:00 GST Guam
# 10:30 LHST LHST Lord Howe*
# 11:00 NCST NCDT New Caledonia*
# 11:30 NRFT Norfolk*
# 12:00 NZST NZDT New Zealand
# 12:45 CHST CHDT Chatham*
# 13:00 TGT Tongatapu*
# 14:00 KRT Kiritimati*
# -12:00 KJT Kwajalein (no longer used)*
# 12:45 CHAST CHADT Chatham*
# -11:00 SST Samoa
# -10:40 LIT Line Is (no longer used)*
# -10:00 THT Tahiti*
# -10:00 HST Hawaii
# - 9:30 MQT Marquesas*
# - 9:00 GBT Gambier*
# - 8:30 PIT Pitcairn*
#
# See the `northamerica' file for Hawaii.
# 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
# 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):
# 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
# from Russia. We omit this transition, since we can't represent changes
# from Julian to Gregorian.
# and from east-of-GMT to west-of-GMT days, when the US bought it from Russia.
# This was on 1867-10-18. We omit this transition, since we can't represent
# changes from Julian to Gregorian.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
# 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 `africa' file for Zone naming conventions.
# See the `africa' file for time zone naming and abbreviation conventions.
# 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 1942 only - Feb 9 2:00 1:00 D
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 - Oct lastSun 2:00 0 S
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
# 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
# Guadeloupe
@ -1263,7 +1259,7 @@ Zone America/St_Lucia -4:04:00 - LMT 1890 # Castries
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
-4:00 - AST 1980 May
-3:00 Mont SP%sT
-3:00 Mont PM%sT # Pierre & Miquelon Time
# St Vincent and the Grenadines
# 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,
# go ahead and edit the file (and please send any changes to
# tz@elsie.nci.nih.gov for general use in the future).
# From Paul Eggert <eggert@twinsun.com> (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
# Thomas G. Shanks, The International Atlas (3rd edition),
# San Diego: ACS Publications, Inc. (1991).
# Except where otherwise noted, it is the source for the data below.
#
# I invented the abbreviations marked `*' in the following table;
# the rest are from earlier versions of this file, or from other sources.
# Some of these are just plausible excuses for common English abbreviations.
# The following abbreviations are used in this file.
# Corrections are welcome!
# std dst
# LMT Local Mean Time
# -2:00 FST FDT Fernando de Noronha
# -3:00 EST EDT Eastern South America (conflicts with -5:00)
# -3:00 ARST ARDT Argentina
# -4:00 AST ADT Andes*, Antilles*, Asuncion*, Atlantic
# -4:00 CST CDT Chile (conflicts with -6:00)
# -3:00 EST EDT Eastern Brazil
# -4:00 WST WDT Western Brazil
# -5:00 AST ADT Acre (conflicts with -4:00)
# -5:00 EST EDT Eastern, Ecuador*
# -6:00 CST CDT Archipelago of Columbus*, Central
# -7:00 MST MDT Mataveri*, Mountain
# -4:00 AST ADT Atlantic
# -5:00 AST ADT Acre
#
# 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 Official Airline Guide - Worldwide Edition (1987). Countries not
@ -55,35 +57,35 @@
# AR was chosen because they are the ISO letters that represent Argentina.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Arg 1930 only - Dec 1 0:00 1:00 D
Rule Arg 1931 only - Apr 1 0:00 0 S
Rule Arg 1931 only - Oct 15 0:00 1:00 D
Rule Arg 1932 1940 - Mar 1 0:00 0 S
Rule Arg 1932 1939 - Nov 1 0:00 1:00 D
Rule Arg 1940 only - Jul 1 0:00 1:00 D
Rule Arg 1941 only - Jun 15 0:00 0 S
Rule Arg 1941 only - Oct 15 0:00 1:00 D
Rule Arg 1943 only - Aug 1 0:00 0 S
Rule Arg 1943 only - Oct 15 0:00 1:00 D
Rule Arg 1946 only - Mar 1 0:00 0 S
Rule Arg 1946 only - Oct 1 0:00 1:00 D
Rule Arg 1963 only - Oct 1 0:00 0 S
Rule Arg 1963 only - Dec 15 0:00 1:00 D
Rule Arg 1964 1966 - Mar 1 0:00 0 S
Rule Arg 1964 1966 - Oct 15 0:00 1:00 D
Rule Arg 1967 only - Apr 1 0:00 0 S
Rule Arg 1967 1968 - Oct Sun<=7 0:00 1:00 D
Rule Arg 1968 1969 - Apr Sun<=7 0:00 0 S
Rule Arg 1974 only - Jan 23 0:00 1:00 D
Rule Arg 1974 only - May 1 0:00 0 S
Rule Arg 1974 1976 - Oct Sun<=7 0:00 1:00 D
Rule Arg 1975 1977 - Apr Sun<=7 0:00 0 S
Rule Arg 1985 only - Nov 2 0:00 1:00 D
Rule Arg 1986 only - Mar 14 0:00 0 S
Rule Arg 1986 1987 - Oct 25 0:00 1:00 D
Rule Arg 1987 only - Feb 13 0:00 0 S
Rule Arg 1988 only - Feb 7 0:00 0 S
Rule Arg 1988 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 -
Rule Arg 1931 only - Oct 15 0:00 1:00 S
Rule Arg 1932 1940 - Mar 1 0:00 0 -
Rule Arg 1932 1939 - Nov 1 0:00 1:00 S
Rule Arg 1940 only - Jul 1 0:00 1:00 S
Rule Arg 1941 only - Jun 15 0:00 0 -
Rule Arg 1941 only - Oct 15 0:00 1:00 S
Rule Arg 1943 only - Aug 1 0:00 0 -
Rule Arg 1943 only - Oct 15 0:00 1:00 S
Rule Arg 1946 only - Mar 1 0:00 0 -
Rule Arg 1946 only - Oct 1 0:00 1:00 S
Rule Arg 1963 only - Oct 1 0:00 0 -
Rule Arg 1963 only - Dec 15 0:00 1:00 S
Rule Arg 1964 1966 - Mar 1 0:00 0 -
Rule Arg 1964 1966 - Oct 15 0:00 1:00 S
Rule Arg 1967 only - Apr 1 0:00 0 -
Rule Arg 1967 1968 - Oct Sun<=7 0:00 1:00 S
Rule Arg 1968 1969 - Apr Sun<=7 0:00 0 -
Rule Arg 1974 only - Jan 23 0:00 1:00 S
Rule Arg 1974 only - May 1 0:00 0 -
Rule Arg 1974 1976 - Oct Sun<=7 0:00 1:00 S
Rule Arg 1975 1977 - Apr Sun<=7 0:00 0 -
Rule Arg 1985 only - Nov 2 0:00 1:00 S
Rule Arg 1986 only - Mar 14 0:00 0 -
Rule Arg 1986 1987 - Oct 25 0:00 1:00 S
Rule Arg 1987 only - Feb 13 0:00 0 -
Rule Arg 1988 only - Feb 7 0:00 0 -
Rule Arg 1988 only - Dec 1 0:00 1:00 S
#
# From Hernan G. Otero <hernan@isoft.com.ar> (June 26, 1995):
# 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)
#
# 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 1992 - Oct Sun>=15 0:00 1:00 D
Rule Arg 1989 1993 - Mar Sun>=1 0:00 0 -
Rule Arg 1989 1992 - Oct Sun>=15 0:00 1:00 S
#
# From Hernan G. Otero <hernan@isoft.com.ar> (June 26, 1995):
# 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 America/Buenos_Aires -3:53:48 - LMT 1894 Nov
-4:17 - CMT 1920 May # Cordoba Mean Time
-4:00 - AST 1930 Dec
-4:00 Arg A%sT 1969 Oct 5
-4:16:44 - CMT 1920 May # Cordoba Mean Time
-4:00 - ART 1930 Dec
-4:00 Arg AR%sT 1969 Oct 5
-3:00 Arg AR%sT
# Aruba
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
# Bolivia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/La_Paz -4:32:36 - LMT 1890
-4:33 - LPMT 1931 Oct 15 # La Paz Mean Time
-4:33 1:00 LPDT 1932 Mar 21
-4:00 - AST
-4:32:36 - LPMT 1931 Oct 15 # La Paz Mean Time
-4:32:36 1:00 BOST 1932 Mar 21 # Bolivia ST
-4:00 - BOT # Bolivia Time
# Brazil
@ -164,26 +166,26 @@ Zone America/La_Paz -4:32:36 - LMT 1890
# about time zone changes after 1990 Feb 11.
# 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 only - Oct 3 0:00 1 D
Rule Brazil 1949 1952 - Dec 1 0:00 1 D
Rule Brazil 1932 only - Oct 3 0:00 1:00 D
Rule Brazil 1949 1952 - Dec 1 0:00 1:00 D
Rule Brazil 1950 only - Apr 16 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 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 - 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 1967 - Nov 1 0:00 1 D
Rule Brazil 1985 only - Nov 2 0:00 1 D
Rule Brazil 1966 1967 - Nov 1 0:00 1:00 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 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 1988 only - Feb 7 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
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Chile 1918 only - Sep 1 0:00 1:00 D
Rule Chile 1919 only - Jul 2 0:00 0 S
Rule Chile 1927 1931 - Sep 1 0:00 1:00 D
Rule Chile 1928 1932 - Apr 1 0:00 0 S
Rule Chile 1969 max - Oct Sun>=9 0:00 1:00 D
Rule Chile 1970 max - Mar Sun>=9 0:00 0 S
Rule Chile 1918 only - Sep 1 0:00 1:00 S
Rule Chile 1919 only - Jul 2 0:00 0 -
Rule Chile 1927 1931 - Sep 1 0:00 1:00 S
Rule Chile 1928 1932 - Apr 1 0:00 0 -
Rule Chile 1969 max - Oct Sun>=9 0:00 1:00 S
Rule Chile 1970 max - Mar Sun>=9 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Santiago -4:42:40 - LMT 1890
-4:43 - SMT 1910 # Santiago Mean Time
-5:00 Chile C%sT 1932 Sep
-4:00 Chile C%sT
-4:42:40 - SMT 1910 # Santiago Mean Time
-5:00 Chile CL%sT 1932 Sep # Chile Time
-4:00 Chile CL%sT
Zone Pacific/Easter -7:17:28 - LMT 1890 # Mataveri
-7:17 - MMT 1932 Sep # Mataveri Mean Time
-7:00 Chile M%sT 1982 Mar 14
-6:00 Chile C%sT
-7:17:28 - MMT 1932 Sep # Mataveri Mean Time
-7:00 Chile EAS%sT 1982 Mar 14 # Easter I Time
-6:00 Chile EAS%sT
#
# Whitman says Juan Fernandez Is are like America/Santiago.
# San Ambrosio, San Felix
@ -233,56 +235,57 @@ Zone Pacific/Easter -7:17:28 - LMT 1890 # Mataveri
# Colombia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Bogota -4:56:20 - LMT 1884 Mar 13
-4:56 - BMT 1914 Nov 23 # Bogota Mean Time
-5:00 - EST
-4:56:20 - BMT 1914 Nov 23 # Bogota Mean Time
-5:00 - COT # Colombia Time
# Malpelo, Providencia, San Andres
# no information; probably like America/Bogota
# Curacao
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
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
# Ecuador
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Guayaquil -5:19:20 - LMT 1890
-5:14 - QMT 1931 # Quito Mean Time
-5:00 - EST
-5:14:00 - QMT 1931 # Quito Mean Time
-5:00 - ECT # Ecuador Time
Zone Pacific/Galapagos -5:58:24 - LMT 1931 # Puerto Baquerizo Moreno
-5:00 - EST 1986
-6:00 - CST
-5:00 - ECT 1986
-6:00 - GALT # Galapagos Time
# Falklands
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Falk 1937 1938 - Sep lastSun 0:00 1:00 D
Rule Falk 1938 1942 - Mar Sun>=19 0:00 0 S
Rule Falk 1939 only - Oct 1 0:00 1:00 D
Rule Falk 1940 1942 - Sep lastSun 0:00 1:00 D
Rule Falk 1943 only - Jan 1 0:00 0 S
Rule Falk 1983 only - Sep lastSun 0:00 1:00 D
Rule Falk 1984 1985 - Apr lastSun 0:00 0 S
Rule Falk 1984 only - Sep 16 0:00 1:00 D
Rule Falk 1985 max - Sep Sun>=9 0:00 1:00 D
Rule Falk 1986 max - Apr Sun>=16 0:00 0 S
Rule Falk 1937 1938 - Sep lastSun 0:00 1:00 S
Rule Falk 1938 1942 - Mar Sun>=19 0:00 0 -
Rule Falk 1939 only - Oct 1 0:00 1:00 S
Rule Falk 1940 1942 - Sep lastSun 0:00 1:00 S
Rule Falk 1943 only - Jan 1 0:00 0 -
Rule Falk 1983 only - Sep lastSun 0:00 1:00 S
Rule Falk 1984 1985 - Apr lastSun 0:00 0 -
Rule Falk 1984 only - Sep 16 0:00 1:00 S
Rule Falk 1985 max - Sep Sun>=9 0:00 1:00 S
Rule Falk 1986 max - Apr Sun>=16 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/Stanley -3:51:24 - LMT 1890
-3:51 - SMT 1912 Mar 12 # Stanley Mean Time
-4:00 Falk A%sT 1983 May
-3:00 Falk E%sT 1985 Sep 15
-4:00 Falk A%sT
-3:51:24 - SMT 1912 Mar 12 # Stanley Mean Time
-4:00 Falk FK%sT 1983 May # Falkland Is Time
-3:00 Falk FK%sT 1985 Sep 15
-4:00 Falk FK%sT
# French Guiana
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Cayenne -3:29:20 - LMT 1911 Jul
-4:00 - AST 1967 Oct
-3:00 - EST
-4:00 - GFT 1967 Oct # French Guiana Time
-3:00 - GFT
# Guyana
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown
-3:45 - BGST 1975 Jul 31 # British Guiana ST
-3:00 - EST
-3:45 - GBGT 1966 May 26 # Br Guiana Time
-3:45 - GYT 1975 Jul 31 # Guyana Time
-3:00 - GYT
# Paraguay
@ -297,39 +300,39 @@ Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown
# From Shanks (1991):
# 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 - Mar 1 0:00 0 S
Rule Para 1975 1978 - Oct 1 0:00 1:00 S
Rule Para 1975 1978 - Mar 1 0:00 0 -
# Shanks says 1979 was all DST.
Rule Para 1980 max - Apr 1 0:00 0 S
Rule Para 1980 1988 - Oct 1 0:00 1:00 D
Rule Para 1989 only - Oct 22 0:00 1:00 D
Rule Para 1990 max - Oct 1 0:00 1:00 D
Rule Para 1980 max - Apr 1 0:00 0 -
Rule Para 1980 1988 - Oct 1 0:00 1:00 S
Rule Para 1989 only - Oct 22 0:00 1:00 S
Rule Para 1990 max - Oct 1 0:00 1:00 S
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Asuncion -3:50:40 - LMT 1890
-3:51 - AMT 1931 Oct 10 # Asuncion Mean Time
-4:00 - AST 1972 Oct
-3:00 - EST 1974 Apr
-4:00 Para A%sT
-3:50:40 - AMT 1931 Oct 10 # Asuncion Mean Time
-4:00 - PYT 1972 Oct # Paraguay Time
-3:00 - PYT 1974 Apr
-4:00 Para PY%sT
# Peru
# 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 - Apr 1 0:00 0 S
Rule Peru 1938 1939 - Sep lastSun 0:00 1:00 D
Rule Peru 1939 1940 - Mar Sun>=24 0:00 0 S
Rule Peru 1987 only - Jan 1 0:00 1:00 D
Rule Peru 1987 only - Apr 1 0:00 0 S
Rule Peru 1990 only - Jan 1 0:00 1:00 D
Rule Peru 1990 only - Apr 1 0:00 0 S
Rule Peru 1938 only - Jan 1 0:00 1:00 S
Rule Peru 1938 only - Apr 1 0:00 0 -
Rule Peru 1938 1939 - Sep lastSun 0:00 1:00 S
Rule Peru 1939 1940 - Mar Sun>=24 0:00 0 -
Rule Peru 1987 only - Jan 1 0:00 1:00 S
Rule Peru 1987 only - Apr 1 0:00 0 -
Rule Peru 1990 only - Jan 1 0:00 1:00 S
Rule Peru 1990 only - Apr 1 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Lima -5:08:12 - LMT 1890
-5:09 - LMT 1908 Jul 28
-5:00 Peru E%sT
-5:09 - LMT 1908 Jul 28 # Lima Mean Time
-5:00 Peru PE%sT # Peru Time
# South Georgia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken
-2:00 - FST
-2:00 - GST # South Georgia Time
# South Sandwich Is
# uninhabited
@ -339,8 +342,9 @@ Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken
Zone America/Paramaribo -3:40:40 - LMT 1911
-3:40:52 - PMT 1935 # Paramaribo Mean Time
-3:40:36 - PMT 1945 Oct # The capital moved?
-3:30 - DGST 1984 Oct # Dutch Guiana Std Time
-3:00 - EST
-3:30 - NEGT 1975 Nov 20 # Dutch Guiana Time
-3:30 - SRT 1984 Oct # Suriname Time
-3:00 - SRT
# Trinidad and Tobago
# 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):
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
# Whitman gives 1923 Oct 1; go with Shanks.
Rule Uruguay 1923 only - Oct 2 0:00 0:30 HD
Rule Uruguay 1924 1926 - Apr 1 0:00 0 S
Rule Uruguay 1924 1925 - Oct 1 0:00 0:30 HD
Rule Uruguay 1933 1935 - Oct lastSun 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 -
Rule Uruguay 1924 1925 - Oct 1 0:00 0:30 HS
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.
Rule Uruguay 1934 1936 - Mar Sat>=25 23:30s 0 S
Rule Uruguay 1936 only - Nov 1 0:00 0:30 HD
Rule Uruguay 1937 1941 - Mar lastSun 0:00 0 S
Rule Uruguay 1934 1936 - Mar Sat>=25 23:30s 0 -
Rule Uruguay 1936 only - Nov 1 0:00 0:30 HS
Rule Uruguay 1937 1941 - Mar lastSun 0:00 0 -
# 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,
# and 1943 Apr 13 ``to present time''; go with Shanks.
Rule Uruguay 1941 only - Aug 1 0:00 0 S
Rule Uruguay 1942 only - Jan 1 0:00 0:30 HD
Rule Uruguay 1942 only - Dec 14 0:00 1:00 D
Rule Uruguay 1943 only - Mar 14 0:00 0 S
Rule Uruguay 1959 only - May 24 0:00 1:00 D
Rule Uruguay 1959 only - Nov 15 0:00 0 S
Rule Uruguay 1960 only - Jan 17 0:00 1:00 D
Rule Uruguay 1960 only - Mar 6 0:00 0 S
Rule Uruguay 1965 1967 - Apr Sun>=1 0:00 1:00 D
Rule Uruguay 1965 only - Sep 26 0:00 0 S
Rule Uruguay 1966 1967 - Oct 31 0:00 0 S
Rule Uruguay 1968 1970 - May 27 0:00 0:30 HD
Rule Uruguay 1968 1970 - Dec 2 0:00 0 S
Rule Uruguay 1972 only - Apr 24 0:00 1:00 D
Rule Uruguay 1972 only - Aug 15 0:00 0 S
Rule Uruguay 1974 only - Mar 10 0:00 0:30 HD
Rule Uruguay 1974 only - Dec 22 0:00 1:00 D
Rule Uruguay 1976 only - Oct 1 0:00 0 S
Rule Uruguay 1977 only - Dec 4 0:00 1:00 D
Rule Uruguay 1978 only - Apr 1 0:00 0 S
Rule Uruguay 1979 only - Oct 1 0:00 1:00 D
Rule Uruguay 1980 only - May 1 0:00 0 S
Rule Uruguay 1987 only - Dec 14 0:00 1:00 D
Rule Uruguay 1988 only - Mar 14 0:00 0 S
Rule Uruguay 1988 only - Dec 11 0:00 1:00 D
Rule Uruguay 1989 only - Mar 12 0:00 0 S
Rule Uruguay 1989 only - Oct 29 0:00 1:00 D
Rule Uruguay 1990 only - Mar 4 0:00 0 S
Rule Uruguay 1941 only - Aug 1 0:00 0 -
Rule Uruguay 1942 only - Jan 1 0:00 0:30 HS
Rule Uruguay 1942 only - Dec 14 0:00 1:00 S
Rule Uruguay 1943 only - Mar 14 0:00 0 -
Rule Uruguay 1959 only - May 24 0:00 1:00 S
Rule Uruguay 1959 only - Nov 15 0:00 0 -
Rule Uruguay 1960 only - Jan 17 0:00 1:00 S
Rule Uruguay 1960 only - Mar 6 0:00 0 -
Rule Uruguay 1965 1967 - Apr Sun>=1 0:00 1:00 S
Rule Uruguay 1965 only - Sep 26 0:00 0 -
Rule Uruguay 1966 1967 - Oct 31 0:00 0 -
Rule Uruguay 1968 1970 - May 27 0:00 0:30 HS
Rule Uruguay 1968 1970 - Dec 2 0:00 0 -
Rule Uruguay 1972 only - Apr 24 0:00 1:00 S
Rule Uruguay 1972 only - Aug 15 0:00 0 -
Rule Uruguay 1974 only - Mar 10 0:00 0:30 HS
Rule Uruguay 1974 only - Dec 22 0:00 1:00 S
Rule Uruguay 1976 only - Oct 1 0:00 0 -
Rule Uruguay 1977 only - Dec 4 0:00 1:00 S
Rule Uruguay 1978 only - Apr 1 0:00 0 -
Rule Uruguay 1979 only - Oct 1 0:00 1:00 S
Rule Uruguay 1980 only - May 1 0:00 0 -
Rule Uruguay 1987 only - Dec 14 0:00 1:00 S
Rule Uruguay 1988 only - Mar 14 0:00 0 -
Rule Uruguay 1988 only - Dec 11 0:00 1:00 S
Rule Uruguay 1989 only - Mar 12 0:00 0 -
Rule Uruguay 1989 only - Oct 29 0:00 1:00 S
Rule Uruguay 1990 only - Mar 4 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Montevideo -3:44:44 - LMT 1898 Jun 28
-3:45 - MMT 1920 May 1 # Montevideo MT
-3:30 Uruguay U%sT 1942 Dec 14 # Uruguay ST
-3:00 Uruguay E%sT
-3:44:44 - MMT 1920 May 1 # Montevideo MT
-3:30 Uruguay UY%sT 1942 Dec 14 # Uruguay Time
-3:00 Uruguay UY%sT
# Venezuela
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Caracas -4:27:44 - LMT 1890
-4:28 - CMT 1912 Feb 12 # Caracas Mean Time
-4:30 - VZT 1965 # Venezuela Time
-4:00 - AST
-4:27:44 - CMT 1912 Feb 12 # Caracas Mean Time
-4:30 - VET 1965 # Venezuela Time
-4:00 - VET

View file

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