summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-04-06 04:05:41 +0000
committerUlrich Drepper <drepper@redhat.com>2002-04-06 04:05:41 +0000
commit3fc2f6c8cb7bf6b5d6f81b0759acd18c383d5c4b (patch)
tree6a62340289c8ee0b53b8f6ddf328cbeb7a238185
parentc4b4e079e3d3f6d1eb66576d3d6188332eb6619b (diff)
downloadglibc-3fc2f6c8cb7bf6b5d6f81b0759acd18c383d5c4b.tar.gz
glibc-3fc2f6c8cb7bf6b5d6f81b0759acd18c383d5c4b.tar.xz
glibc-3fc2f6c8cb7bf6b5d6f81b0759acd18c383d5c4b.zip
Update.
2002-04-05  Ulrich Drepper  <drepper@redhat.com>

	* timezone/zic.c: Update from tzcode2002c.
	* timezone/asia: Update from tzdata2002c.
	* timezone/backward: Likewise.
	* timezone/europe: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/northamerica: Likewise.
	* timezone/southamerica: Likewise.
	* timezone/zone.tab: Likewise.
-rw-r--r--ChangeLog12
-rw-r--r--linuxthreads/ChangeLog17
-rw-r--r--linuxthreads/sysdeps/alpha/pt-machine.h5
-rw-r--r--linuxthreads/sysdeps/arm/pt-machine.h4
-rw-r--r--linuxthreads/sysdeps/cris/pt-machine.h5
-rw-r--r--linuxthreads/sysdeps/hppa/pt-machine.h5
-rw-r--r--linuxthreads/sysdeps/ia64/pt-machine.h5
-rw-r--r--linuxthreads/sysdeps/m68k/pt-machine.h5
-rw-r--r--linuxthreads/sysdeps/mips/pt-machine.h5
-rw-r--r--linuxthreads/sysdeps/powerpc/pt-machine.h5
-rw-r--r--linuxthreads/sysdeps/s390/s390-32/pt-machine.h5
-rw-r--r--linuxthreads/sysdeps/s390/s390-64/pt-machine.h5
-rw-r--r--linuxthreads/sysdeps/sh/pt-machine.h5
-rw-r--r--linuxthreads/sysdeps/sparc/sparc32/pt-machine.h7
-rw-r--r--linuxthreads/sysdeps/sparc/sparc64/pt-machine.h7
-rw-r--r--linuxthreads/sysdeps/x86_64/pt-machine.h5
-rw-r--r--timezone/asia29
-rw-r--r--timezone/backward4
-rw-r--r--timezone/europe12
-rw-r--r--timezone/northamerica20
-rw-r--r--timezone/southamerica123
-rw-r--r--timezone/zic.c8
-rw-r--r--timezone/zone.tab7
23 files changed, 234 insertions, 71 deletions
diff --git a/ChangeLog b/ChangeLog
index 1cef2f9917..40293b5566 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2002-04-05  Ulrich Drepper  <drepper@redhat.com>
+
+	* timezone/zic.c: Update from tzcode2002c.
+	* timezone/asia: Update from tzdata2002c.
+	* timezone/backward: Likewise.
+	* timezone/europe: Likewise.
+	* timezone/northamerica: Likewise.
+	* timezone/northamerica: Likewise.
+	* timezone/northamerica: Likewise.
+	* timezone/southamerica: Likewise.
+	* timezone/zone.tab: Likewise.
+
 2002-03-23  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/generic/brk.c (__curbrk): Declare.
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index cad4e89694..5f79ed7160 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,20 @@
+2002-04-05  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/ia64/pt-machine.h: Protect against multiple inclusion.
+	* sysdeps/alpha/pt-machine.h: Likewise.
+	* sysdeps/arm/pt-machine.h: Likewise.
+	* sysdeps/cris/pt-machine.h: Likewise.
+	* sysdeps/hppa/pt-machine.h: Likewise.
+	* sysdeps/m68k/pt-machine.h: Likewise.
+	* sysdeps/mips/pt-machine.h: Likewise.
+	* sysdeps/powerpc/pt-machine.h: Likewise.
+	* sysdeps/s390/s390-32/pt-machine.h: Likewise.
+	* sysdeps/s390/s390-64/pt-machine.h: Likewise.
+	* sysdeps/sh/pt-machine.h: Likewise.
+	* sysdeps/sparc/sparc32/pt-machine.h: Likewise.
+	* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
+	* sysdeps/x86_64/pt-machine.h: Likewise.
+
 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
 
 	* man/pthread_mutexattr_init.man (pthread_mutexattr_settype): Document
diff --git a/linuxthreads/sysdeps/alpha/pt-machine.h b/linuxthreads/sysdeps/alpha/pt-machine.h
index 68f4574476..3d5ade68f7 100644
--- a/linuxthreads/sysdeps/alpha/pt-machine.h
+++ b/linuxthreads/sysdeps/alpha/pt-machine.h
@@ -19,6 +19,9 @@
    write to the Free Software Foundation, Inc.,  59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
@@ -116,3 +119,5 @@ __compare_and_swap (long int *p, long int oldval, long int newval)
 
 /* Maximum size of the stack if the rlimit is unlimited.  */
 #define ARCH_STACK_MAX_SIZE     32*1024*1024
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/arm/pt-machine.h b/linuxthreads/sysdeps/arm/pt-machine.h
index cab724a668..11127eac1a 100644
--- a/linuxthreads/sysdeps/arm/pt-machine.h
+++ b/linuxthreads/sysdeps/arm/pt-machine.h
@@ -19,6 +19,8 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
 
 #ifndef PT_EI
 # define PT_EI extern inline
@@ -49,3 +51,5 @@ testandset (int *spinlock)
    of the stack, just something somewhere in the current frame.  */
 #define CURRENT_STACK_FRAME  stack_pointer
 register char * stack_pointer __asm__ ("sp");
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/cris/pt-machine.h b/linuxthreads/sysdeps/cris/pt-machine.h
index 3e621d8b77..380f5cca5e 100644
--- a/linuxthreads/sysdeps/cris/pt-machine.h
+++ b/linuxthreads/sysdeps/cris/pt-machine.h
@@ -18,6 +18,9 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
@@ -51,3 +54,5 @@ testandset (int *spinlock)
    I don't trust register variables, so let's do this the safe way.  */
 #define CURRENT_STACK_FRAME \
  ({ char *sp; __asm__ ("move.d $sp,%0" : "=rm" (sp)); sp; })
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/hppa/pt-machine.h b/linuxthreads/sysdeps/hppa/pt-machine.h
index c8064b75fb..e6de0d8bcf 100644
--- a/linuxthreads/sysdeps/hppa/pt-machine.h
+++ b/linuxthreads/sysdeps/hppa/pt-machine.h
@@ -19,6 +19,9 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #include <bits/initspin.h>
 
 #ifndef PT_EI
@@ -55,3 +58,5 @@ testandset (int *spinlock)
 }
 #undef str
 #undef xstr
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/ia64/pt-machine.h b/linuxthreads/sysdeps/ia64/pt-machine.h
index 4c8bd0ecdc..3d3553370d 100644
--- a/linuxthreads/sysdeps/ia64/pt-machine.h
+++ b/linuxthreads/sysdeps/ia64/pt-machine.h
@@ -18,6 +18,9 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
@@ -117,3 +120,5 @@ testandset (int *spinlock)
 
   return ret;
 }
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/m68k/pt-machine.h b/linuxthreads/sysdeps/m68k/pt-machine.h
index 578d4ed4c7..29956efc5f 100644
--- a/linuxthreads/sysdeps/m68k/pt-machine.h
+++ b/linuxthreads/sysdeps/m68k/pt-machine.h
@@ -19,6 +19,9 @@
    not, write to the Free Software Foundation, Inc.,
    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
@@ -62,3 +65,5 @@ __compare_and_swap (long int *p, long int oldval, long int newval)
 
   return ret;
 }
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/mips/pt-machine.h b/linuxthreads/sysdeps/mips/pt-machine.h
index 00c769f4ed..31a3421fba 100644
--- a/linuxthreads/sysdeps/mips/pt-machine.h
+++ b/linuxthreads/sysdeps/mips/pt-machine.h
@@ -20,6 +20,9 @@
    not, write to the Free Software Foundation, Inc.,
    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #include <sgidefs.h>
 #include <sys/tas.h>
 
@@ -75,3 +78,5 @@ __compare_and_swap (long int *p, long int oldval, long int newval)
 }
 
 #endif /* (_MIPS_ISA >= _MIPS_ISA_MIPS2) */
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/powerpc/pt-machine.h b/linuxthreads/sysdeps/powerpc/pt-machine.h
index bac2491243..f278ac2ce5 100644
--- a/linuxthreads/sysdeps/powerpc/pt-machine.h
+++ b/linuxthreads/sysdeps/powerpc/pt-machine.h
@@ -21,6 +21,9 @@
 /* These routines are from Appendix G of the 'PowerPC 601 RISC Microprocessor
    User's Manual', by IBM and Motorola.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
@@ -86,3 +89,5 @@ __compare_and_swap_with_release_semantics (long int *p,
 	: "cr0", "memory");
   return ret == 0;
 }
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/s390/s390-32/pt-machine.h b/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
index 2ff5f4234d..b51135e21f 100644
--- a/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
+++ b/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
@@ -19,6 +19,9 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
@@ -101,3 +104,5 @@ __compare_and_swap(long int *p, long int oldval, long int newval)
                 : "cc", "0", "1" );
         return retval == 0;
 }
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/s390/s390-64/pt-machine.h b/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
index 15e9030c02..b0fa044f49 100644
--- a/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
+++ b/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
@@ -19,6 +19,9 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
@@ -106,3 +109,5 @@ __compare_and_swap(long int *p, long int oldval, long int newval)
                 : "cc", "0");
         return retval == 0;
 }
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/sh/pt-machine.h b/linuxthreads/sysdeps/sh/pt-machine.h
index 0975fed0a4..d7030a241d 100644
--- a/linuxthreads/sysdeps/sh/pt-machine.h
+++ b/linuxthreads/sysdeps/sh/pt-machine.h
@@ -19,6 +19,9 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
@@ -57,3 +60,5 @@ struct _pthread_descr_struct;
 /* Initialize the thread-unique value.  */
 #define INIT_THREAD_SELF(descr, nr) \
   ({ __asm__ __volatile__("ldc %0,gbr" : : "r" (descr));})
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h b/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h
index 3fbf9f37ef..1d0c5efc81 100644
--- a/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h
+++ b/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h
@@ -1,6 +1,6 @@
 /* Machine-dependent pthreads configuration and inline functions.
    sparc version.
-   Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1996,1997,1998,2000,2001,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson <rth@tamu.edu>.
 
@@ -19,6 +19,9 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
@@ -72,3 +75,5 @@ register struct _pthread_descr_struct *__thread_self __asm__("%g6");
 
 /* Maximum size of the stack if the rlimit is unlimited.  */
 #define ARCH_STACK_MAX_SIZE     8*1024*1024
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h b/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h
index be7d5a1a30..cd042658d0 100644
--- a/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h
+++ b/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h
@@ -1,6 +1,6 @@
 /* Machine-dependent pthreads configuration and inline functions.
    Sparc v9 version.
-   Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson <rth@tamu.edu>.
 
@@ -19,6 +19,9 @@
    not, write to the Free Software Foundation, Inc.,
    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
@@ -94,3 +97,5 @@ __compare_and_swap (long int *p, long int oldval, long int newval)
 
 /* Maximum size of the stack if the rlimit is unlimited.  */
 #define ARCH_STACK_MAX_SIZE     32*1024*1024
+
+#endif /* pt-machine.h */
diff --git a/linuxthreads/sysdeps/x86_64/pt-machine.h b/linuxthreads/sysdeps/x86_64/pt-machine.h
index b730905dc8..b2e19fc49a 100644
--- a/linuxthreads/sysdeps/x86_64/pt-machine.h
+++ b/linuxthreads/sysdeps/x86_64/pt-machine.h
@@ -18,6 +18,9 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #include <stddef.h>	/* For offsetof.  */
 #include <stdlib.h>	/* For abort().  */
 #include <asm/prctl.h>
@@ -211,3 +214,5 @@ extern int __arch_prctl (int __code, unsigned long __addr);
 
 /* Maximum size of the stack if the rlimit is unlimited.  */
 #define ARCH_STACK_MAX_SIZE	32*1024*1024
+
+#endif /* pt-machine.h */
diff --git a/timezone/asia b/timezone/asia
index d21f5713ec..bb25738707 100644
--- a/timezone/asia
+++ b/timezone/asia
@@ -1,4 +1,4 @@
-# @(#)asia	7.66
+# @(#)asia	7.67
 
 # 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
@@ -419,7 +419,7 @@ Zone Asia/Pontianak	7:17:20	-	LMT	1908 May
 			7:30	-	WIT	1964
 			8:00	-	CIT	1988 Jan  1
 			7:00	-	WIT
-Zone Asia/Ujung_Pandang 7:57:36 -	LMT	1920
+Zone Asia/Makassar	7:57:36 -	LMT	1920
 			7:57:36	-	MMT	1932 Nov    # Macassar MT
 			8:00	-	CIT	1942 Feb  9
 			9:00	-	JST	1945 Aug
@@ -1094,13 +1094,36 @@ Zone	Asia/Muscat	3:54:20 -	LMT	1920
 			4:00	-	GST
 
 # Pakistan
+
+# From Rives McDow (2002-03-13):
+# I have been advised that Pakistan has decided to adopt dst on a
+# TRIAL basis for one year, starting 00:01 local time on April 7, 2002
+# and ending at 00:01 local time October 6, 2002.  This is what I was
+# told, but I believe that the actual time of change may be 00:00; the
+# 00:01 was to make it clear which day it was on.
+
+# From Paul Eggert (2002-03-15):
+# Jesper Norgaard found this URL:
+# http://www.pak.gov.pk/public/news/app/app06_dec.htm
+# (dated 2001-12-06) which says that the Cabinet adopted a scheme "to
+# advance the clocks by one hour on the night between the first
+# Saturday and Sunday of April and revert to the original position on
+# 15th October each year".  This agrees with McDow's 04-07 at 00:00,
+# but disagrees about the October transition, and makes it sound like
+# it's not on a trial basis.  Also, the "between the first Saturday
+# and Sunday of April" phrase, if taken literally, means that the
+# transition takes place at 00:00 on the first Sunday on or after 04-02.
+
+# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
+Rule Pakistan	2002	max	-	Apr	Sun>=2	0:00	1:00	S
+Rule Pakistan	2002	max	-	Oct	15	0:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 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	-	KART	1971 Mar 26 # Karachi Time
-			5:00	-	PKT	# Pakistan Time
+			5:00 Pakistan	PK%sT	# Pakistan Time
 
 # Palestine
 
diff --git a/timezone/backward b/timezone/backward
index daeaf74312..eace5ab33b 100644
--- a/timezone/backward
+++ b/timezone/backward
@@ -1,4 +1,4 @@
-# @(#)backward	7.22
+# @(#)backward	7.23
 
 # This file provides links between current names for time zones
 # and their old names.  Many names changed in late 1993.
@@ -8,11 +8,13 @@ Link	America/Tijuana		America/Ensenada
 Link	America/Indianapolis	America/Fort_Wayne
 Link	America/Indiana/Knox	America/Knox_IN
 Link	America/Rio_Branco	America/Porto_Acre
+Link	America/Cordoba		America/Rosario
 Link	America/St_Thomas	America/Virgin
 Link	Asia/Ashgabat		Asia/Ashkhabad
 Link	Asia/Chongqing		Asia/Chungking
 Link	Asia/Dhaka		Asia/Dacca
 Link	Asia/Macau		Asia/Macao
+Link	Asia/Makassar		Asia/Ujung_Pandang
 Link	Asia/Jerusalem		Asia/Tel_Aviv
 Link	Asia/Thimphu		Asia/Thimbu
 Link	Asia/Ulaanbaatar	Asia/Ulan_Bator
diff --git a/timezone/europe b/timezone/europe
index 6af29c44c3..a85e1a986c 100644
--- a/timezone/europe
+++ b/timezone/europe
@@ -1,4 +1,4 @@
-# @(#)europe	7.81
+# @(#)europe	7.82
 
 # 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
@@ -853,6 +853,13 @@ Zone America/Thule	-4:35:08 -	LMT	1916 Jul 28 # Pituffik air base
 # no. 206 (1998-09-22) and thus sticks Estonia to +02:00 GMT for all
 # the year round.  The regulation is effective 1999-11-01.
 
+# From Toomas Soome (2002-02-21):
+# The Estonian government has changed once again timezone politics.
+# Now we are using again EU rules.
+#
+# From Urmet Jaanes (2002-03-28):
+# The legislative reference is Government decree No. 84 on 2002-02-21.
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Europe/Tallinn	1:39:00	-	LMT	1880
 			1:39:00	-	TMT	1918 Feb # Tallinn Mean Time
@@ -865,7 +872,8 @@ Zone	Europe/Tallinn	1:39:00	-	LMT	1880
 			2:00	1:00	EEST	1989 Sep 24 2:00s
 			2:00	C-Eur	EE%sT	1998 Sep 22
 			2:00	EU	EE%sT	1999 Nov  1
-			2:00	-	EET
+			2:00	-	EET	2002 Feb 21
+			2:00	EU	EE%sT
 
 # Finland
 #
diff --git a/timezone/northamerica b/timezone/northamerica
index 6821e99674..29bba4f1d1 100644
--- a/timezone/northamerica
+++ b/timezone/northamerica
@@ -1,4 +1,4 @@
-# @(#)northamerica	7.60
+# @(#)northamerica	7.61
 # also includes Central America and the Caribbean
 
 # This data is by no means authoritative; if you think you know better,
@@ -1362,6 +1362,12 @@ Zone America/Dawson	-9:17:40 -	LMT	1900 Aug 20
 # standard time. "This is so residents of the Federal District are not
 # subject to unexpected time changes," a statement from the court said.
 
+# From Jesper Norgaard Welen (2002-03-12):
+# ... consulting my local grocery store(!) and my coworkers, they all insisted
+# that a new decision had been made to reinstate US style DST in Mexico....
+# http://www.conae.gob.mx/ahorro/horaver2001_m1_2002.html (2002-02-20)
+# confirms this.  Sonora as usual is the only state where DST is not applied.
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Mexico	1939	only	-	Feb	5	0:00	1:00	D
 Rule	Mexico	1939	only	-	Jun	25	0:00	0	S
@@ -1373,8 +1379,10 @@ Rule	Mexico	1950	only	-	Feb	12	0:00	1:00	D
 Rule	Mexico	1950	only	-	Jul	30	0:00	0	S
 Rule	Mexico	1996	2000	-	Apr	Sun>=1	2:00	1:00	D
 Rule	Mexico	1996	2000	-	Oct	lastSun	2:00	0	S
-Rule	Mexico	2001	max	-	May	Sun>=1	2:00	1:00	D
-Rule	Mexico	2001	max	-	Sep	lastSun	2:00	0	S
+Rule	Mexico	2001	only	-	May	Sun>=1	2:00	1:00	D
+Rule	Mexico	2001	only	-	Sep	lastSun	2:00	0	S
+Rule	Mexico	2002	max	-	Apr	Sun>=1	2:00	1:00	D
+Rule	Mexico	2002	max	-	Oct	lastSun	2:00	0	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 # Quintana Roo
 Zone America/Cancun	-5:47:04 -	LMT	1922 Jan  1  0:12:56
@@ -1399,7 +1407,8 @@ Zone America/Mexico_City -6:36:36 -	LMT	1922 Jan  1  0:23:24
 			-6:00	-	CST	1931 Oct
 			-7:00	-	MST	1932 Apr  1
 			-6:00	Mexico	C%sT	2001 Sep 30 02:00
-			-6:00	-	CST
+			-6:00	-	CST	2002 Feb 20
+			-6:00	Mexico	C%sT
 # Chihuahua
 Zone America/Chihuahua	-7:04:20 -	LMT	1921 Dec 31 23:55:40
 			-7:00	-	MST	1927 Jun 10 23:00
@@ -1450,7 +1459,8 @@ Zone America/Tijuana	-7:48:04 -	LMT	1922 Jan  1  0:11:56
 			-8:00	-	PST	1976
 			-8:00	US	P%sT	1996
 			-8:00	Mexico	P%sT	2001
-			-8:00	US	P%sT
+			-8:00	US	P%sT	2002 Feb 20
+			-8:00	Mexico	P%sT
 # From Paul Eggert (2001-03-05):
 # Formerly there was an America/Ensenada zone, which differed from
 # America/Tijuana only in that it did not observe DST from 1976
diff --git a/timezone/southamerica b/timezone/southamerica
index 4e6743c9c6..e2b5896559 100644
--- a/timezone/southamerica
+++ b/timezone/southamerica
@@ -1,4 +1,4 @@
-# @(#)southamerica	7.42
+# @(#)southamerica	7.43
 
 # 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
@@ -79,18 +79,11 @@ 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	only	-	Apr	 2	0:00	0	-
 Rule	Arg	1967	1968	-	Oct	Sun>=1	0:00	1:00	S
 Rule	Arg	1968	1969	-	Apr	Sun>=1	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>=1	0:00	1:00	S
-Rule	Arg	1975	1977	-	Apr	Sun>=1	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> (1995-06-26):
@@ -148,76 +141,97 @@ Rule	Arg	2000	only	-	Mar	Sun>=1	0:00	0	-
 # This kind of things had always been done this way in Argentina.
 # We are still -03:00 all year round in all of the country.
 #
+#
+# From Paul Eggert (2002-01-22):
+# <a href="http://www.spicasc.net/horvera.html">
+# Hora de verano para la Republica Argentina (2000-10-01)
+# </a> says that standard time in Argentina from 1894-10-31
+# to 1920-05-01 was -4:16:48.25.  Go with this more-precise value
+# over Shanks.
+
+# Unless otherwise specified, data are from Shanks through 1992, from
+# the IATA otherwise.  As noted below, Shanks says that
+# America/Cordoba split into 7 subregions during 1991/1992, but we
+# haven't verified this yet so for now we'll keep it a single region.
+#
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 #
 # Buenos Aires (BA), Capital Federal (CF), Santa Cruz (SC),
 # Tierra del Fuego, Antartida e Islas del Atlantico Sur (TF)
-Zone America/Buenos_Aires -3:53:48 -	LMT	1894 Nov
-			-4:16:44 -	CMT	1920 May    # Cordoba Mean Time
+Zone America/Buenos_Aires -3:53:48 -	LMT	1894 Oct 31
+			-4:16:48 -	CMT	1920 May # Cordoba Mean Time
 			-4:00	-	ART	1930 Dec
 			-4:00	Arg	AR%sT	1969 Oct  5
-			-3:00	Arg	AR%sT	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT	2000 Mar  3 0:00
+			-3:00	Arg	AR%sT	1999 Oct  3
+			-4:00	Arg	AR%sT	2000 Mar  3
 			-3:00	-	ART
 #
 # Santa Fe (SF), Entre Rios (ER), Corrientes (CN), Misiones (MN), Chaco (CC),
-# Formosa (FM), La Pampa (LP), Chubut (CH)
-Zone America/Rosario	-4:02:40 -	LMT	1894 Nov
-			-4:16:44 -	CMT	1920 May
-			-4:00	-	ART	1930 Dec
-			-4:00	Arg	AR%sT	1969 Oct  5
-			-3:00	Arg	AR%sT	1991 Jul
-			-3:00	-	ART	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT	2000 Mar  3 0:00
-			-3:00	-	ART
-#
-# Cordoba (CB), Santiago del Estero (SE), Salta (SA), Tucuman (TM), La Rioja (LR), San Juan (SJ), San Luis (SL),
-# Neuquen (NQ), Rio Negro (RN)
-Zone America/Cordoba	-4:16:44 -	LMT	1894 Nov
-			-4:16:44 -	CMT	1920 May
+# Formosa (FM), Salta (SA), Tucuman (TM), Santiago del Estero (SE),
+# Cordoba (CB), La Rioja (LR), San Juan (SJ), San Luis (SL), La Pampa (LP),
+# Neuquen (NQ), Rio Negro (RN), Chubut (CH)
+#
+# Shanks also makes the following claims, which we haven't verified:
+# - Formosa switched to -3:00 on 1991-01-07.
+# - La Rioja and San Juan switched to -4:00 on 1991-03-01
+#   and then to 03:00 on 1991-05-07.
+# - Misiones switched to -3:00 on 1990-12-29.
+# - Chaco switched to -3:00 on 1991-01-04.
+# - San Luis switched to -4:00 on 1990-03-14, then to -3:00 on 1990-10-15,
+#   then to -4:00 on 1991-03-01, then to -3:00 on 1991-06-01.
+# - Santiago del Estero switched to -4:00 on 1991-04-01,
+#   then to -3:00 on 1991-04-26.
+# If we need to add Zones for these areas, we may need to have a subdirectory
+# for Argentina, as e.g. "America/San_Luis" is too ambiguious.
+#
+Zone America/Cordoba	-4:16:48 -	LMT	1894 Oct 31
+			-4:16:48 -	CMT	1920 May
 			-4:00	-	ART	1930 Dec
 			-4:00	Arg	AR%sT	1969 Oct  5
-			-3:00	Arg	AR%sT	1990 Jul
-			-3:00	-	ART	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT	2000 Mar  3 0:00
+			-3:00	Arg	AR%sT	1991 Mar  3
+			-4:00	-	WART	1991 Oct 20
+			-3:00	Arg	AR%sT	1999 Oct  3
+			-4:00	Arg	AR%sT	2000 Mar  3
 			-3:00	-	ART
 #
 # Jujuy (JY)
-Zone America/Jujuy	-4:21:12 -	LMT	1894 Nov
-			-4:16:44 -	CMT	1920 May
+Zone America/Jujuy	-4:21:12 -	LMT	1894 Oct 31
+			-4:16:48 -	CMT	1920 May
 			-4:00	-	ART	1930 Dec
 			-4:00	Arg	AR%sT	1969 Oct  5
-			-3:00	Arg	AR%sT	1991 Mar  3
+			-3:00	Arg	AR%sT	1990 Mar  4
+			-4:00	-	WART	1990 Oct 28
+			-4:00	1:00	WARST	1991 Mar 17
 			-4:00	-	WART	1991 Oct  6
-			-4:00	1:00	WARST	1992 Mar 15
-			-4:00	-	WART	1992 Oct 18
-			-3:00	-	ART	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT	2000 Mar  3 0:00
+			-3:00	1:00	ARST	1992
+			-3:00	Arg	AR%sT	1999 Oct  3
+			-4:00	Arg	AR%sT	2000 Mar  3
 			-3:00	-	ART
 #
 # Catamarca (CT)
-Zone America/Catamarca	-4:23:08 -	LMT	1894 Nov
-			-4:16:44 -	CMT	1920 May
+Zone America/Catamarca	-4:23:08 -	LMT	1894 Oct 31
+			-4:16:48 -	CMT	1920 May
 			-4:00	-	ART	1930 Dec
 			-4:00	Arg	AR%sT	1969 Oct  5
-			-3:00	Arg	AR%sT	1990 Jul
-			-3:00	-	ART	1991 Jul
-			-3:00	Arg	AR%sT	1992 Jul
-			-3:00	-	ART	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT	2000 Mar  3 0:00
+			-3:00	Arg	AR%sT	1991 Mar  3
+			-4:00	-	WART	1991 Oct 20
+			-3:00	Arg	AR%sT	1999 Oct  3
+			-4:00	Arg	AR%sT	2000 Mar  3
 			-3:00	-	ART
 #
 # Mendoza (MZ)
-Zone America/Mendoza	-4:35:16 -	LMT	1894 Nov
-			-4:16:44 -	CMT	1920 May
+Zone America/Mendoza	-4:35:16 -	LMT	1894 Oct 31
+			-4:16:48 -	CMT	1920 May
 			-4:00	-	ART	1930 Dec
 			-4:00	Arg	AR%sT	1969 Oct  5
-			-3:00	Arg	AR%sT	1991 Mar  3
+			-3:00	Arg	AR%sT	1990 Mar  4
+			-4:00	-	WART	1990 Oct 15
+			-4:00	1:00	WARST	1991 Mar  1
 			-4:00	-	WART	1991 Oct 15
 			-4:00	1:00	WARST	1992 Mar  1
 			-4:00	-	WART	1992 Oct 18
-			-3:00	-	ART	1999 Oct  3 0:00
-			-4:00	Arg	AR%sT	2000 Mar  3 0:00
+			-3:00	Arg	AR%sT	1999 Oct  3
+			-4:00	Arg	AR%sT	2000 Mar  3
 			-3:00	-	ART
 
 # Aruba
@@ -729,12 +743,19 @@ Rule	Para	1996	only	-	Mar	 1	0:00	0	-
 # From Jesper Norgaard (2001-03-06) [an official URL saying similar things]:
 # http://gateway.abc.com.py:8000/pub/pag04.mbr/artic?FHA=2001-03-03-02.24.52.900592
 #
-Rule	Para	1996	max	-	Oct	Sun>=1	0:00	1:00	S
+Rule	Para	1996	2001	-	Oct	Sun>=1	0:00	1:00	S
 # IATA SSIM (1997-09) says Mar 1; go with Shanks.
 Rule	Para	1997	only	-	Feb	lastSun	0:00	0	-
 # Shanks says 1999-02-28; IATA SSIM (1999-02) says 1999-02-27, but
 # (1999-09) reports no date; go with above sources and Gerd Knops (2001-02-27).
-Rule	Para	1998	max	-	Mar	Sun>=1	0:00	0	-
+Rule	Para	1998	2001	-	Mar	Sun>=1	0:00	0	-
+# From Rives McDow (2002-02-28):
+# A decree was issued in Paraguay (no. 16350) on 2002-02-26 that changed the
+# dst method to be from the first Sunday in September to the first Sunday in
+# April.
+Rule	Para	2002	max	-	Apr	Sun>=1	0:00	0	-
+Rule	Para	2002	max	-	Sep	Sun>=1	0:00	1:00	S
+
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone America/Asuncion	-3:50:40 -	LMT	1890
diff --git a/timezone/zic.c b/timezone/zic.c
index 6fdcfcb66a..64642b39c5 100644
--- a/timezone/zic.c
+++ b/timezone/zic.c
@@ -1,6 +1,6 @@
 #ifndef lint
 #ifndef NOID
-static char	elsieid[] = "@(#)zic.c	7.104";
+static char	elsieid[] = "@(#)zic.c	7.107";
 #endif /* !defined NOID */
 #endif /* !defined lint */
 
@@ -621,9 +621,11 @@ const char * const	tofile;
 
 		result = link(fromname, toname);
 #if (HAVE_SYMLINK - 0)
-		if (result != 0) {
+		if (result != 0 &&
+		    access(fromname, F_OK) == 0 &&
+		    !itsdir(fromname)) {
 		        const char *s = tofile;
-		        register char *symlinkcontents = NULL;
+		        register char * symlinkcontents = NULL;
 		        while ((s = strchr(s+1, '/')) != NULL)
 			        symlinkcontents = ecatalloc(symlinkcontents, "../");
 			symlinkcontents = ecatalloc(symlinkcontents, fromname);
diff --git a/timezone/zone.tab b/timezone/zone.tab
index 17fdd5e8f2..17e0cd9ded 100644
--- a/timezone/zone.tab
+++ b/timezone/zone.tab
@@ -1,4 +1,4 @@
-# @(#)zone.tab	1.25
+# @(#)zone.tab	1.26
 #
 # TZ zone descriptions
 #
@@ -41,8 +41,7 @@ AQ	-7824+10654	Antarctica/Vostok	Vostok Station, S Magnetic Pole
 AQ	-6640+14001	Antarctica/DumontDUrville	Dumont-d'Urville Base, Terre Adelie
 AQ	-690022+0393524	Antarctica/Syowa	Syowa Station, E Ongul I
 AR	-3436-05827	America/Buenos_Aires	E Argentina (BA, DF, SC, TF)
-AR	-3257-06040	America/Rosario	NE Argentina (SF, ER, CN, MN, CC, FM, LP, CH)
-AR	-3124-06411	America/Cordoba	W Argentina (CB, SA, TM, LR, SJ, SL, NQ, RN)
+AR	-3124-06411	America/Cordoba	most locations (CB,CC,CH,CN,ER,FM,LP,LR,MN,NQ,RN,SA,SE,SF,SJ,SL,TM)
 AR	-2411-06518	America/Jujuy	Jujuy (JY)
 AR	-2828-06547	America/Catamarca	Catamarca (CT)
 AR	-3253-06849	America/Mendoza	Mendoza (MZ)
@@ -189,7 +188,7 @@ HT	+1832-07220	America/Port-au-Prince
 HU	+4730+01905	Europe/Budapest
 ID	-0610+10648	Asia/Jakarta	Java & Sumatra
 ID	-0002+10920	Asia/Pontianak	west & central Borneo
-ID	-0507+11924	Asia/Ujung_Pandang	east & south Borneo, Celebes, Bali, Nusa Tengarra, west Timor
+ID	-0507+11924	Asia/Makassar	east & south Borneo, Celebes, Bali, Nusa Tengarra, west Timor
 ID	-0232+14042	Asia/Jayapura	Irian Jaya & the Moluccas
 IE	+5320-00615	Europe/Dublin
 IL	+3146+03514	Asia/Jerusalem