diff options
52 files changed, 2119 insertions, 177 deletions
diff --git a/ChangeLog b/ChangeLog index 8bb37744d6..b771d0faed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,109 @@ +2008-10-17 Jakub Jelinek <jakub@redhat.com> + + * elf/Makefile: Add rules to build and run tst-tls17. + * elf/tst-tls17.c: New test. + * elf/tst-tlsmod17a.c: New file. + * elf/tst-tlsmod17b.c: Likewise. + +2008-10-17 Ulrich Drepper <drepper@redhat.com> + + * stdlib/divmod_1.c: Use correct type for dummy variable. + * stdlib/mod_1.c: Likewise. + +2008-10-16 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-tls.c (_dl_update_slotinfo): Copy all of the initial DTV. + +2008-10-16 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/sys/signalfd.h (signalfd): Fix __THROW vs. + __nonnull order for C++. + * sysdeps/unix/sysv/linux/alpha/sys/signalfd.h (signalfd): Likewise. + * sysdeps/unix/sysv/linux/sparc/sys/signalfd.h (signalfd): Likewise. + +2008-10-01 Daniel Jacobowitz <dan@codesourcery.com> + + * stdlib/longlong.h: Update from GCC. + +2008-10-09 Jakub Jelinek <jakub@redhat.com> + David S. Miller <davem@davemloft.net> + + * sysdeps/sparc/sparc64/sparcv9v/memcpy.S: When not USE_BPR, + make sure any registers used with 64-bit 'branch-on-register' + instructions have their top 32-bits clear. + * sysdeps/sparc/sparc64/sparcv9v/memset.S: Likewise. + * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: Likewise. + +2008-09-18 Andreas Schwab <schwab@suse.de> + + [BZ #6942] + * resolv/res_send.c (send_vc): Fix use of unaligned address. + Properly handle partial reads. + +2008-10-01 Mark Shinwell <shinwell@codesourcery.com> + + * elf/elf.h (STO_MIPS_PLT): New. + (R_MIPS_COPY): New. + (R_MIPS_JUMP_SLOT): New. + (R_MIPS_NUM): Redefine to 128. + (DT_MIPS_PLTGOT): New. + (DT_MIPS_RWPLT): New. + (DT_MIPS_NUM): Redefine to 0x35. + +2008-10-01 Ulrich Drepper <drepper@redhat.com> + + * timezone/africa: Update from tzdata2008f. + * timezone/asia: Likewise. + * timezone/australasia: Likewise. + * timezone/europe: Likewise. + * timezone/leapseconds: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/zone.tab: Likewise. + +2008-09-30 Ulrich Drepper <drepper@redhat.com> + + * nscd/connections.c: Disable use of paccept for now. + +2008-09-29 Ulrich Drepper <drepper@redhat.com> + + * socket/Versions: Remove paccept export for GLIBC_2.9. + * socket/Makefile (routines): Remove paccept. + * socket/sys/socket.h: Remove paccept declaration. + + * po/sv.po: Update from translation team. + +2008-09-22 Deborah S. Townsend <dstownse@us.ibm.com> + + * sysdeps/s390/s390-64/s390x-mcount.S: Replace ahi with aghi. + * sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise. + +2008-09-16 Ulrich Drepper <drepper@redhat.com> + + * dlfcn/dlopen.c (dlopen_doit): Allow __RTLD_SPROF flag. + Patch by Olivier Fourdan <ofourdan@redhat.com>. + +2008-09-15 Ulrich Drepper <drepper@redhat.com> + + * sunrpc/rpc/svc.h: Declare svcfd_create. + Patch by Michael Solberg <msolberg@redhat.com>. + +2008-09-12 Flavio Leitner <fleitner@redhat.com> + Ulrich Drepper <drepper@redhat.com> + + * malloc/malloc.c (public_vALLOc): Try other arenas in case + _int_valloc fails. + (public_pVALLOc): Likewise. + +2008-09-02 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h: Fix last + commit. + 2008-08-26 Aurelien Jarno <aurelien@aurel32.net> [BZ #6860] - * hurd/hurd/signal.h (HURD_MSGPORT_RPC): Fix a typo. + * hurd/hurd/signal.h (HURD_MSGPORT_RPC): Fix a typo. 2008-07-18 Daniel Jacobowitz <dan@codesourcery.com> diff --git a/NEWS b/NEWS index c3ceaba42e..b17f053c00 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -GNU C Library NEWS -- history of user-visible changes. 2008-8-2 +GNU C Library NEWS -- history of user-visible changes. 2008-9-29 Copyright (C) 1992-2007, 2008 Free Software Foundation, Inc. See the end for copying conditions. @@ -23,7 +23,7 @@ Version 2.9 * New implementation of memmem, strstr, and strcasestr which is O(n). Implemented by Eric Blake. -* New Linux interfaces: inotify_init1, paccept, dup3, epoll_create1, pipe2 +* New Linux interfaces: inotify_init1, dup3, epoll_create1, pipe2 * Implement "e" option for popen to open file descriptor with the close-on-exec flag set. Implemented by Ulrich Drepper. @@ -38,6 +38,8 @@ Version 2.9 * Sorting rules for some Indian languages (Kannada, Gurumukhi, Telugu) Implemented by Pravin Satpute. + +* New locales: sd_IN, sd_IN@devanagari, ks_IN@devanagari, ht_HT, en_AG, nl_AW. Version 2.8 diff --git a/dlfcn/dlopen.c b/dlfcn/dlopen.c index bffb512aa3..e93a584e81 100644 --- a/dlfcn/dlopen.c +++ b/dlfcn/dlopen.c @@ -60,7 +60,8 @@ dlopen_doit (void *a) struct dlopen_args *args = (struct dlopen_args *) a; if (args->mode & ~(RTLD_BINDING_MASK | RTLD_NOLOAD | RTLD_DEEPBIND - | RTLD_GLOBAL | RTLD_LOCAL | RTLD_NODELETE)) + | RTLD_GLOBAL | RTLD_LOCAL | RTLD_NODELETE + | __RTLD_SPROF)) GLRO(dl_signal_error) (0, NULL, NULL, _("invalid mode parameter")); args->new = GLRO(dl_open) (args->file ?: "", args->mode | __RTLD_DLOPEN, diff --git a/elf/Makefile b/elf/Makefile index c25a0c4b26..df3170c626 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -166,7 +166,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ restest2 next dblload dblunload reldep5 reldep6 reldep7 reldep8 \ circleload1 tst-tls3 tst-tls4 tst-tls5 tst-tls6 tst-tls7 tst-tls8 \ tst-tls10 tst-tls11 tst-tls12 tst-tls13 tst-tls14 tst-tls15 \ - tst-tls16 tst-tls-dlinfo \ + tst-tls16 tst-tls17 tst-tls-dlinfo \ tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \ tst-dlmodcount tst-dlopenrpath tst-deep1 \ tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \ @@ -181,6 +181,7 @@ ifeq (yesyes,$(have-fpie)$(build-shared)) tests: $(objpfx)tst-pie1.out endif tests: $(objpfx)tst-leaks1-mem +tlsmod17a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ testobj1_1 failobj constload2 constload3 unloadmod \ dep1 dep2 dep3 dep4 vismod1 vismod2 vismod3 \ @@ -200,6 +201,8 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ tst-tlsmod9 tst-tlsmod10 tst-tlsmod11 tst-tlsmod12 \ tst-tlsmod13 tst-tlsmod13a tst-tlsmod14a tst-tlsmod14b \ tst-tlsmod15a tst-tlsmod15b tst-tlsmod16a tst-tlsmod16b \ + $(patsubst %,tst-tlsmod17a%,$(tlsmod17a-suffixes)) \ + tst-tlsmod17b \ circlemod1 circlemod1a circlemod2 circlemod2a \ circlemod3 circlemod3a \ reldep8mod1 reldep8mod2 reldep8mod3 \ @@ -714,6 +717,13 @@ $(objpfx)tst-tls-dlinfo.out: $(objpfx)tst-tlsmod2.so $(objpfx)tst-tls16: $(libdl) $(objpfx)tst-tls16.out: $(objpfx)tst-tlsmod16a.so $(objpfx)tst-tlsmod16b.so +$(objpfx)tst-tls17: $(libdl) +$(objpfx)tst-tls17.out: $(objpfx)tst-tlsmod17b.so +$(patsubst %,$(objpfx)tst-tlsmod17a%.os,$(tlsmod17a-suffixes)): $(objpfx)tst-tlsmod17a%.os : tst-tlsmod17a.c + $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ -DN=$* -DNOT_IN_libc=1 $< +$(patsubst %,$(objpfx)tst-tlsmod17a%.so,$(tlsmod17a-suffixes)): $(objpfx)tst-tlsmod17a%.so: $(objpfx)ld.so +$(objpfx)tst-tlsmod17b.so: $(patsubst %,$(objpfx)tst-tlsmod17a%.so,$(tlsmod17a-suffixes)) + CFLAGS-tst-align.c = $(stack-align-test-flags) CFLAGS-tst-align2.c = $(stack-align-test-flags) CFLAGS-tst-alignmod.c = $(stack-align-test-flags) diff --git a/elf/dl-tls.c b/elf/dl-tls.c index 54c3590a9d..e234a0a82a 100644 --- a/elf/dl-tls.c +++ b/elf/dl-tls.c @@ -634,7 +634,7 @@ _dl_update_slotinfo (unsigned long int req_modid) newp = malloc ((2 + newsize) * sizeof (dtv_t)); if (newp == NULL) oom (); - memcpy (newp, &dtv[-1], oldsize * sizeof (dtv_t)); + memcpy (newp, &dtv[-1], (2 + oldsize) * sizeof (dtv_t)); } else { diff --git a/elf/elf.h b/elf/elf.h index a4134462ac..51d4e6cca7 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -1397,6 +1397,7 @@ typedef struct #define STO_MIPS_INTERNAL 0x1 #define STO_MIPS_HIDDEN 0x2 #define STO_MIPS_PROTECTED 0x3 +#define STO_MIPS_PLT 0x8 #define STO_MIPS_SC_ALIGN_UNUSED 0xff /* MIPS specific values for `st_info'. */ @@ -1543,8 +1544,10 @@ typedef struct #define R_MIPS_TLS_TPREL_HI16 49 /* TP-relative offset, high 16 bits */ #define R_MIPS_TLS_TPREL_LO16 50 /* TP-relative offset, low 16 bits */ #define R_MIPS_GLOB_DAT 51 +#define R_MIPS_COPY 126 +#define R_MIPS_JUMP_SLOT 127 /* Keep this the last entry. */ -#define R_MIPS_NUM 52 +#define R_MIPS_NUM 128 /* Legal values for p_type field of Elf32_Phdr. */ @@ -1610,7 +1613,13 @@ typedef struct #define DT_MIPS_COMPACT_SIZE 0x7000002f /* (O32)Size of compact rel section. */ #define DT_MIPS_GP_VALUE 0x70000030 /* GP value for aux GOTs. */ #define DT_MIPS_AUX_DYNAMIC 0x70000031 /* Address of aux .dynamic. */ -#define DT_MIPS_NUM 0x32 +/* The address of .got.plt in an executable using the new non-PIC ABI. */ +#define DT_MIPS_PLTGOT 0x70000032 +/* The base of the PLT in an executable using the new non-PIC ABI if that + PLT is writable. For a non-writable PLT, this is omitted or has a zero + value. */ +#define DT_MIPS_RWPLT 0x70000034 +#define DT_MIPS_NUM 0x35 /* Legal values for DT_MIPS_FLAGS Elf32_Dyn entry. */ diff --git a/elf/tst-tls17.c b/elf/tst-tls17.c new file mode 100644 index 0000000000..c768fb6a5b --- /dev/null +++ b/elf/tst-tls17.c @@ -0,0 +1,28 @@ +#include <dlfcn.h> +#include <stdio.h> + +static int +do_test (void) +{ + void *h = dlopen ("tst-tlsmod17b.so", RTLD_LAZY); + if (h == NULL) + { + puts ("unexpectedly failed to open tst-tlsmod17b.so"); + exit (1); + } + + int (*fp) (void) = (int (*) (void)) dlsym (h, "tlsmod17b"); + if (fp == NULL) + { + puts ("cannot find tlsmod17b"); + exit (1); + } + + if (fp ()) + exit (1); + + return 0; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" diff --git a/elf/tst-tlsmod17a.c b/elf/tst-tlsmod17a.c new file mode 100644 index 0000000000..24c84a1590 --- /dev/null +++ b/elf/tst-tlsmod17a.c @@ -0,0 +1,23 @@ +#include <stdio.h> + +#ifndef N +#define N 0 +#endif +#define CONCAT1(s, n) s##n +#define CONCAT(s, n) CONCAT1(s, n) + +__thread int CONCAT (v, N) = 4; + +int +CONCAT (tlsmod17a, N) (void) +{ + int *p = &CONCAT (v, N); + /* GCC assumes &var is never NULL, add optimization barrier. */ + asm volatile ("" : "+r" (p)); + if (p == NULL || *p != 4) + { + printf ("fail %d %p\n", N, p); + return 1; + } + return 0; +} diff --git a/elf/tst-tlsmod17b.c b/elf/tst-tlsmod17b.c new file mode 100644 index 0000000000..6178828737 --- /dev/null +++ b/elf/tst-tlsmod17b.c @@ -0,0 +1,15 @@ +#define P(N) extern int tlsmod17a##N (void); +#define PS P(0) P(1) P(2) P(3) P(4) P(5) P(6) P(7) P(8) P(9) \ + P(10) P(12) P(13) P(14) P(15) P(16) P(17) P(18) P(19) +PS +#undef P + +int +tlsmod17b (void) +{ + int res = 0; +#define P(N) res |= tlsmod17a##N (); + PS +#undef P + return res; +} diff --git a/fedora/branch.mk b/fedora/branch.mk index dd9d94907e..0f773217de 100644 --- a/fedora/branch.mk +++ b/fedora/branch.mk @@ -3,5 +3,5 @@ glibc-branch := fedora glibc-base := HEAD DIST_BRANCH := devel COLLECTION := dist-f8 -fedora-sync-date := 2008-08-28 16:23 UTC -fedora-sync-tag := fedora-glibc-20080828T1623 +fedora-sync-date := 2008-10-19 18:15 UTC +fedora-sync-tag := fedora-glibc-20081019T1815 diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in index 85ed84d256..291854f728 100644 --- a/fedora/glibc.spec.in +++ b/fedora/glibc.spec.in @@ -19,7 +19,7 @@ Summary: The GNU libc libraries Name: glibc Version: @glibcversion@ -Release: 12 +Release: 14 # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries. # Things that are linked directly into dynamically linked programs # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional @@ -221,6 +221,12 @@ package or when debugging this package. # memmove. The memcpy implementation below is not tolerant at # all. rm -f sysdeps/alpha/alphaev6/memcpy.S +%if %{buildpower6} +# On powerpc32, hp timing is only available in power4/power6 +# libs, not in base, so pre-power4 dynamic linker is incompatible +# with power6 libs. +rm -f sysdeps/powerpc/powerpc32/power4/hp-timing.[ch] +%endif find . -type f -size 0 -o -name "*.orig" -exec rm -f {} \; cat > find_provides.sh <<EOF @@ -976,6 +982,18 @@ rm -f *.filelist* %endif %changelog +* Sun Oct 19 2008 Jakub Jelinek <jakub@redhat.com> 2.8.90-14 +- update from trunk + - fix dynamic TLS handling (#467309) + - fix sys/signalfd.h for C++ (#467172) + - fix sprof (#458861) + - fix _mcount and socket syscalls on s390x (#464146) + - try harder to allocate memory in valloc and pvalloc (#461481) +- fix power6 32-bit libs (#467311) + +* Fri Oct 10 2008 Dennis Gilmore <dennis@ausil.us> 2.8.90-13 +- apply sparcv9v memset patch from jakub and davem + * Fri Aug 29 2008 Jakub Jelinek <jakub@redhat.com> 2.8.90-12 - update from trunk - revert origin changes (#457849) diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 2bc9e89975..9e09641efe 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,8 +1,49 @@ +2008-09-17 Ulrich Drepper <drepper@redhat.com> + + * locales/en_GB: Set first weekday and workday to 2. + +2008-09-16 Ulrich Drepper <drepper@redhat.com> + + * locales/nl_AW: New file. + * SUPPORTED (SUPPORTED-LOCALES): Add nl_AW.UTF-8. + + * locales/en_AG: New file. + * SUPPORTED (SUPPORTED-LOCALES): Add en_AG.UTF-8. + +2008-09-15 Ulrich Drepper <drepper@redhat.com> + + * locales/ht_HT: New file. + * SUPPORTED: Add ht_HT.UTF-8. + + * locales/en_GB: Change dom_tel_fmt to %A %l. + * locales/de_DE: Likewise. + + * SUPPORTED (SUPPORTED-LOCALES): Add sd_IN. + + * locales/sd_IN: New file. + Contributed by Pravin Satpute <psatpute@redhat.com>. + + * locales/sd_IN@devanagari: Fix locale name. + * locales/ks_IN@devanagari: Likewise. + +2008-09-01 Ulrich Drepper <drepper@redhat.com> + + * SUPPORTED (SUPPORTED-LOCALES): Add ks_IN@devnagari and + sd_IN@devanagari. + + [BZ #6857] + * locales/sd_IN@devanagari: New file. + Contributed by Pravin Satpute <psatpute@redhat.com>. + + [BZ #6856] + * locales/ks_IN@devanagari: New file. + Contributed by Pravin Satpute <psatpute@redhat.com>. + 2008-07-11 Ulrich Drepper <drepper@redhat.com> * locales/iso14651_t1_common: Add Kannada collation support. Patch by Pravin Satpute <psatpute@redhat.com>. - + 2008-07-08 Ulrich Drepper <drepper@redhat.com> [BZ #6713] diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED index d6d684e6d0..787d03f1cf 100644 --- a/localedata/SUPPORTED +++ b/localedata/SUPPORTED @@ -104,6 +104,7 @@ el_GR.UTF-8/UTF-8 \ el_GR/ISO-8859-7 \ el_CY.UTF-8/UTF-8 \ el_CY/ISO-8859-7 \ +en_AG/UTF-8 \ en_AU.UTF-8/UTF-8 \ en_AU/ISO-8859-1 \ en_BW.UTF-8/UTF-8 \ @@ -228,6 +229,7 @@ hr_HR.UTF-8/UTF-8 \ hr_HR/ISO-8859-2 \ hsb_DE/ISO-8859-2 \ hsb_DE.UTF-8/UTF-8 \ +ht_HT/UTF-8 \ hu_HU.UTF-8/UTF-8 \ hu_HU/ISO-8859-2 \ hy_AM/UTF-8 \ @@ -258,6 +260,7 @@ km_KH/UTF-8 \ kn_IN/UTF-8 \ ko_KR.EUC-KR/EUC-KR \ ko_KR.UTF-8/UTF-8 \ +ks_IN@devanagari/UTF-8 \ ku_TR.UTF-8/UTF-8 \ ku_TR/ISO-8859-9 \ kw_GB.UTF-8/UTF-8 \ @@ -291,6 +294,7 @@ nb_NO/ISO-8859-1 \ nds_DE/UTF-8 \ nds_NL/UTF-8 \ ne_NP/UTF-8 \ +nl_AW/UTF-8 \ nl_BE.UTF-8/UTF-8 \ nl_BE/ISO-8859-1 \ nl_BE@euro/ISO-8859-15 \ @@ -329,6 +333,8 @@ ru_UA/KOI8-U \ rw_RW/UTF-8 \ sa_IN/UTF-8 \ sc_IT/UTF-8 \ +sd_IN/UTF-8 \ +sd_IN@devanagari/UTF-8 \ se_NO/UTF-8 \ shs_CA/UTF-8 \ si_LK/UTF-8 \ diff --git a/localedata/locales/de_DE b/localedata/locales/de_DE index a694dc2888..a40facc850 100644 --- a/localedata/locales/de_DE +++ b/localedata/locales/de_DE @@ -203,7 +203,7 @@ END LC_ADDRESS LC_TELEPHONE tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/ <U006C>" -tel_dom_fmt "<U0025><U0061><U0020><U0025><U006C>" +tel_dom_fmt "<U0025><U0041><U0020><U0025><U006C>" int_select "<U0030><U0030>" int_prefix "<U0034><U0039>" END LC_TELEPHONE diff --git a/localedata/locales/en_AG b/localedata/locales/en_AG new file mode 100644 index 0000000000..f39c410acb --- /dev/null +++ b/localedata/locales/en_AG @@ -0,0 +1,99 @@ +escape_char / +comment_char % +% English language locale for Antigua and Barbuda. +% Contributed by Ulrich Drepper <drepper@redhat.com>, 2008 + +LC_IDENTIFICATION +title "English language locale for Antigua and Barbuda" +source "Free Software Foundation, Inc." +address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" +contact "" +email "bug-glibc-locales@gnu.org" +tel "" +fax "" +language "English" +territory "Antigua and Barbuda" +revision "1.0" +date "2008-09-16" +% +category "en_AG:2008";LC_IDENTIFICATION +category "en_AG:2008";LC_CTYPE +category "en_AG:2008";LC_COLLATE +category "en_AG:2008";LC_TIME +category "en_AG:2008";LC_NUMERIC +category "en_AG:2008";LC_MONETARY +category "en_AG:2008";LC_MESSAGES +category "en_AG:2008";LC_PAPER +category "en_AG:2008";LC_NAME +category "en_AG:2008";LC_ADDRESS +category "en_AG:2008";LC_TELEPHONE + +END LC_IDENTIFICATION + +LC_CTYPE +copy "en_GB" +END LC_CTYPE + +LC_COLLATE +copy "en_GB" +END LC_COLLATE + +LC_MONETARY +int_curr_symbol "<U0058><U0043><U0044><U0020>" +currency_symbol "<U0024>" +mon_decimal_point "<U002E>" +mon_thousands_sep "<U002C>" +mon_grouping 3;3 +positive_sign "" +negative_sign "<U002D>" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 1 +p_sep_by_space 0 +n_cs_precedes 1 +n_sep_by_space 0 +p_sign_posn 1 +n_sign_posn 1 +END LC_MONETARY + +LC_NUMERIC +copy "en_GB" +END LC_NUMERIC + +LC_TIME +copy "en_GB" +END LC_TIME + +LC_MESSAGES +copy "en_GB" +END LC_MESSAGES + +LC_PAPER +copy "en_US" +END LC_PAPER + +LC_NAME +copy "en_GB" +END LC_NAME + +LC_ADDRESS +postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/ +<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/ +<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/ +<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/ +<U004E><U0025><U0063><U0025><U004E>" +country_ab2 "<U0041><U0047>" +country_ab3 "<U0041><U0054><U0047>" +country_num 28 +END LC_ADDRESS + +LC_TELEPHONE +tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/ +<U006C>" +int_prefix "<U0031>" +int_select "<U0030><U0031><U0031>" +END LC_TELEPHONE + +LC_MEASUREMENT +copy "en_US" +END LC_MEASUREMENT diff --git a/localedata/locales/en_GB b/localedata/locales/en_GB index d984f42ca8..e12f887548 100644 --- a/localedata/locales/en_GB +++ b/localedata/locales/en_GB @@ -122,8 +122,8 @@ date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ <U0025><U005A><U0020><U0025><U0059>" week 7;19971201;4 -first_weekday 1 -first_workday 1 +first_weekday 2 +first_workday 2 END LC_TIME LC_MESSAGES @@ -139,7 +139,7 @@ END LC_PAPER LC_TELEPHONE tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/ <U006C>" -tel_dom_fmt "<U0025><U0061><U0020><U0025><U006C>" +tel_dom_fmt "<U0025><U0041><U0020><U0025><U006C>" int_select "<U0030><U0030>" int_prefix "<U0034><U0034>" END LC_TELEPHONE diff --git a/localedata/locales/ht_HT b/localedata/locales/ht_HT new file mode 100644 index 0000000000..37ba0a56b7 --- /dev/null +++ b/localedata/locales/ht_HT @@ -0,0 +1,178 @@ +comment_char % +escape_char / +% +% U006Breyol Language Locale for Haiti +% Source: OLPC +% Language: ht +% Contact: olpchaiti.org +% Address: 22 rue 2, Port-au-Prince +% Email: contact@olpchaiti.org +% Territory: HT +% Revision: 1.0 +% Date: 2008-08-17 +% Users: general +% Charset: ISO-8859-1 +% Authors: +% 2008-08-17, bzg@laptop.org +% +% Distribution and use is free, also +% for commercial purposes. + +LC_IDENTIFICATION +title "Kreyol locale for Haiti" +source "OLPC" +address "" +contact "olpchaiti.org" +email "contact@olpchaiti.org" +tel "" +fax "" +language "U006Breyol" +territory "Haiti" +revision "1.0" +date "2008-08-17" +% +category "ht_HT:2000";LC_IDENTIFICATION +category "ht_HT:2000";LC_CTYPE +category "ht_HT:2000";LC_COLLATE +category "ht_HT:2000";LC_TIME +category "ht_HT:2000";LC_NUMERIC +category "ht_HT:2000";LC_MONETARY +category "ht_HT:2000";LC_MESSAGES +category "ht_HT:2000";LC_PAPER +category "ht_HT:2000";LC_NAME +category "ht_HT:2000";LC_ADDRESS +category "ht_HT:2000";LC_TELEPHONE + +END LC_IDENTIFICATION + +LC_CTYPE +copy "i18n" + +translit_start + +% In Haiti, accents are simply omitted if they cannot be represented. +include "translit_combining";"" + +translit_end + +END LC_CTYPE + +LC_COLLATE +% Copy the template from ISO/IEC 14651 +copy "iso14651_t1" +END LC_COLLATE + +LC_MESSAGES +yesexpr "<U005E><U005B><U006F><U006F><U0079><U0079><U005D><U002E><U002A>" +noexpr "<U005E><U005B><U006E><U006E><U005D><U002E><U002A>" +END LC_MESSAGES + +LC_MONETARY +int_curr_symbol "<U0048><U0054><U0047><U0020>" +currency_symbol "<U0067>" +mon_decimal_point "<U002C>" +mon_thousands_sep "<U0020>" +mon_grouping 3 +positive_sign "" +negative_sign "<U002D>" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 0 +p_sep_by_space 1 +n_cs_precedes 0 +n_sep_by_space 1 +p_sign_posn 1 +n_sign_posn 1 +END LC_MONETARY + +LC_NUMERIC +decimal_point "<U002C>" +thousands_sep "<U0020>" +grouping 3 +END LC_NUMERIC + +LC_TIME +abday "<U0064><U0069><U006D><U002E>";/ + "<U006C><U0045><U006E><U002E>";/ + "<U006D><U0061><U0064><U002E>";/ + "<U006D><U00E8><U006B><U002E>";/ + "<U006A><U0045><U0064><U002E>";/ + "<U0076><U0061><U006E><U002E>";/ + "<U0073><U0061><U006D><U002E>" +day "<U0064><U0069><U006D><U0061><U006E><U0063><U0068>";/ + "<U006C><U0045><U006E><U0064><U0069>";/ + "<U006D><U0061><U0064><U0069>";/ + "<U006D><U00E8><U006B><U0052><U0045><U0064><U0069>";/ + "<U006A><U0045><U0064><U0069>";/ + "<U0076><U0061><U006E><U0064><U0052><U0045><U0064><U0069>";/ + "<U0073><U0061><U006D><U0064><U0069>" +abmon "<U006A><U0061><U006E><U0076><U002E>";/ + "<U0066><U0045><U0076><U0052><U002E>";/ + "<U006D><U0061><U0073>";/ + "<U0061><U0076><U0052><U0069><U006C>";/ + "<U006D><U0045>";/ + "<U006A><U0045><U006E>";/ + "<U006A><U0069><U0079><U00E8><U002E>";/ + "<U006F><U0055><U0074>";/ + "<U0073><U0045><U0070><U0074><U002E>";/ + "<U006F><U006B><U0074><U002E>";/ + "<U006E><U006F><U0076><U002E>";/ + "<U0064><U0045><U0073><U002E>" +mon "<U006A><U0061><U006E><U0076><U0079><U0045>";/ + "<U0066><U0045><U0076><U0052><U0069><U0079><U0045>";/ + "<U006D><U0061><U0073>";/ + "<U0061><U0076><U0052><U0069><U006C>";/ + "<U006D><U0045>";/ + "<U006A><U0045><U006E>";/ + "<U006A><U0069><U0079><U00E8>";/ + "<U006F><U0055><U0074>";/ + "<U0073><U0045><U0070><U0074><U0061><U006E><U006D>";/ + "<U006F><U0063><U0074><U006F><U0062><U0052><U0045>";/ + "<U006E><U006F><U0076><U0061><U006E><U006D>";/ + "<U0064><U0045><U0073><U0061><U006E><U006D>" +d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0079><U0020><U0025><U0074><U0020><U0025><U005A>" +d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" +t_fmt "<U0025><U0074>" +am_pm "";"" +t_fmt_ampm "" +date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0045>/ +<U0020><U0025><U0068><U003A><U0025><U006D><U003A><U0025><U0073><U0020>/ +<U0025><U005A><U0020><U0025><U0079>" + +week 7;19971201;4 +first_weekday 1 +first_workday 1 +END LC_TIME + +LC_PAPER +height 297 +width 210 +END LC_PAPER + +LC_TELEPHONE +tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/ +<U006C>" +tel_dom_fmt "<U0025><U0061><U0020><U0025><U006C>" +int_prefix "<U0035><U0030><U0039>" +int_select "<U0030><U0030>" +END LC_TELEPHONE + +LC_MEASUREMENT +measurement 1 +END LC_MEASUREMENT + +LC_NAME +name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/ +<U0025><U006D><U0025><U0074><U0025><U0066>" +END LC_NAME + +LC_ADDRESS +postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/ +<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/ +<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0052><U0025>/ +<U004E><U0025><U0025><U005A><U0020><U0025><U0074><U0025>/ +<U004E><U0025><U0063><U0025><U004E>" +country_ab2 "<U0068><U0074>" +country_ab3 "<U0068><U0074><U0069>" +%country_num 332 +END LC_ADDRESS diff --git a/localedata/locales/ks_IN@devanagari b/localedata/locales/ks_IN@devanagari new file mode 100644 index 0000000000..2e55de75bf --- /dev/null +++ b/localedata/locales/ks_IN@devanagari @@ -0,0 +1,204 @@ +comment_char % +escape_char / +% Kashmiri language locale for India. +% Contributed by Rakesh Pandit <rakesh.pandit@gmail.com> and +% Pravin Satpute <psatpute@redhat.com> + +LC_IDENTIFICATION +title "Kashmiri language locale for India" +source "" +address "" +contact "" +email "ks-gnome-trans-commits@lists.code.indlinux.net" +tel "" +fax "" +language "Kashmiri" +territory "India" +revision "0.1" +date "2008-08-26" +% +category "ks_IN@devanagari:2008";LC_IDENTIFICATION +category "ks_IN@devanagari:2008";LC_CTYPE +category "ks_IN@devanagari:2008";LC_COLLATE +category "ks_IN@devanagari:2008";LC_TIME +category "ks_IN@devanagari:2008";LC_NUMERIC +category "ks_IN@devanagari:2008";LC_MONETARY +category "ks_IN@devanagari:2008";LC_MESSAGES +category "ks_IN@devanagari:2008";LC_PAPER +category "ks_IN@devanagari:2008";LC_NAME +category "ks_IN@devanagari:2008";LC_ADDRESS +category "ks_IN@devanagari:2008";LC_TELEPHONE + +END LC_IDENTIFICATION + +LC_CTYPE +copy "i18n" + +translit_start +include "translit_combining";"" +translit_end +END LC_CTYPE + +LC_COLLATE + +% Copy the template from ISO/IEC 14651 +copy "iso14651_t1" + +END LC_COLLATE + +LC_MONETARY +% This is the POSIX Locale definition the LC_MONETARY category. +% These are generated based on XML base Locale difintion file +% for IBM Class for Unicode/Java +% +int_curr_symbol "<U0049><U004E><U0052><U0020>" +currency_symbol "<U0930><U0942>" +mon_decimal_point "<U002E>" +mon_thousands_sep "<U002C>" +mon_grouping 3 +positive_sign "" +negative_sign "<U002D>" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 1 +p_sep_by_space 1 +n_cs_precedes 1 +n_sep_by_space 1 +p_sign_posn 1 +n_sign_posn 1 +% +END LC_MONETARY + + +LC_NUMERIC +% This is the POSIX Locale definition for the LC_NUMERIC category. +% +decimal_point "<U002E>" +thousands_sep "<U002C>" +grouping 3 +% +END LC_NUMERIC + + +LC_TIME +% This is the POSIX Locale definition for the LC_TIME category. +% These are generated based on XML base Locale difintion file +% for IBM Class for Unicode/Java +% +% Abbreviated weekday names (%a) +abday "<U0906><U0925><U094D>";/ + "<U091A><U0928><U094D><U0926><U0930><U094D>";/ + "<U092C><U094B><U092E><U094D>";/ + "<U092C><U094B><U0918>";/ + "<U092C><U094D><U0930><U0938><U094D><U094D>";/ + "<U091C><U0941><U092E>";/ + "<U092C><U091F>" +% +% Full weekday names (%A) +day "<U0906><U0925><U094D><U094D><U0935><U093E><U0930><U094D>";/ + "<U091A><U0928><U094D><U0926><U094D><U0930><U0935><U093E><U0930><U094D>";/ + "<U092C><U094B><U092E><U094D><U0935><U093E><U0930><U0940><U094D>";/ + "<U092C><U094B><U0918><U0935><U093E><U0930><U0940><U094D>";/ + "<U092C><U094D><U0930><U0938><U094D><U094D><U0935><U093E><U0930><U094D>";/ + "<U091C><U0941><U092E><U093E><U0939><U094D>";/ + "<U092C><U091F><U0935><U093E><U0930><U094D>" +% +% Abbreviated month names (%b) +abmon "<U091C><U0928><U0935><U0930><U0940>";/ + "<U092B><U093C><U0930><U0935><U0930><U0940>";/ + "<U092E><U093E><U0930><U094D><U091A>";/ + "<U0905><U092A><U094D><U0930><U0947><U0932>";/ + "<U092E><U0908>";"<U091C><U0942><U0928>";/ + "<U091C><U0941><U0932><U093E><U0908>";/ + "<U0905><U0917><U0938><U094D><U0924>";/ + "<U0938><U093F><U0924><U092E><U094D><U092C><U0930>";/ + "<U0905><U0915><U094D><U091F><U0942><U092C><U0930>";/ + "<U0928><U0935><U092E><U094D><U092C><U0930>";/ + "<U0926><U093F><U0938><U092E><U094D><U092C><U0930>" +% +% Full month names (%B) +mon "<U091C><U0928><U0935><U0930><U0940>";/ + "<U092B><U093C><U0930><U0935><U0930><U0940>";/ + "<U092E><U093E><U0930><U094D><U091A>";/ + "<U0905><U092A><U094D><U0930><U0947><U0932>";/ + "<U092E><U0908>";"<U091C><U0942><U0928>";/ + "<U091C><U0941><U0932><U093E><U0908>";/ + "<U0905><U0917><U0938><U094D><U0924>";/ + "<U0938><U093F><U0924><U092E><U094D><U092C><U0930>";/ + "<U0905><U0915><U094D><U091F><U0942><U092C><U0930>";/ + "<U0928><U0935><U092E><U094D><U092C><U0930>";/ + "<U0926><U093F><U0938><U092E><U094D><U092C><U0930>" +% +% Equivalent of AM PM +am_pm "<U092A><U0942><U0930><U094D><U0935><U093E><U0939><U094D><U0928>";/ + "<U0905><U092A><U0930><U093E><U0939><U094D><U0928>" +% +% Appropriate date and time representation +% %A %d %b %Y%I:%M:%S %Z +d_t_fmt "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/ +<U0020><U0025><U0059><U0020><U0025><U0049><U003A><U0025><U004D><U003A>/ +<U0025><U0053><U0020><U0025><U0070><U0020><U0025><U005A>" +% +% Appropriate date representation +% %A %d %b %Y +d_fmt "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/ +<U0020><U0025><U0059>" +% +% Appropriate time representation +% %I:%M:%S %Z +t_fmt "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/ +<U0020><U0020><U0025><U005A>" +% +% Appropriate 12 h time representation (%r) +t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/ +<U0020><U0025><U0070><U0020><U0025><U005A>" +% +date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ +<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ +<U0025><U005A><U0020><U0025><U0059>" +% +first_weekday 1 +END LC_TIME + + +LC_MESSAGES +yesexpr "<U005E><U005B><U0079><U0059><U005D><U002E><U002A>" +noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +END LC_MESSAGES + + +LC_PAPER +copy "hi_IN" +END LC_PAPER + + +LC_NAME +name_fmt "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074>/ +<U0025><U0067>" +name_gen "" +name_mr "<U0936><U094D><U0930><U0940><U002E>" +name_mrs "<U0936><U094D><U0930><U0940><U092E><U0924><U0940><U002E>" +name_miss "<U0915><U0941><U092E><U093E><U0930><U0940><U002E>" +name_ms "<U0915><U0941><U092E><U093E><U0930><U002E>" + +END LC_NAME + + +LC_ADDRESS +postal_fmt "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073>/ +<U0025><U0062><U0025><U0065><U0025><U0072>" + +country_ab2 "<U0049><U004E>" +country_ab3 "<U0049><U004E><U0044>" +country_num 356 +END LC_ADDRESS + + +LC_TELEPHONE +copy "hi_IN" +END LC_TELEPHONE + + +LC_MEASUREMENT +copy "hi_IN" +END LC_MEASUREMENT diff --git a/localedata/locales/nl_AW b/localedata/locales/nl_AW new file mode 100644 index 0000000000..9161977f0d --- /dev/null +++ b/localedata/locales/nl_AW @@ -0,0 +1,100 @@ +escape_char / +comment_char % +% Dutch language locale for Aruba. +% Contributed by Ulrich Drepper <drepper@redhat.com>, 2008 + +LC_IDENTIFICATION +title "Dutch language locale for Aruba" +source "Free Software Foundation, Inc." +address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" +contact "" +email "bug-glibc-locales@gnu.org" +tel "" +fax "" +language "Dutch" +territory "Aruba" +revision "1.0" +date "2008-09-16" +% +category "nl_AW:2008";LC_IDENTIFICATION +category "nl_AW:2008";LC_CTYPE +category "nl_AW:2008";LC_COLLATE +category "nl_AW:2008";LC_TIME +category "nl_AW:2008";LC_NUMERIC +category "nl_AW:2008";LC_MONETARY +category "nl_AW:2008";LC_MESSAGES +category "nl_AW:2008";LC_PAPER +category "nl_AW:2008";LC_NAME +category "nl_AW:2008";LC_ADDRESS +category "nl_AW:2008";LC_TELEPHONE + +END LC_IDENTIFICATION + +LC_CTYPE +copy "nl_NL" +END LC_CTYPE + +LC_COLLATE +copy "nl_NL" +END LC_COLLATE + +LC_MONETARY +int_curr_symbol "<U0041><U0057><U0047><U0020>" +currency_symbol "<U0041><U0066><U006C><U002E>" +mon_decimal_point "<U002C>" +mon_thousands_sep "<U0020>" +mon_grouping 3;3 +positive_sign "" +negative_sign "<U002D>" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 1 +p_sep_by_space 1 +n_cs_precedes 1 +n_sep_by_space 1 +p_sign_posn 1 +n_sign_posn 2 +END LC_MONETARY + +LC_NUMERIC +copy "nl_NL" +END LC_NUMERIC + +LC_TIME +copy "nl_NL" +END LC_TIME + +LC_MESSAGES +copy "nl_NL" +END LC_MESSAGES + +LC_PAPER +copy "en_US" +END LC_PAPER + +LC_NAME +copy "nl_NL" +END LC_NAME + +LC_ADDRESS +postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/ +<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/ +<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/ +<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/ +<U004E><U0025><U0063><U0025><U004E>" +country_ab2 "<U0041><U0057>" +country_ab3 "<U0041><U0042><U0057>" +country_num 533 +END LC_ADDRESS + +LC_TELEPHONE +% FIXME +tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/ +<U006C>" +int_prefix "<U0032><U0039><U0037>" +int_select "<U0030><U0031><U0031>" +END LC_TELEPHONE + +LC_MEASUREMENT +copy "en_US" +END LC_MEASUREMENT diff --git a/localedata/locales/sd_IN b/localedata/locales/sd_IN new file mode 100644 index 0000000000..52f069b004 --- /dev/null +++ b/localedata/locales/sd_IN @@ -0,0 +1,206 @@ +comment_char % +escape_char / +% Sindhi language locale for India. +% Contributed by Pravin Satpute <psatpute@redhat.com> and +% DR K.P. LEKHWANI + +LC_IDENTIFICATION + +title "Sindhi language locale for India" +source "Redhat, Pune" +address "Marisfot III, Marigold Premises, East-Wing, Kalyaninagar, Pune, India-411014" +contact "" +email "bug-glibc-locales@gnu.org" +tel "" +fax "" +language "Sindhi" +territory "India" +revision "1.0" +date "2008,September,09" +% +category "sd_IN:2008";LC_IDENTIFICATION +category "sd_IN:2008";LC_CTYPE +category "sd_IN:2008";LC_COLLATE +category "sd_IN:2008";LC_TIME +category "sd_IN:2008";LC_NUMERIC +category "sd_IN:2008";LC_MONETARY +category "sd_IN:2008";LC_MESSAGES +category "sd_IN:2008";LC_PAPER +category "sd_IN:2008";LC_NAME +category "sd_IN:2008";LC_ADDRESS +category "sd_IN:2008";LC_TELEPHONE + + +END LC_IDENTIFICATION + + +LC_CTYPE +copy "i18n" + +translit_start +include "translit_combining";"" +translit_end +END LC_CTYPE + + +LC_COLLATE +% Copy the template from ISO/IEC 14651 +copy "iso14651_t1" + +END LC_COLLATE + + +LC_MONETARY +% This is the POSIX Locale definition the LC_MONETARY category +% generated by IBM Basic CountryPack Transformer. +% These are generated based on XML base Locale defintion file +% for IBM Class for Unicode. +% +int_curr_symbol "<U0049><U004E><U0052><U0020>" +currency_symbol "<U20A8>" +mon_decimal_point "<U002E>" +mon_thousands_sep "<U002C>" +mon_grouping 3 +positive_sign "" +negative_sign "<U002D>" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 1 +p_sep_by_space 1 +n_cs_precedes 1 +n_sep_by_space 1 +p_sign_posn 1 +n_sign_posn 1 +% +END LC_MONETARY + + +LC_NUMERIC +copy "hi_IN" +END LC_NUMERIC + + +LC_TIME +% This is the POSIX Locale definition for the LC_TIME category +% generated by IBM Basic CountryPack Transformer. +% These are generated based on XML base Locale definition file +% for IBM Class for Unicode. +% +% Abbreviated weekday names (%a) +abday "<U0622><U0631><U062A><U0648><U0627><U0631><U064F>";/ + "<U0633><U0648><U0645><U0631><U064F>";/ + "<U0645><U0646><U06AF><U0644><U064F>";/ + "<U067B><U064F><U068C><U0631><U064F>";/ + "<U0648><U0633><U067E><U062A>";/ + "<U062C><U064F><U0645><U0648>";"<U0687><U0646><U0687><U0631>" +% +% Full weekday names (%A) +day "<U0622><U0631><U062A><U0648><U0627><U0631><U064F>";/ + "<U0633><U0648><U0645><U0631><U064F>";/ + "<U0645><U0646><U06AF><U0644><U064F>";/ + "<U067B><U064F><U068C><U0631><U064F>";/ + "<U0648><U0633><U067E><U062A>";/ + "<U062C><U064F><U0645><U0648>";"<U0687><U0646><U0687><U0631>" +% +% Abbreviated month names (%b) +abmon "<U062C><U0646><U0648><U0631><U064A>";/ + "<U0641><U0628><U0631><U0648><U0631><U064A>";/ + "<U0645><U0627><U0631><U0686>";/ + "<U0627><U067E><U0631><U064A><U0644>";/ + "<U0645><U064A>";/ + "<U062C><U0648><U0646>";/ + "<U062C><U0648><U0644><U0627><U0621><U0650>";/ + "<U0622><U06AF><U0633><U067D>";/ + "<U0633><U064A><U067E><U067D><U064A><U0645><U0628><U0631>";/ + "<U0622><U06AA><U067D><U0648><U0628><U0631>";/ + "<U0646><U0648><U0645><U0628><U0631>";/ + "<U068A><U0633><U0645><U0628><U0631>" +% +% Full month names (%B) +mon "<U062C><U0646><U0648><U0631><U064A>";/ + "<U0641><U0628><U0631><U0648><U0631><U064A>";/ + "<U0645><U0627><U0631><U0686>";/ + "<U0627><U067E><U0631><U064A><U0644>";/ + "<U0645><U064A>";/ + "<U062C><U0648><U0646>";/ + "<U062C><U0648><U0644><U0627><U0621><U0650>";/ + "<U0622><U06AF><U0633><U067D>";/ + "<U0633><U064A><U067E><U067D><U064A><U0645><U0628><U0631>";/ + "<U0622><U06AA><U067D><U0648><U0628><U0631>";/ + "<U0646><U0648><U0645><U0628><U0631>";/ + "<U068A><U0633><U0645><U0628><U0631>" +% +% Equivalent of AM PM +am_pm "<U0041><U004D>";"<U0050><U004D>" +% +% Appropriate date and time representation +% %A %d %b %Y%I:%M:%S %Z +d_t_fmt "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/ +<U0020><U0025><U0059><U0020><U0025><U0049><U003A><U0025><U004D><U003A>/ +<U0025><U0053><U0020><U0025><U0070><U0020><U0025><U005A>" +% +% Appropriate date representation +% %A %d %b %Y +d_fmt "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/ +<U0020><U0025><U0059>" +% +% Appropriate time representation +% %I:%M:%S %Z +t_fmt "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/ +<U0020><U0020><U0025><U005A>" +% +% Appropriate 12 h time representation (%r) +t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/ +<U0020><U0025><U0070><U0020><U0025><U005A>" +% +% Appropriate date representation (date(1)) "%a %b %e %H:%M:%S %Z %Y" +date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ +<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ +<U0025><U005A><U0020><U0025><U0059>" +END LC_TIME + + +LC_MESSAGES +copy "ar_EG" +END LC_MESSAGES + + +LC_PAPER +copy "hi_IN" +END LC_PAPER + + +LC_NAME +% This is the ISO_IEC TR14652 Locale definition for the LC_NAME category +% generated by IBM Basic CountryPack Transformer. +% +% +name_fmt "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074><U0025><U0067>" +name_gen "" +name_mr "<U0634><U0631><U064A>" +name_mrs "<U0634><U0631><U064A><U0645><U062A><U064A>" +name_miss "<U06AA><U0645><U0627><U0631><U064A>" +name_ms "<U06AA><U0645><U0627><U0631>" + +END LC_NAME + + +LC_ADDRESS +% This is the ISO_IEC TR14652 Locale definition for the LC_ADDRESS category +% generated by IBM Basic CountryPack Transformer. +postal_fmt "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073><U0025><U0062><U0025><U0065><U0025><U0072>" +country_ab2 "<U0049><U004E>" +country_ab3 "<U0049><U004E><U0044>" +country_num 356 + +END LC_ADDRESS + + +LC_TELEPHONE +copy "hi_IN" +END LC_TELEPHONE + + +LC_MEASUREMENT +copy "hi_IN" +END LC_MEASUREMENT diff --git a/localedata/locales/sd_IN@devanagari b/localedata/locales/sd_IN@devanagari new file mode 100644 index 0000000000..ce029376e6 --- /dev/null +++ b/localedata/locales/sd_IN@devanagari @@ -0,0 +1,206 @@ +comment_char % +escape_char / +% Sindhi language locale for India. +% Contributed by Pravin Satpute <psatpute@redhat.com> and +% DR K.P. LEKHWANI + +LC_IDENTIFICATION +title "Sindhi language locale for India" +source "Redhat, Pune" +address "Marisfot III, Marigold Premises, East-Wing, Kalyaninagar, Pune, India-411014" +contact "" +email "bug-glibc-locales@gnu.org" +tel "" +fax "" +language "Sindhi" +territory "India" +revision "1.0" +date "2008-08-26" +% +category "sd_IN@devanagari:2008";LC_IDENTIFICATION +category "sd_IN@devanagari:2008";LC_CTYPE +category "sd_IN@devanagari:2008";LC_COLLATE +category "sd_IN@devanagari:2008";LC_TIME +category "sd_IN@devanagari:2008";LC_NUMERIC +category "sd_IN@devanagari:2008";LC_MONETARY +category "sd_IN@devanagari:2008";LC_MESSAGES +category "sd_IN@devanagari:2008";LC_PAPER +category "sd_IN@devanagari:2008";LC_NAME +category "sd_IN@devanagari:2008";LC_ADDRESS +category "sd_IN@devanagari:2008";LC_TELEPHONE + +END LC_IDENTIFICATION + +LC_CTYPE +copy "i18n" + +translit_start +include "translit_combining";"" +translit_end +END LC_CTYPE + +LC_COLLATE + +% Copy the template from ISO/IEC 14651 +copy "iso14651_t1" + +END LC_COLLATE + +LC_MONETARY +% This is the POSIX Locale definition the LC_MONETARY category +% generated by IBM Basic CountryPack Transformer. +% These are generated based on XML base Locale defintion file +% for IBM Class for Unicode. +% +int_curr_symbol "<U0049><U004E><U0052><U0020>" +currency_symbol "<U0930><U0941>" +mon_decimal_point "<U002E>" +mon_thousands_sep "<U002C>" +mon_grouping 3 +positive_sign "" +negative_sign "<U002D>" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 1 +p_sep_by_space 1 +n_cs_precedes 1 +n_sep_by_space 1 +p_sign_posn 1 +n_sign_posn 1 +% +END LC_MONETARY + + +LC_NUMERIC +copy "hi_IN" +END LC_NUMERIC + + +LC_TIME +% This is the POSIX Locale definition for the LC_TIME category +% generated by IBM Basic CountryPack Transformer. +% These are generated based on XML base Locale difintion file +% for IBM Class for Unicode. +% +% Abbreviated weekday names (%a) +abday "<U0906><U0930><U094d><U0924><U0935><U093E><U0930><U0942>";/ + "<U0938><U0942><U092E><U0930><U0942>";/ + "<U092E><U0902><U0917><U0932><U0942>";/ + "<U097F><U0941><U0927><U0930><U0942>";/ + "<U0935><U093F><U0938><U094D><U092A><U0924><U093F>";/ + "<U091C><U0941><U092E><U094B>";"<U091B><U0902><U091B><U0938>" +% +% Full weekday names (%A) +day "<U0906><U0930><U094d><U0924><U0935><U093E><U0930><U0942>";/ + "<U0938><U0942><U092E><U0930><U0942>";/ + "<U092E><U0902><U0917><U0932><U0942>";/ + "<U097F><U0941><U0927><U0930><U0942>";/ + "<U0935><U093F><U0938><U094D><U092A><U0924><U093F>";/ + "<U091C><U0941><U092E><U094B>";"<U091B><U0902><U091B><U0938>" +% +% Abbreviated month names (%b) +abmon "<U091C><U0928><U0935><U0930><U0940>";/ + "<U092B><U092C><U0930><U0935><U0930><U0940>";/ + "<U092E><U093E><U0930><U094d><U091A><U093F>";/ + "<U0905><U092A><U094D><U0930><U0947><U0932>";/ + "<U092E><U0947>";/ + "<U091C><U0942><U0928><U093F>";/ + "<U091C><U0942><U0932><U093E><U0907>";/ + "<U0906><U0917><U0938><U094D><U091F><U0941>";/ + "<U0938><U0947><U092A><U094D><U091F><U0947><U0902><U092C><U0930><U0942>";/ + "<U0906><U0915><U094D><U091F><U0942><U092C><U0930><U0942>";/ + "<U0928><U0935><U0902><U092C><U0930><U0942>";/ + "<U097E><U093F><U0938><U0902><U092C><U0930><U0942>" +% +% Full month names (%B) +mon "<U091C><U0928><U0935><U0930><U0940>";/ + "<U092B><U092C><U0930><U0935><U0930><U0940>";/ + "<U092E><U093E><U0930><U094d><U091A><U093F>";/ + "<U0905><U092A><U094D><U0930><U0947><U0932>";/ + "<U092E><U0947>";/ + "<U091C><U0942><U0928><U093F>";/ + "<U091C><U0942><U0932><U093E><U0907>";/ + "<U0906><U0917><U0938><U094D><U091F><U0941>";/ + "<U0938><U0947><U092A><U094D><U091F><U0947><U0902><U092C><U0930><U0942>";/ + "<U0906><U0915><U094D><U091F><U0942><U092C><U0930><U0942>";/ + "<U0928><U0935><U0902><U092C><U0930><U0942>";/ + "<U097E><U093F><U0938><U0902><U092C><U0930><U0942>" +% +% Equivalent of AM PM +am_pm "<U092E><U002E><U092A><U0942><U002E>";/ + "<U092E><U002E><U0928><U0902><U002E>" +% +% Appropriate date and time representation +% %A %d %b %Y%I:%M:%S %Z +d_t_fmt "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/ +<U0020><U0025><U0059><U0020><U0025><U0049><U003A><U0025><U004D><U003A>/ +<U0025><U0053><U0020><U0025><U0070><U0020><U0025><U005A>" +% +% Appropriate date representation +% %A %d %b %Y +d_fmt "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/ +<U0020><U0025><U0059>" +% +% Appropriate time representation +% %I:%M:%S %Z +t_fmt "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/ +<U0020><U0020><U0025><U005A>" +% +% Appropriate 12 h time representation (%r) +t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/ +<U0020><U0025><U0070><U0020><U0025><U005A>" +% +% Appropriate date representation (date(1)) "%a %b %e %H:%M:%S %Z %Y" +date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ +<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ +<U0025><U005A><U0020><U0025><U0059>" +END LC_TIME + + +LC_MESSAGES +yesexpr "<U005E><U005B><U0079><U0059><U005D><U002E><U002A>" +noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +END LC_MESSAGES + + +LC_PAPER +copy "hi_IN" +END LC_PAPER + + +LC_NAME +% This is the ISO_IEC TR14652 Locale definition for the LC_NAME category +% generated by IBM Basic CountryPack Transformer. +% +% +name_fmt "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074>/ +<U0025><U0067>" +name_gen "" +name_mr "<U0936><U094D><U0930><U0940><U002E>" +name_mrs "<U0936><U094D><U0930><U0940><U092E><U0924><U0940><U002E>" +name_miss "<U0915><U0941><U092E><U093E><U0930><U0940><U002E>" +name_ms "<U0915><U0941><U092E><U093E><U0930><U002E>" + +END LC_NAME + + +LC_ADDRESS +% This is the ISO_IEC TR14652 Locale definition for the LC_ADDRESS category +% generated by IBM Basic CountryPack Transformer. +postal_fmt "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073>/ +<U0025><U0062><U0025><U0065><U0025><U0072>" + +country_ab2 "<U0049><U004E>" +country_ab3 "<U0049><U004E><U0044>" +country_num 356 +END LC_ADDRESS + + +LC_TELEPHONE +copy "hi_IN" +END LC_TELEPHONE + + +LC_MEASUREMENT +copy "hi_IN" +END LC_MEASUREMENT diff --git a/malloc/malloc.c b/malloc/malloc.c index 7610aa444a..feca2cbea9 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -3800,17 +3800,39 @@ public_vALLOc(size_t bytes) if(__malloc_initialized < 0) ptmalloc_init (); + size_t pagesz = mp_.pagesize; + __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t, __const __malloc_ptr_t)) = __memalign_hook; if (hook != NULL) - return (*hook)(mp_.pagesize, bytes, RETURN_ADDRESS (0)); + return (*hook)(pagesz, bytes, RETURN_ADDRESS (0)); - arena_get(ar_ptr, bytes + mp_.pagesize + MINSIZE); + arena_get(ar_ptr, bytes + pagesz + MINSIZE); if(!ar_ptr) return 0; p = _int_valloc(ar_ptr, bytes); (void)mutex_unlock(&ar_ptr->mutex); + if(!p) { + /* Maybe the failure is due to running out of mmapped areas. */ + if(ar_ptr != &main_arena) { + (void)mutex_lock(&main_arena.mutex); + p = _int_memalign(&main_arena, pagesz, bytes); + (void)mutex_unlock(&main_arena.mutex); + } else { +#if USE_ARENAS + /* ... or sbrk() has failed and there is still a chance to mmap() */ + ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0, bytes); + if(ar_ptr) { + p = _int_memalign(ar_ptr, pagesz, bytes); + (void)mutex_unlock(&ar_ptr->mutex); + } +#endif + } + } + assert(!p || chunk_is_mmapped(mem2chunk(p)) || + ar_ptr == arena_for_chunk(mem2chunk(p))); + return p; } @@ -3823,17 +3845,40 @@ public_pVALLOc(size_t bytes) if(__malloc_initialized < 0) ptmalloc_init (); + size_t pagesz = mp_.pagesize; + size_t page_mask = mp_.pagesize - 1; + size_t rounded_bytes = (bytes + page_mask) & ~(page_mask); + __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t, __const __malloc_ptr_t)) = __memalign_hook; if (hook != NULL) - return (*hook)(mp_.pagesize, - (bytes + mp_.pagesize - 1) & ~(mp_.pagesize - 1), - RETURN_ADDRESS (0)); + return (*hook)(pagesz, rounded_bytes, RETURN_ADDRESS (0)); - arena_get(ar_ptr, bytes + 2*mp_.pagesize + MINSIZE); + arena_get(ar_ptr, bytes + 2*pagesz + MINSIZE); p = _int_pvalloc(ar_ptr, bytes); (void)mutex_unlock(&ar_ptr->mutex); + if(!p) { + /* Maybe the failure is due to running out of mmapped areas. */ + if(ar_ptr != &main_arena) { + (void)mutex_lock(&main_arena.mutex); + p = _int_memalign(&main_arena, pagesz, rounded_bytes); + (void)mutex_unlock(&main_arena.mutex); + } else { +#if USE_ARENAS + /* ... or sbrk() has failed and there is still a chance to mmap() */ + ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0, + bytes + 2*pagesz + MINSIZE); + if(ar_ptr) { + p = _int_memalign(ar_ptr, pagesz, rounded_bytes); + (void)mutex_unlock(&ar_ptr->mutex); + } +#endif + } + } + assert(!p || chunk_is_mmapped(mem2chunk(p)) || + ar_ptr == arena_for_chunk(mem2chunk(p))); + return p; } diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 15ee177611..af0d0c1d0c 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,15 @@ +2008-09-11 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/unix/sysv/linux/fork.c (__libc_fork): Add memory barrier + to force runp->refcntr to be read from memory. + +2008-09-08 Richard Guenther <rguenther@suse.de> + + * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_lock, + lll_robust_lock, lll_cond_lock, lll_robust_cond_lock, + lll_timedlock, lll_robust_timedlock, lll_unlock, + lll_robust_unlock): Promote private to int. + 2008-08-15 Ulrich Drepper <drepper@redhat.com> * sysdeps/x86_64/pthreaddef.h: Remove ARCH_MAP_FLAGS and diff --git a/nptl/sysdeps/unix/sysv/linux/fork.c b/nptl/sysdeps/unix/sysv/linux/fork.c index 1683de80fd..524d72c587 100644 --- a/nptl/sysdeps/unix/sysv/linux/fork.c +++ b/nptl/sysdeps/unix/sysv/linux/fork.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2007 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -64,6 +64,9 @@ __libc_fork (void) struct fork_handler *runp; while ((runp = __fork_handlers) != NULL) { + /* Make sure we read from the current RUNP pointer. */ + atomic_full_barrier (); + unsigned int oldval = runp->refcntr; if (oldval == 0) diff --git a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h index 8f67616af7..d53559c074 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -323,7 +323,7 @@ LLL_STUB_UNWIND_INFO_END "=m" (futex), "=&d" (ignore3) \ : "1" (1), "m" (futex), \ "i" (MULTIPLE_THREADS_OFFSET), "0" (0), \ - "g" (private) \ + "g" ((int) (private)) \ : "memory"); \ } \ }) @@ -345,7 +345,7 @@ LLL_STUB_UNWIND_INFO_END "18:" \ : "=a" (result), "=c" (ignore1), "=m" (futex), \ "=&d" (ignore2) \ - : "0" (0), "1" (id), "m" (futex), "g" (private) \ + : "0" (0), "1" (id), "m" (futex), "g" ((int) (private))\ : "memory"); \ result; }) @@ -370,7 +370,7 @@ LLL_STUB_UNWIND_INFO_END "18:" \ : "=a" (ignore1), "=c" (ignore2), "=m" (futex), \ "=&d" (ignore3) \ - : "0" (0), "1" (2), "m" (futex), "g" (private) \ + : "0" (0), "1" (2), "m" (futex), "g" ((int) (private))\ : "memory"); \ }) @@ -393,7 +393,7 @@ LLL_STUB_UNWIND_INFO_END : "=a" (result), "=c" (ignore1), "=m" (futex), \ "=&d" (ignore2) \ : "0" (0), "1" (id | FUTEX_WAITERS), "m" (futex), \ - "g" (private) \ + "g" ((int) (private)) \ : "memory"); \ result; }) @@ -416,7 +416,7 @@ LLL_STUB_UNWIND_INFO_END : "=a" (result), "=c" (ignore1), "=&d" (ignore2), \ "=m" (futex), "=S" (ignore3) \ : "0" (0), "1" (1), "m" (futex), "m" (timeout), \ - "4" (private) \ + "4" ((int) (private)) \ : "memory"); \ result; }) @@ -439,7 +439,7 @@ LLL_STUB_UNWIND_INFO_END : "=a" (result), "=c" (ignore1), "=&d" (ignore2), \ "=m" (futex), "=S" (ignore3) \ : "0" (0), "1" (id), "m" (futex), "m" (timeout), \ - "4" (private) \ + "4" ((int) (private)) \ : "memory"); \ result; }) @@ -489,7 +489,7 @@ LLL_STUB_UNWIND_INFO_END "18:" \ : "=m" (futex), "=&a" (ignore), "=&c" (ignore2) \ : "i" (MULTIPLE_THREADS_OFFSET), "m" (futex), \ - "g" (private) \ + "g" ((int) (private)) \ : "memory"); \ } \ }) @@ -511,7 +511,8 @@ LLL_STUB_UNWIND_INFO_END LLL_STUB_UNWIND_INFO_4 \ "18:" \ : "=m" (futex), "=&a" (ignore), "=&c" (ignore2) \ - : "i" (FUTEX_WAITERS), "m" (futex), "g" (private) \ + : "i" (FUTEX_WAITERS), "m" (futex), \ + "g" ((int) (private)) \ : "memory"); \ }) diff --git a/nscd/connections.c b/nscd/connections.c index 3395e54fa1..e3a67386d0 100644 --- a/nscd/connections.c +++ b/nscd/connections.c @@ -239,7 +239,7 @@ static int resolv_conf_descr = -1; before be know the result. */ static int have_sock_cloexec; /* The paccept syscall was introduced at the same time as SOCK_CLOEXEC. */ -# define have_paccept have_sock_cloexec +# define have_paccept -1 // XXX For the time being there is no such call #endif /* Number of times clients had to wait. */ @@ -1824,12 +1824,14 @@ main_loop_poll (void) if (have_paccept >= 0) #endif { +#if 0 fd = TEMP_FAILURE_RETRY (paccept (sock, NULL, NULL, NULL, SOCK_NONBLOCK)); #ifndef __ASSUME_PACCEPT if (have_paccept == 0) have_paccept = fd != -1 || errno != ENOSYS ? 1 : -1; #endif +#endif } #ifndef __ASSUME_PACCEPT if (have_paccept < 0) diff --git a/po/sv.po b/po/sv.po index 0d4e308115..dcbe90258d 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,13 +1,14 @@ # GNU libc message catalog for swedish -# Copyright © 1996, 1998, 2001, 2002, 2003, 2006 Free Software Foundation, Inc. -# Jan Djärv <jan.h.d@swipnet.se>, 1996, 1998, 2001, 2002, 2003, 2006, 2007. -# Revision: 1.57 +# Copyright © 1996, 1998, 2001, 2002, 2003, 2006, 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the glibc package. +# Jan Djärv <jan.h.d@swipnet.se>, 1996, 1998, 2001, 2002, 2003, 2006, 2007, 2008 +# Revision: 1.59 # msgid "" msgstr "" "Project-Id-Version: libc 2.7\n" "POT-Creation-Date: 2007-10-15 21:18-0700\n" -"PO-Revision-Date: 2007-11-14 21:01+0100\n" +"PO-Revision-Date: 2008-09-29 07:26+0200\n" "Last-Translator: Jan Djärv <jan.h.d@swipnet.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "MIME-Version: 1.0\n" @@ -2853,7 +2854,7 @@ msgstr "" "\n" " -?,--help Visa denna hjälptext och avsluta\n" " --usage Visa en kort hjälptext\n" -" -V,--version Visa versionsinformation och avluta\n" +" -V,--version Visa versionsinformation och avsluta\n" "\n" " Följande flaggor gäller bara när grafik genereras:\n" " -t,--time-based Gör grafen linjär i tiden\n" @@ -4328,59 +4329,59 @@ msgstr "Okänd variabel \"%s\"" #: posix/getopt.c:571 posix/getopt.c:587 #, c-format -msgid "%s: option '%s' is ambiguous\n" +msgid "%s: option `%s' is ambiguous\n" msgstr "%s: flaggan \"%s\" är tvetydig\n" #: posix/getopt.c:620 posix/getopt.c:624 #, c-format -msgid "%s: option '--%s' doesn't allow an argument\n" +msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: flaggan \"--%s\" tar inget argument\n" #: posix/getopt.c:633 posix/getopt.c:638 #, c-format -msgid "%s: option '%c%s' doesn't allow an argument\n" +msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: flaggan \"%c%s\" tar inget argument\n" #: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016 #: posix/getopt.c:1035 #, c-format -msgid "%s: option '%s' requires an argument\n" +msgid "%s: option `%s' requires an argument\n" msgstr "%s: flaggan \"%s\" behöver ett argument\n" #: posix/getopt.c:738 posix/getopt.c:741 #, c-format -msgid "%s: unrecognized option '--%s'\n" +msgid "%s: unrecognized option `--%s'\n" msgstr "%s: okänd flagga \"--%s\"\n" #: posix/getopt.c:749 posix/getopt.c:752 #, c-format -msgid "%s: unrecognized option '%c%s'\n" +msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: okänd flagga \"%c%s\"\n" #: posix/getopt.c:804 posix/getopt.c:807 #, c-format -msgid "%s: illegal option -- '%c'\n" +msgid "%s: illegal option -- %c\n" msgstr "%s: otillÃ¥ten flagga -- %c\n" #: posix/getopt.c:813 posix/getopt.c:816 #, c-format -msgid "%s: invalid option -- '%c'\n" +msgid "%s: invalid option -- %c\n" msgstr "%s: ogiltig flagga -- %c\n" #: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088 #: posix/getopt.c:1106 #, c-format -msgid "%s: option requires an argument -- '%c'\n" +msgid "%s: option requires an argument -- %c\n" msgstr "%s: flaggan behöver ett argument -- %c\n" #: posix/getopt.c:937 posix/getopt.c:953 #, c-format -msgid "%s: option '-W %s' is ambiguous\n" +msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: flaggan \"-W %s\" är tvetydig\n" #: posix/getopt.c:977 posix/getopt.c:995 #, c-format -msgid "%s: option '-W %s' doesn't allow an argument\n" +msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: flaggan \"-W %s\" tar inget argument\n" #: posix/regcomp.c:135 diff --git a/resolv/res_send.c b/resolv/res_send.c index 3130f64281..59cdc214e2 100644 --- a/resolv/res_send.c +++ b/resolv/res_send.c @@ -734,11 +734,11 @@ send_vc(res_state statp, */ int recvresp1 = 0; int recvresp2 = buf2 == NULL; - read_len: - cp = ans; uint16_t rlen16; + read_len: + cp = (u_char *)&rlen16; len = sizeof(rlen16); - while ((n = TEMP_FAILURE_RETRY (read(statp->_vcsock, &rlen16, + while ((n = TEMP_FAILURE_RETRY (read(statp->_vcsock, cp, (int)len))) > 0) { cp += n; if ((len -= n) <= 0) @@ -778,8 +778,16 @@ send_vc(res_state statp, /* No buffer allocated for the first reply. We can try to use the rest of the user-provided buffer. */ +#ifdef _STRING_ARCH_unaligned *anssizp2 = orig_anssizp - resplen; *ansp2 = *ansp + resplen; +#else + int aligned_resplen + = ((resplen + __alignof__ (HEADER) - 1) + & (__alignof__ (HEADER) - 1)); + *anssizp2 = orig_anssizp - aligned_resplen; + *ansp2 = *ansp + aligned_resplen; +#endif } else { /* The first reply did not fit into the user-provided buffer. Maybe the second diff --git a/socket/Makefile b/socket/Makefile index e7fa589e65..92a87079e3 100644 --- a/socket/Makefile +++ b/socket/Makefile @@ -27,7 +27,7 @@ headers := sys/socket.h sys/un.h bits/sockaddr.h bits/socket.h \ routines := accept bind connect getpeername getsockname getsockopt \ listen recv recvfrom recvmsg send sendmsg sendto \ setsockopt shutdown socket socketpair isfdtype opensock \ - sockatmark paccept + sockatmark aux := have_sock_cloexec diff --git a/socket/Versions b/socket/Versions index 9764227c36..d282eff79e 100644 --- a/socket/Versions +++ b/socket/Versions @@ -31,7 +31,4 @@ libc { # Addition from P1003.1-200x sockatmark; } - GLIBC_2.9 { - paccept; - } } diff --git a/socket/sys/socket.h b/socket/sys/socket.h index ea4123d287..e0a6a5216a 100644 --- a/socket/sys/socket.h +++ b/socket/sys/socket.h @@ -214,18 +214,6 @@ extern int listen (int __fd, int __n) __THROW; extern int accept (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len); -#ifdef __USE_GNU -/* Variant of the accept function which takes additional parameters. The - MASK parameter allows to change the thread signal mask for the duration - of the call. The FLAGS parameter allows to pass additional flags. - - This function is a cancellation point and therefore not marked with - __THROW. */ -extern int paccept (int __fd, __SOCKADDR_ARG __addr, - socklen_t *__restrict __addr_len, - __const __sigset_t *__restrict __ss, int __flags); -#endif - /* Shut down all or part of the connection open on socket FD. HOW determines what to shut down: SHUT_RD = No more receptions; diff --git a/stdlib/divmod_1.c b/stdlib/divmod_1.c index 51a47d85d3..0a8a77e12e 100644 --- a/stdlib/divmod_1.c +++ b/stdlib/divmod_1.c @@ -55,7 +55,7 @@ mpn_divmod_1 (quot_ptr, dividend_ptr, dividend_size, divisor_limb) { mp_size_t i; mp_limb_t n1, n0, r; - int dummy; + mp_limb_t dummy; /* ??? Should this be handled at all? Rely on callers? */ if (dividend_size == 0) diff --git a/stdlib/longlong.h b/stdlib/longlong.h index ca6285a19b..a2f38ae2a5 100644 --- a/stdlib/longlong.h +++ b/stdlib/longlong.h @@ -229,6 +229,19 @@ UDItype __umulsidi3 (USItype, USItype); #define UDIV_TIME 100 #endif /* __arm__ */ +#if defined(__arm__) +/* Let gcc decide how best to implement count_leading_zeros. */ +#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X)) +#define COUNT_LEADING_ZEROS_0 32 +#endif + +#if defined (__CRIS__) && __CRIS_arch_version >= 3 +#define count_leading_zeros(COUNT, X) ((COUNT) = __builtin_clz (X)) +#if __CRIS_arch_version >= 8 +#define count_trailing_zeros(COUNT, X) ((COUNT) = __builtin_ctz (X)) +#endif +#endif /* __CRIS__ */ + #if defined (__hppa) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add %4,%5,%1\n\taddc %2,%3,%0" \ @@ -315,7 +328,7 @@ UDItype __umulsidi3 (USItype, USItype); #if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("addl %5,%1\n\tadcl %3,%0" \ + __asm__ ("add{l} {%5,%1|%1,%5}\n\tadc{l} {%3,%0|%0,%3}" \ : "=r" ((USItype) (sh)), \ "=&r" ((USItype) (sl)) \ : "%0" ((USItype) (ah)), \ @@ -323,7 +336,7 @@ UDItype __umulsidi3 (USItype, USItype); "%1" ((USItype) (al)), \ "g" ((USItype) (bl))) #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("subl %5,%1\n\tsbbl %3,%0" \ + __asm__ ("sub{l} {%5,%1|%1,%5}\n\tsbb{l} {%3,%0|%0,%3}" \ : "=r" ((USItype) (sh)), \ "=&r" ((USItype) (sl)) \ : "0" ((USItype) (ah)), \ @@ -331,31 +344,60 @@ UDItype __umulsidi3 (USItype, USItype); "1" ((USItype) (al)), \ "g" ((USItype) (bl))) #define umul_ppmm(w1, w0, u, v) \ - __asm__ ("mull %3" \ + __asm__ ("mul{l} %3" \ : "=a" ((USItype) (w0)), \ "=d" ((USItype) (w1)) \ : "%0" ((USItype) (u)), \ "rm" ((USItype) (v))) #define udiv_qrnnd(q, r, n1, n0, dv) \ - __asm__ ("divl %4" \ + __asm__ ("div{l} %4" \ : "=a" ((USItype) (q)), \ "=d" ((USItype) (r)) \ : "0" ((USItype) (n0)), \ "1" ((USItype) (n1)), \ "rm" ((USItype) (dv))) -#define count_leading_zeros(count, x) \ - do { \ - USItype __cbtmp; \ - __asm__ ("bsrl %1,%0" \ - : "=r" (__cbtmp) : "rm" ((USItype) (x))); \ - (count) = __cbtmp ^ 31; \ - } while (0) -#define count_trailing_zeros(count, x) \ - __asm__ ("bsfl %1,%0" : "=r" (count) : "rm" ((USItype)(x))) +#define count_leading_zeros(count, x) ((count) = __builtin_clz (x)) +#define count_trailing_zeros(count, x) ((count) = __builtin_ctz (x)) #define UMUL_TIME 40 #define UDIV_TIME 40 #endif /* 80x86 */ +#if (defined (__x86_64__) || defined (__i386__)) && W_TYPE_SIZE == 64 +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("add{q} {%5,%1|%1,%5}\n\tadc{q} {%3,%0|%0,%3}" \ + : "=r" ((UDItype) (sh)), \ + "=&r" ((UDItype) (sl)) \ + : "%0" ((UDItype) (ah)), \ + "rme" ((UDItype) (bh)), \ + "%1" ((UDItype) (al)), \ + "rme" ((UDItype) (bl))) +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("sub{q} {%5,%1|%1,%5}\n\tsbb{q} {%3,%0|%0,%3}" \ + : "=r" ((UDItype) (sh)), \ + "=&r" ((UDItype) (sl)) \ + : "0" ((UDItype) (ah)), \ + "rme" ((UDItype) (bh)), \ + "1" ((UDItype) (al)), \ + "rme" ((UDItype) (bl))) +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("mul{q} %3" \ + : "=a" ((UDItype) (w0)), \ + "=d" ((UDItype) (w1)) \ + : "%0" ((UDItype) (u)), \ + "rm" ((UDItype) (v))) +#define udiv_qrnnd(q, r, n1, n0, dv) \ + __asm__ ("div{q} %4" \ + : "=a" ((UDItype) (q)), \ + "=d" ((UDItype) (r)) \ + : "0" ((UDItype) (n0)), \ + "1" ((UDItype) (n1)), \ + "rm" ((UDItype) (dv))) +#define count_leading_zeros(count, x) ((count) = __builtin_clzl (x)) +#define count_trailing_zeros(count, x) ((count) = __builtin_ctzl (x)) +#define UMUL_TIME 40 +#define UDIV_TIME 40 +#endif /* x86_64 */ + #if defined (__i960__) && W_TYPE_SIZE == 32 #define umul_ppmm(w1, w0, u, v) \ ({union {UDItype __ll; \ @@ -523,6 +565,11 @@ UDItype __umulsidi3 (USItype, USItype); __asm__ ("bfffo %1{%b2:%b2},%0" \ : "=d" ((USItype) (count)) \ : "od" ((USItype) (x)), "n" (0)) +/* Some ColdFire architectures have a ff1 instruction supported via + __builtin_clz. */ +#elif defined (__mcfisaaplus__) || defined (__mcfisac__) +#define count_leading_zeros(count,x) ((count) = __builtin_clz (x)) +#define COUNT_LEADING_ZEROS_0 32 #endif #endif /* mc68000 */ @@ -585,14 +632,19 @@ UDItype __umulsidi3 (USItype, USItype); #endif /* __m88000__ */ #if defined (__mips__) && W_TYPE_SIZE == 32 -#define umul_ppmm(w1, w0, u, v) \ - __asm__ ("multu %2,%3" \ - : "=l" ((USItype) (w0)), \ - "=h" ((USItype) (w1)) \ - : "d" ((USItype) (u)), \ - "d" ((USItype) (v))) +#define umul_ppmm(w1, w0, u, v) \ + do { \ + UDItype __x = (UDItype) (USItype) (u) * (USItype) (v); \ + (w1) = (USItype) (__x >> 32); \ + (w0) = (USItype) (__x); \ + } while (0) #define UMUL_TIME 10 #define UDIV_TIME 100 + +#if (__mips == 32 || __mips == 64) && ! __mips16 +#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X)) +#define COUNT_LEADING_ZEROS_0 32 +#endif #endif /* __mips__ */ #if defined (__ns32000__) && W_TYPE_SIZE == 32 @@ -641,7 +693,9 @@ UDItype __umulsidi3 (USItype, USItype); || defined (__powerpc__) /* gcc */ \ || defined (__POWERPC__) /* BEOS */ \ || defined (__ppc__) /* Darwin */ \ - || defined (PPC) /* GNU/Linux, SysV */ \ + || (defined (PPC) && ! defined (CPU_FAMILY)) /* gcc 2.7.x GNU&SysV */ \ + || (defined (PPC) && defined (CPU_FAMILY) /* VxWorks */ \ + && CPU_FAMILY == PPC) \ ) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ do { \ @@ -679,7 +733,10 @@ UDItype __umulsidi3 (USItype, USItype); __asm__ ("{cntlz|cntlzw} %0,%1" : "=r" (count) : "r" (x)) #define COUNT_LEADING_ZEROS_0 32 #if defined (_ARCH_PPC) || defined (__powerpc__) || defined (__POWERPC__) \ - || defined (__ppc__) || defined (PPC) + || defined (__ppc__) \ + || (defined (PPC) && ! defined (CPU_FAMILY)) /* gcc 2.7.x GNU&SysV */ \ + || (defined (PPC) && defined (CPU_FAMILY) /* VxWorks */ \ + && CPU_FAMILY == PPC) #define umul_ppmm(ph, pl, m0, m1) \ do { \ USItype __m0 = (m0), __m1 = (m1); \ @@ -828,18 +885,51 @@ UDItype __umulsidi3 (USItype, USItype); } while (0) #endif -#if defined (__sh2__) && W_TYPE_SIZE == 32 +#if defined(__sh__) && !__SHMEDIA__ && W_TYPE_SIZE == 32 +#ifndef __sh1__ #define umul_ppmm(w1, w0, u, v) \ __asm__ ( \ - "dmulu.l %2,%3\n\tsts macl,%1\n\tsts mach,%0" \ - : "=r" ((USItype)(w1)), \ - "=r" ((USItype)(w0)) \ + "dmulu.l %2,%3\n\tsts%M1 macl,%1\n\tsts%M0 mach,%0" \ + : "=r<" ((USItype)(w1)), \ + "=r<" ((USItype)(w0)) \ : "r" ((USItype)(u)), \ "r" ((USItype)(v)) \ : "macl", "mach") #define UMUL_TIME 5 #endif +/* This is the same algorithm as __udiv_qrnnd_c. */ +#define UDIV_NEEDS_NORMALIZATION 1 + +#define udiv_qrnnd(q, r, n1, n0, d) \ + do { \ + extern UWtype __udiv_qrnnd_16 (UWtype, UWtype) \ + __attribute__ ((visibility ("hidden"))); \ + /* r0: rn r1: qn */ /* r0: n1 r4: n0 r5: d r6: d1 */ /* r2: __m */ \ + __asm__ ( \ + "mov%M4 %4,r5\n" \ +" swap.w %3,r4\n" \ +" swap.w r5,r6\n" \ +" jsr @%5\n" \ +" shll16 r6\n" \ +" swap.w r4,r4\n" \ +" jsr @%5\n" \ +" swap.w r1,%0\n" \ +" or r1,%0" \ + : "=r" (q), "=&z" (r) \ + : "1" (n1), "r" (n0), "rm" (d), "r" (&__udiv_qrnnd_16) \ + : "r1", "r2", "r4", "r5", "r6", "pr"); \ + } while (0) + +#define UDIV_TIME 80 + +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("clrt;subc %5,%1; subc %4,%0" \ + : "=r" (sh), "=r" (sl) \ + : "0" (ah), "1" (al), "r" (bh), "r" (bl)) + +#endif /* __sh__ */ + #if defined (__SH5__) && __SHMEDIA__ && W_TYPE_SIZE == 32 #define __umulsidi3(u,v) ((UDItype)(USItype)u*(USItype)v) #define count_leading_zeros(count, x) \ @@ -1153,6 +1243,23 @@ UDItype __umulsidi3 (USItype, USItype); } while (0) #endif /* __vax__ */ +#if defined (__xtensa__) && W_TYPE_SIZE == 32 +/* This code is not Xtensa-configuration-specific, so rely on the compiler + to expand builtin functions depending on what configuration features + are available. This avoids library calls when the operation can be + performed in-line. */ +#define umul_ppmm(w1, w0, u, v) \ + do { \ + DWunion __w; \ + __w.ll = __builtin_umulsidi3 (u, v); \ + w1 = __w.s.high; \ + w0 = __w.s.low; \ + } while (0) +#define __umulsidi3(u, v) __builtin_umulsidi3 (u, v) +#define count_leading_zeros(COUNT, X) ((COUNT) = __builtin_clz (X)) +#define count_trailing_zeros(COUNT, X) ((COUNT) = __builtin_ctz (X)) +#endif /* __xtensa__ */ + #if defined (__z8000__) && W_TYPE_SIZE == 16 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add %H1,%H5\n\tadc %H0,%H3" \ diff --git a/stdlib/mod_1.c b/stdlib/mod_1.c index 3273c9222d..f4cfa6933f 100644 --- a/stdlib/mod_1.c +++ b/stdlib/mod_1.c @@ -50,7 +50,7 @@ mpn_mod_1 (dividend_ptr, dividend_size, divisor_limb) { mp_size_t i; mp_limb_t n1, n0, r; - int dummy; + mp_limb_t dummy; /* Botch: Should this be handled at all? Rely on callers? */ if (dividend_size == 0) diff --git a/sunrpc/rpc/svc.h b/sunrpc/rpc/svc.h index 3ffca50bd0..171231919a 100644 --- a/sunrpc/rpc/svc.h +++ b/sunrpc/rpc/svc.h @@ -303,6 +303,11 @@ extern SVCXPRT *svcudp_bufcreate (int __sock, u_int __sendsz, u_int __recvsz) extern SVCXPRT *svctcp_create (int __sock, u_int __sendsize, u_int __recvsize) __THROW; +/* + * FD based rpc. + */ +extern SVCXPRT *svcfd_create (int __sock, u_int __sendsize, u_int __recvsize) + __THROW; /* * Unix based rpc. diff --git a/sysdeps/s390/s390-64/s390x-mcount.S b/sysdeps/s390/s390-64/s390x-mcount.S index 0fa614cbf4..78b55218a9 100644 --- a/sysdeps/s390/s390-64/s390x-mcount.S +++ b/sysdeps/s390/s390-64/s390x-mcount.S @@ -64,7 +64,7 @@ C_LABEL(_mcount) /* Pop the saved registers. Please note that `mcount' has no return value. */ lmg %r14,%r5,160(%r15) - ahi %r15,224 + aghi %r15,224 br %r14 ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount)) diff --git a/sysdeps/sparc/sparc64/sparcv9v/memcpy.S b/sysdeps/sparc/sparc64/sparcv9v/memcpy.S index 05c837fa25..ad2b0f742c 100644 --- a/sysdeps/sparc/sparc64/sparcv9v/memcpy.S +++ b/sysdeps/sparc/sparc64/sparcv9v/memcpy.S @@ -1,5 +1,5 @@ /* Copy SIZE bytes from SRC to DEST. For SUN4V Niagara. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David S. Miller (davem@davemloft.net) @@ -61,6 +61,9 @@ END(bcopy) .align 32 ENTRY(memcpy) +#ifndef USE_BPR + srl %o2, 0, %o2 +#endif 100: /* %o0=dst, %o1=src, %o2=len */ mov %o0, %g5 cmp %o2, 0 diff --git a/sysdeps/sparc/sparc64/sparcv9v/memset.S b/sysdeps/sparc/sparc64/sparcv9v/memset.S index ac0a50cf8e..64817b8871 100644 --- a/sysdeps/sparc/sparc64/sparcv9v/memset.S +++ b/sysdeps/sparc/sparc64/sparcv9v/memset.S @@ -1,5 +1,5 @@ /* Set a block of memory to some byte value. For SUN4V Niagara. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David S. Miller (davem@davemloft.net) @@ -49,7 +49,11 @@ END(memset) ENTRY(__bzero) clr %o2 -1: brz,pn %o1, 90f +1: +#ifndef USE_BRP + srl %o1, 0, %o1 +#endif + brz,pn %o1, 90f mov %o0, %o3 wr %g0, ASI_P, %asi diff --git a/sysdeps/sparc/sparc64/sparcv9v2/memcpy.S b/sysdeps/sparc/sparc64/sparcv9v2/memcpy.S index d94dd4701e..b261f461a4 100644 --- a/sysdeps/sparc/sparc64/sparcv9v2/memcpy.S +++ b/sysdeps/sparc/sparc64/sparcv9v2/memcpy.S @@ -1,5 +1,5 @@ /* Copy SIZE bytes from SRC to DEST. For SUN4V Niagara-2. - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David S. Miller (davem@davemloft.net) @@ -163,6 +163,9 @@ END(bcopy) .align 32 ENTRY(memcpy) +#ifndef USE_BPR + srl %o2, 0, %o2 +#endif 100: /* %o0=dst, %o1=src, %o2=len */ mov %o0, %g5 cmp %o2, 0 diff --git a/sysdeps/unix/sysv/linux/alpha/sys/signalfd.h b/sysdeps/unix/sysv/linux/alpha/sys/signalfd.h index a820eafe79..4cbe977768 100644 --- a/sysdeps/unix/sysv/linux/alpha/sys/signalfd.h +++ b/sysdeps/unix/sysv/linux/alpha/sys/signalfd.h @@ -59,7 +59,7 @@ __BEGIN_DECLS /* Request notification for delivery of signals in MASK to be performed using descriptor FD.*/ extern int signalfd (int __fd, const sigset_t *__mask, int __flags) - __nonnull ((2)) __THROW; + __THROW __nonnull ((2)); __END_DECLS diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h b/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h index 177da80f00..4fb77faa9a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h +++ b/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h @@ -15,3 +15,74 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + + +/* This file provides functions converting between the 32 and 64 bit + struct utmp variants. */ + +#ifndef _UTMP_CONVERT_H +#define _UTMP_CONVERT_H 1 + +#include <string.h> + +#include "utmp32.h" + +/* Convert the 64 bit struct utmp value in FROM to the 32 bit version + returned in TO. */ +static inline void +utmp_convert64to32 (__const struct utmp *from, struct utmp32 *to) +{ +#if _HAVE_UT_TYPE - 0 + to->ut_type = from->ut_type; +#endif +#if _HAVE_UT_PID - 0 + to->ut_pid = from->ut_pid; +#endif + memcpy (to->ut_line, from->ut_line, UT_LINESIZE); + memcpy (to->ut_user, from->ut_user, UT_NAMESIZE); +#if _HAVE_UT_ID - 0 + memcpy (to->ut_id, from->ut_id, 4); +#endif +#if _HAVE_UT_HOST - 0 + memcpy (to->ut_host, from->ut_host, UT_HOSTSIZE); +#endif + to->ut_exit = from->ut_exit; + to->ut_session = (int32_t) from->ut_session; +#if _HAVE_UT_TV - 0 + to->ut_tv.tv_sec = (int32_t) from->ut_tv.tv_sec; + to->ut_tv.tv_usec = (int32_t) from->ut_tv.tv_usec; +#endif + memcpy (to->ut_addr_v6, from->ut_addr_v6, 4 * 4); +} + +/* Convert the 32 bit struct utmp value in FROM to the 64 bit version + returned in TO. */ +static inline void +utmp_convert32to64 (__const struct utmp32 *from, struct utmp *to) +{ +#if _HAVE_UT_TYPE - 0 + to->ut_type = from->ut_type; +#endif +#if _HAVE_UT_PID - 0 + to->ut_pid = from->ut_pid; +#endif + memcpy (to->ut_line, from->ut_line, UT_LINESIZE); + memcpy (to->ut_user, from->ut_user, UT_NAMESIZE); +#if _HAVE_UT_ID - 0 + memcpy (to->ut_id, from->ut_id, 4); +#endif +#if _HAVE_UT_HOST - 0 + memcpy (to->ut_host, from->ut_host, UT_HOSTSIZE); +#endif + to->ut_exit = from->ut_exit; + to->ut_session = (int64_t) from->ut_session; +#if _HAVE_UT_TV - 0 + to->ut_tv.tv_sec = (int64_t) from->ut_tv.tv_sec; + to->ut_tv.tv_usec = (int64_t) from->ut_tv.tv_usec; +#endif + memcpy (to->ut_addr_v6, from->ut_addr_v6, 4 * 4); +} + +#endif /* utmp-convert.h */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/socket.S b/sysdeps/unix/sysv/linux/s390/s390-64/socket.S index d4c3a1c4e1..91c2a8031e 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/socket.S +++ b/sysdeps/unix/sysv/linux/s390/s390-64/socket.S @@ -61,7 +61,7 @@ ENTRY(__socket) cfi_offset (%r6,-112) lgr %r1,%r15 lg %r0,8(%r15) /* Load eos. */ - ahi %r15,-208 /* Buy stack space. */ + aghi %r15,-208 /* Buy stack space. */ cfi_adjust_cfa_offset (208) stg %r1,0(%r15) /* Store back chain. */ stg %r0,8(%r15) /* Store eos. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sys/signalfd.h b/sysdeps/unix/sysv/linux/sparc/sys/signalfd.h index a134cc7bab..bd380c29f0 100644 --- a/sysdeps/unix/sysv/linux/sparc/sys/signalfd.h +++ b/sysdeps/unix/sysv/linux/sparc/sys/signalfd.h @@ -59,7 +59,7 @@ __BEGIN_DECLS /* Request notification for delivery of signals in MASK to be performed using descriptor FD.*/ extern int signalfd (int __fd, const sigset_t *__mask, int __flags) - __nonnull ((2)) __THROW; + __THROW __nonnull ((2)); __END_DECLS diff --git a/sysdeps/unix/sysv/linux/sys/signalfd.h b/sysdeps/unix/sysv/linux/sys/signalfd.h index dae71a400e..eeb27ee03c 100644 --- a/sysdeps/unix/sysv/linux/sys/signalfd.h +++ b/sysdeps/unix/sysv/linux/sys/signalfd.h @@ -59,7 +59,7 @@ __BEGIN_DECLS /* Request notification for delivery of signals in MASK to be performed using descriptor FD.*/ extern int signalfd (int __fd, const sigset_t *__mask, int __flags) - __nonnull ((2)) __THROW; + __THROW __nonnull ((2)); __END_DECLS diff --git a/timezone/africa b/timezone/africa index 434110ccd7..304e7d3b77 100644 --- a/timezone/africa +++ b/timezone/africa @@ -1,4 +1,4 @@ -# @(#)africa 8.10 +# @(#)africa 8.16 # <pre> # This data is by no means authoritative; if you think you know better, @@ -387,9 +387,80 @@ Zone Africa/Nouakchott -1:03:48 - LMT 1912 0:00 - GMT # Mauritius + +# From Steffen Thorsen (2008-06-25): +# Mauritius plans to observe DST from 2008-11-01 to 2009-03-31 on a trial +# basis.... +# It seems that Mauritius observed daylight saving time from 1982-10-10 to +# 1983-03-20 as well, but that was not successful.... +# http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html + +# From Alex Krivenyshev (2008-06-25): +# http://economicdevelopment.gov.mu/portal/site/Mainhomepage/menuitem.a42b24128104d9845dabddd154508a0c/?content_id=0a7cee8b5d69a110VgnVCM1000000a04a8c0RCRD + +# From Arthur David Olson (2008-06-30): +# The www.timeanddate.com article cited by Steffen Thorsen notes that "A +# final decision has yet to be made on the times that daylight saving +# would begin and end on these dates." As a place holder, use midnight. + +# From Paul Eggert (2008-06-30): +# Follow Thorsen on DST in 1982/1983, instead of Shanks & Pottenger. + +# From Steffen Thorsen (2008-07-10): +# According to +# <a href="http://www.lexpress.mu/display_article.php?news_id=111216"> +# http://www.lexpress.mu/display_article.php?news_id=111216 +# </a> +# (in French), Mauritius will start and end their DST a few days earlier +# than previously announced (2008-11-01 to 2009-03-31). The new start +# date is 2008-10-26 at 02:00 and the new end date is 2009-03-27 (no time +# given, but it is probably at either 2 or 3 wall clock time). +# +# A little strange though, since the article says that they moved the date +# to align itself with Europe and USA which also change time on that date, +# but that means they have not paid attention to what happened in +# USA/Canada last year (DST ends first Sunday in November). I also wonder +# why that they end on a Friday, instead of aligning with Europe which +# changes two days later. + +# From Alex Krivenyshev (2008-07-11): +# Seems that English language article "The revival of daylight saving +# time: Energy conservation?"-# No. 16578 (07/11/2008) was originally +# published on Monday, June 30, 2008... +# +# I guess that article in French "Le gouvernement avance l'introduction +# de l'heure d'ete" stating that DST in Mauritius starting on October 26 +# and ending on March 27, 2009 is the most recent one. +# ... +# <a href="http://www.worldtimezone.com/dst_news/dst_news_mauritius02.html"> +# http://www.worldtimezone.com/dst_news/dst_news_mauritius02.html +# </a> + +# From Riad M. Hossen Ally (2008-08-03): +# The Government of Mauritius weblink +# <a href="http://www.gov.mu/portal/site/pmosite/menuitem.4ca0efdee47462e7440a600248a521ca/?content_id=3D4728ca68b2a5b110VgnVCM1000000a04a8c0RCRD"> +# http://www.gov.mu/portal/site/pmosite/menuitem.4ca0efdee47462e7440a600248a521ca/?content_id=3D4728ca68b2a5b110VgnVCM1000000a04a8c0RCRD +# </a> +# Cabinet Decision of July 18th, 2008 states as follows: +# +# 4. ...Cabinet has agreed to the introduction into the National Assembly +# of the Time Bill which provides for the introduction of summer time in +# Mauritius. The summer time period which will be of one hour ahead of +# the standard time, will be aligned with that in Europe and the United +# States of America. It will start at two o'clock in the morning on the +# last Sunday of October and will end at two o'clock in the morning on +# the last Sunday of March the following year. The summer time for the +# year 2008 - 2009 will, therefore, be effective as from 26 October 2008 +# and end on 29 March 2009. + +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Mauritius 1982 only - Oct 10 0:00 1:00 S +Rule Mauritius 1983 only - Mar 21 0:00 0 - +Rule Mauritius 2008 max - Oct lastSun 2:00 1:00 S +Rule Mauritius 2009 max - Mar lastSun 2:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis - 4:00 - MUT # Mauritius Time + 4:00 Mauritius MU%sT # Mauritius Time # Agalega Is, Rodriguez # no information; probably like Indian/Mauritius @@ -400,7 +471,93 @@ Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou # Morocco # See the `europe' file for Spanish Morocco (Africa/Ceuta). + +# From Alex Krivenyshev (2008-05-09): +# Here is an article that Morocco plan to introduce Daylight Saving Time between +# 1 June, 2008 and 27 September, 2008. +# +# "... Morocco is to save energy by adjusting its clock during summer so it will +# be one hour ahead of GMT between 1 June and 27 September, according to +# Communication Minister and Gov ernment Spokesman, Khalid Naciri...." +# +# <a href="http://www.worldtimezone.net/dst_news/dst_news_morocco01.html"> +# http://www.worldtimezone.net/dst_news/dst_news_morocco01.html +# </a> +# OR +# <a href="http://en.afrik.com/news11892.html"> +# http://en.afrik.com/news11892.html +# </a> + +# From Alex Krivenyshev (2008-05-09): +# The Morocco time change can be confirmed on Morocco web site Maghreb Arabe Presse: +# <a href="http://www.map.ma/eng/sections/box3/morocco_shifts_to_da/view"> +# http://www.map.ma/eng/sections/box3/morocco_shifts_to_da/view +# </a> +# +# Morocco shifts to daylight time on June 1st through September 27, Govt. +# spokesman. + +# From Patrice Scattolin (2008-05-09): +# According to this article: +# <a href="http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html"> +# http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html +# </a> +# (and republished here: +# <a href="http://www.actu.ma/heure-dete-comment_i127896_0.html"> +# http://www.actu.ma/heure-dete-comment_i127896_0.html +# </a> +# ) +# the changes occurs at midnight: +# +# saturday night may 31st at midnight (which in french is to be +# intrepreted as the night between saturday and sunday) +# sunday night the 28th at midnight +# +# Seeing that the 28th is monday, I am guessing that she intends to say +# the midnight of the 28th which is the midnight between sunday and +# monday, which jives with other sources that say that it's inclusive +# june1st to sept 27th. +# +# The decision was taken by decree *2-08-224 *but I can't find the decree +# published on the web. +# +# It's also confirmed here: +# <a href="http://www.maroc.ma/NR/exeres/FACF141F-D910-44B0-B7FA-6E03733425D1.htm"> +# http://www.maroc.ma/NR/exeres/FACF141F-D910-44B0-B7FA-6E03733425D1.htm +# </a> +# on a government portal as being between june 1st and sept 27th (not yet +# posted in english). +# +# The following google query will generate many relevant hits: +# <a href="http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search"> +# http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search +# </a> + +# From Alex Krivenyshev (2008-05-09): +# Is Western Sahara (part which administrated by Morocco) going to follow +# Morocco DST changes? Any information? What about other part of +# Western Sahara - under administration of POLISARIO Front (also named +# SADR Saharawi Arab Democratic Republic)? + +# From Arthur David Olson (2008-05-09): +# XXX--guess that it is only Morocco for now; guess only 2008 for now. + +# From Steffen Thorsen (2008-08-27): +# Morocco will change the clocks back on the midnight between August 31 +# and September 1. They originally planned to observe DST to near the end +# of September: +# +# One article about it (in French): +# <a href="http://www.menara.ma/fr/Actualites/Maroc/Societe/ci.retour_a_l_heure_gmt_a_partir_du_dimanche_31_aout_a_minuit_officiel_.default"> +# http://www.menara.ma/fr/Actualites/Maroc/Societe/ci.retour_a_l_heure_gmt_a_partir_du_dimanche_31_aout_a_minuit_officiel_.default +# </a> +# +# We have some further details posted here: +# <a href="http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html"> +# http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html +# </a> # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Morocco 1939 only - Sep 12 0:00 1:00 S Rule Morocco 1939 only - Nov 19 0:00 0 - Rule Morocco 1940 only - Feb 25 0:00 1:00 S @@ -416,11 +573,13 @@ Rule Morocco 1976 only - Aug 1 0:00 0 - Rule Morocco 1977 only - Sep 28 0:00 0 - Rule Morocco 1978 only - Jun 1 0:00 1:00 S Rule Morocco 1978 only - Aug 4 0:00 0 - +Rule Morocco 2008 only - Jun 1 0:00 1:00 S +Rule Morocco 2008 only - Sep 1 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26 0:00 Morocco WE%sT 1984 Mar 16 1:00 - CET 1986 - 0:00 - WET + 0:00 Morocco WE%sT # Western Sahara Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan -1:00 - WAT 1976 Apr 14 diff --git a/timezone/asia b/timezone/asia index 70f1515321..768850f3df 100644 --- a/timezone/asia +++ b/timezone/asia @@ -1,4 +1,4 @@ -# @(#)asia 8.18 +# @(#)asia 8.23 # <pre> # This data is by no means authoritative; if you think you know better, @@ -229,6 +229,28 @@ Rule PRC 1987 1991 - Apr Sun>=10 0:00 1:00 D # (could be true), for the moment I am assuming that those two # counties are mistakes in the astro.com data. +# From Paul Eggert (2008-02-11): +# I just now checked Google News for western news sources that talk +# about China's single time zone, and couldn't find anything before 1986 +# talking about China being in one time zone. (That article was: Jim +# Mann, "A clumsy embrace for another western custom: China on daylight +# time--sort of", Los Angeles Times, 1986-05-05. By the way, this +# article confirms the tz database's data claiming that China began +# observing daylight saving time in 1986. +# +# From Thomas S. Mullaney (2008-02-11): +# I think you're combining two subjects that need to treated +# separately: daylight savings (which, you're correct, wasn't +# implemented until the 1980s) and the unified time zone centered near +# Beijing (which was implemented in 1949). Briefly, there was also a +# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was +# ceased, and the second eventually recognized (again, in the 1980s). +# +# From Paul Eggert (2008-06-30): +# There seems to be a good chance China switched to a single time zone in 1949 +# rather than in 1980 as Shanks & Pottenger have it, but we don't have a +# reliable documentary source saying so yet, so for now we still go with +# Shanks & Pottenger. # Zone NAME GMTOFF RULES FORMAT [UNTIL] # Changbai Time ("Long-white Time", Long-white = Heilongjiang area) @@ -1376,6 +1398,42 @@ Zone Indian/Maldives 4:54:00 - LMT 1880 # Male # They decided not to adopt daylight-saving time.... # http://www.mongolnews.mn/index.php?module=unuudur&sec=view&id=15742 +# From Deborah Goldsmith (2008-03-30): +# We received a bug report claiming that the tz database UTC offset for +# Asia/Choibalsan (GMT+09:00) is incorrect, and that it should be GMT +# +08:00 instead. Different sources appear to disagree with the tz +# database on this, e.g.: +# +# <a href="http://www.timeanddate.com/worldclock/city.html?n=1026"> +# http://www.timeanddate.com/worldclock/city.html?n=1026 +# </a> +# <a href="http://www.worldtimeserver.com/current_time_in_MN.aspx"> +# http://www.worldtimeserver.com/current_time_in_MN.aspx +# </a> +# +# both say GMT+08:00. + +# From Steffen Thorsen (2008-03-31): +# eznis airways, which operates several domestic flights, has a flight +# schedule here: +# <a href="http://www.eznis.com/Container.jsp?id=112"> +# http://www.eznis.com/Container.jsp?id=112 +# </a> +# (click the English flag for English) +# +# There it appears that flights between Choibalsan and Ulaanbatar arrive +# about 1:35 - 1:50 hours later in local clock time, no matter the +# direction, while Ulaanbaatar-Khvod takes 2 hours in the Eastern +# direction and 3:35 back, which indicates that Ulaanbatar and Khvod are +# in different time zones (like we know about), while Choibalsan and +# Ulaanbatar are in the same time zone (correction needed). + +# From Arthur David Olson (2008-05-19): +# Assume that Choibalsan is indeed offset by 8:00. +# XXX--in the absence of better information, assume that transition +# was at the start of 2008-03-31 (the day of Steffen Thorsen's report); +# this is almost surely wrong. + # 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 - @@ -1411,7 +1469,8 @@ Zone Asia/Ulaanbaatar 7:07:32 - LMT 1905 Aug Zone Asia/Choibalsan 7:38:00 - LMT 1905 Aug 7:00 - ULAT 1978 8:00 - ULAT 1983 Apr - 9:00 Mongol CHO%sT # Choibalsan Time + 9:00 Mongol CHO%sT 2008 Mar 31 # Choibalsan Time + 8:00 Mongol CHO%sT # Nepal # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -1461,10 +1520,45 @@ Zone Asia/Muscat 3:54:20 - LMT 1920 # The minister told a news conference that the experiment had rather # shown 8 per cent higher consumption of electricity. +# From Alex Krivenyshev (2008-05-15): +# +# Here is an article that Pakistan plan to introduce Daylight Saving Time +# on June 1, 2008 for 3 months. +# +# "... The federal cabinet on Wednesday announced a new conservation plan to help +# reduce load shedding by approving the closure of commercial centres at 9pm and +# moving clocks forward by one hour for the next three months. +# ...." +# +# <a href="http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html"> +# http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html +# </a> +# OR +# <a href="http://www.dailytimes.com.pk/default.asp?page=2008%5C05%5C15%5Cstory_15-5-2008_pg1_4"> +# http://www.dailytimes.com.pk/default.asp?page=2008%5C05%5C15%5Cstory_15-5-2008_pg1_4 +# </a> + +# From Arthur David Olson (2008-05-19): +# XXX--midnight transitions is a guess; 2008 only is a guess. + +# From Alexander Krivenyshev (2008-08-28): +# Pakistan government has decided to keep the watches one-hour advanced +# for another 2 months--plan to return to Standard Time on October 31 +# instead of August 31. +# +# <a href="http://www.worldtimezone.com/dst_news/dst_news_pakistan02.html"> +# http://www.worldtimezone.com/dst_news/dst_news_pakistan02.html +# </a> +# OR +# <a href="http://dailymailnews.com/200808/28/news/dmbrn03.html"> +# http://dailymailnews.com/200808/28/news/dmbrn03.html +# </a> # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Pakistan 2002 only - Apr Sun>=2 0:01 1:00 S Rule Pakistan 2002 only - Oct Sun>=2 0:01 0 - +Rule Pakistan 2008 only - Jun 1 0:00 1:00 S +Rule Pakistan 2008 only - Nov 1 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Karachi 4:28:12 - LMT 1907 5:30 - IST 1942 Sep @@ -1584,6 +1678,23 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # For lack of better information, predict that future changes will be # the 2nd Thursday of September at 02:00. +# From Alexander Krivenyshev (2008-08-28): +# Here is an article, that Mideast running on different clocks at Ramadan. +# +# Gaza Strip (as Egypt) ended DST at midnight Thursday (Aug 28, 2008), while +# the West Bank will end Daylight Saving Time at midnight Sunday (Aug 31, 2008). +# +# <a href="http://www.guardian.co.uk/world/feedarticle/7759001"> +# http://www.guardian.co.uk/world/feedarticle/7759001 +# </a> +# <a href="http://www.abcnews.go.com/International/wireStory?id=5676087"> +# http://www.abcnews.go.com/International/wireStory?id=5676087 +# </a> +# or +# <a href="http://www.worldtimezone.com/dst_news/dst_news_gazastrip01.html"> +# http://www.worldtimezone.com/dst_news/dst_news_gazastrip01.html +# </a> + # 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 @@ -1599,7 +1710,8 @@ Rule Palestine 2004 only - Oct 1 1: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 - Sep Thu>=8 2:00 0 - +Rule Palestine 2007 only - Sep Thu>=8 2:00 0 - +Rule Palestine 2008 max - Aug lastThu 2:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Gaza 2:17:52 - LMT 1900 Oct diff --git a/timezone/australasia b/timezone/australasia index 30d695ff5a..41608cdc34 100644 --- a/timezone/australasia +++ b/timezone/australasia @@ -1,4 +1,4 @@ -# @(#)australasia 8.8 +# @(#)australasia 8.9 # <pre> # This file also includes Pacific islands. @@ -1346,7 +1346,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # * Tonga will introduce DST in November # # I was given this link by John Letts: -# <a hef="http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm"> +# <a href="http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm"> # http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm # </a> # @@ -1356,7 +1356,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # (12 + 1 hour DST). # From Arthur David Olson (1999-09-20): -# According to <a href="http://www.tongaonline.com/news/sept1799.html> +# According to <a href="http://www.tongaonline.com/news/sept1799.html"> # http://www.tongaonline.com/news/sept1799.html # </a>: # "Daylight Savings Time will take effect on Oct. 2 through April 15, 2000 diff --git a/timezone/europe b/timezone/europe index 73eed00fc2..7bb9864733 100644 --- a/timezone/europe +++ b/timezone/europe @@ -1,4 +1,4 @@ -# @(#)europe 8.12 +# @(#)europe 8.18 # <pre> # This data is by no means authoritative; if you think you know better, @@ -457,7 +457,7 @@ Rule EU 1979 1995 - Sep lastSun 1:00u 0 - Rule EU 1981 max - Mar lastSun 1:00u 1:00 S Rule EU 1996 max - Oct lastSun 1:00u 0 - # The most recent directive covers the years starting in 2002. See: -# <a href="http://europa.eu.int/eur-lex/en/lif/dat/2000/en_300L0084.html" +# <a href="http://europa.eu.int/eur-lex/en/lif/dat/2000/en_300L0084.html"> # Directive 2000/84/EC of the European Parliament and of the Council # of 19 January 2001 on summer-time arrangements. # </a> @@ -480,9 +480,48 @@ Rule C-Eur 1940 only - Apr 1 2:00s 1:00 S Rule C-Eur 1942 only - Nov 2 2:00s 0 - Rule C-Eur 1943 only - Mar 29 2:00s 1:00 S Rule C-Eur 1943 only - Oct 4 2:00s 0 - -Rule C-Eur 1944 only - Apr 3 2:00s 1:00 S +Rule C-Eur 1944 1945 - Apr Mon>=1 2:00s 1:00 S # Whitman gives 1944 Oct 7; go with Shanks & Pottenger. Rule C-Eur 1944 only - Oct 2 2:00s 0 - +# From Jesper Norgaard Welen (2008-07-13): +# +# I found what is probably a typo of 2:00 which should perhaps be 2:00s +# in the C-Eur rule from tz database version 2008d (this part was +# corrected in version 2008d). The circumstancial evidence is simply the +# tz database itself, as seen below: +# +# Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15 0:01 +# 0:00 France WE%sT 1945 Sep 16 3:00 +# +# Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15 +# 0:00 France WE%sT 1945 Sep 16 3:00 +# +# Zone Europe/Belgrade 1:22:00 - LMT 1884 +# 1:00 1:00 CEST 1945 Sep 16 2:00s +# +# Rule France 1945 only - Sep 16 3:00 0 - +# Rule Belgium 1945 only - Sep 16 2:00s 0 - +# Rule Neth 1945 only - Sep 16 2:00s 0 - +# +# The rule line to be changed is: +# +# Rule C-Eur 1945 only - Sep 16 2:00 0 - +# +# It seems that Paris, Monaco, Rule France, Rule Belgium all agree on +# 2:00 standard time, e.g. 3:00 local time. However there are no +# countries that use C-Eur rules in September 1945, so the only items +# affected are apparently these ficticious zones that translates acronyms +# CET and MET: +# +# Zone CET 1:00 C-Eur CE%sT +# Zone MET 1:00 C-Eur ME%sT +# +# It this is right then the corrected version would look like: +# +# Rule C-Eur 1945 only - Sep 16 2:00s 0 - +# +# A small step for mankind though 8-) +Rule C-Eur 1945 only - Sep 16 2:00s 0 - Rule C-Eur 1977 1980 - Apr Sun>=1 2:00s 1:00 S Rule C-Eur 1977 only - Sep lastSun 2:00s 0 - Rule C-Eur 1978 only - Oct 1 2:00s 0 - @@ -725,7 +764,8 @@ Rule Bulg 1981 only - Sep 27 2:00 0 - Zone Europe/Sofia 1:33:16 - LMT 1880 1:56:56 - IMT 1894 Nov 30 # Istanbul MT? 2:00 - EET 1942 Nov 2 3:00 - 1:00 C-Eur CE%sT 1945 Apr 2 3:00 + 1:00 C-Eur CE%sT 1945 + 1:00 - CET 1945 Apr 2 3:00 2:00 - EET 1979 Mar 31 23:00 2:00 Bulg EE%sT 1982 Sep 26 2:00 2:00 C-Eur EE%sT 1991 @@ -1093,33 +1133,40 @@ Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15 0:01 # [See tz-link.htm for the URL.] # From Joerg Schilling (2002-10-23): -# In 1945, Berlin was switched to Moscow Summer time (GMT+4) by <a -# href="http://www.dhm.de/lemo/html/biografien/BersarinNikolai/"> +# In 1945, Berlin was switched to Moscow Summer time (GMT+4) by +# <a href="http://www.dhm.de/lemo/html/biografien/BersarinNikolai/"> # General [Nikolai] Bersarin</a>. # From Paul Eggert (2003-03-08): # <a href="http://www.parlament-berlin.de/pds-fraktion.nsf/727459127c8b66ee8525662300459099/defc77cb784f180ac1256c2b0030274b/$FILE/bersarint.pdf"> +# http://www.parlament-berlin.de/pds-fraktion.nsf/727459127c8b66ee8525662300459099/defc77cb784f180ac1256c2b0030274b/$FILE/bersarint.pdf +# </a> # says that Bersarin issued an order to use Moscow time on May 20. # However, Moscow did not observe daylight saving in 1945, so # this was equivalent to CEMT (GMT+3), not GMT+4. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Germany 1945 only - Apr 2 2:00s 1:00 S -Rule Germany 1945 only - May 24 2:00 2:00 M # Midsummer -Rule Germany 1945 only - Sep 24 3:00 1:00 S -Rule Germany 1945 only - Nov 18 2:00s 0 - Rule Germany 1946 only - Apr 14 2:00s 1:00 S Rule Germany 1946 only - Oct 7 2:00s 0 - Rule Germany 1947 1949 - Oct Sun>=1 2:00s 0 - -Rule Germany 1947 only - Apr 6 2:00s 1:00 S +# http://www.ptb.de/de/org/4/44/441/salt.htm says the following transition +# occurred at 3:00 MEZ, not the 2:00 MEZ given in Shanks & Pottenger. +# Go with the PTB. +Rule Germany 1947 only - Apr 6 3:00s 1:00 S Rule Germany 1947 only - May 11 2:00s 2:00 M Rule Germany 1947 only - Jun 29 3:00 1:00 S Rule Germany 1948 only - Apr 18 2:00s 1:00 S Rule Germany 1949 only - Apr 10 2:00s 1:00 S + +Rule SovietZone 1945 only - May 24 2:00 2:00 M # Midsummer +Rule SovietZone 1945 only - Sep 24 3:00 1:00 S +Rule SovietZone 1945 only - Nov 18 2:00s 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Europe/Berlin 0:53:28 - LMT 1893 Apr - 1:00 C-Eur CE%sT 1945 Apr 2 2:00 + 1:00 C-Eur CE%sT 1945 May 24 2:00 + 1:00 SovietZone CE%sT 1946 1:00 Germany CE%sT 1980 1:00 EU CE%sT @@ -1196,7 +1243,7 @@ Rule Hungary 1980 only - Apr 6 1:00 1:00 S Zone Europe/Budapest 1:16:20 - LMT 1890 Oct 1:00 C-Eur CE%sT 1918 1:00 Hungary CE%sT 1941 Apr 6 2:00 - 1:00 C-Eur CE%sT 1945 May 1 23:00 + 1:00 C-Eur CE%sT 1945 1:00 Hungary CE%sT 1980 Sep 28 2:00s 1:00 EU CE%sT @@ -2113,7 +2160,8 @@ Zone Asia/Anadyr 11:49:56 - LMT 1924 May 2 # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Europe/Belgrade 1:22:00 - LMT 1884 1:00 - CET 1941 Apr 18 23:00 - 1:00 C-Eur CE%sT 1945 May 8 2:00s + 1:00 C-Eur CE%sT 1945 + 1:00 - CET 1945 May 8 2:00s 1:00 1:00 CEST 1945 Sep 16 2:00s # Metod Kozelj reports that the legal date of # transition to EU rules was 1982-11-27, for all of Yugoslavia at the time. @@ -2305,6 +2353,27 @@ Zone Europe/Zurich 0:34:08 - LMT 1848 Sep 12 # (on a non-government server though) describing dates between 2002 and 2006: # http://www.alomaliye.com/bkk_2002_3769.htm +# From Sue Williams (2008-08-11): +# I spotted this news article about a potential change in Turkey. +# +# <a href="http://www.hurriyet.com.tr/english/domestic/9626174.asp?scr=1"> +# http://www.hurriyet.com.tr/english/domestic/9626174.asp?scr=1 +# </a> + +# From Sue Williams (2008-08-20): +# This article says that around the end of March 2011, Turkey wants to +# adjust the clocks forward by 1/2 hour and stay that way permanently. +# The article indicates that this is a change in timezone offset in addition +# to stopping observance of DST. +# This proposal has not yet been approved. +# +# Read more here... +# +# Turkey to abandon daylight saving time in 2011 +# <a href="http://www.turkishdailynews.com.tr/article.php?enewsid=112989"> +# http://www.turkishdailynews.com.tr/article.php?enewsid=112989 +# </a> + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Turkey 1916 only - May 1 0:00 1:00 S Rule Turkey 1916 only - Oct 1 0:00 0 - diff --git a/timezone/leapseconds b/timezone/leapseconds index 35df858d79..a2f4f0be37 100644 --- a/timezone/leapseconds +++ b/timezone/leapseconds @@ -1,4 +1,4 @@ -# @(#)leapseconds 8.5 +# @(#)leapseconds 8.6 # Allowance for leapseconds added to each timezone file. @@ -44,40 +44,49 @@ Leap 1995 Dec 31 23:59:60 + S Leap 1997 Jun 30 23:59:60 + S Leap 1998 Dec 31 23:59:60 + S Leap 2005 Dec 31 23:59:60 + S +Leap 2008 Dec 31 23:59:60 + S # INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE (IERS) # # SERVICE INTERNATIONAL DE LA ROTATION TERRESTRE ET DES SYSTEMES DE REFERENCE # # SERVICE DE LA ROTATION TERRESTRE -# OBSERVATOIRE DE PARIS +# OBSERVATOIRE DE PARIS # 61, Av. de l'Observatoire 75014 PARIS (France) # Tel. : 33 (0) 1 40 51 22 26 # FAX : 33 (0) 1 40 51 22 91 -# Internet : services.iers@obspm.fr +# e-mail : services.iers@obspm.fr +# http://hpiers.obspm.fr/eop-pc # -# Paris, 18 January 2008 +# Paris, 4 July 2008 # -# Bulletin C 35 +# Bulletin C 36 # -# To authorities responsible +# To authorities responsible # for the measurement and -# distribution of time +# distribution of time # -# INFORMATION ON UTC - TAI +# UTC TIME STEP +# on the 1st of January 2009 # -# NO positive leap second will be introduced at the end of June 2008. -# The difference between Coordinated Universal Time UTC and the -# International Atomic Time TAI is : +# A positive leap second will be introduced at the end of December 2008. +# The sequence of dates of the UTC second markers will be: # -# from 2006 January 1, 0h UTC, until further notice : UTC-TAI = -33 s +# 2008 December 31, 23h 59m 59s +# 2008 December 31, 23h 59m 60s +# 2009 January 1, 0h 0m 0s +# +# The difference between UTC and the International Atomic Time TAI is: +# +# from 2006 January 1, 0h UTC, to 2009 January 1 0h UTC : UTC-TAI = - 33s +# from 2009 January 1, 0h UTC, until further notice : UTC-TAI = - 34s # # Leap seconds can be introduced in UTC at the end of the months of December -# or June, depending on the evolution of UT1-TAI. Bulletin C is mailed every -# six months, either to announce a time step in UTC, or to confirm that there +# or June, depending on the evolution of UT1-TAI. Bulletin C is mailed every +# six months, either to announce a time step in UTC or to confirm that there # will be no time step at the next possible date. # # Daniel GAMBIS -# Head -# Earth Orientation Center of the IERS +# Head +# Earth Orientation Center of IERS # Observatoire de Paris, France diff --git a/timezone/northamerica b/timezone/northamerica index 60e5d51e00..b8b333cc56 100644 --- a/timezone/northamerica +++ b/timezone/northamerica @@ -1,4 +1,4 @@ -# @(#)northamerica 8.23 +# @(#)northamerica 8.24 # <pre> # also includes Central America and the Caribbean @@ -2076,8 +2076,8 @@ Zone America/Antigua -4:07:12 - LMT 1912 Mar 2 # http://www.jonesbahamas.com/?c=45&a=10412 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Bahamas 1964 2006 - Oct lastSun 2:00 0 S -Rule Bahamas 1964 1986 - Apr lastSun 2:00 1:00 D +Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S +Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Nassau -5:09:24 - LMT 1912 Mar 2 -5:00 Bahamas E%sT 1976 diff --git a/timezone/southamerica b/timezone/southamerica index 43f73d3238..e2244cf237 100644 --- a/timezone/southamerica +++ b/timezone/southamerica @@ -1,4 +1,4 @@ -# @(#)southamerica 8.19 +# @(#)southamerica 8.27 # <pre> # This data is by no means authoritative; if you think you know better, @@ -164,9 +164,22 @@ Rule Arg 2000 only - Mar 3 0:00 0 - # From Paul Eggert (2007-12-22): # For dates after mid-2008, the following rules are my guesses and # are quite possibly wrong, but are more likely than no DST at all. + +# From Alexander Krivenyshev (2008-09-05): +# As per message from Carlos Alberto Fonseca Arauz (Nicaragua), +# Argentina will start DST on Sunday October 19, 2008. +# +# <a href="http://www.worldtimezone.com/dst_news/dst_news_argentina03.html"> +# http://www.worldtimezone.com/dst_news/dst_news_argentina03.html +# </a> +# OR +# <a href="http://www.impulsobaires.com.ar/nota.php?id=57832 (in spanish)"> +# http://www.impulsobaires.com.ar/nota.php?id=57832 (in spanish) +# </a> + Rule Arg 2007 only - Dec 30 0:00 1:00 S Rule Arg 2008 max - Mar Sun>=15 0:00 0 - -Rule Arg 2008 max - Oct Sun>=1 0:00 1:00 S +Rule Arg 2008 max - Oct Sun>=15 0:00 1:00 S # From Mariano Absatz (2004-05-21): # Today it was officially published that the Province of Mendoza is changing @@ -294,14 +307,14 @@ Rule Arg 2008 max - Oct Sun>=1 0:00 1:00 S # back in 2004, when these provinces changed to UTC-4 for a few days, I # mailed them personally and never got an answer). -# From Arthur David Olson (2008-03-15): -# Until there's better information, asssume San Luis was like San Juan -# rather than Mendoza (since San Juan has a simpler DST history). - +# From Paul Eggert (2008-06-30): # Unless otherwise specified, data are from Shanks & Pottenger through 1992, # from the IATA otherwise. As noted below, Shanks & Pottenger say that -# America/Cordoba split into 6 subregions during 1991/1992, but we -# haven't verified this yet so for now we'll keep it a single region. +# America/Cordoba split into 6 subregions during 1991/1992, one of which +# was America/San_Luis, but we haven't verified this yet so for now we'll +# keep America/Cordoba a single region rather than splitting it into the +# other 5 subregions. + # # Zone NAME GMTOFF RULES FORMAT [UNTIL] # @@ -316,14 +329,12 @@ Zone America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 Oct 31 # # Santa Fe (SF), Entre Rios (ER), Corrientes (CN), Misiones (MN), Chaco (CC), # Formosa (FM), Salta (SA), Santiago del Estero (SE), Cordoba (CB), -# San Luis (SL), La Pampa (LP), Neuquen (NQ), Rio Negro (RN) +# La Pampa (LP), Neuquen (NQ), Rio Negro (RN) # # Shanks & Pottenger also make the following claims, which we haven't verified: # - Formosa switched to -3:00 on 1991-01-07. # - Misiones switched to -3:00 on 1990-12-29. # - Chaco switched to -3:00 on 1991-01-04. -# - San Luis switched to -4:00 on 1990-03-14, then to -3:00 on 1990-10-15, -# then to -4:00 on 1991-03-01, then to -3:00 on 1991-06-01. # - Santiago del Estero switched to -4:00 on 1991-04-01, # then to -3:00 on 1991-04-26. # @@ -425,10 +436,13 @@ Zone America/Argentina/San_Luis -4:25:24 - LMT 1894 Oct 31 -4:16:48 - CMT 1920 May -4:00 - ART 1930 Dec -4:00 Arg AR%sT 1969 Oct 5 - -3:00 Arg AR%sT 1991 Mar 1 - -4:00 - WART 1991 May 7 - -3:00 Arg AR%sT 1999 Oct 3 - -4:00 Arg AR%sT 2000 Mar 3 + -3:00 Arg AR%sT 1990 + -3:00 1:00 ARST 1990 Mar 14 + -4:00 - WART 1990 Oct 15 + -4:00 1:00 WARST 1991 Mar 1 + -4:00 - WART 1991 Jun 1 + -3:00 - ART 1999 Oct 3 + -4:00 1:00 WARST 2000 Mar 3 -3:00 - ART 2004 May 31 -4:00 - WART 2004 Jul 25 -3:00 Arg AR%sT 2008 Jan 21 @@ -540,12 +554,86 @@ Zone America/La_Paz -4:32:36 - LMT 1890 # Brazil will start DST on 2007-10-14 00:00 and end on 2008-02-17 00:00: # http://www.mme.gov.br/site/news/detail.do;jsessionid=BBA06811AFCAAC28F0285210913513DA?newsId=13975 +# From Paul Schulze (2008-06-24): +# ...by law number 11.662 of April 24, 2008 (published in the "Diario +# Oficial da Uniao"...) in Brazil there are changes in the timezones, +# effective today (00:00am at June 24, 2008) as follows: +# +# a) The timezone UTC+5 is e[x]tinguished, with all the Acre state and the +# part of the Amazonas state that had this timezone now being put to the +# timezone UTC+4 +# b) The whole Para state now is put at timezone UTC+3, instead of just +# part of it, as was before. +# +# This change follows a proposal of senator Tiao Viana of Acre state, that +# proposed it due to concerns about open television channels displaying +# programs inappropriate to youths in the states that had the timezone +# UTC+5 too early in the night. In the occasion, some more corrections +# were proposed, trying to unify the timezones of any given state. This +# change modifies timezone rules defined in decree 2.784 of 18 June, +# 1913. + +# From Rodrigo Severo (2008-06-24): +# Just correcting the URL: +# <a href="https://www.in.gov.br/imprensa/visualiza/index.jsp?jornal=3Ddo&secao=3D1&pagina=3D1&data=3D25/04/2008"> +# https://www.in.gov.br/imprensa/visualiza/index.jsp?jornal=3Ddo&secao=3D1&pagina=3D1&data=3D25/04/2008 +# </a> +# +# As a result of the above Decree I believe the America/Rio_Branco +# timezone shall be modified from UTC-5 to UTC-4 and a new timezone shall +# be created to represent the the west side of the Para State. I +# suggest this new timezone be called Santarem as the most +# important/populated city in the affected area. +# +# This new timezone would be the same as the Rio_Branco timezone up to +# the 2008/06/24 change which would be to UTC-3 instead of UTC-4. + +# From Alex Krivenyshev (2008-06-24): +# This is a quick reference page for New and Old Brazil Time Zones map. +# <a href="http://www.worldtimezone.com/brazil-time-new-old.php"> +# http://www.worldtimezone.com/brazil-time-new-old.php +# </a> +# +# - 4 time zones replaced by 3 time zones-eliminating time zone UTC- 05 +# (state Acre and the part of the Amazonas will be UTC/GMT- 04) - western +# part of Par state is moving to one timezone UTC- 03 (from UTC -04). + # From Paul Eggert (2002-10-10): # The official decrees referenced below are mostly taken from # <a href="http://pcdsh01.on.br/DecHV.html"> # Decretos sobre o Horario de Verao no Brasil # </a>. +# From Steffen Thorsen (2008-08-29): +# As announced by the government and many newspapers in Brazil late +# yesterday, Brazil will start DST on 2008-10-19 (need to change rule) and +# it will end on 2009-02-15 (current rule for Brazil is fine). Based on +# past years experience with the elections, there was a good chance that +# the start was postponed to November, but it did not happen this year. +# +# It has not yet been posted to http://pcdsh01.on.br/DecHV.html +# +# An official page about it: +# <a href="http://www.mme.gov.br/site/news/detail.do?newsId=16722"> +# http://www.mme.gov.br/site/news/detail.do?newsId=16722 +# </a> +# Note that this link does not always work directly, but must be accessed +# by going to +# <a href="http://www.mme.gov.br/first>" +# http://www.mme.gov.br/first +# </a> +# +# One example link that works directly: +# <a href="http://jornale.com.br/index.php?option=com_content&task=view&id=13530&Itemid=54"> +# http://jornale.com.br/index.php?option=com_content&task=view&id=13530&Itemid=54 +# (Portuguese) +# </a> +# +# We have a written a short article about it as well: +# <a href="http://www.timeanddate.com/news/time/brazil-dst-2008-2009.html"> +# http://www.timeanddate.com/news/time/brazil-dst-2008-2009.html +# </a> + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Decree <a href="http://pcdsh01.on.br/HV20466.htm">20,466</a> (1931-10-01) # Decree <a href="http://pcdsh01.on.br/HV21896.htm">21,896</a> (1932-01-10) @@ -662,13 +750,13 @@ Rule Brazil 2000 only - Feb 27 0:00 0 - Rule Brazil 2000 2001 - Oct Sun>=8 0:00 1:00 S Rule Brazil 2001 2006 - Feb Sun>=15 0:00 0 - # Decree 4,399 (2002-10-01) repeals DST in AL, CE, MA, PB, PE, PI, RN, SE. -# <a href="http://www.presidencia.gov.br/CCIVIL/decreto/2002/D4399.htm"></a> +# <a href="http://www.presidencia.gov.br/CCIVIL/decreto/2002/D4399.htm">4,399</a> Rule Brazil 2002 only - Nov 3 0:00 1:00 S # Decree 4,844 (2003-09-24; corrected 2003-09-26) repeals DST in BA, MT, TO. -# <a href="http://www.presidencia.gov.br/CCIVIL/decreto/2003/D4844.htm"></a> +# <a href="http://www.presidencia.gov.br/CCIVIL/decreto/2003/D4844.htm">4,844</a> Rule Brazil 2003 only - Oct 19 0:00 1:00 S # Decree 5,223 (2004-10-01) reestablishes DST in MT. -# <a href="http://www.planalto.gov.br/ccivil_03/_Ato2004-2006/2004/Decreto/D5223.htm"></a> +# <a href="http://www.planalto.gov.br/ccivil_03/_Ato2004-2006/2004/Decreto/D5223.htm">5,223</a> Rule Brazil 2004 only - Nov 2 0:00 1:00 S # Decree <a href="http://pcdsh01.on.br/DecHV5539.gif">5,539</a> (2005-09-19), # adopted by the same states as before. @@ -677,17 +765,16 @@ Rule Brazil 2005 only - Oct 16 0:00 1:00 S # adopted by the same states as before. Rule Brazil 2006 only - Nov 5 0:00 1:00 S Rule Brazil 2007 only - Feb 25 0:00 0 - -# (Decree number not yet known) -# http://www.brasil.gov.br/noticias/ultimas_noticias/horario_verao070920/ -# (2007-09-20) after a heads-up from Steffen Thorsen: -Rule Brazil 2007 max - Oct Sun>=8 0:00 1:00 S +# Decree <a href="http://pcdsh01.on.br/DecHV6212.gif">6,212</a> (2007-09-26), +# adopted by the same states as before. +Rule Brazil 2007 only - Oct Sun>=8 0:00 1:00 S Rule Brazil 2008 max - Feb Sun>=15 0:00 0 - +Rule Brazil 2008 max - Oct Sun>=15 0:00 1:00 S # The latest ruleset listed above says that the following states observe DST: # DF, ES, GO, MG, MS, MT, PR, RJ, RS, SC, SP. # For dates after mid-2008, the above rules with TO="max" are guesses # and are quite possibly wrong, but are more likely than no DST at all. - # Zone NAME GMTOFF RULES FORMAT [UNTIL] # # Fernando de Noronha (administratively part of PE) @@ -713,6 +800,13 @@ Zone America/Belem -3:13:56 - LMT 1914 -3:00 Brazil BR%sT 1988 Sep 12 -3:00 - BRT # +# west Para (PA) +# West Para includes Altamira, Oribidos, Prainha, Oriximina, and Santarem. +Zone America/Santarem -3:38:48 - LMT 1914 + -4:00 Brazil AM%sT 1988 Sep 12 + -4:00 - AMT 2008 Jun 24 00:00 + -3:00 - BRT +# # Maranhao (MA), Piaui (PI), Ceara (CE), Rio Grande do Norte (RN), # Paraiba (PB) Zone America/Fortaleza -2:34:00 - LMT 1914 @@ -775,8 +869,7 @@ Zone America/Cuiaba -3:44:20 - LMT 1914 -4:00 - AMT 2004 Oct 1 -4:00 Brazil AM%sT # -# west Para (PA), Rondonia (RO) -# West Para includes Altamira, Oribidos, Prainha, Oriximina, and Santarem. +# Rondonia (RO) Zone America/Porto_Velho -4:15:36 - LMT 1914 -4:00 Brazil AM%sT 1988 Sep 12 -4:00 - AMT @@ -803,13 +896,14 @@ Zone America/Eirunepe -4:39:28 - LMT 1914 -5:00 Brazil AC%sT 1988 Sep 12 -5:00 - ACT 1993 Sep 28 -5:00 Brazil AC%sT 1994 Sep 22 - -5:00 - ACT + -5:00 - ACT 2008 Jun 24 00:00 + -4:00 - AMT # # Acre (AC) Zone America/Rio_Branco -4:31:12 - LMT 1914 -5:00 Brazil AC%sT 1988 Sep 12 - -5:00 - ACT - + -5:00 - ACT 2008 Jun 24 00:00 + -4:00 - AMT # Chile @@ -856,7 +950,7 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914 # http://www.horaoficial.cl/cambio.htm # </a>. -# From José Miguel Garrido (2008-03-05): +# From Jose Miguel Garrido (2008-03-05): # ... # You could see the announces of the change on # <a href="http://www.shoa.cl/noticias/2008/04hora/hora.htm"> diff --git a/timezone/zone.tab b/timezone/zone.tab index 1647036c0e..39cc55f816 100644 --- a/timezone/zone.tab +++ b/timezone/zone.tab @@ -1,4 +1,4 @@ -# @(#)zone.tab 8.16 +# @(#)zone.tab 8.18 # # TZ zone descriptions # @@ -92,7 +92,8 @@ BR -1259-03831 America/Bahia Bahia BR -2332-04637 America/Sao_Paulo S & SE Brazil (GO, DF, MG, ES, RJ, SP, PR, SC, RS) BR -2027-05437 America/Campo_Grande Mato Grosso do Sul BR -1535-05605 America/Cuiaba Mato Grosso -BR -0846-06354 America/Porto_Velho W Para, Rondonia +BR -0226-05452 America/Santarem W Para +BR -0846-06354 America/Porto_Velho Rondonia BR +0249-06040 America/Boa_Vista Roraima BR -0308-06001 America/Manaus E Amazonas BR -0640-06952 America/Eirunepe W Amazonas |