[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r678 - in /trunk: libc/ libc/elf/ libc/include/ libc/libio/ libc/locale/programs/ libc/malloc/ libc/manual/ libc/nis/ libc/n...



Author: joseph
Date: Mon Nov 13 08:43:45 2006
New Revision: 678

Log:
Merge changes between r615 and r677 from /fsf/trunk.

Added:
    trunk/libc/string/tst-strxfrm2.c
      - copied unchanged from r677, fsf/trunk/libc/string/tst-strxfrm2.c
    trunk/ports/sysdeps/hppa/nptl/pthread_spin_init.c
      - copied unchanged from r677, fsf/trunk/ports/sysdeps/hppa/nptl/pthre=
ad_spin_init.c
Modified:
    trunk/libc/ChangeLog
    trunk/libc/elf/cache.c
    trunk/libc/elf/dl-debug.c
    trunk/libc/elf/dl-deps.c
    trunk/libc/elf/dl-load.c
    trunk/libc/elf/ldconfig.c
    trunk/libc/include/libc-symbols.h
    trunk/libc/libio/vswprintf.c
    trunk/libc/locale/programs/charmap.c
    trunk/libc/locale/programs/ld-collate.c
    trunk/libc/locale/programs/ld-ctype.c
    trunk/libc/locale/programs/ld-monetary.c
    trunk/libc/locale/programs/ld-numeric.c
    trunk/libc/locale/programs/ld-time.c
    trunk/libc/locale/programs/repertoire.c
    trunk/libc/malloc/memusage.sh
    trunk/libc/malloc/memusagestat.c
    trunk/libc/manual/argp.texi
    trunk/libc/manual/charset.texi
    trunk/libc/manual/errno.texi
    trunk/libc/manual/filesys.texi
    trunk/libc/manual/lang.texi
    trunk/libc/manual/maint.texi
    trunk/libc/manual/memory.texi
    trunk/libc/manual/message.texi
    trunk/libc/manual/resource.texi
    trunk/libc/manual/search.texi
    trunk/libc/manual/signal.texi
    trunk/libc/manual/startup.texi
    trunk/libc/manual/stdio.texi
    trunk/libc/manual/sysinfo.texi
    trunk/libc/manual/syslog.texi
    trunk/libc/manual/time.texi
    trunk/libc/nis/nis_print_group_entry.c
    trunk/libc/nis/nss_nisplus/nisplus-publickey.c
    trunk/libc/nscd/cache.c
    trunk/libc/nscd/selinux.c
    trunk/libc/po/sv.po
    trunk/libc/posix/unistd.h
    trunk/libc/string/Makefile
    trunk/libc/string/strxfrm_l.c
    trunk/libc/sunrpc/auth_unix.c
    trunk/libc/sunrpc/clnt_raw.c
    trunk/libc/sunrpc/pm_getmaps.c
    trunk/libc/sunrpc/rpc_main.c
    trunk/libc/sysdeps/gnu/errlist-compat.awk
    trunk/libc/sysdeps/gnu/siglist.c
    trunk/libc/sysdeps/i386/fpu/bits/mathinline.h
    trunk/libc/sysdeps/posix/getaddrinfo.c
    trunk/libc/sysdeps/unix/sysv/linux/i386/sysconf.c
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysconf.c
    trunk/libc/time/tzfile.c
    trunk/libc/timezone/africa
    trunk/libc/timezone/antarctica
    trunk/libc/timezone/asia
    trunk/libc/timezone/australasia
    trunk/libc/timezone/backward
    trunk/libc/timezone/checktab.awk
    trunk/libc/timezone/europe
    trunk/libc/timezone/ialloc.c
    trunk/libc/timezone/iso3166.tab
    trunk/libc/timezone/northamerica
    trunk/libc/timezone/private.h
    trunk/libc/timezone/scheck.c
    trunk/libc/timezone/southamerica
    trunk/libc/timezone/tzfile.h
    trunk/libc/timezone/tzselect.ksh
    trunk/libc/timezone/zdump.c
    trunk/libc/timezone/zic.c
    trunk/libc/timezone/zone.tab
    trunk/ports/ChangeLog.hppa
    trunk/ports/sysdeps/hppa/nptl/pthread_spin_unlock.c
    trunk/ports/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
    trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h

Modified: trunk/libc/ChangeLog
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Mon Nov 13 08:43:45 2006
@@ -1,3 +1,148 @@
+2006-11-10  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* timezone/africa: Update from tzdata2006o.
+	* timezone/antarctica: Likewise.
+	* timezone/asia: Likewise.
+	* timezone/australasia: Likewise.
+	* timezone/backward: Likewise.
+	* timezone/europe: Likewise.
+	* timezone/iso3166.tab: Likewise.
+	* timezone/northamerica: Likewise.
+	* timezone/southamerica: Likewise.
+	* timezone/zone.tab: Likewise.
+
+	* time/tzfile.c (__tzfile_read): Extend to handle new file format
+	on machines with 64-bit time_t.
+
+	* timezone/checktab.awk: Update from tzcode2006o.
+	* timezone/ialloc.c: Likewise.
+	* timezone/private.h: Likewise.
+	* timezone/scheck.: Likewise.
+	* timezone/tzfile.h: Likewise.
+	* timezone/tzselect.ksh: Likewise.
+	* timezone/zdump.c: Likewise.
+	* timezone/zic.c: Likewise.
+
+	[BZ #3483]
+	* elf/ldconfig.c (main): Call setlocale and textdomain.
+	Patch mostly by Benno Schulenberg <bensberg@xxxxxxxxxxxxx>.
+
+	[BZ #3480]
+	* manual/argp.texi: Fix typos.
+	* manual/charset.texi: Likewise.
+	* manual/errno.texi: Likewise.
+	* manual/filesys.texi: Likewise.
+	* manual/lang.texi: Likewise.
+	* manual/maint.texi: Likewise.
+	* manual/memory.texi: Likewise.
+	* manual/message.texi: Likewise.
+	* manual/resource.texi: Likewise.
+	* manual/search.texi: Likewise.
+	* manual/signal.texi: Likewise.
+	* manual/startup.texi: Likewise.
+	* manual/stdio.texi: Likewise.
+	* manual/sysinfo.texi: Likewise.
+	* manual/syslog.texi: Likewise.
+	* manual/time.texi: Likewise.
+	Patch by Ralf Wildenhues <Ralf.Wildenhues@xxxxxx>.
+
+	[BZ #3465]
+	* sunrpc/clnt_raw.c: Minimal message improvements.
+	* sunrpc/pm_getmaps.c: Likewise.
+	* nis/nss_nisplus/nisplus-publickey.c: Likewise.
+	* nis/nis_print_group_entry.c: Likewise.
+	* locale/programs/repertoire.c: Likewise.
+	* locale/programs/charmap.c: Likewise.
+	* malloc/memusage.sh: Likewise.
+	* elf/dl-deps.c: Likewise.
+	* locale/programs/ld-collate.c: Likewise.
+	* libio/vswprintf.c: Likewise.
+	* malloc/memusagestat.c: Likewise.
+	* sunrpc/auth_unix.c: Likewise.
+	* sunrpc/rpc_main.c: Likewise.
+	* nscd/cache.c: Likewise.
+	* locale/programs/repertoire.c: Unify output messages.
+	* locale/programs/charmap.c: Likewise.
+	* locale/programs/ld-ctype.c: Likewise.
+	* locale/programs/ld-monetary.c: Likewise.
+	* locale/programs/ld-numeric.c: Likewise.
+	* locale/programs/ld-time.c: Likewise.
+	* elf/ldconfig.c: Likewise.
+	* nscd/selinux.c: Likewise.
+	* elf/cache.c: Likewise.
+	Patch mostly by Benno Schulenberg <bensberg@xxxxxxxxxxxxx>.
+
+	[BZ #3451]
+	* sysdeps/i386/fpu/bits/mathinline.h (floor): Make rounding mode
+	change atomic.
+	(ceil): Likewise.
+
+2006-11-10  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimization
+	if N is one bigger than return value.
+	* string/tst-strxfrm2.c (do_test): Also test strxfrm with l1 + 1
+	and l1 last arguments, if buf is defined, verify the return value
+	equals to strlen (buf) and verify no byte beyond passed length
+	is modified.
+
+2006-11-10  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* po/sv.po: Update from translation team.
+
+2006-11-09  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_check_word): Add
+	noinline attribute.
+
+2006-11-10  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word): Add
+	noinline attribute.
+
+	* sysdeps/gnu/siglist.c (__old_sys_siglist, __old_sys_sigabbrev):
+	Use __new_sys_siglist instead of _sys_siglist_internal as
+	second macro argument.
+	(_old_sys_siglist): Use declare_symbol_alias macro instead of
+	strong_alias.
+
+2006-11-09  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #3493]
+	* posix/unistd.h (sysconf): Remove const attribute.
+
+	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix test for
+	temporary or deprecated addresses.
+	Patch by Sridhar Samudrala <sri@xxxxxxxxxx>.
+
+	* string/Makefile (tests): Add tst-strxfrm2.
+	* string/tst-strxfrm2.c: New file.
+
+2006-10-09  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* elf/dl-debug.c (_dl_debug_initialize): Check r->r_map for 0
+	rather than r->r_brk.
+
+2006-11-08  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* string/strxfrm_l.c (STRXFRM): Do the trailing \1 removal
+	optimization even if needed > n.
+
+	* elf/dl-load.c (decompose_rpath): Return bool rather than void.
+	If l->l_name is on inhibit_rpath list, set sps->dirs to -1 and
+	return false, otherwise return true.
+	(cache_rpath): Return decompose_rpath return value.
+
+2006-11-07  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* include/libc-symbols.h (declare_symbol): Rename to...
+	(declare_symbol_alias): ... this.  Add ORIGINAL argument, imply
+	strong_alias (ORIGINAL, SYMBOL) in asm to make sure it preceedes
+	.size directive.
+	* sysdeps/gnu/errlist-compat.awk: Adjust for declare_symbol_alias
+	changes.
+	* sysdeps/gnu/siglist.c: Likewise.
+
 2006-11-03  Steven Munroe  <sjmunroe@xxxxxxxxxx>
 =

 	* sysdeps/powerpc/fpu/bits/mathinline.h

Modified: trunk/libc/elf/cache.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/elf/cache.c (original)
+++ trunk/libc/elf/cache.c Mon Nov 13 08:43:45 2006
@@ -439,7 +439,7 @@
     }
 =

   if (write (fd, strings, total_strlen) !=3D (ssize_t) total_strlen)
-    error (EXIT_FAILURE, errno, _("Writing of cache data failed."));
+    error (EXIT_FAILURE, errno, _("Writing of cache data failed"));
 =

   close (fd);
 =


Modified: trunk/libc/elf/dl-debug.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/elf/dl-debug.c (original)
+++ trunk/libc/elf/dl-debug.c Mon Nov 13 08:43:45 2006
@@ -54,7 +54,7 @@
   else
     r =3D &GL(dl_ns)[ns]._ns_debug;
 =

-  if (r->r_brk =3D=3D 0 || ldbase !=3D 0)
+  if (r->r_map =3D=3D NULL || ldbase !=3D 0)
     {
       /* Tell the debugger where to find the map of loaded objects.  */
       r->r_version =3D 1	/* R_DEBUG_VERSION XXX */;

Modified: trunk/libc/elf/dl-deps.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/elf/dl-deps.c (original)
+++ trunk/libc/elf/dl-deps.c Mon Nov 13 08:43:45 2006
@@ -123,7 +123,7 @@
 	       processed.  */						      \
 	    if (fatal)							      \
 	      _dl_signal_error (0, __str, NULL, N_("\
-empty dynamics string token substitution"));				      \
+empty dynamic string token substitution"));				      \
 	    else							      \
 	      {								      \
 		/* This is for DT_AUXILIARY.  */			      \

Modified: trunk/libc/elf/dl-load.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/elf/dl-load.c (original)
+++ trunk/libc/elf/dl-load.c Mon Nov 13 08:43:45 2006
@@ -511,7 +511,7 @@
 }
 =

 =

-static void
+static bool
 internal_function
 decompose_rpath (struct r_search_path_struct *sps,
 		 const char *rpath, struct link_map *l, const char *what)
@@ -546,19 +546,8 @@
 	    {
 	      /* This object is on the list of objects for which the
 		 RUNPATH and RPATH must not be used.  */
-	      result =3D calloc (1, sizeof *result);
-	      if (result =3D=3D NULL)
-		{
-		signal_error_cache:
-		  errstring =3D N_("cannot create cache for search path");
-		signal_error:
-		  _dl_signal_error (ENOMEM, NULL, NULL, errstring);
-		}
-
-	      sps->dirs =3D result;
-	      sps->malloced =3D 1;
-
-	      return;
+	      sps->dirs =3D (void *) -1;
+	      return false;
 	    }
 =

 	  while (*inhp !=3D '\0')
@@ -588,7 +577,11 @@
   result =3D (struct r_search_path_elem **) malloc ((nelems + 1 + 1)
 						  * sizeof (*result));
   if (result =3D=3D NULL)
-    goto signal_error_cache;
+    {
+      errstring =3D N_("cannot create cache for search path");
+    signal_error:
+      _dl_signal_error (ENOMEM, NULL, NULL, errstring);
+    }
 =

   fillin_rpath (copy, result, ":", 0, what, where);
 =

@@ -599,6 +592,7 @@
   sps->dirs =3D result;
   /* The caller will change this value if we haven't used a real malloc.  =
*/
   sps->malloced =3D 1;
+  return true;
 }
 =

 /* Make sure cached path information is stored in *SP
@@ -623,10 +617,9 @@
     }
 =

   /* Make sure the cache information is available.  */
-  decompose_rpath (sp, (const char *) (D_PTR (l, l_info[DT_STRTAB])
-				       + l->l_info[tag]->d_un.d_val),
-		   l, what);
-  return true;
+  return decompose_rpath (sp, (const char *) (D_PTR (l, l_info[DT_STRTAB])
+					      + l->l_info[tag]->d_un.d_val),
+			  l, what);
 }
 =

 =


Modified: trunk/libc/elf/ldconfig.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/elf/ldconfig.c (original)
+++ trunk/libc/elf/ldconfig.c Mon Nov 13 08:43:45 2006
@@ -24,6 +24,7 @@
 #include <errno.h>
 #include <inttypes.h>
 #include <libintl.h>
+#include <locale.h>
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdio_ext.h>
@@ -558,7 +559,7 @@
   /* Do some sanity checks first.  */
   if (lstat64 (real_library, &stat_buf))
     {
-      error (0, errno, _("Can't lstat %s"), library);
+      error (0, errno, _("Cannot lstat %s"), library);
       free (path);
       return;
     }
@@ -1166,9 +1167,14 @@
 int
 main (int argc, char **argv)
 {
+  /* Set locale via LC_ALL.  */
+  setlocale (LC_ALL, "");
+
+  /* Set the text message domain.  */
+  textdomain (_libc_intl_domainname);
+
+  /* Parse and process arguments.  */
   int remaining;
-
-  /* Parse and process arguments.  */
   argp_parse (&argp, argc, argv, 0, &remaining, NULL);
 =

   /* Remaining arguments are additional directories if opt_manual_link

Modified: trunk/libc/include/libc-symbols.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/include/libc-symbols.h (original)
+++ trunk/libc/include/libc-symbols.h Mon Nov 13 08:43:45 2006
@@ -294,27 +294,42 @@
 for linking")
 #endif
 =

-/* Declare SYMBOL to be TYPE (`function' or `object') and of SIZE bytes,
-   when the assembler supports such declarations (such as in ELF).
+/* Declare SYMBOL to be TYPE (`function' or `object') of SIZE bytes
+   alias to ORIGINAL, when the assembler supports such declarations
+   (such as in ELF).
    This is only necessary when defining something in assembly, or playing
    funny alias games where the size should be other than what the compiler
    thinks it is.  */
-#define declare_symbol(symbol, type, size) \
-  declare_symbol_1 (symbol, type, size)
+#define declare_symbol_alias(symbol, original, type, size) \
+  declare_symbol_alias_1 (symbol, original, type, size)
 #ifdef ASM_TYPE_DIRECTIVE_PREFIX
 # ifdef __ASSEMBLER__
-#  define declare_symbol_1(symbol, type, size) \
+#  define declare_symbol_alias_1(symbol, original, type, size) \
+    strong_alias (original, symbol); \
     .type C_SYMBOL_NAME (symbol), \
-	  declare_symbol_1_paste (ASM_TYPE_DIRECTIVE_PREFIX, type), size
-#  define declare_symbol_1_paste(a, b)	declare_symbol_1_paste_1 (a,b)
-#  define declare_symbol_1_paste_1(a,b)	a##b
+	  declare_symbol_alias_1_paste (ASM_TYPE_DIRECTIVE_PREFIX, type); \
+    .size C_SYMBOL_NAME (symbol), size
+#  define declare_symbol_alias_1_paste(a, b) \
+  declare_symbol_alias_1_paste_1 (a,b)
+#  define declare_symbol_alias_1_paste_1(a,b)	a##b
 # else /* Not __ASSEMBLER__.  */
-#  define declare_symbol_1(symbol, type, size) \
-    asm (".type " __SYMBOL_PREFIX #symbol ", " \
-	 declare_symbol_1_stringify (ASM_TYPE_DIRECTIVE_PREFIX) #type \
+#  define declare_symbol_alias_1(symbol, original, type, size) \
+    asm (declare_symbol_alias_1_stringify (ASM_GLOBAL_DIRECTIVE) \
+	 " " __SYMBOL_PREFIX #symbol \
+	 "\n\t" declare_symbol_alias_1_alias (symbol, original) \
+	 "\n\t.type " __SYMBOL_PREFIX #symbol ", " \
+	 declare_symbol_alias_1_stringify (ASM_TYPE_DIRECTIVE_PREFIX) #type \
 	 "\n\t.size " __SYMBOL_PREFIX #symbol ", " #size);
-#  define declare_symbol_1_stringify(x) declare_symbol_1_stringify_1 (x)
-#  define declare_symbol_1_stringify_1(x) #x
+#  define declare_symbol_alias_1_stringify(x) \
+  declare_symbol_alias_1_stringify_1 (x)
+#  define declare_symbol_alias_1_stringify_1(x) #x
+#  ifdef HAVE_ASM_SET_DIRECTIVE
+#   define declare_symbol_alias_1_alias(symbol, original) \
+	 ".set " __SYMBOL_PREFIX #symbol ", " __SYMBOL_PREFIX #original
+#  else
+#   define declare_symbol_alias_1_alias(symbol, original) \
+	 __SYMBOL_PREFIX #symbol " =3D " __SYMBOL_PREFIX #original
+#  endif /* HAVE_ASM_SET_DIRECTIVE */
 # endif /* __ASSEMBLER__ */
 #else
 # define declare_symbol_1(symbol, type, size) /* Nothing.  */

Modified: trunk/libc/libio/vswprintf.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/libio/vswprintf.c (original)
+++ trunk/libc/libio/vswprintf.c Mon Nov 13 08:43:45 2006
@@ -119,7 +119,7 @@
 =

   if (sf.f._sbf._f._wide_data->_IO_buf_base =3D=3D sf.overflow_buf)
     /* ISO C99 requires swprintf/vswprintf to return an error if the
-       output does not fit int he provided buffer.  */
+       output does not fit in the provided buffer.  */
     return -1;
 =

   /* Terminate the string.  */

Modified: trunk/libc/locale/programs/charmap.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/locale/programs/charmap.c (original)
+++ trunk/libc/locale/programs/charmap.c Mon Nov 13 08:43:45 2006
@@ -607,7 +607,7 @@
 	case 90:
 	  if (nowtok !=3D expected_tok)
 	    lr_error (cmfile, _("\
-`%1$s' definition does not end with `END %1$s'"), expected_str);
+%1$s: definition does not end with `END %1$s'"), expected_str);
 =

 	  lr_ignore_rest (cmfile, nowtok =3D=3D expected_tok);
 	  state =3D 91;
@@ -1019,13 +1019,13 @@
 	  && errno =3D=3D ERANGE)
       || *to_end !=3D '\0')
     {
-      lr_error (lr, _("<%s> and <%s> are illegal names for range"), from, =
to);
+      lr_error (lr, _("<%s> and <%s> are invalid names for range"), from, =
to);
       return;
     }
 =

   if (from_nr > to_nr)
     {
-      lr_error (lr, _("upper limit in range is not higher then lower limit=
"));
+      lr_error (lr, _("upper limit in range is smaller than lower limit"));
       return;
     }
 =


Modified: trunk/libc/locale/programs/ld-collate.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/locale/programs/ld-collate.c (original)
+++ trunk/libc/locale/programs/ld-collate.c Mon Nov 13 08:43:45 2006
@@ -1153,7 +1153,7 @@
 	    {
 	      if (ret > 0)
 		lr_error (ldfile, _("%s: byte sequence of first character of \
-sequence is not lower than that of the last character"), "LC_COLLATE");
+range is not lower than that of the last character"), "LC_COLLATE");
 	      return;
 	    }
 =

@@ -1172,7 +1172,7 @@
 		  size_t namelen;
 		  void *ptr;
 =

-		  /* I don't this this can ever happen.  */
+		  /* I don't think this can ever happen.  */
 		  assert (seq->name !=3D NULL);
 		  namelen =3D strlen (seq->name);
 =


Modified: trunk/libc/locale/programs/ld-ctype.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/locale/programs/ld-ctype.c (original)
+++ trunk/libc/locale/programs/ld-ctype.c Mon Nov 13 08:43:45 2006
@@ -2940,7 +2940,7 @@
 	    {
 	      if (!be_quiet)
 		WITH_CUR_LOCALE (error (0, 0, _("\
-%s: character `%s' not defined in charmap while needed as default value"),
+%s: character `%s' not defined while needed as default value"),
 					"LC_CTYPE", tmp));
 	    }
 	  else if (seq->nbytes !=3D 1)
@@ -3065,8 +3065,8 @@
 	{
 	  if (!be_quiet)
 	    WITH_CUR_LOCALE (error (0, 0, _("\
-character `%s' not defined while needed as default value"),
-				    "<newline>"));
+%s: character `%s' not defined while needed as default value"),
+				    "LC_CTYPE", "<newline>"));
 	}
       else if (seq->nbytes !=3D 1)
 	WITH_CUR_LOCALE (error (0, 0, _("\

Modified: trunk/libc/locale/programs/ld-monetary.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/locale/programs/ld-monetary.c (original)
+++ trunk/libc/locale/programs/ld-monetary.c Mon Nov 13 08:43:45 2006
@@ -252,7 +252,7 @@
   else if (monetary->mon_decimal_point[0] =3D=3D '\0' && ! be_quiet && ! n=
othing)
     {
       WITH_CUR_LOCALE (error (0, 0, _("\
-%s: value for field `%s' must not be the empty string"),
+%s: value for field `%s' must not be an empty string"),
 			      "LC_MONETARY", "mon_decimal_point"));
     }
   if (monetary->mon_decimal_point_wc =3D=3D L'\0')

Modified: trunk/libc/locale/programs/ld-numeric.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/locale/programs/ld-numeric.c (original)
+++ trunk/libc/locale/programs/ld-numeric.c Mon Nov 13 08:43:45 2006
@@ -115,7 +115,7 @@
   else if (numeric->decimal_point[0] =3D=3D '\0' && ! be_quiet && ! nothin=
g)
     {
       WITH_CUR_LOCALE (error (0, 0, _("\
-%s: value for field `%s' must not be the empty string"),
+%s: value for field `%s' must not be an empty string"),
 			      "LC_NUMERIC", "decimal_point"));
     }
   if (numeric->decimal_point_wc =3D=3D L'\0')

Modified: trunk/libc/locale/programs/ld-time.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/locale/programs/ld-time.c (original)
+++ trunk/libc/locale/programs/ld-time.c Mon Nov 13 08:43:45 2006
@@ -504,7 +504,7 @@
     time->first_weekday =3D 1;
   else if (time->first_weekday > time->week_ndays)
     WITH_CUR_LOCALE (error (0, 0, _("\
-%s: values of field `%s' must not be larger than %d"),
+%s: values for field `%s' must not be larger than %d"),
 			    "LC_TIME", "first_weekday", 7));
 =

   if (time->first_workday =3D=3D '\0')
@@ -512,7 +512,7 @@
     time->first_workday =3D 1;
   else if (time->first_workday > time->week_ndays)
     WITH_CUR_LOCALE (error (0, 0, _("\
-%s: values of field `%s' must not be larger than %d"),
+%s: values for field `%s' must not be larger than %d"),
 			    "LC_TIME", "first_workday", 7));
 =

   if (time->cal_direction =3D=3D '\0')

Modified: trunk/libc/locale/programs/repertoire.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/locale/programs/repertoire.c (original)
+++ trunk/libc/locale/programs/repertoire.c Mon Nov 13 08:43:45 2006
@@ -311,7 +311,7 @@
 	case 90:
 	  if (nowtok !=3D tok_charids)
 	    lr_error (repfile, _("\
-`%1$s' definition does not end with `END %1$s'"), "CHARIDS");
+%1$s: definition does not end with `END %1$s'"), "CHARIDS");
 =

 	  lr_ignore_rest (repfile, nowtok =3D=3D tok_charids);
 	  break;
@@ -453,7 +453,7 @@
 =

   if (from_nr > to_nr)
     {
-      lr_error (lr, _("upper limit in range is not smaller then lower limi=
t"));
+      lr_error (lr, _("upper limit in range is smaller than lower limit"));
       return;
     }
 =


Modified: trunk/libc/malloc/memusage.sh
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/malloc/memusage.sh (original)
+++ trunk/libc/malloc/memusage.sh Mon Nov 13 08:43:45 2006
@@ -44,7 +44,7 @@
    -d,--data=3DFILE         Generate binary data file and store it in FILE
    -u,--unbuffered        Don't buffer output
    -b,--buffer=3DSIZE       Collect SIZE entries before writing them out
-      --no-timer          Don't collect additional information though timer
+      --no-timer          Don't collect additional information through tim=
er
    -m,--mmap              Also trace mmap & friends
 =

    -?,--help              Print this help and exit

Modified: trunk/libc/malloc/memusagestat.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/malloc/memusagestat.c (original)
+++ trunk/libc/malloc/memusagestat.c Mon Nov 13 08:43:45 2006
@@ -55,8 +55,8 @@
   { "time", 't', NULL, 0, N_("Generate output linear to time (default is l=
inear to number of function calls)") },
   { "total", 'T', NULL, 0,
     N_("Also draw graph for total memory consumption") },
-  { "x-size", 'x', "VALUE", 0, N_("make output graphic VALUE pixel wide") =
},
-  { "y-size", 'y', "VALUE", 0, N_("make output graphic VALUE pixel high") =
},
+  { "x-size", 'x', "VALUE", 0, N_("Make output graphic VALUE pixels wide")=
 },
+  { "y-size", 'y', "VALUE", 0, N_("Make output graphic VALUE pixels high")=
 },
   { NULL, 0, NULL, 0, NULL }
 };
 =


Modified: trunk/libc/manual/argp.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/argp.texi (original)
+++ trunk/libc/manual/argp.texi Mon Nov 13 08:43:45 2006
@@ -832,7 +832,7 @@
 @item ARGP_LONG_ONLY
 Use the gnu getopt `long-only' rules for parsing arguments.  This allows
 long-options to be recognized with only a single @samp{-}
-(i.e.  @samp{-help}).  This results in a less useful interface, and its
+(i.e., @samp{-help}).  This results in a less useful interface, and its
 use is discouraged as it conflicts with the way most GNU programs work
 as well as the GNU coding standards.
 =


Modified: trunk/libc/manual/charset.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/charset.texi (original)
+++ trunk/libc/manual/charset.texi Mon Nov 13 08:43:45 2006
@@ -207,7 +207,7 @@
 than one byte, they are effected by byte-ordering.  Thus, machines with
 different endianesses would see different values when accessing the same
 data.  This byte ordering concern also applies for communication protocols
-that are all byte-based and, thereforet require that the sender has to
+that are all byte-based and therefore require that the sender has to
 decide about splitting the wide character in bytes.  A last (but not least
 important) point is that wide characters often require more storage space
 than a customized byte-oriented character set.
@@ -737,7 +737,7 @@
 multibyte character, the number of bytes belonging to this multibyte
 character byte sequence is returned.
 =

-If the the first @var{n} bytes possibly form a valid multibyte
+If the first @var{n} bytes possibly form a valid multibyte
 character but the character is incomplete, the return value is
 @code{(size_t) -2}.  Otherwise the multibyte character sequence is invalid
 and the return value is @code{(size_t) -1}.
@@ -2231,7 +2231,7 @@
 same as the one required for UCS-4.  This is done for performance reasons
 as one does not want to perform unnecessary byte-swapping operations if
 one is not interested in actually seeing the result in UCS-4.  To avoid
-trouble with endianess, the internal representation consistently is named
+trouble with endianness, the internal representation consistently is named
 @code{INTERNAL} even on big-endian systems where the representations are
 identical.
 =


Modified: trunk/libc/manual/errno.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/errno.texi (original)
+++ trunk/libc/manual/errno.texi Mon Nov 13 08:43:45 2006
@@ -1434,7 +1434,7 @@
 arguments required for the format can follow the @var{format} parameter.
 Just like @code{perror}, @code{error} also can report an error code in
 textual form.  But unlike @code{perror} the error value is explicitly
-passed to the function in the @var{errnum} parameter.  This elimintates
+passed to the function in the @var{errnum} parameter.  This eliminates
 the problem mentioned above that the error reporting function must be
 called immediately after the function causing the error since otherwise
 @code{errno} might have a different value.
@@ -1479,7 +1479,7 @@
 =

 If the global variable @code{error_one_per_line} is set to a non-zero
 value @code{error_at_line} will avoid printing consecutive messages for
-the same file anem line.  Repetition which are not directly following
+the same file and line.  Repetition which are not directly following
 each other are not caught.
 =

 Just like @code{error} this function only returned if @var{status} is

Modified: trunk/libc/manual/filesys.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/filesys.texi (original)
+++ trunk/libc/manual/filesys.texi Mon Nov 13 08:43:45 2006
@@ -131,7 +131,7 @@
 @comment GNU
 @deftypefun {char *} get_current_dir_name (void)
 @vindex PWD
-This @code{get_current_dir_name} function is bascially equivalent to
+This @code{get_current_dir_name} function is basically equivalent to
 @w{@code{getcwd (NULL, 0)}}.  The only difference is that the value of
 the @code{PWD} variable is returned if this value is correct.  This is a
 subtle difference which is visible if the path described by the
@@ -917,7 +917,7 @@
 the return value of @code{ftw}.
 =

 When the sources are compiled with @code{_FILE_OFFSET_BITS =3D=3D 64} on a
-32-bit system this function is in fact @code{ftw64}, i.e. the LFS
+32-bit system this function is in fact @code{ftw64}, i.e., the LFS
 interface transparently replaces the old interface.
 @end deftypefun
 =

@@ -990,7 +990,7 @@
 then that value is returned.
 =

 When the sources are compiled with @code{_FILE_OFFSET_BITS =3D=3D 64} on a
-32-bit system this function is in fact @code{nftw64}, i.e. the LFS
+32-bit system this function is in fact @code{nftw64}, i.e., the LFS
 interface transparently replaces the old interface.
 @end deftypefun
 =

@@ -1434,7 +1434,7 @@
 =

 One useful feature of @code{rename} is that the meaning of @var{newname}
 changes ``atomically'' from any previously existing file by that name to
-its new meaning (i.e. the file that was called @var{oldname}).  There is
+its new meaning (i.e., the file that was called @var{oldname}).  There is
 no instant at which @var{newname} is non-existent ``in between'' the old
 meaning and the new meaning.  If there is a system crash during the
 operation, it is possible for both names to still exist; but
@@ -3104,7 +3104,7 @@
 This function is reentrant.
 =

 When the sources are compiled with @code{_FILE_OFFSET_BITS =3D=3D 64} on a
-32-bit system this function is in fact @code{tmpfile64}, i.e. the LFS
+32-bit system this function is in fact @code{tmpfile64}, i.e., the LFS
 interface transparently replaces the old interface.
 @end deftypefun
 =


Modified: trunk/libc/manual/lang.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/lang.texi (original)
+++ trunk/libc/manual/lang.texi Mon Nov 13 08:43:45 2006
@@ -1274,7 +1274,7 @@
 @comment ISO
 @deftypefn {Macro} size_t offsetof (@var{type}, @var{member})
 This expands to a integer constant expression that is the offset of the
-structure member named @var{member} in a the structure type @var{type}.
+structure member named @var{member} in the structure type @var{type}.
 For example, @code{offsetof (struct s, elem)} is the offset, in bytes,
 of the member @code{elem} in a @code{struct s}.
 =


Modified: trunk/libc/manual/maint.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/maint.texi (original)
+++ trunk/libc/manual/maint.texi Mon Nov 13 08:43:45 2006
@@ -156,7 +156,7 @@
 to look for a system-dependent version of a file that's not in
 @file{generic}.  This means that any system-dependent source file must
 have an analogue in @file{generic}, even if the routines defined by that
-file are not implemented on other platforms.  Second. the @file{generic}
+file are not implemented on other platforms.  Second, the @file{generic}
 version of a system-dependent file is used if the makefiles do not find
 a version specific to the system you're compiling for.
 =


Modified: trunk/libc/manual/memory.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/memory.texi (original)
+++ trunk/libc/manual/memory.texi Mon Nov 13 08:43:45 2006
@@ -31,7 +31,7 @@
 There are a lot of different ways systems organize memory, but in a
 typical one, each process has one linear virtual address space, with
 addresses running from zero to some huge maximum.  It need not be
-contiguous; i.e.  not all of these addresses actually can be used to
+contiguous; i.e., not all of these addresses actually can be used to
 store data.
 =

 The virtual memory is divided into pages (4 kilobytes is typical).
@@ -1065,7 +1065,7 @@
 =

 @item int keepcost
 This is the size of the top-most releasable chunk that normally
-borders the end of the heap (i.e. the high end of the virtual address
+borders the end of the heap (i.e., the high end of the virtual address
 space's data segment).
 =

 @end table
@@ -2407,7 +2407,7 @@
 @cindex paging
 =

 You can tell the system to associate a particular virtual memory page
-with a real page frame and keep it that way --- i.e. cause the page to
+with a real page frame and keep it that way --- i.e., cause the page to
 be paged in if it isn't already and mark it so it will never be paged
 out and consequently will never cause a page fault.  This is called
 @dfn{locking} a page.
@@ -2467,7 +2467,7 @@
 paging rule is: If a frame backs at least one locked page, don't page it
 out.
 =

-Memory locks do not stack.  I.e. you can't lock a particular page twice
+Memory locks do not stack.  I.e., you can't lock a particular page twice
 so that it has to be unlocked twice before it is truly unlocked.  It is
 either locked or it isn't.
 =


Modified: trunk/libc/manual/message.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/message.texi (original)
+++ trunk/libc/manual/message.texi Mon Nov 13 08:43:45 2006
@@ -1810,8 +1810,8 @@
 =

 Other programs help to manage development cycle when new messages appear
 in the source files or when a new translation of the messages appear.
-here it should only be noted that using all the tools in GNU gettext it
-is possible to @emph{completely} automize the handling of message
+Here it should only be noted that using all the tools in GNU gettext it
+is possible to @emph{completely} automate the handling of message
 catalog.  Beside marking the translatable string in the source code and
 generating the translations the developers do not have anything to do
 themselves.

Modified: trunk/libc/manual/resource.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/resource.texi (original)
+++ trunk/libc/manual/resource.texi Mon Nov 13 08:43:45 2006
@@ -584,7 +584,7 @@
 @cindex preemptive scheduling
 When two processes are in contention to use the CPU at any instant, the
 one with the higher absolute priority always gets it.  This is true even i=
f the
-process with the lower priority is already using the CPU (i.e. the
+process with the lower priority is already using the CPU (i.e., the
 scheduling is preemptive).  Of course, we're only talking about
 processes that are running or ``ready to run,'' which means they are
 ready to execute instructions right now.  When a process blocks to wait
@@ -819,7 +819,7 @@
 =

 @item
 The calling process does not have @code{CAP_SYS_NICE} permission and its
-owner is not the target process' owner.  I.e.  the effective uid of the
+owner is not the target process' owner.  I.e., the effective uid of the
 calling process is neither the effective nor the real uid of process
 @var{pid}.
 @c We need a cross reference to the capabilities section, when written.
@@ -1185,7 +1185,7 @@
 =

 @item EPERM
 The call would set the nice value of a process which is owned by a differe=
nt
-user than the calling process (i.e. the target process' real or effective
+user than the calling process (i.e., the target process' real or effective
 uid does not match the calling process' effective uid) and the calling
 process does not have @code{CAP_SYS_NICE} permission.
 =

@@ -1215,7 +1215,7 @@
 @comment sys/resource.h
 @comment BSD
 @item PRIO_USER
-All the processes owned by a particular user (i.e. whose real uid
+All the processes owned by a particular user (i.e., whose real uid
 indicates the user).  The argument @var{id} is a user ID (uid).
 @end vtable
 =

@@ -1272,7 +1272,7 @@
 @item
 The access to certain resources (RAM, I/O ports) has different costs
 from different CPUs.  This is the case in NUMA (Non-Uniform Memory
-Architecture) machines.  Preferrably memory should be accessed locally
+Architecture) machines.  Preferably memory should be accessed locally
 but this requirement is usually not visible to the scheduler.
 Therefore forcing a process or thread to the CPUs which have local
 access to the mostly used memory helps to significantly boost the

Modified: trunk/libc/manual/search.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/search.texi (original)
+++ trunk/libc/manual/search.texi Mon Nov 13 08:43:45 2006
@@ -368,9 +368,9 @@
 dynamically.  It must be initialized with zero before calling this
 function.
 =

-The return value is non-zero if the operation were successful.  if the
-return value is zero something went wrong which probably means the
-programs runs out of memory.
+The return value is non-zero if the operation was successful.  If the
+return value is zero, something went wrong, which probably means the
+programs ran out of memory.
 @end deftypefun
 =

 @comment search.h

Modified: trunk/libc/manual/signal.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/signal.texi (original)
+++ trunk/libc/manual/signal.texi Mon Nov 13 08:43:45 2006
@@ -2567,7 +2567,7 @@
 Note that you must not use @code{sigprocmask} in multi-threaded processes,
 because each thread has its own signal mask and there is no single process
 signal mask. According to POSIX, the behavior of @code{sigprocmask} in a
-multi-threaded process is ``unspeficied''.
+multi-threaded process is ``unspecified''.
 Instead, use @code{pthread_sigmask}.
 @ifset linuxthreads
 @xref{Threads and Signal Handling}.

Modified: trunk/libc/manual/startup.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/startup.texi (original)
+++ trunk/libc/manual/startup.texi Mon Nov 13 08:43:45 2006
@@ -830,7 +830,7 @@
 Don't confuse a program's exit status with a process' termination status.
 There are lots of ways a process can terminate besides having it's program
 finish.  In the event that the process termination @emph{is} caused by pro=
gram
-termination (i.e. @code{exit}), though, the program's exit status becomes
+termination (i.e., @code{exit}), though, the program's exit status becomes
 part of the process' termination status.
 =

 @node Cleanups on Exit

Modified: trunk/libc/manual/stdio.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/stdio.texi (original)
+++ trunk/libc/manual/stdio.texi Mon Nov 13 08:43:45 2006
@@ -433,7 +433,7 @@
 @cindex multi-threaded application
 Streams can be used in multi-threaded applications in the same way they
 are used in single-threaded applications.  But the programmer must be
-aware of a the possible complications.  It is important to know about
+aware of the possible complications.  It is important to know about
 these also if the program one writes never use threads since the design
 and implementation of many stream functions is heavily influenced by the
 requirements added by multi-threaded programming.
@@ -1992,7 +1992,7 @@
 The @samp{%g} and @samp{%G} conversions print the argument in the style
 of @samp{%e} or @samp{%E} (respectively) if the exponent would be less
 than -4 or greater than or equal to the precision; otherwise they use
-the @samp{%f} style.  A precision of @code{0}, is taken as 1. is
+the @samp{%f} style.  A precision of @code{0}, is taken as 1.
 Trailing zeros are removed from the fractional portion of the result and
 a decimal-point character appears only if it is followed by a digit.
 =


Modified: trunk/libc/manual/sysinfo.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/sysinfo.texi (original)
+++ trunk/libc/manual/sysinfo.texi Mon Nov 13 08:43:45 2006
@@ -872,7 +872,7 @@
 =

 @item MS_SYNCHRONOUS
 This bit on specifies that all writes to the filesystem while it is
-mounted shall be synchronous; i.e. data shall be synced before each
+mounted shall be synchronous; i.e., data shall be synced before each
 write completes rather than held in the buffer cache.
 =

 @item MS_MANDLOCK

Modified: trunk/libc/manual/syslog.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/syslog.texi (original)
+++ trunk/libc/manual/syslog.texi Mon Nov 13 08:43:45 2006
@@ -370,7 +370,7 @@
 =

 Results are undefined if the priority code is anything else.
 =

-If the process does not presently have a Syslog connection open (i.e.
+If the process does not presently have a Syslog connection open (i.e.,
 it did not call @code{openlog}), @code{syslog} implicitly opens the
 connection the same as @code{openlog} would, with the following defaults
 for information that would otherwise be included in an @code{openlog}

Modified: trunk/libc/manual/time.texi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/manual/time.texi (original)
+++ trunk/libc/manual/time.texi Mon Nov 13 08:43:45 2006
@@ -193,7 +193,7 @@
 arbitrary event.  On the GNU system, that event is the creation of the
 process.  While arbitrary in general, the event is always the same event
 for any particular process, so you can always measure how much time on
-the CPU a particular computation takes by examinining the process' CPU
+the CPU a particular computation takes by examining the process' CPU
 time before and after the computation.
 @cindex CPU time
 @cindex clock ticks
@@ -447,7 +447,7 @@
 @comment time.h
 @comment SVID, XPG
 @deftypefun int stime (time_t *@var{newtime})
-@code{stime} sets the system clock, i.e.  it tells the system that the
+@code{stime} sets the system clock, i.e., it tells the system that the
 current calendar time is @var{newtime}, where @code{newtime} is
 interpreted as described in the above definition of @code{time_t}.
 =

@@ -1470,7 +1470,7 @@
 @node Low-Level Time String Parsing
 @subsubsection Interpret string according to given format
 =

-he first function is rather low-level.  It is nevertheless frequently
+The first function is rather low-level.  It is nevertheless frequently
 used in software since it is better known.  Its interface and
 implementation are heavily influenced by the @code{getdate} function,
 which is defined and implemented in terms of calls to @code{strptime}.
@@ -1790,7 +1790,7 @@
 the format string the return value points right after the last consumed
 input character.  If the whole input string is consumed the return value
 points to the @code{NULL} byte at the end of the string.  If an error
-occurs, i.e. @code{strptime} fails to match all of the format string,
+occurs, i.e., @code{strptime} fails to match all of the format string,
 the function returns @code{NULL}.
 @end deftypefun
 =


Modified: trunk/libc/nis/nis_print_group_entry.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/nis/nis_print_group_entry.c (original)
+++ trunk/libc/nis/nis_print_group_entry.c Mon Nov 13 08:43:45 2006
@@ -162,7 +162,7 @@
 	fputs (_("    No implicit nonmembers\n"), stdout);
       if (nomem_rec_cnt)
 	{
-	  fputs (_("    Explicit nonmembers:\n"), stdout);
+	  fputs (_("    Recursive nonmembers:\n"), stdout);
 	  for (i =3D 0; i < nomem_rec_cnt; ++i)
 	    printf ("\t%s=3Dn", &nomem_rec[i][2]);
 	}

Modified: trunk/libc/nis/nss_nisplus/nisplus-publickey.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/nis/nss_nisplus/nisplus-publickey.c (original)
+++ trunk/libc/nis/nss_nisplus/nisplus-publickey.c Mon Nov 13 08:43:45 2006
@@ -217,7 +217,7 @@
 =

   if (!s || (!isdigit (*s)))
     {
-      syslog (LOG_ERR, _("netname2user: missing group id list in `%s'."), =
s);
+      syslog (LOG_ERR, _("netname2user: missing group id list in `%s'"), s=
);
       return NSS_STATUS_NOTFOUND;
     }
 =


Modified: trunk/libc/nscd/cache.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/nscd/cache.c (original)
+++ trunk/libc/nscd/cache.c Mon Nov 13 08:43:45 2006
@@ -125,7 +125,7 @@
 =

       dbg_log (_("add new entry \"%s\" of type %s for %s to cache%s"),
 	       str, serv2str[type], dbnames[table - dbs],
-	       first ? " (first)" : "");
+	       first ? _(" (first)") : "");
     }
 =

   unsigned long int hash =3D __nis_hash (key, len) % table->head->module;

Modified: trunk/libc/nscd/selinux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/nscd/selinux.c (original)
+++ trunk/libc/nscd/selinux.c Mon Nov 13 08:43:45 2006
@@ -202,7 +202,7 @@
   if (__builtin_expect (res !=3D 0, 0))
     {
       cap_free (new_caps);
-      dbg_log (_("Failed to drop capabilities\n"));
+      dbg_log (_("Failed to drop capabilities"));
       error (EXIT_FAILURE, 0, _("cap_set_proc failed"));
     }
 =


Modified: trunk/libc/po/sv.po
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/po/sv.po (original)
+++ trunk/libc/po/sv.po Mon Nov 13 08:43:45 2006
@@ -1,13 +1,13 @@
 # GNU libc message catalog for swedish
 # Copyright =C3=82=C2=A9 1996, 1998, 2001, 2002, 2003, 2006 Free Software =
Foundation, Inc.
 # Jan Dj=C3=83=C2=A4rv <jan.h.d@xxxxxxxxxx>, 1996, 1998, 2001, 2002, 2003,=
 2006.
-# Revision: 1.51
+# Revision: 1.52
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.5\n"
 "POT-Creation-Date: 2006-09-29 11:38-0700\n"
-"PO-Revision-Date: 2006-11-01 08:40+0100\n"
+"PO-Revision-Date: 2006-11-09 13:51+0100\n"
 "Last-Translator: Jan Dj=C3=83=C2=A4rv <jan.h.d@xxxxxxxxxx>\n"
 "Language-Team: Swedish <tp-sv@xxxxxxxxxxxxxxx>\n"
 "MIME-Version: 1.0\n"
@@ -141,6 +141,7 @@
 msgstr ""
 "F=C3=83=C2=B6r felrapporteringsinstruktioner, se:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter p=C3=83=C2=A5 =C3=83=C2=B6vers=C3=83=C2=
=A4ttningen till <tp-sv@xxxxxxxxxxxxxxx>.\n"
 =

 #: catgets/gencat.c:245 debug/xtrace.sh:64 elf/ldconfig.c:285
 #: elf/ldd.bash.in:39 elf/sprof.c:355 iconv/iconv_prog.c:425
@@ -946,7 +947,8 @@
 "  -u, --unused            skriv ut oanv=C3=83=C2=A4nda direkta beroenden\=
n"
 "  -v, --verbose           skriv all information\n"
 "F=C3=83=C2=B6r felrapporteringsinstruktioner, se:\n"
-"<http://www.gnu.org/software/libc/bugs.html>."
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter p=C3=83=C2=A5 =C3=83=C2=B6vers=C3=83=C2=
=A4ttningen till <tp-sv@xxxxxxxxxxxxxxx>."
 =

 #: elf/ldd.bash.in:80
 msgid "ldd: option `$1' is ambiguous"
@@ -1048,7 +1050,7 @@
 =

 #: elf/sprof.c:77
 msgid "Output selection:"
-msgstr "V=C3=83=C2=A4lj utdata:"
+msgstr "Val av utdata:"
 =

 #: elf/sprof.c:79
 msgid "print list of count paths and their number of use"
@@ -1069,6 +1071,7 @@
 msgstr ""
 "L=C3=83=C2=A4s och visa profildata f=C3=83=C2=B6r delat objekt.=0BF=C3=83=
=C2=B6r felrapporteringsinstruktioner, se:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter p=C3=83=C2=A5 =C3=83=C2=B6vers=C3=83=C2=
=A4ttningen till <tp-sv@xxxxxxxxxxxxxxx>.\n"
 =

 #: elf/sprof.c:94
 msgid "SHOBJ [PROFDATA]"
@@ -1212,7 +1215,7 @@
 =

 #: iconv/iconv_prog.c:64 locale/programs/localedef.c:126
 msgid "Output control:"
-msgstr "Styr utdata:"
+msgstr "Val av utdata:"
 =

 #: iconv/iconv_prog.c:65
 msgid "omit invalid characters from output"
@@ -1311,7 +1314,7 @@
 =

 #: iconv/iconvconfig.c:109
 msgid "Create fastloading iconv module configuration file."
-msgstr "Skapa en konfigurationsfil f=C3=83=C2=B6r snabbladdning av modul \=
"iconv\""
+msgstr "Skapa en snabbladdande modulkonfigurationsfil f=C3=83=C2=B6r iconv=
."
 =

 #: iconv/iconvconfig.c:113
 msgid "[DIR...]"
@@ -2418,6 +2421,7 @@
 msgstr ""
 "H=C3=83=C2=A4mta lokalspecifik information.=0BF=C3=83=C2=B6r felrapporter=
ingsinstruktioner, se:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter p=C3=83=C2=A5 =C3=83=C2=B6vers=C3=83=C2=
=A4ttningen till <tp-sv@xxxxxxxxxxxxxxx>.\n"
 =

 #: locale/programs/locale.c:91
 msgid ""
@@ -2881,7 +2885,8 @@
 "motsvarande korta.\n"
 "\n"
 "F=C3=83=C2=B6r felrapporteringsinstruktioner, se:\n"
-"<http://www.gnu.org/software/libc/bugs.html>."
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter p=C3=83=C2=A5 =C3=83=C2=B6vers=C3=83=C2=
=A4ttningen till <tp-sv@xxxxxxxxxxxxxxx>."
 =

 #: malloc/memusage.sh:90
 msgid ""
@@ -4212,6 +4217,7 @@
 msgstr ""
 "H=C3=83=C2=A4mta poster fr=C3=83=C2=A5n den administrativa databasen=0BF=
=C3=83=C2=B6r felrapporteringsinstruktioner, se:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter p=C3=83=C2=A5 =C3=83=C2=B6vers=C3=83=C2=
=A4ttningen till <tp-sv@xxxxxxxxxxxxxxx>.\n"
 =

 #: nss/getent.c:145 nss/getent.c:394
 #, c-format

Modified: trunk/libc/posix/unistd.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/posix/unistd.h (original)
+++ trunk/libc/posix/unistd.h Mon Nov 13 08:43:45 2006
@@ -559,7 +559,7 @@
 extern long int fpathconf (int __fd, int __name) __THROW;
 =

 /* Get the value of the system variable NAME.  */
-extern long int sysconf (int __name) __THROW __attribute__ ((__const__));
+extern long int sysconf (int __name) __THROW;
 =

 #ifdef	__USE_POSIX2
 /* Get the value of the string-valued system variable NAME.  */

Modified: trunk/libc/string/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/string/Makefile (original)
+++ trunk/libc/string/Makefile Mon Nov 13 08:43:45 2006
@@ -54,7 +54,7 @@
 		   bug-strncat1 bug-strspn1 bug-strpbrk1 tst-bswap	\
 		   tst-strtok tst-strxfrm bug-strcoll1 tst-strfry	\
 		   bug-strtok1 $(addprefix test-,$(strop-tests))	\
-		   bug-envz1
+		   bug-envz1 tst-strxfrm2
 distribute	:=3D memcopy.h pagecopy.h tst-svc.expect test-string.h
 =

 =


Modified: trunk/libc/string/strxfrm_l.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/string/strxfrm_l.c (original)
+++ trunk/libc/string/strxfrm_l.c Mon Nov 13 08:43:45 2006
@@ -1,4 +1,5 @@
-/* Copyright (C) 1995,96,97,2002, 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 2002, 2004, 2005, 2006
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper <drepper@xxxxxxx>, 1995.
 =

@@ -96,6 +97,7 @@
   const int32_t *indirect;
   uint_fast32_t pass;
   size_t needed;
+  size_t last_needed;
   const USTRING_TYPE *usrc;
   size_t srclen =3D STRLEN (src);
   int32_t *idxarr;
@@ -197,6 +199,7 @@
 	 this is true for all of them.  */
       int position =3D rule & sort_position;
 =

+      last_needed =3D needed;
       if (position =3D=3D 0)
 	{
 	  for (idxcnt =3D 0; idxcnt < idxmax; ++idxcnt)
@@ -426,11 +429,11 @@
      a `position' rule at the end and if no non-ignored character
      is found the last \1 byte is immediately followed by a \0 byte
      signalling this.  We can avoid the \1 byte(s).  */
-  if (needed <=3D n && needed > 2 && dest[needed - 2] =3D=3D L('\1'))
+  if (needed > 2 && needed =3D=3D last_needed + 1)
     {
       /* Remove the \1 byte.  */
-      --needed;
-      dest[needed - 1] =3D L('\0');
+      if (--needed <=3D n)
+	dest[needed - 1] =3D L('\0');
     }
 =

   /* Free the memory if needed.  */

Modified: trunk/libc/sunrpc/auth_unix.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/sunrpc/auth_unix.c (original)
+++ trunk/libc/sunrpc/auth_unix.c Mon Nov 13 08:43:45 2006
@@ -347,7 +347,7 @@
   INTUSE(xdrmem_create) (xdrs, au->au_marshed, MAX_AUTH_BYTES, XDR_ENCODE);
   if ((!INTUSE(xdr_opaque_auth) (xdrs, &(auth->ah_cred))) ||
       (!INTUSE(xdr_opaque_auth) (xdrs, &(auth->ah_verf))))
-    perror (_("auth_none.c - Fatal marshalling problem"));
+    perror (_("auth_unix.c: Fatal marshalling problem"));
   else
     au->au_mpos =3D XDR_GETPOS (xdrs);
 =


Modified: trunk/libc/sunrpc/clnt_raw.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/sunrpc/clnt_raw.c (original)
+++ trunk/libc/sunrpc/clnt_raw.c Mon Nov 13 08:43:45 2006
@@ -114,7 +114,7 @@
   INTUSE(xdrmem_create) (xdrs, clp->mashl_callmsg, MCALL_MSG_SIZE, XDR_ENC=
ODE);
   if (!INTUSE(xdr_callhdr) (xdrs, &call_msg))
     {
-      perror (_ ("clnt_raw.c - Fatal header serialization error."));
+      perror (_ ("clnt_raw.c: fatal header serialization error"));
     }
   clp->mcnt =3D XDR_GETPOS (xdrs);
   XDR_DESTROY (xdrs);

Modified: trunk/libc/sunrpc/pm_getmaps.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/sunrpc/pm_getmaps.c (original)
+++ trunk/libc/sunrpc/pm_getmaps.c Mon Nov 13 08:43:45 2006
@@ -80,7 +80,7 @@
 		     (xdrproc_t)INTUSE(xdr_pmaplist), (caddr_t)&head,
 		     minutetimeout) !=3D RPC_SUCCESS)
 	{
-	  clnt_perror (client, _("pmap_getmaps rpc problem"));
+	  clnt_perror (client, _("pmap_getmaps.c: rpc problem"));
 	}
       CLNT_DESTROY (client);
     }

Modified: trunk/libc/sunrpc/rpc_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/sunrpc/rpc_main.c (original)
+++ trunk/libc/sunrpc/rpc_main.c Mon Nov 13 08:43:45 2006
@@ -457,7 +457,7 @@
 	  return 1;
 	}
     }
-  fprintf (stderr, _ ("illegal nettype :`%s'\n"), name);
+  fprintf (stderr, _ ("illegal nettype: `%s'\n"), name);
   return 0;
 }
 =


Modified: trunk/libc/sysdeps/gnu/errlist-compat.awk
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/sysdeps/gnu/errlist-compat.awk (original)
+++ trunk/libc/sysdeps/gnu/errlist-compat.awk Mon Nov 13 08:43:45 2006
@@ -1,5 +1,5 @@
 # awk script to generate errlist-compat.c
-# Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2004, 2006 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
@@ -92,16 +92,18 @@
     printf "# include <bits/wordsize.h>\n";
     printf "extern const char *const __sys_errlist_%s[NERR];\n", old;
     printf "const int __sys_nerr_%s =3D %d;\n", old, n;
-    printf "strong_alias (_sys_errlist_internal, __sys_errlist_%s)\n", old;
-    printf "declare_symbol (__sys_errlist_%s, object, __WORDSIZE/8*%d)\n",=
 \
-      old, n;
+    printf "declare_symbol_alias (__sys_errlist_%s, _sys_errlist_internal,=
", \
+      old;
+    printf " object, __WORDSIZE/8*%d)\n", n;
     printf "compat_symbol (libc, __sys_errlist_%s, sys_errlist, %s);\n", \
       old, old;
     printf "compat_symbol (libc, __sys_nerr_%s, sys_nerr, %s);\n", old, ol=
d;
 =

     printf "extern const char *const ___sys_errlist_%s[NERR];\n", old;
     printf "extern const int __sys_nerr_%s;\n", old;
-    printf "strong_alias (__sys_errlist_%s, ___sys_errlist_%s)\n", old, ol=
d;
+    printf "declare_symbol_alias (___sys_errlist_%s, _sys_errlist_internal=
,", \
+      old;
+    printf " object, __WORDSIZE/8*%d)\n", n;
     printf "strong_alias (__sys_nerr_%s, ___sys_nerr_%s)\n", old, old;
     printf "compat_symbol (libc, ___sys_errlist_%s, _sys_errlist, %s);\n",=
 \
       old, old;

Modified: trunk/libc/sysdeps/gnu/siglist.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/sysdeps/gnu/siglist.c (original)
+++ trunk/libc/sysdeps/gnu/siglist.c Mon Nov 13 08:43:45 2006
@@ -1,5 +1,5 @@
 /* Define list of all signal numbers and their names.
-   Copyright (C) 1997-2000, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1997-2000, 2002, 2003, 2006 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
@@ -40,27 +40,30 @@
 strong_alias (__new_sys_sigabbrev, _sys_sigabbrev_internal)
 =

 #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
-strong_alias (_sys_siglist_internal, __old_sys_siglist)
-declare_symbol (__old_sys_siglist, object, OLD_SIGLIST_SIZE * __WORDSIZE /=
 8)
+declare_symbol_alias (__old_sys_siglist, __new_sys_siglist, object,
+		      OLD_SIGLIST_SIZE * __WORDSIZE / 8)
 =

-strong_alias (_sys_sigabbrev_internal, __old_sys_sigabbrev)
-declare_symbol (__old_sys_sigabbrev, object, OLD_SIGLIST_SIZE * __WORDSIZE=
 / 8)
+declare_symbol_alias (__old_sys_sigabbrev, __new_sys_sigabbrev, object,
+		      OLD_SIGLIST_SIZE * __WORDSIZE / 8)
 =

-strong_alias (__old_sys_siglist, _old_sys_siglist)
+declare_symbol_alias (_old_sys_siglist, __new_sys_siglist, object,
+		      OLD_SIGLIST_SIZE * __WORDSIZE / 8)
+
 compat_symbol (libc, __old_sys_siglist, _sys_siglist, GLIBC_2_0);
 compat_symbol (libc, _old_sys_siglist, sys_siglist, GLIBC_2_0);
 compat_symbol (libc, __old_sys_sigabbrev, sys_sigabbrev, GLIBC_2_0);
 #endif
 =

 #if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_3_3) && defined OLD2_SIGLIST_SI=
ZE
-strong_alias (_sys_siglist_internal, __old2_sys_siglist)
-declare_symbol (__old2_sys_siglist, object, OLD2_SIGLIST_SIZE * __WORDSIZE=
 / 8)
+declare_symbol_alias (__old2_sys_siglist, __new_sys_siglist, object,
+		      OLD2_SIGLIST_SIZE * __WORDSIZE / 8)
 =

-strong_alias (_sys_sigabbrev_internal, __old2_sys_sigabbrev)
-declare_symbol (__old2_sys_sigabbrev, object,
-		OLD2_SIGLIST_SIZE * __WORDSIZE / 8)
+declare_symbol_alias (__old2_sys_sigabbrev, __new_sys_sigabbrev, object,
+		      OLD2_SIGLIST_SIZE * __WORDSIZE / 8)
 =

-strong_alias (__old2_sys_siglist, _old2_sys_siglist)
+declare_symbol_alias (_old2_sys_siglist, __new_sys_siglist, object,
+		      OLD2_SIGLIST_SIZE * __WORDSIZE / 8)
+
 compat_symbol (libc, __old2_sys_siglist, _sys_siglist, GLIBC_2_1);
 compat_symbol (libc, _old2_sys_siglist, sys_siglist, GLIBC_2_1);
 compat_symbol (libc, __old2_sys_sigabbrev, sys_sigabbrev, GLIBC_2_1);

Modified: trunk/libc/sysdeps/i386/fpu/bits/mathinline.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/sysdeps/i386/fpu/bits/mathinline.h (original)
+++ trunk/libc/sysdeps/i386/fpu/bits/mathinline.h Mon Nov 13 08:43:45 2006
@@ -1,5 +1,5 @@
 /* Inline math functions for i387.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2006
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by John C. Bowman <bowman@xxxxxxxxxxxxxxxx>, 1995.
@@ -529,24 +529,38 @@
 =

 __inline_mathcodeNP (floor, __x, \
   register long double __value;						      \
-  __volatile unsigned short int __cw;					      \
-  __volatile unsigned short int __cwtmp;				      \
-  __asm __volatile ("fnstcw %0" : "=3Dm" (__cw));				      \
-  __cwtmp =3D (__cw & 0xf3ff) | 0x0400; /* rounding down */		      \
-  __asm __volatile ("fldcw %0" : : "m" (__cwtmp));			      \
-  __asm __volatile ("frndint" : "=3Dt" (__value) : "0" (__x));		      \
-  __asm __volatile ("fldcw %0" : : "m" (__cw));				      \
+  register int __ignore;						      \
+  unsigned short int __cw;						      \
+  unsigned short int __cwtmp;						      \
+  __asm __volatile ("fnstcw %3\n\t"					      \
+		    "movzwl %3, %1\n\t"					      \
+		    "andl $0xf3ff, %1\n\t"				      \
+		    "orl $0x0400, %1\n\t"	/* rounding down */	      \
+		    "movw %w1, %2\n\t"					      \
+		    "fldcw %2\n\t"					      \
+		    "frndint\n\t"					      \
+		    "fldcw %3"						      \
+		    : "=3Dt" (__value), "=3D&q" (__ignore), "=3Dm" (__cwtmp),	      \
+		      "=3Dm" (__cw)					      \
+		    : "0" (__x));					      \
   return __value)
 =

 __inline_mathcodeNP (ceil, __x, \
   register long double __value;						      \
-  __volatile unsigned short int __cw;					      \
-  __volatile unsigned short int __cwtmp;				      \
-  __asm __volatile ("fnstcw %0" : "=3Dm" (__cw));				      \
-  __cwtmp =3D (__cw & 0xf3ff) | 0x0800; /* rounding up */			      \
-  __asm __volatile ("fldcw %0" : : "m" (__cwtmp));			      \
-  __asm __volatile ("frndint" : "=3Dt" (__value) : "0" (__x));		      \
-  __asm __volatile ("fldcw %0" : : "m" (__cw));				      \
+  register int __ignore;						      \
+  unsigned short int __cw;						      \
+  unsigned short int __cwtmp;						      \
+  __asm __volatile ("fnstcw %3\n\t"					      \
+		    "movzwl %3, %1\n\t"					      \
+		    "andl $0xf3ff, %1\n\t"				      \
+		    "orl $0x0800, %1\n\t"	/* rounding up */	      \
+		    "movw %w1, %2\n\t"					      \
+		    "fldcw %2\n\t"					      \
+		    "frndint\n\t"					      \
+		    "fldcw %3"						      \
+		    : "=3Dt" (__value), "=3D&q" (__ignore), "=3Dm" (__cwtmp),	      \
+		      "=3Dm" (__cw)					      \
+		    : "0" (__x));					      \
   return __value)
 =

 #ifdef __FAST_MATH__

Modified: trunk/libc/sysdeps/posix/getaddrinfo.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/sysdeps/posix/getaddrinfo.c (original)
+++ trunk/libc/sysdeps/posix/getaddrinfo.c Mon Nov 13 08:43:45 2006
@@ -2085,10 +2085,12 @@
 =

 		  if (q->ai_family =3D=3D PF_INET6 && in6ai !=3D NULL)
 		    {
-		      /* See whether the address is the list of deprecated
-			 or temporary addresses.  */
+		      /* See whether the source address is the list of
+			 deprecated or temporary addresses.  */
 		      struct in6addrinfo tmp;
-		      memcpy (tmp.addr, q->ai_addr, IN6ADDRSZ);
+		      struct sockaddr_in6 *sin6p
+			=3D (struct sockaddr_in6 *) &results[i].source_addr;
+		      memcpy (tmp.addr, &sin6p->sin6_addr, IN6ADDRSZ);
 =

 		      struct in6addrinfo *found
 			=3D bsearch (&tmp, in6ai, in6ailen, sizeof (*in6ai),

Modified: trunk/libc/sysdeps/unix/sysv/linux/i386/sysconf.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/sysdeps/unix/sysv/linux/i386/sysconf.c (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/i386/sysconf.c Mon Nov 13 08:43:45 2=
006
@@ -140,6 +140,7 @@
 =

 =

 static long int
+__attribute__ ((noinline))
 intel_check_word (int name, unsigned int value, bool *has_level_2,
 		  bool *no_level_2_or_3)
 {

Modified: trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysconf.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysconf.c (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysconf.c Mon Nov 13 08:43:45=
 2006
@@ -101,6 +101,7 @@
 =

 =

 static long int
+__attribute__ ((noinline))
 intel_check_word (int name, unsigned int value, bool *has_level_2,
 		  bool *no_level_2_or_3)
 {

Modified: trunk/libc/time/tzfile.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/time/tzfile.c (original)
+++ trunk/libc/time/tzfile.c Mon Nov 13 08:43:45 2006
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991-1993,1995-2001,2003,2004 Free Software Foundation, I=
nc.
+/* Copyright (C) 1991-1993,1995-2001,2003,2004,2006
+   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
@@ -71,23 +72,33 @@
 __attribute ((always_inline))
 decode (const void *ptr)
 {
-  if ((BYTE_ORDER =3D=3D BIG_ENDIAN) && sizeof (int) =3D=3D 4)
+  if (BYTE_ORDER =3D=3D BIG_ENDIAN && sizeof (int) =3D=3D 4)
     return *(const int *) ptr;
-  else if (BYTE_ORDER =3D=3D LITTLE_ENDIAN && sizeof (int) =3D=3D 4)
+  if (sizeof (int) =3D=3D 4)
     return bswap_32 (*(const int *) ptr);
-  else
-    {
-      const unsigned char *p =3D ptr;
-      int result =3D *p & (1 << (CHAR_BIT - 1)) ? ~0 : 0;
-
-      result =3D (result << 8) | *p++;
-      result =3D (result << 8) | *p++;
-      result =3D (result << 8) | *p++;
-      result =3D (result << 8) | *p++;
-
-      return result;
-    }
+
+  const unsigned char *p =3D ptr;
+  int result =3D *p & (1 << (CHAR_BIT - 1)) ? ~0 : 0;
+
+  result =3D (result << 8) | *p++;
+  result =3D (result << 8) | *p++;
+  result =3D (result << 8) | *p++;
+  result =3D (result << 8) | *p++;
+
+  return result;
 }
+
+
+static inline int64_t
+__attribute ((always_inline))
+decode64 (const void *ptr)
+{
+  if ((BYTE_ORDER =3D=3D BIG_ENDIAN))
+    return *(const int64_t *) ptr;
+
+  return bswap_64 (*(const int64_t *) ptr);
+}
+
 =

 void
 __tzfile_read (const char *file, size_t extra, char **extrap)
@@ -102,6 +113,10 @@
   size_t types_idx;
   size_t leaps_idx;
   int was_using_tzfile =3D __use_tzfile;
+  int trans_width =3D 4;
+
+  if (sizeof (time_t) !=3D 4 && sizeof (time_t) !=3D 8)
+    abort ();
 =

   __use_tzfile =3D 0;
 =

@@ -185,8 +200,10 @@
   /* No threads reading this stream.  */
   __fsetlocking (f, FSETLOCKING_BYCALLER);
 =

+ read_again:
   if (__builtin_expect (fread_unlocked ((void *) &tzhead, sizeof (tzhead),
-					1, f) !=3D 1, 0))
+					1, f) !=3D 1, 0)
+      || memcmp (tzhead.tzh_magic, TZ_MAGIC, sizeof (tzhead.tzh_magic)) !=
=3D 0)
     goto lose;
 =

   num_transitions =3D (size_t) decode (tzhead.tzh_timecnt);
@@ -195,6 +212,26 @@
   num_leaps =3D (size_t) decode (tzhead.tzh_leapcnt);
   num_isstd =3D (size_t) decode (tzhead.tzh_ttisstdcnt);
   num_isgmt =3D (size_t) decode (tzhead.tzh_ttisgmtcnt);
+
+  /* For platforms with 64-bit time_t we use the new format if available. =
 */
+  if (sizeof (time_t) =3D=3D 8 && trans_width =3D=3D 4
+      && tzhead.tzh_version[0] !=3D '\0')
+    {
+      /* We use the 8-byte format.  */
+      trans_width =3D 8;
+
+      /* Position the stream before the second header.  */
+      size_t to_skip =3D (num_transitions * (4 + 1)
+			+ num_types * 6
+			+ chars
+			+ num_leaps * 8
+			+ num_isstd
+			+ num_isgmt);
+      if (fseek (f, to_skip, SEEK_CUR) !=3D 0)
+	goto lose;
+
+      goto read_again;
+    }
 =

   total_size =3D num_transitions * (sizeof (time_t) + 1);
   total_size =3D ((total_size + __alignof__ (struct ttinfo) - 1)
@@ -205,10 +242,10 @@
 		& ~(__alignof__ (struct leap) - 1));
   leaps_idx =3D total_size;
   total_size +=3D num_leaps * sizeof (struct leap);
-  /* This is for the extra memory required by the caller.  */
-  total_size +=3D extra;
-
-  transitions =3D (time_t *) malloc (total_size);
+
+  /* Allocate enough memory including the extra block requested by the
+     caller.  */
+  transitions =3D (time_t *) malloc (total_size + extra);
   if (transitions =3D=3D NULL)
     goto lose;
 =

@@ -220,14 +257,11 @@
   if (extra > 0)
     *extrap =3D (char *) &leaps[num_leaps];
 =

-  if (sizeof (time_t) < 4)
-    abort ();
-
-  if (sizeof (time_t) =3D=3D 4)
-    {
-      if (__builtin_expect (fread_unlocked (transitions, 1,
-					    (4 + 1) * num_transitions, f)
-			    !=3D (4 + 1) * num_transitions, 0))
+  if (sizeof (time_t) =3D=3D 4 || trans_width =3D=3D 8)
+    {
+      if (__builtin_expect (fread_unlocked (transitions, trans_width + 1,
+					    num_transitions, f)
+			    !=3D num_transitions, 0))
 	goto lose;
     }
   else
@@ -245,7 +279,9 @@
     if (__builtin_expect (type_idxs[i] >=3D num_types, 0))
       goto lose;
 =

-  if (BYTE_ORDER !=3D BIG_ENDIAN || sizeof (time_t) !=3D 4)
+  if ((BYTE_ORDER !=3D BIG_ENDIAN && (sizeof (time_t) =3D=3D 4 || trans_wi=
dth =3D=3D 4))
+      || (BYTE_ORDER =3D=3D BIG_ENDIAN && sizeof (time_t) =3D=3D 8
+	  && trans_width =3D=3D 4))
     {
       /* Decode the transition times, stored as 4-byte integers in
 	 network (big-endian) byte order.  We work from the end of
@@ -255,6 +291,13 @@
       while (i-- > 0)
 	transitions[i] =3D decode ((char *) transitions + i * 4);
     }
+  else if (BYTE_ORDER !=3D BIG_ENDIAN && sizeof (time_t) =3D=3D 8)
+    {
+      /* Decode the transition times, stored as 8-byte integers in
+	 network (big-endian) byte order.  */
+      for (i =3D 0; i < num_transitions; ++i)
+	transitions[i] =3D decode64 ((char *) transitions + i * 8);
+    }
 =

   for (i =3D 0; i < num_types; ++i)
     {
@@ -280,13 +323,16 @@
 =

   for (i =3D 0; i < num_leaps; ++i)
     {
-      unsigned char x[4];
-      if (__builtin_expect (fread_unlocked (x, 1, sizeof (x), f) !=3D size=
of (x),
-			    0))
-	goto lose;
-      leaps[i].transition =3D (time_t) decode (x);
-      if (__builtin_expect (fread_unlocked (x, 1, sizeof (x), f) !=3D size=
of (x),
-			    0))
+      unsigned char x[8];
+      if (__builtin_expect (fread_unlocked (x, 1, trans_width, f)
+			    !=3D trans_width, 0))
+	goto lose;
+      if (sizeof (time_t) =3D=3D 4 || trans_width =3D=3D 4)
+	leaps[i].transition =3D (time_t) decode (x);
+      else
+	leaps[i].transition =3D (time_t) decode64 (x);
+
+      if (__builtin_expect (fread_unlocked (x, 1, 4, f) !=3D 4, 0))
 	goto lose;
       leaps[i].change =3D (long int) decode (x);
     }
@@ -310,6 +356,12 @@
     }
   while (i < num_types)
     types[i++].isgmt =3D 0;
+
+  /* XXX When a version 2 file is available it can contain a POSIX TZ-style
+     formatted string which specifies how times past the last one specified
+     are supposed to be handled.  We might want to handle this at some
+     point.  But it might be overhead since most/all? files have an
+     open-ended last entry.  */
 =

   fclose (f);
 =


Modified: trunk/libc/timezone/africa
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/timezone/africa (original)
+++ trunk/libc/timezone/africa Mon Nov 13 08:43:45 2006
@@ -1,15 +1,15 @@
-# @(#)africa	8.1
+# @(#)africa	8.5
 # <pre>
 =

 # 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@xxxxxxxxxxxxxxxxx for general use in the future).
 =

-# From Paul Eggert (1999-03-22):
+# From Paul Eggert (2006-03-22):
 #
 # A good source for time zone historical data outside the U.S. is
-# Thomas G. Shanks, The International Atlas (5th edition),
-# San Diego: ACS Publications, Inc. (1999).
+# Thomas G. Shanks and Rique Pottenger, The International Atlas (6th editi=
on),
+# San Diego: ACS Publications, Inc. (2003).
 #
 # Gwillim Law writes that a good source
 # for recent time zone data is the International Air Transport
@@ -17,8 +17,8 @@
 # published semiannually.  Law sent in several helpful summaries
 # of the IATA's data after 1990.
 #
-# Except where otherwise noted, Shanks is the source for entries through 1=
990,
-# and IATA SSIM is the source for entries after 1990.
+# Except where otherwise noted, Shanks & Pottenger is the source for
+# entries through 1990, and IATA SSIM is the source for entries afterwards.
 #
 # Another source occasionally used is Edward W. Whitman, World Time Differ=
ences,
 # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which
@@ -65,7 +65,7 @@
 # Algeria
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Algeria	1916	only	-	Jun	14	23:00s	1:00	S
-Rule	Algeria	1916	1919	-	Oct	Sun<=3D7	23:00s	0	-
+Rule	Algeria	1916	1919	-	Oct	Sun>=3D1	23:00s	0	-
 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
@@ -75,7 +75,7 @@
 Rule	Algeria	1921	only	-	Jun	21	23:00s	0	-
 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<=3D7	 2:00	1:00	S
+Rule	Algeria	1944	1945	-	Apr	Mon>=3D1	 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	S
@@ -86,7 +86,8 @@
 Rule	Algeria	1978	only	-	Sep	22	 3:00	0	-
 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.
+# Shanks & Pottenger give 0:09:20 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
@@ -106,7 +107,8 @@
 			1:00	-	WAT
 =

 # Benin
-# Whitman says they switched to 1:00 in 1946, not 1934; go with Shanks.
+# Whitman says they switched to 1:00 in 1946, not 1934;
+# go with Shanks & Pottenger.
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Porto-Novo	0:10:28	-	LMT	1912
 			0:00	-	GMT	1934 Feb 26
@@ -130,7 +132,7 @@
 			2:00	-	CAT
 =

 # Cameroon
-# Whitman says they switched to 1:00 in 1920; go with Shanks.
+# Whitman says they switched to 1:00 in 1920; go with Shanks & Pottenger.
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Africa/Douala	0:38:48	-	LMT	1912
 			1:00	-	WAT
@@ -209,7 +211,14 @@
 # IATA (after 1990) says transitions are at 0:00.
 # Go with IATA starting in 1995, except correct 1995 entry from 09-30 to 0=
9-29.
 Rule	Egypt	1995	max	-	Apr	lastFri	 0:00s	1:00	S
-Rule	Egypt	1995	max	-	Sep	lastThu	23:00s	0	-
+Rule	Egypt	1995	2005	-	Sep	lastThu	23:00s	0	-
+# From Steffen Thorsen (2006-09-19):
+# The Egyptian Gazette, issue 41,090 (2006-09-18), page 1, reports:
+# Egypt will turn back clocks by one hour at the midnight of Thursday
+# after observing the daylight saving time since May.
+# http://news.gom.com.eg/gazette/pdf/2006/09/18/01.pdf
+Rule	Egypt	2006	only	-	Sep	21	23:00s	0	-
+Rule	Egypt	2007	max	-	Sep	lastThu	23:00s	0	-
 =

 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Africa/Cairo	2:05:00 -	LMT	1900 Oct
@@ -229,9 +238,9 @@
 			3:00	-	EAT
 =

 # Ethiopia
-# From Paul Eggert (1997-10-05):
-# Shanks writes that Ethiopia had six narrowly-spaced time zones between
-# 1870 and 1890, and that they merged to 38E50 (2:35:20) in 1890.
+# From Paul Eggert (2006-03-22):
+# Shanks & Pottenger write that Ethiopia had six narrowly-spaced time zones
+# between 1870 and 1890, and that they merged to 38E50 (2:35:20) in 1890.
 # We'll guess that 38E50 is for Adis Dera.
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Addis_Ababa	2:34:48 -	LMT	1870
@@ -252,7 +261,8 @@
 =

 # Ghana
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-# Whitman says DST was observed from 1931 to ``the present''; go with Shan=
ks.
+# Whitman says DST was observed from 1931 to ``the present'';
+# go with Shanks & Pottenger.
 Rule	Ghana	1936	1942	-	Sep	 1	0:00	0:20	GHST
 Rule	Ghana	1936	1942	-	Dec	31	0:00	0	GMT
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
@@ -288,13 +298,14 @@
 			2:00	-	SAST
 =

 # Liberia
-# From Paul Eggert (2001-07-17):
+# From Paul Eggert (2006-03-22):
 # In 1972 Liberia was the last country to switch
 # from a UTC offset that was not a multiple of 15 or 20 minutes.
 # Howse reports that it was in honor of their president's birthday.
-# Shanks reports the date as May 1, whereas Howse reports Jan; go with Sha=
nks.
-# For Liberia before 1972, Shanks reports -0:44, whereas Howse and Whitman
-# each report -0:44:30; go with the more precise figure.
+# Shank & Pottenger report the date as May 1, whereas Howse reports Jan;
+# go with Shanks & Pottenger.
+# For Liberia before 1972, Shanks & Pottenger report -0:44, whereas Howse =
and
+# Whitman each report -0:44:30; go with the more precise figure.
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Africa/Monrovia	-0:43:08 -	LMT	1882
 			-0:43:08 -	MMT	1919 Mar # Monrovia Mean Time
@@ -324,7 +335,7 @@
 			1:00	Libya	CE%sT	1959
 			2:00	-	EET	1982
 			1:00	Libya	CE%sT	1990 May  4
-# The following entries are all from Shanks;
+# The following entries are from Shanks & Pottenger;
 # the IATA SSIM data contain some obvious errors.
 			2:00	-	EET	1996 Sep 30
 			1:00	-	CET	1997 Apr  4
@@ -403,8 +414,8 @@
 			2:00	-	CAT
 =

 # Namibia
-# The 1994-04-03 transition is from Shanks.
-# Shanks reports no DST after 1998-04; go with IATA.
+# The 1994-04-03 transition is from Shanks & Pottenger.
+# Shanks & Pottenger report no DST after 1998-04; go with IATA.
 # RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Namibia	1994	max	-	Sep	Sun>=3D1	2:00	1:00	S
 Rule	Namibia	1995	max	-	Apr	Sun>=3D1	2:00	0	-
@@ -488,7 +499,7 @@
 =

 # Sierra Leone
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-# Whitman gives Mar 31 - Aug 31 for 1931 on; go with Shanks.
+# Whitman gives Mar 31 - Aug 31 for 1931 on; go with Shanks & Pottenger.
 Rule	SL	1935	1942	-	Jun	 1	0:00	0:40	SLST
 Rule	SL	1935	1942	-	Oct	 1	0:00	0	WAT
 Rule	SL	1957	1962	-	Jun	 1	0:00	1:00	SLST
@@ -557,7 +568,6 @@
 # Tunisia
 =

 # From Gwillim Law (2005-04-30):
-#
 # My correspondent, Risto Nykanen, has alerted me to another adoption of D=
ST,
 # this time in Tunisia.  According to Yahoo France News
 # <http://fr.news.yahoo.com/050426/5/4dumk.html>, in a story attributed to=
 AP
@@ -571,6 +581,12 @@
 # <http://www.lapresse.tn/archives/archives280405/actualites/lheure.html>
 # ... DST for 2005: on: Sun May 1 0h standard time, off: Fri Sept. 30,
 # 1h standard time.
+#
+# From Atef Loukil (2006-03-28):
+# The daylight saving time will be the same each year:
+# Beginning      : the last Sunday of March at 02:00
+# Ending         : the last Sunday of October at 03:00 ...
+# http://www.tap.info.tn/en/index.php?option=3Dcom_content&task=3Dview&id=
=3D1188&Itemid=3D50
 =

 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Tunisia	1939	only	-	Apr	15	23:00s	1:00	S
@@ -596,8 +612,11 @@
 Rule	Tunisia	1990	only	-	May	 1	 0:00s	1:00	S
 Rule	Tunisia	2005	only	-	May	 1	 0:00s	1:00	S
 Rule	Tunisia	2005	only	-	Sep	30	 1:00s	0	-
-# Shanks gives 0:09 for Paris Mean Time; go with Howse's more precise 0:09=
:21.
-# Shanks says the 1911 switch occurred on Mar 9; go with Howse's Mar 11.
+Rule	Tunisia	2006	max	-	Mar	lastSun	 2:00s	1:00	S
+Rule	Tunisia	2006	max	-	Oct	lastSun	 2:00s	0	-
+# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
+# more precise 0:09:21.
+# Shanks & Pottenger say the 1911 switch was 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

Modified: trunk/libc/timezone/antarctica
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/timezone/antarctica (original)
+++ trunk/libc/timezone/antarctica Mon Nov 13 08:43:45 2006
@@ -1,4 +1,4 @@
-# @(#)antarctica	8.1
+# @(#)antarctica	8.3
 # <pre>
 =

 # From Paul Eggert (1999-11-15):
@@ -33,19 +33,27 @@
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	ArgAQ	1964	1966	-	Mar	 1	0:00	0	-
 Rule	ArgAQ	1964	1966	-	Oct	15	0:00	1:00	S
-Rule	ArgAQ	1967	only	-	Apr	 1	0:00	0	-
-Rule	ArgAQ	1967	1968	-	Oct	Sun<=3D7	0:00	1:00	S
-Rule	ArgAQ	1968	1969	-	Apr	Sun<=3D7	0:00	0	-
+Rule	ArgAQ	1967	only	-	Apr	 2	0:00	0	-
+Rule	ArgAQ	1967	1968	-	Oct	Sun>=3D1	0:00	1:00	S
+Rule	ArgAQ	1968	1969	-	Apr	Sun>=3D1	0:00	0	-
 Rule	ArgAQ	1974	only	-	Jan	23	0:00	1:00	S
 Rule	ArgAQ	1974	only	-	May	 1	0:00	0	-
-Rule	ArgAQ	1974	1976	-	Oct	Sun<=3D7	0:00	1:00	S
-Rule	ArgAQ	1975	1977	-	Apr	Sun<=3D7	0:00	0	-
-Rule	ChileAQ	1966	1997	-	Oct	Sun>=3D9	0:00	1:00	S
-Rule	ChileAQ	1967	1998	-	Mar	Sun>=3D9	0:00	0	-
-Rule	ChileAQ	1998	only	-	Sep	27	0:00	1:00	S
-Rule	ChileAQ	1999	only	-	Apr	 4	0:00	0	-
-Rule	ChileAQ	1999	max	-	Oct	Sun>=3D9	0:00	1:00	S
-Rule	ChileAQ	2000	max	-	Mar	Sun>=3D9	0:00	0	-
+Rule	ChileAQ	1972	1986	-	Mar	Sun>=3D9	3:00u	0	-
+Rule	ChileAQ	1974	1987	-	Oct	Sun>=3D9	4:00u	1:00	S
+Rule	ChileAQ	1987	only	-	Apr	12	3:00u	0	-
+Rule	ChileAQ	1988	1989	-	Mar	Sun>=3D9	3:00u	0	-
+Rule	ChileAQ	1988	only	-	Oct	Sun>=3D1	4:00u	1:00	S
+Rule	ChileAQ	1989	only	-	Oct	Sun>=3D9	4:00u	1:00	S
+Rule	ChileAQ	1990	only	-	Mar	18	3:00u	0	-
+Rule	ChileAQ	1990	only	-	Sep	16	4:00u	1:00	S
+Rule	ChileAQ	1991	1996	-	Mar	Sun>=3D9	3:00u	0	-
+Rule	ChileAQ	1991	1997	-	Oct	Sun>=3D9	4:00u	1:00	S
+Rule	ChileAQ	1997	only	-	Mar	30	3:00u	0	-
+Rule	ChileAQ	1998	only	-	Mar	Sun>=3D9	3:00u	0	-
+Rule	ChileAQ	1998	only	-	Sep	27	4:00u	1:00	S
+Rule	ChileAQ	1999	only	-	Apr	 4	3:00u	0	-
+Rule	ChileAQ	1999	max	-	Oct	Sun>=3D9	4:00u	1:00	S
+Rule	ChileAQ	2000	max	-	Mar	Sun>=3D9	3:00u	0	-
 =

 =

 # Argentina - year-round bases

Modified: trunk/libc/timezone/asia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/libc/timezone/asia (original)
+++ trunk/libc/timezone/asia Mon Nov 13 08:43:45 2006
@@ -1,15 +1,15 @@
-# @(#)asia	8.1
+# @(#)asia	8.8
 # <pre>
 =

 # 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@xxxxxxxxxxxxxxxxx for general use in the future).
 =

-# From Paul Eggert (1999-03-22):
+# From Paul Eggert (2006-03-22):
 #
 # A good source for time zone historical data outside the U.S. is
-# Thomas G. Shanks, The International Atlas (5th edition),
-# San Diego: ACS Publications, Inc. (1999).
+# Thomas G. Shanks and Rique Pottenger, The International Atlas (6th editi=
on),
+# San Diego: ACS Publications, Inc. (2003).
 #
 # Gwillim Law writes that a good source
 # for recent time zone data is the International Air Transport
@@ -17,8 +17,8 @@
 # published semiannually.  Law sent in several helpful summaries
 # of the IATA's data after 1990.
 #
-# Except where otherwise noted, Shanks is the source for entries through 1=
990,
-# and IATA SSIM is the source for entries after 1990.
+# Except where otherwise noted, Shanks & Pottenger is the source for
+# entries through 1990, and IATA SSIM is the source for entries afterwards.
 #
 # Another source occasionally used is Edward W. Whitman, World Time Differ=
ences,
 # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which
@@ -61,6 +61,7 @@
 # These rules are stolen from the `europe' file.
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	EUAsia	1981	max	-	Mar	lastSun	 1:00u	1:00	S
+Rule	EUAsia	1979	1995	-	Sep	lastSun	 1:00u	0	-
 Rule	EUAsia	1996	max	-	Oct	lastSun	 1:00u	0	-
 Rule E-EurAsia	1981	max	-	Mar	lastSun	 0:00	1:00	S
 Rule E-EurAsia	1979	1995	-	Sep	lastSun	 0:00	0	-
@@ -82,10 +83,11 @@
 			4:30	-	AFT
 =

 # Armenia
-# From Paul Eggert (1999-10-29):
-# Shanks has Yerevan switching to 3:00 (with Russian DST) in spring 1991,
-# then to 4:00 with no DST in fall 1995, then readopting Russian DST in 19=
97.
-# Go with Shanks, even when he disagrees with others.  Edgar Der-Danielian=
tz
+# From Paul Eggert (2006-03-22):
+# Shanks & Pottenger have Yerevan switching to 3:00 (with Russian DST)
+# in spring 1991, then to 4:00 with no DST in fall 1995, then
+# readopting Russian DST in 1997.  Go with Shanks & Pottenger, even
+# when they disagree with others.  Edgar Der-Danieliantz
 # reported (1996-05-04) that Yerevan probably wouldn't use DST
 # in 1996, though it did use DST in 1995.  IATA SSIM (1991/1998) reports t=
hat
 # Armenia switched from 3:00 to 4:00 in 1998 and observed DST after 1991,
@@ -194,13 +196,15 @@
 # CHINA               8 H  AHEAD OF UTC  ALL OF CHINA, INCL TAIWAN
 # CHINA               9 H  AHEAD OF UTC  APR 17 - SEP 10
 =

-# From Paul Eggert (1995-12-19):
-# Shanks writes that China has had a single time zone since 1980 May 1,
-# observing summer DST from 1986 through 1991; this contradicts Devine's
+# From Paul Eggert (2006-03-22):
+# Shanks & Pottenger write that China (except for Hong Kong and Macau)
+# 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 zon=
es.
-
-# From Shanks:
+# Go with Shanks & Pottenger for now.  I made up names for the other
+# pre-1980 time zones.
+
+# From Shanks & Pottenger:
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Shang	1940	only	-	Jun	 3	0:00	1:00	D
 Rule	Shang	1940	1941	-	Oct	 1	0:00	0	S
@@ -208,14 +212,27 @@
 Rule	PRC	1986	only	-	May	 4	0:00	1:00	D
 Rule	PRC	1986	1991	-	Sep	Sun>=3D11	0:00	0	S
 Rule	PRC	1987	1991	-	Apr	Sun>=3D10	0:00	1:00	D
-#
-# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-#
+
 # From Anthony Fok (2001-12-20):
 # BTW, I did some research on-line and found some info regarding these five
 # historic timezones from some Taiwan websites.  And yes, there are offici=
al
-# Chinese names for these locales (before 1949):
+# Chinese names for these locales (before 1949).
+# =

+# From Jesper Norgaard Welen (2006-07-14):
+# I have investigated the timezones around 1970 on the
+# http://www.astro.com/atlas site [with provinces and county
+# boundaries summarized below]....  A few other exceptions were two
+# counties on the Sichuan side of the Xizang-Sichuan border,
+# counties Dege and Baiyu which lies on the Sichuan side and are
+# therefore supposed to be GMT+7, Xizang region being GMT+6, but Dege
+# county is GMT+8 according to astro.com while Baiyu county is GMT+6
+# (could be true), for the moment I am assuming that those two
+# counties are mistakes in the astro.com data.
+
+
+# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 # Changbai Time ("Long-white Time", Long-white =3D Heilongjiang area)
+# Heilongjiang (except Mohe county), Jilin
 Zone	Asia/Harbin	8:26:44	-	LMT	1928 # or Haerbin
 			8:30	-	CHAT	1932 Mar # Changbai Time
 			8:00	-	CST	1940
@@ -223,18 +240,35 @@
 			8:30	-	CHAT	1980 May
 			8:00	PRC	C%sT
 # Zhongyuan Time ("Central plain Time")
+# most of China
 Zone	Asia/Shanghai	8:05:52	-	LMT	1928
 			8:00	Shang	C%sT	1949
 			8:00	PRC	C%sT
 # Long-shu Time (probably due to Long and Shu being two names of that area)
+# Guangxi, Guizhou, Hainan, Ningxia, Sichuan, Shaanxi, and Yunnan;
+# most of Gansu; west Inner Mongolia; west Qinghai; and the Guangdong
+# counties Deqing, Enping, Kaiping, Luoding, Taishan, Xinxing,
+# Yangchun, Yangjiang, Yu'nan, and Yunfu.
 Zone	Asia/Chongqing	7:06:20	-	LMT	1928 # or Chungking
 			7:00	-	LONT	1980 May # Long-shu Time
 			8:00	PRC	C%sT
 # Xin-zang Time ("Xinjiang-Tibet Time")
+# The Gansu counties Aksay, Anxi, Dunhuang, Subei; west Qinghai;
+# the Guangdong counties  Xuwen, Haikang, Suixi, Lianjiang,
+# Zhanjiang, Wuchuan, Huazhou, Gaozhou, Maoming, Dianbai, and Xinyi;
+# east Tibet, including Lhasa, Chamdo, Shigaise, Jimsar, Shawan and Hutubi;
+# east Xinjiang, including Urumqi, Turpan, Karamay, Korla, Minfeng, Jinghe,
+# Wusu, Qiemo, Xinyan, Wulanwusu, Jinghe, Yumin, Tacheng, Tuoli, Emin,
+# Shihezi, Changji, Yanqi, Heshuo, Tuokexun, Tulufan, Shanshan, Hami,
+# Fukang, Kuitun, Kumukuli, Miquan, Qitai, and Turfan.
 Zone	Asia/Urumqi	5:50:20	-	LMT	1928 # or Urumchi
 			6:00	-	URUT	1980 May # Urumqi Time
 			8:00	PRC	C%sT
 # Kunlun Time
+# West Tibet, including Pulan, Aheqi, Shufu, Shule;
+# West Xinjiang, including Aksu, Atushi, Yining, Hetian, Cele, Luopu, Nile=
ke,
+# Zhaosu, Tekesi, Gongliu, Chabuchaer, Huocheng, Bole, Pishan, Suiding,
+# and Yarkand.
 Zone	Asia/Kashgar	5:03:56	-	LMT	1928 # or Kashi or Kaxgar
 			5:30	-	KAST	1940	 # Kashgar Time
 			5:00	-	KAST	1980 May
@@ -266,7 +300,7 @@
 =

 # Taiwan
 =

-# Shanks writes that Taiwan observed DST during 1945, when it
+# Shanks & Pottenger write that Taiwan observed DST during 1945, when it
 # was still controlled by Japan.  This is hard to believe, but we don't
 # have any other information.
 =

@@ -423,7 +457,7 @@
 =

 # Indonesia
 #
-# From Gwillim Law (2001-05-28), overriding Shanks:
+# From Gwillim Law (2001-05-28), overriding Shanks & Pottenger:
 # <http://www.sumatera-inc.com/go_to_invest/about_indonesia.asp#standtime>
 # says that Indonesia's time zones changed on 1988-01-01.  Looking at some
 # time zone maps, I think that must refer to Western Borneo (Kalimantan Ba=
rat
@@ -431,7 +465,7 @@
 #
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Asia/Jakarta	7:07:12 -	LMT	1867 Aug 10
-# Shanks says the next transition was at 1924 Jan 1 0:13,
+# Shanks & Pottenger say the next transition was at 1924 Jan 1 0:13,
 # but this must be a typo.
 			7:07:12	-	JMT	1923 Dec 31 23:47:12 # Jakarta
 			7:20	-	JAVT	1932 Nov	 # Java Time
@@ -498,8 +532,8 @@
 # leap year calculation involved.  There has never been any serious
 # plan to change that law....
 #
-# From Paul Eggert (2005-04-05):
-# Go with Shanks before September 1991, and with Pournader thereafter.
+# From Paul Eggert (2006-03-22):
+# Go with Shanks & Pottenger before Sept. 1991, and with Pournader thereaf=
ter.
 # I used Ed Reingold's cal-persia in GNU Emacs 21.2 to check Persian dates,
 # stopping after 2037 when 32-bit time_t's overflow.
 # That cal-persia used Birashk's approximation, which disagrees with the s=
olar
@@ -518,6 +552,14 @@
 # vernal equinox on 2058-03-20 09:03:05.9 UT.  The Java version of
 # Reingold's/Dershowitz' calculator gives correctly the Gregorian date
 # 2058-03-21 for 1 Farvardin 1437 (astronomical).
+#
+# From Paul Eggert (2006-03-22):
+# The above comments about post-2006 transitions may become relevant again,
+# if Iran ever resuscitates DST, so we'll leave the comments in.
+#
+# From Steffen Thorsen (2006-03-22):
+# Several of my users have reported that Iran will not observe DST anymore:
+# http://www.irna.ir/en/news/view/line-17/0603193812164948.htm
 #
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Iran	1978	1980	-	Mar	21	0:00	1:00	D
@@ -537,38 +579,8 @@
 Rule	Iran	2001	2003	-	Sep	22	0:00	0	S
 Rule	Iran	2004	only	-	Mar	21	0:00	1:00	D
 Rule	Iran	2004	only	-	Sep	21	0:00	0	S
-Rule	Iran	2005	2007	-	Mar	22	0:00	1:00	D
-Rule	Iran	2005	2007	-	Sep	22	0:00	0	S
-Rule	Iran	2008	only	-	Mar	21	0:00	1:00	D
-Rule	Iran	2008	only	-	Sep	21	0:00	0	S
-Rule	Iran	2009	2011	-	Mar	22	0:00	1:00	D
-Rule	Iran	2009	2011	-	Sep	22	0:00	0	S
-Rule	Iran	2012	only	-	Mar	21	0:00	1:00	D
-Rule	Iran	2012	only	-	Sep	21	0:00	0	S
-Rule	Iran	2013	2015	-	Mar	22	0:00	1:00	D
-Rule	Iran	2013	2015	-	Sep	22	0:00	0	S
-Rule	Iran	2016	only	-	Mar	21	0:00	1:00	D
-Rule	Iran	2016	only	-	Sep	21	0:00	0	S
-Rule	Iran	2017	2019	-	Mar	22	0:00	1:00	D
-Rule	Iran	2017	2019	-	Sep	22	0:00	0	S
-Rule	Iran	2020	only	-	Mar	21	0:00	1:00	D
-Rule	Iran	2020	only	-	Sep	21	0:00	0	S
-Rule	Iran	2021	2023	-	Mar	22	0:00	1:00	D
-Rule	Iran	2021	2023	-	Sep	22	0:00	0	S
-Rule	Iran	2024	only	-	Mar	21	0:00	1:00	D
-Rule	Iran	2024	only	-	Sep	21	0:00	0	S
-Rule	Iran	2025	2027	-	Mar	22	0:00	1:00	D
-Rule	Iran	2025	2027	-	Sep	22	0:00	0	S
-Rule	Iran	2028	2029	-	Mar	21	0:00	1:00	D
-Rule	Iran	2028	2029	-	Sep	21	0:00	0	S
-Rule	Iran	2030	2031	-	Mar	22	0:00	1:00	D
-Rule	Iran	2030	2031	-	Sep	22	0:00	0	S
-Rule	Iran	2032	2033	-	Mar	21	0:00	1:00	D
-Rule	Iran	2032	2033	-	Sep	21	0:00	0	S
-Rule	Iran	2034	2035	-	Mar	22	0:00	1:00	D
-Rule	Iran	2034	2035	-	Sep	22	0:00	0	S
-Rule	Iran	2036	2037	-	Mar	21	0:00	1:00	D
-Rule	Iran	2036	2037	-	Sep	21	0:00	0	S
+Rule	Iran	2005	only	-	Mar	22	0:00	1:00	D
+Rule	Iran	2005	only	-	Sep	22	0:00	0	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Tehran	3:25:44	-	LMT	1916
 			3:25:44	-	TMT	1946	# Tehran Mean Time
@@ -601,7 +613,8 @@
 Rule	Iraq	1985	1990	-	Sep	lastSun	1:00s	0	S
 Rule	Iraq	1986	1990	-	Mar	lastSun	1:00s	1:00	D
 # IATA SSIM (1991/1996) says Apr 1 12:01am UTC; guess the `:01' is a typo.
-# Shanks says Iraq did not observe DST 1992/1997 or 1999 on; ignore this.
+# Shanks & Pottenger say Iraq did not observe DST 1992/1997; ignore this.
+# =

 Rule	Iraq	1991	max	-	Apr	 1	3:00s	1:00	D
 Rule	Iraq	1991	max	-	Oct	 1	3:00s	0	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
@@ -635,7 +648,7 @@
 # high on my favorite-country list (and not only because my wife's
 # family is from India).
 =

-# From Shanks:
+# From Shanks & Pottenger:
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Zion	1940	only	-	Jun	 1	0:00	1:00	D
 Rule	Zion	1942	1944	-	Nov	 1	0:00	0	S
@@ -874,14 +887,15 @@
 # of the Japanese wanted to scrap daylight-saving time, as opposed to 30% =
who
 # wanted to keep it.)
 =

-# Shanks writes that daylight saving in Japan during those years was as fo=
llows:
+# From Paul Eggert (2006-03-22):
+# Shanks & Pottenger write that DST in Japan during those years was as fol=
lows:
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Japan	1948	only	-	May	Sun>=3D1	2:00	1:00	D
 Rule	Japan	1948	1951	-	Sep	Sat>=3D8	2:00	0	S
 Rule	Japan	1949	only	-	Apr	Sun>=3D1	2:00	1:00	D
 Rule	Japan	1950	1951	-	May	Sun>=3D1	2:00	1:00	D
 # but the only locations using it (for birth certificates, presumably, sin=
ce
-# Shanks's audience is astrologers) were US military bases.  For now, assu=
me
+# their audience is astrologers) were US military bases.  For now, assume
 # that for most purposes daylight-saving time was observed; otherwise, what
 # would have been the point of the 1951 poll?
 =

@@ -906,8 +920,9 @@
 # I wrote "ordinance" above, but I don't know how to translate.
 # In Japanese it's "chokurei", which means ordinance from emperor.
 =

-# Shanks claims JST in use since 1896, and that a few places (e.g. Ishigak=
i)
-# use +0800; go with Suzuki.  Guess that all ordinances took effect on Jan=
 1.
+# Shanks & Pottenger claim JST in use since 1896, and that a few
+# places (e.g. Ishigaki) use +0800; go with Suzuki.  Guess that all
+# ordinances took effect on Jan 1.
 =

 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Tokyo	9:18:59	-	LMT	1887 Dec 31 15:00u
@@ -937,6 +952,10 @@
 # From Steffen Thorsen (2005-11-23):
 # For Jordan I have received multiple independent user reports every year
 # about DST end dates, as the end-rule is different every year.
+#
+# From Steffen Thorsen (2006-10-01), after a heads-up from Hilal Malawi:
+# http://www.petranews.gov.jo/nepras/2006/Sep/05/4000.htm
+# "Jordan will switch to winter time on Friday, October 27".
 #
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Jordan	1973	only	-	Jun	6	0:00	1:00	S
@@ -964,7 +983,8 @@
 Rule	Jordan	2000	max	-	Mar	lastThu	0:00s	1:00	S
 Rule	Jordan	2003	only	-	Oct	24	0:00s	0	-
 Rule	Jordan	2004	only	-	Oct	15	0:00s	0	-
-Rule	Jordan	2005	max	-	Sep	lastFri	0:00s	0	-
+Rule	Jordan	2005	only	-	Sep	lastFri	0:00s	0	-
+Rule	Jordan	2006	max	-	Oct	lastFri	0:00s	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Amman	2:23:44 -	LMT	1931
 			2:00	Jordan	EE%sT
@@ -979,11 +999,11 @@
 # Guess that Aqtau and Aqtobe diverged in 1995, since that's the first time
 # IATA SSIM mentions a third time zone in Kazakhstan.
 =

-# From Paul Eggert (2001-10-18):
+# From Paul Eggert (2006-03-22):
 # German Iofis, ELSI, Almaty (2001-10-09) reports that Kazakhstan uses
 # RussiaAsia rules, instead of switching at 00:00 as the IATA has it.
-# Go with Shanks, who has them always using RussiaAsia rules.
-# Also go with the following claims of Shanks:
+# Go with Shanks & Pottenger, who have them always using RussiaAsia rules.
+# Also go with the following claims of Shanks & Pottenger:
 #
 # - Kazakhstan did not observe DST in 1991.
 # - Qyzylorda switched from +5:00 to +6:00 on 1992-01-19 02:00.
@@ -1063,7 +1083,7 @@
 			5:00	-	ORAT
 =

 # Kyrgyzstan (Kirgizstan)
-# Transitions through 1991 are from Shanks.
+# Transitions through 1991 are from Shanks & Pottenger.
 =

 # From Paul Eggert (2005-08-15):
 # According to an article dated today in the Kyrgyzstan Development Gateway
@@ -1091,17 +1111,19 @@
 =

 # Korea (North and South)
 =

-# From Guy Harris:
-# According to someone at the Korean Times in San Francisco,
-# Daylight Savings Time was not observed until 1987.  He did not know
-# at what time of day DST starts or ends.
-
-# From Shanks:
+# From Annie I. Bang (2006-07-10) in
+# <http://www.koreaherald.co.kr/SITE/data/html_dir/2006/07/10/200607100012=
.asp>:
+# The Ministry of Commerce, Industry and Energy has already
+# commissioned a research project [to reintroduce DST] and has said
+# the system may begin as early as 2008....  Korea ran a daylight
+# saving program from 1949-61 but stopped it during the 1950-53 Korean War.
+
+# From Shanks & Pottenger:
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	ROK	1960	only	-	May	15	0:00	1:00	D
 Rule	ROK	1960	only	-	Sep	13	0:00	0	S
-Rule	ROK	1987	1988	-	May	Sun<=3D14	0:00	1:00	D
-Rule	ROK	1987	1988	-	Oct	Sun<=3D14	0:00	0	S
+Rule	ROK	1987	1988	-	May	Sun>=3D8	0:00	1:00	D
+Rule	ROK	1987	1988	-	Oct	Sun>=3D8	0:00	0	S
 =

 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Seoul	8:27:52	-	LMT	1890
@@ -1184,8 +1206,8 @@
 			7:30	-	MALT	1982 Jan  1
 			8:00	-	MYT	# Malaysia Time
 # Sabah & Sarawak
-# From Paul Eggert (2003-11-01):
-# The data here are mostly from Shanks, but the 1942, 1945 and 1982
+# From Paul Eggert (2006-03-22):
+# The data here are mostly from Shanks & Pottenger, but the 1942, 1945 and=
 1982
 # transition dates are from Mok Ly Yng.
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Asia/Kuching	7:21:20	-	LMT	1926 Mar
@@ -1203,8 +1225,8 @@
 =

 # Mongolia
 =

-# Shanks says that Mongolia has three time zones, but usno1995 and the CIA=
 map
-# Standard Time Zones of the World (1997-01)
+# Shanks & Pottenger say that Mongolia has three time zones, but
+# usno1995 and the CIA map Standard Time Zones of the World (2005-03)
 # both say that it has just one.
 =

 # From Oscar van Vlijmen (1999-12-11):
@@ -1274,11 +1296,19 @@
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Mongol	1983	1984	-	Apr	1	0:00	1:00	S
 Rule	Mongol	1983	only	-	Oct	1	0:00	0	-
-# IATA SSIM says 1990s switches occurred at 00:00, but Shanks (1995) lists
-# them at 02:00s, and McDow says the 2001 switches also occurred at 02:00.
-# Also, IATA SSIM (1996-09) says 1996-10-25.  Go with Shanks through 1998.
-Rule	Mongol	1985	1998	-	Mar	lastSun	2:00s	1:00	S
-Rule	Mongol	1984	1998	-	Sep	lastSun	2:00s	0	-
+# Shanks & Pottenger and IATA SSIM say 1990s switches occurred at 00:00,
+# but McDow says the 2001 switches occurred at 02:00.  Also, IATA SSIM
+# (1996-09) says 1996-10-25.  Go with Shanks & Pottenger through 1998.
+#
+# Shanks & Pottenger say that the Sept. 1984 through Sept. 1990 switches
+# in Choibalsan (more precisely, in Dornod and Sukhbaatar) took place
+# at 02:00 standard time, not at 00:00 local time as in the rest of
+# the country.  That would be odd, and possibly is a result of their
+# correction of 02:00 (in the previous edition) not being done correctly
+# in the latest edition; so ignore it for now.
+
+Rule	Mongol	1985	1998	-	Mar	lastSun	0:00	1:00	S
+Rule	Mongol	1984	1998	-	Sep	lastSun	0:00	0	-
 # IATA SSIM (1999-09) says Mongolia no longer observes DST.
 Rule	Mongol	2001	only	-	Apr	lastSat	2:00	1:00	S
 Rule	Mongol	2001	max	-	Sep	lastSat	2:00	0	-
@@ -1404,8 +1434,8 @@
 # I guess more info may be available from the PA's web page (if/when they
 # have one).
 =

-# From Paul Eggert (1998-02-25):
-# Shanks writes that Gaza did not observe DST until 1957, but we'll go
+# From Paul Eggert (2006-03-22):
+# Shanks & Pottenger write that Gaza did not observe DST until 1957, but go
 # with Shapir and assume that it observed DST from 1940 through 1947,
 # and that it used Jordanian rules starting in 1996.
 # We don't yet need a separate entry for the West Bank, since
@@ -1443,6 +1473,23 @@
 # there is a good chance next year's end date will be around two weeks
 # earlier--the same goes for Jordan.
 =

+# From Steffen Thorsen (2006-08-17):
+# I was informed by a user in Bethlehem that in Bethlehem it started the
+# same day as Israel, and after checking with other users in the area, I
+# was informed that they started DST one day after Israel.  I was not
+# able to find any authoritative sources at the time, nor details if
+# Gaza changed as well, but presumed Gaza to follow the same rules as
+# the West Bank.
+
+# From Steffen Thorsen (2006-09-26):
+# according to the Palestine News Network (2006-09-19):
+# http://english.pnn.ps/index.php?option=3Dcom_content&task=3Dview&id=3D59=
6&Itemid=3D5
+# > The Council of Ministers announced that this year its winter schedule
+# > will begin early, as of midnight Thursday.  It is also time to turn
+# > back the clocks for winter.  Friday will begin an hour late this week.
+# I guess it is likely that next year's date will be moved as well,
+# because of the Ramadan.
+
 # The 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	S
@@ -1452,10 +1499,13 @@
 Rule EgyptAsia	1959	1965	-	Sep	30	3:00	0	-
 Rule EgyptAsia	1966	only	-	Oct	 1	3:00	0	-
 =

-Rule Palestine	1999	max	-	Apr	Fri>=3D15	0:00	1:00	S
+Rule Palestine	1999	2005	-	Apr	Fri>=3D15	0:00	1:00	S
 Rule Palestine	1999	2003	-	Oct	Fri>=3D15	0:00	0	-
 Rule Palestine	2004	only	-	Oct	 1	1:00	0	-
-Rule Palestine	2005	max	-	Oct	 4	2:00	0	-
+Rule Palestine	2005	only	-	Oct	 4	2:00	0	-
+Rule Palestine	2006	max	-	Apr	 1	0:00	1:00	S
+Rule Palestine	2006	only	-	Sep	22	0:00	0	-
+Rule Palestine	2007	max	-	Oct	Fri>=3D15	0:00	0	-
 =

 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Gaza	2:17:52	-	LMT	1900 Oct
@@ -1473,7 +1523,21 @@
 # Philippines, issued a proclamation announcing that 1844-12-30 was to
 # be immediately followed by 1845-01-01.  Robert H. van Gent has a
 # transcript of the decree in <http://www.phys.uu.nl/~vgent/idl/idl.htm>.
-# The rest of this data is from Shanks.
+# The rest of the data are from Shanks & Pottenger.
+
+# From Paul Eggert (2006-04-25):
+# Tomorrow's Manila Standard reports that the Philippines Department of
+# Trade and Industry is considering adopting DST this June when the
+# rainy season begins.  See
+# <http://www.manilastandardtoday.com/?page=3Dpolitics02_april26_2006>.
+# For now, we'll ignore this, since it's not definite and we lack details.
+#
+# From Jesper Norgaard Welen (2006-04-26):
+# ... claims that Philippines had DST last time in 1990:
+# http://story.philippinetimes.com/p.x/ct/9/id/145be20cc6b121c0/cid/3e5bbc=
cc730d258c/
+# [a story dated 2006-04-25 by Cris Larano of Dow Jones Newswires,
+# but no details]
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Phil	1936	only	-	Nov	1	0:00	1:00	S
 Rule	Phil	1937	only	-	Feb	1	0:00	0	-
@@ -1533,6 +1597,49 @@
 # With effect from 12.30 a.m. on 26th October 1996
 # Sri Lanka will be six (06) hours ahead of GMT.
 =

+# From Jesper Norgaard Welen (2006-04-14), quoting Sri Lanka News Online
+# <http://news.sinhalaya.com/wmview.php?ArtID=3D11002> (2006-04-13):
+# 0030 hrs on April 15, 2006 (midnight of April 14, 2006 +30 minutes)
+# at present, become 2400 hours of April 14, 2006 (midnight of April 14, 2=
006).
+
+# From Peter Apps and Ranga Sirila of Reuters (2006-04-12) in:

[... 4151 lines stripped ...]