[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r8078 - in /fsf/trunk/libc: ./ elf/ include/ libio/ nptl/ po/ posix/ stdlib/ sysdeps/powerpc/powerpc32/power7/fpu/ time/
- To: commits@xxxxxxxxxx
- Subject: [commits] r8078 - in /fsf/trunk/libc: ./ elf/ include/ libio/ nptl/ po/ posix/ stdlib/ sysdeps/powerpc/powerpc32/power7/fpu/ time/
- From: eglibc@xxxxxxxxxx
- Date: Wed, 11 Mar 2009 07:04:24 -0000
Author: eglibc
Date: Wed Mar 11 00:04:02 2009
New Revision: 8078
Log:
Import glibc-mainline for 2009-03-11
Added:
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/fpu/
fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/fpu/Implies
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/elf/sprof.c
fsf/trunk/libc/include/stdio.h
fsf/trunk/libc/libio/fmemopen.c
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/init.c
fsf/trunk/libc/po/id.po
fsf/trunk/libc/posix/tst-sysconf.c
fsf/trunk/libc/posix/unistd.h
fsf/trunk/libc/stdlib/at_quick_exit.c
fsf/trunk/libc/stdlib/cxa_at_quick_exit.c
fsf/trunk/libc/stdlib/exit.c
fsf/trunk/libc/stdlib/exit.h
fsf/trunk/libc/stdlib/quick_exit.c
fsf/trunk/libc/time/tst-posixtz.c
fsf/trunk/libc/time/tzset.c
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Mar 11 00:04:02 2009
@@ -1,3 +1,42 @@
+2009-03-10 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * time/tzset.c: Optimize a bit for size.
+
+2009-03-10 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * include/stdio.h (fmemopen): Add libc_hidden_proto.
+ * libio/fmemopen.c (fmemopen): Add libc_hidden_def.
+
+ * elf/sprof.c: Avoid warning about multi-line comment.
+
+2009-03-10 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * time/tzset.c (__tzset_parse_tz): Use correct string when parsing
+ DST name.
+ * time/tst-posixtz.c: Add tests for quoted timezone names.
+
+2009-03-10 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * posix/unistd.h (_POSIX_VERSION, _POSIX2_VERSION, _POSIX2_C_BIND,
+ _POSIX2_C_DEV, _POSIX2_SW_DEV, _POSIX2_LOCALEDEF): Define to
+ 200809L instead of 200112L.
+ (_XOPEN_VERSION): For __USE_XOPEN2K8 define to 700.
+ * posix/tst-sysconf.c (STDVER): Define to 200809L instead of 200112L.
+
+ * stdlib/quick_exit.c (quick_exit): Pass &__quick_exit_funcs
+ instead of __quick_exit_funcs to __run_exit_handlers.
+ * stdlib/at_quick_exit.c (at_quick_exit): Add attribute_hidden.
+ * stdlib/exit.h (__run_exit_handlers): Add noreturn attribute.
+ (__cxa_at_quick_exit): Remove attribute_hidden.
+ * stdlib/exit.c (exit): Pass &__exit_funcs instead of __exit_funcs
+ to __run_exit_handlers.
+ * stdlib/cxa_at_quick_exit.c (__cxa_at_quick_exit): Remove
+ attribute_hidden.
+
+2009-03-10 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * po/id.po: Update from translation team.
+
2009-02-18 Jakub Jelinek <jakub@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Use
Modified: fsf/trunk/libc/elf/sprof.c
==============================================================================
--- fsf/trunk/libc/elf/sprof.c (original)
+++ fsf/trunk/libc/elf/sprof.c Wed Mar 11 00:04:02 2009
@@ -87,7 +87,7 @@
/* Short description of program. */
static const char doc[] = N_("Read and display shared object profiling data.");
-//For bug reporting instructions, please see:\n \
+//For bug reporting instructions, please see:\n
//<http://www.gnu.org/software/libc/bugs.html>.\n");
/* Strings for arguments in help texts. */
Modified: fsf/trunk/libc/include/stdio.h
==============================================================================
--- fsf/trunk/libc/include/stdio.h (original)
+++ fsf/trunk/libc/include/stdio.h Wed Mar 11 00:04:02 2009
@@ -152,6 +152,7 @@
libc_hidden_proto (fwrite_unlocked)
libc_hidden_proto (fgets_unlocked)
libc_hidden_proto (fputs_unlocked)
+libc_hidden_proto (fmemopen)
libc_hidden_proto (open_memstream)
libc_hidden_proto (__libc_fatal)
libc_hidden_proto (__vsprintf_chk)
Modified: fsf/trunk/libc/libio/fmemopen.c
==============================================================================
--- fsf/trunk/libc/libio/fmemopen.c (original)
+++ fsf/trunk/libc/libio/fmemopen.c Wed Mar 11 00:04:02 2009
@@ -1,5 +1,6 @@
/* Fmemopen implementation.
- Copyright (C) 2000, 2002, 2005, 2006, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002, 2005, 2006, 2008, 2009
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Hanno Mueller, kontakt@xxxxxxxx, 2000.
@@ -258,3 +259,4 @@
return _IO_fopencookie (c, mode, iof);
}
+libc_hidden_def (fmemopen)
Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Wed Mar 11 00:04:02 2009
@@ -1,3 +1,7 @@
+2009-03-10 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * init.c (nptl_freeres): Compile only for SHARED.
+
2009-03-09 Jakub Jelinek <jakub@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define
Modified: fsf/trunk/libc/nptl/init.c
==============================================================================
--- fsf/trunk/libc/nptl/init.c (original)
+++ fsf/trunk/libc/nptl/init.c Wed Mar 11 00:04:02 2009
@@ -67,10 +67,10 @@
extern void __libc_setup_tls (size_t tcbsize, size_t tcbalign);
#endif
+#ifdef SHARED
static void nptl_freeres (void);
-#ifdef SHARED
static const struct pthread_functions pthread_functions =
{
.ptr_pthread_attr_destroy = __pthread_attr_destroy,
@@ -138,16 +138,16 @@
#endif
+#ifdef SHARED
/* This function is called indirectly from the freeres code in libc. */
static void
__libc_freeres_fn_section
nptl_freeres (void)
{
-#ifdef SHARED
__unwind_freeres ();
-#endif
__free_stacks (0);
}
+#endif
/* For asynchronous cancellation we use a signal. This is the handler. */
Modified: fsf/trunk/libc/po/id.po
==============================================================================
--- fsf/trunk/libc/po/id.po (original)
+++ fsf/trunk/libc/po/id.po Wed Mar 11 00:04:02 2009
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: libc 2.9.90\n"
"POT-Creation-Date: 2009-02-06 12:40-0800\n"
-"PO-Revision-Date: 2009-03-07 20:30+0700\n"
+"PO-Revision-Date: 2009-03-10 11:30+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@xxxxxxxxx>\n"
"Language-Team: Indonesian <translation-team-id@xxxxxxxxxxxxxxxxxxxxx>\n"
"MIME-Version: 1.0\n"
@@ -43,7 +43,7 @@
#: argp/argp-help.c:1617
msgid " [OPTION...]"
-msgstr " [OPSI...]"
+msgstr " [PILIHAN...]"
#: argp/argp-help.c:1644
#, c-format
@@ -287,7 +287,7 @@
#: debug/xtrace.sh:27 debug/xtrace.sh:45
msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
-msgstr "Penggunaan: xtrace [OPSI]... APLIKASI [OPSI-APLIKASI]...\\n"
+msgstr "Penggunaan: xtrace [PILIHAN]... APLIKASI [PILIHAN APLIKASI]...\\n"
#: debug/xtrace.sh:33
msgid "Try \\`xtrace --help' for more information.\\n"
@@ -298,7 +298,6 @@
msgstr "xtrace: pilihan \\`$1' membutuhkan sebuah argumen.\\n"
#: debug/xtrace.sh:46
-#, fuzzy
msgid ""
"Trace execution of program by printing currently executed function.\n"
"\n"
@@ -315,6 +314,7 @@
"Telusuri jalannya aplikasi dengan menampilkan fungsi yang sedang dijalankan.\n"
"\n"
" --data=BERKAS Jangan jalankan aplikasi, hanya tampilkan data dari BERKAS.\n"
+"\n"
" -?,--help Tampilkan bantuan ini dan keluar\n"
" --usage Berikan sebuah pesan pendek penggunaan\n"
" -V,--version Tampilkan informasi versi dan keluar\n"
@@ -322,8 +322,6 @@
"Argumen wajib untuk pilihan panjang juga wajib untuk setiap pilihan pendek\n"
"yang berhubungan.\n"
"\n"
-"Untuk instruksi pelaporan bug, mohon lihat:\n"
-"<http://www.gnu.org/software/libc/bugs.html>.\\n"
#: debug/xtrace.sh:127
msgid "xtrace: unrecognized option \\`$1'\\n"
@@ -910,7 +908,6 @@
msgstr "Ditulis oleh %s dan %s.\n"
#: elf/ldd.bash.in:48
-#, fuzzy
msgid ""
"Usage: ldd [OPTION]... FILE...\n"
" --help print this help and exit\n"
@@ -920,15 +917,13 @@
" -u, --unused print unused direct dependencies\n"
" -v, --verbose print all information\n"
msgstr ""
-"Penggunaan: ldd [OPSI... BERKAS...\n"
+"Penggunaan: ldd [PILIHAN... BERKAS...\n"
" --help tampilkan bantuan ini dan keluar\n"
" --version tampilkan informasi versi dan keluar\n"
" -d, --data-relocs proses relokasi data\n"
" -r, --function-relocs proses data dan relokasi fungsi\n"
" -u, --unused tampilkan tidak digunakan ketergantungan langsung\n"
" -v, --verbose tampilkan seluruh informasi\n"
-"Untuk instruksi pelaporan bug, mohon lihat:\n"
-"<http://www.gnu.org/software/libc/bugs.html>."
#: elf/ldd.bash.in:82
msgid "ldd: option \\`$1' is ambiguous"
@@ -1085,7 +1080,7 @@
#: elf/sprof.c:89
msgid "Read and display shared object profiling data."
-msgstr ""
+msgstr "Baca dan tampilkan data profiling objek terbagi."
#: elf/sprof.c:94
msgid "SHOBJ [PROFDATA]"
@@ -2828,7 +2823,6 @@
msgstr "memusage: pilihan \\`$1' membutuhkan sebuah argumen"
#: malloc/memusage.sh:39
-#, fuzzy
msgid ""
"Usage: memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n"
"Profile memory usage of PROGRAM.\n"
@@ -2856,7 +2850,7 @@
"short options.\n"
"\n"
msgstr ""
-"Penggunaan: memusage [OPSI]... APLIKASI [OPSIAPLIKASI]...\n"
+"Penggunaan: memusage [PILIHAN]... APLIKASI [PILIHAN APLIKASI]...\n"
"Profile penggunaan memori dari APLIKASI.\n"
"\n"
" -n,--progname=NAMA Nama dari berkas aplikasi ke profile\n"
@@ -2880,8 +2874,6 @@
"Argumen wajib untuk pilihan panjang juga wajib untuk setiap pilihan pendek\n"
"yang berhubungan.\n"
"\n"
-"Untuk instruksi pelaporan bug, mohon lihat:\n"
-"<http://www.gnu.org/software/libc/bugs.html>."
#: malloc/memusage.sh:101
msgid ""
@@ -2893,7 +2885,7 @@
"Sintaks: memusage [--data=BERKAS] [--progname=NAMA] [--png=BERKAS] [--unbuffered]\n"
" [--buffer=UKURAN] [--no-timer] [--time-based] [--total]\n"
" [--title=STRING] [--x-size=UKURAN] [--y-size=UKURAN]\n"
-" APLIKASI [OPSIAPLIKASI]..."
+" APLIKASI [PILIHAN APLIKASI]..."
#: malloc/memusage.sh:193
msgid "memusage: option \\`${1##*=}' is ambiguous"
@@ -3708,16 +3700,16 @@
#: nscd/connections.c:1077
#, c-format
msgid "request from %ld not handled due to missing permission"
-msgstr ""
+msgstr "permintaan dari %ld tidak dapat ditangani karena tidak ada ijin"
#: nscd/connections.c:1082
#, c-format
msgid "request from '%s' [%ld] not handled due to missing permission"
-msgstr ""
+msgstr "permintaan dari '%s' [%ld] tidak dapat ditangani karena tidak ada ijin"
#: nscd/connections.c:1087
msgid "request not handled due to missing permission"
-msgstr ""
+msgstr "permintaan tidak dapat ditangani karena tidak ada ijin"
#: nscd/connections.c:1125 nscd/connections.c:1178
#, c-format
@@ -3792,7 +3784,7 @@
#: nscd/connections.c:1903 nscd/connections.c:2101
#, c-format
msgid "disabled inotify after read error %d"
-msgstr ""
+msgstr "menonaktifkan inotify setelah error membaca %d"
#: nscd/connections.c:2230
msgid "could not initialize conditional variable"
@@ -4220,7 +4212,7 @@
#: nscd/selinux.c:374
msgid "compile-time support for database policy missing"
-msgstr ""
+msgstr "dukungan waktu-kompilasi untuk kebijakan basis data tidak ada"
#: nscd/selinux.c:407
#, c-format
@@ -4269,7 +4261,7 @@
#: nss/getent.c:62
msgid "Get entries from administrative database."
-msgstr ""
+msgstr "Dapatkan masukan dari basis data administrasi."
#: nss/getent.c:143 nss/getent.c:408
#, c-format
@@ -4370,6 +4362,13 @@
"environment SPEC.\n"
"\n"
msgstr ""
+"Penggunaan: getconf [-v SPEK] VAR\n"
+" atau: getconf [-v SPEK] VAR_JALUR JALUR\n"
+"\n"
+"Dapatkan nilai konfigurasi untuk variabel VAR, atau untuk variabel VAR_JALUR\n"
+"untuk jalur PATH. Jika SPEK diberikan, berikan nilai untuk kompilasi\n"
+"lingkungan SPEK.\n"
+"\n"
#: posix/getconf.c:1081
#, c-format
@@ -4880,82 +4879,82 @@
#: sunrpc/rpc_main.c:1469
#, c-format
msgid "options:\n"
-msgstr ""
+msgstr "pilihan:\n"
#: sunrpc/rpc_main.c:1470
#, c-format
msgid "-a\t\tgenerate all files, including samples\n"
-msgstr ""
+msgstr "-a\t\tbuat seluruh berkas, termasuk contoh\n"
#: sunrpc/rpc_main.c:1471
#, c-format
msgid "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n"
-msgstr ""
+msgstr "-b\t\tmode kompabilitas kebelakang (buat kode untuk SunOS 4.1)\n"
#: sunrpc/rpc_main.c:1472
#, c-format
msgid "-c\t\tgenerate XDR routines\n"
-msgstr ""
+msgstr "-c\t\tbuat rutinitas XDR\n"
#: sunrpc/rpc_main.c:1473
#, c-format
msgid "-C\t\tANSI C mode\n"
-msgstr ""
+msgstr "-C\t\tmode ANSI C\n"
#: sunrpc/rpc_main.c:1474
#, c-format
msgid "-Dname[=value]\tdefine a symbol (same as #define)\n"
-msgstr ""
+msgstr "-Dnama[=nilai]\tdefinisikan sebuah simbol (sama seperti #define)\n"
#: sunrpc/rpc_main.c:1475
#, c-format
msgid "-h\t\tgenerate header file\n"
-msgstr ""
+msgstr "-h\t\thasilkan berkas kepala\n"
#: sunrpc/rpc_main.c:1476
#, c-format
msgid "-i size\t\tsize at which to start generating inline code\n"
-msgstr ""
+msgstr "-i ukuran\t\tukuran dimana untuk memulai kodee inline\n"
#: sunrpc/rpc_main.c:1477
#, c-format
msgid "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n"
-msgstr ""
+msgstr "-I\t\thasilkan kode untuk dukungan inetd dalam server (untuk SunOS 4.1)\n"
#: sunrpc/rpc_main.c:1478
#, c-format
msgid "-K seconds\tserver exits after K seconds of inactivity\n"
-msgstr ""
+msgstr "-K detik\tserver keluar setelah K detik untuk istirahat\n"
#: sunrpc/rpc_main.c:1479
#, c-format
msgid "-l\t\tgenerate client side stubs\n"
-msgstr ""
+msgstr "-l\t\tbuat stubs sisi klien\n"
#: sunrpc/rpc_main.c:1480
#, c-format
msgid "-L\t\tserver errors will be printed to syslog\n"
-msgstr ""
+msgstr "-L\t\terror server akan ditampilkan ke sistem pencatatan\n"
#: sunrpc/rpc_main.c:1481
#, c-format
msgid "-m\t\tgenerate server side stubs\n"
-msgstr ""
+msgstr "-m\t\tbuat stubs sisi server\n"
#: sunrpc/rpc_main.c:1482
#, c-format
msgid "-M\t\tgenerate MT-safe code\n"
-msgstr ""
+msgstr "-M\t\thasilkan kode MT-safe\n"
#: sunrpc/rpc_main.c:1483
#, c-format
msgid "-n netid\tgenerate server code that supports named netid\n"
-msgstr ""
+msgstr "-n netid\tbuat kode server yang mendukung netid bernama\n"
#: sunrpc/rpc_main.c:1484
#, c-format
msgid "-N\t\tsupports multiple arguments and call-by-value\n"
-msgstr ""
+msgstr "-N\t\tdukung argumen ganda dan panggil-dengan-nilai\n"
#: sunrpc/rpc_main.c:1485
#, c-format
@@ -4965,32 +4964,32 @@
#: sunrpc/rpc_main.c:1486
#, c-format
msgid "-s nettype\tgenerate server code that supports named nettype\n"
-msgstr ""
+msgstr "-s nettype\tbuat kode server yang mendukung nettype bernama\n"
#: sunrpc/rpc_main.c:1487
#, c-format
msgid "-Sc\t\tgenerate sample client code that uses remote procedures\n"
-msgstr ""
+msgstr "-Sc\t\tbuat contoh kode klien yang menggunakan prosedur remote\n"
#: sunrpc/rpc_main.c:1488
#, c-format
msgid "-Ss\t\tgenerate sample server code that defines remote procedures\n"
-msgstr ""
+msgstr "-Ss\t\tbuat contoh kode server yang mendefinisikan prosedur remote\n"
#: sunrpc/rpc_main.c:1489
#, c-format
msgid "-Sm \t\tgenerate makefile template \n"
-msgstr ""
+msgstr "-Sm \t\tbuat template makefile \n"
#: sunrpc/rpc_main.c:1490
#, c-format
msgid "-t\t\tgenerate RPC dispatch table\n"
-msgstr ""
+msgstr "-t\t\tbuat tabel eksekusi RPC\n"
#: sunrpc/rpc_main.c:1491
#, c-format
msgid "-T\t\tgenerate code to support RPC dispatch tables\n"
-msgstr ""
+msgstr "-T\t\tbuat kode untuk mendukung tabel eksekusi RPC\n"
#: sunrpc/rpc_main.c:1492
#, c-format
@@ -6255,6 +6254,8 @@
"Usage: lddlibc4 FILE\n"
"\n"
msgstr ""
+"Penggunaan: lddlibc4 BERKAS\n"
+"\n"
#: sysdeps/unix/sysv/linux/lddlibc4.c:82
#, c-format
Modified: fsf/trunk/libc/posix/tst-sysconf.c
==============================================================================
--- fsf/trunk/libc/posix/tst-sysconf.c (original)
+++ fsf/trunk/libc/posix/tst-sysconf.c Wed Mar 11 00:04:02 2009
@@ -97,7 +97,7 @@
result = 1;
}
-#define STDVER 200112L
+#define STDVER 200809L
if (scret > 0 && scret != STDVER && !posix_options[i].positive)
{
printf ("sysconf(_SC_%s%s) must be %ldL\n",
Modified: fsf/trunk/libc/posix/unistd.h
==============================================================================
--- fsf/trunk/libc/posix/unistd.h (original)
+++ fsf/trunk/libc/posix/unistd.h Wed Mar 11 00:04:02 2009
@@ -30,33 +30,35 @@
/* These may be used to determine what facilities are present at compile time.
Their values can be obtained at run time from `sysconf'. */
-/* POSIX Standard approved as ISO/IEC 9945-1 as of December 2001. */
-#define _POSIX_VERSION 200112L
+/* POSIX Standard approved as ISO/IEC 9945-1 as of September 2008. */
+#define _POSIX_VERSION 200809L
/* These are not #ifdef __USE_POSIX2 because they are
in the theoretically application-owned namespace. */
/* The utilities on GNU systems also correspond to this version. */
-#define _POSIX2_VERSION 200112L
+#define _POSIX2_VERSION 200809L
/* If defined, the implementation supports the
C Language Bindings Option. */
-#define _POSIX2_C_BIND 200112L
+#define _POSIX2_C_BIND 200809L
/* If defined, the implementation supports the
C Language Development Utilities Option. */
-#define _POSIX2_C_DEV 200112L
+#define _POSIX2_C_DEV 200809L
/* If defined, the implementation supports the
Software Development Utilities Option. */
-#define _POSIX2_SW_DEV 200112L
+#define _POSIX2_SW_DEV 200809L
/* If defined, the implementation supports the
creation of locales with the localedef utility. */
-#define _POSIX2_LOCALEDEF 200112L
+#define _POSIX2_LOCALEDEF 200809L
/* X/Open version number to which the library conforms. It is selectable. */
-#ifdef __USE_XOPEN2K
+#ifdef __USE_XOPEN2K8
+# define _XOPEN_VERSION 700
+#elif defined __USE_XOPEN2K
# define _XOPEN_VERSION 600
#elif defined __USE_UNIX98
# define _XOPEN_VERSION 500
Modified: fsf/trunk/libc/stdlib/at_quick_exit.c
==============================================================================
--- fsf/trunk/libc/stdlib/at_quick_exit.c (original)
+++ fsf/trunk/libc/stdlib/at_quick_exit.c Wed Mar 11 00:04:02 2009
@@ -43,6 +43,7 @@
/* Register FUNC to be executed by `quick_exit'. */
int
+attribute_hidden
at_quick_exit (void (*func) (void))
{
return __cxa_at_quick_exit ((void (*) (void *)) func,
Modified: fsf/trunk/libc/stdlib/cxa_at_quick_exit.c
==============================================================================
--- fsf/trunk/libc/stdlib/cxa_at_quick_exit.c (original)
+++ fsf/trunk/libc/stdlib/cxa_at_quick_exit.c Wed Mar 11 00:04:02 2009
@@ -25,7 +25,6 @@
/* Register a function to be called by quick_exit. */
int
-attribute_hidden
__cxa_at_quick_exit (void (*func) (void *), void *d)
{
return __internal_atexit (func, NULL, d, &__quick_exit_funcs);
Modified: fsf/trunk/libc/stdlib/exit.c
==============================================================================
--- fsf/trunk/libc/stdlib/exit.c (original)
+++ fsf/trunk/libc/stdlib/exit.c Wed Mar 11 00:04:02 2009
@@ -97,6 +97,6 @@
void
exit (int status)
{
- __run_exit_handlers (status, __exit_funcs, true);
+ __run_exit_handlers (status, &__exit_funcs, true);
}
libc_hidden_def (exit)
Modified: fsf/trunk/libc/stdlib/exit.h
==============================================================================
--- fsf/trunk/libc/stdlib/exit.h (original)
+++ fsf/trunk/libc/stdlib/exit.h Wed Mar 11 00:04:02 2009
@@ -66,13 +66,13 @@
extern uint64_t __new_exitfn_called attribute_hidden;
extern void __run_exit_handlers (int status, struct exit_function_list **listp,
- bool run_list_atexit) attribute_hidden;
+ bool run_list_atexit)
+ attribute_hidden __attribute__ ((__noreturn__));
extern int __internal_atexit (void (*func) (void *), void *arg, void *d,
struct exit_function_list **listp)
attribute_hidden;
-extern int __cxa_at_quick_exit (void (*func) (void *), void *d)
- attribute_hidden;
+extern int __cxa_at_quick_exit (void (*func) (void *), void *d);
#endif /* exit.h */
Modified: fsf/trunk/libc/stdlib/quick_exit.c
==============================================================================
--- fsf/trunk/libc/stdlib/quick_exit.c (original)
+++ fsf/trunk/libc/stdlib/quick_exit.c Wed Mar 11 00:04:02 2009
@@ -26,5 +26,5 @@
void
quick_exit (int status)
{
- __run_exit_handlers (status, __quick_exit_funcs, false);
+ __run_exit_handlers (status, &__quick_exit_funcs, false);
}
Added: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/fpu/Implies
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/fpu/Implies (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power7/fpu/Implies Wed Mar 11 00:04:02 2009
@@ -1,0 +1,1 @@
+powerpc/powerpc32/power5/fpu
Modified: fsf/trunk/libc/time/tst-posixtz.c
==============================================================================
--- fsf/trunk/libc/time/tst-posixtz.c (original)
+++ fsf/trunk/libc/time/tst-posixtz.c Wed Mar 11 00:04:02 2009
@@ -18,6 +18,10 @@
"1999/02/26 07:18:12 dst=1 zone=AEDST" },
{ 909312849L, "EST+5EDT,M4.1.0/2,M10.5.0/2",
"1998/10/25 05:54:09 dst=0 zone=EST" },
+ { 909312849L, "EST5EDT,M4.1.0/2,M10.5.0/2",
+ "1998/10/25 05:54:09 dst=0 zone=EST" },
+ { 909312849L, "<EST5>5EDT,M4.1.0/2,M10.5.0/2",
+ "1998/10/25 05:54:09 dst=0 zone=EST5" },
{ 924864849L, "EST+5EDT,M4.1.0/2,M10.5.0/2",
"1999/04/23 06:54:09 dst=1 zone=EDT" },
{ 919973892L, "EST+5EDT,M4.1.0/2,M10.5.0/2",
@@ -84,5 +88,31 @@
puts (", FAIL");
}
+ setenv ("TZ", "<AB1>-10<AB2>-11,M10.5.0,M3.5.0", 1);
+ tzset ();
+ printf ("TZ = \"<AB1>-10<AB2>-11,M10.5.0,M3.5.0\" daylight %d"
+ " tzname = { \"%s\", \"%s\" }", daylight, tzname[0], tzname[1]);
+ if (daylight
+ && strcmp (tzname[0], "AB1") == 0 && strcmp (tzname[1], "AB2") == 0)
+ puts (", OK");
+ else
+ {
+ result = 1;
+ puts (", FAIL");
+ }
+
+ setenv ("TZ", "<BB1>-10", 1);
+ tzset ();
+ printf ("TZ = \"<BB1>-10\" daylight %d"
+ " tzname = { \"%s\", \"%s\" }", daylight, tzname[0], tzname[1]);
+ if (daylight == 0
+ && strcmp (tzname[0], "BB1") == 0 && strcmp (tzname[1], "BB1") == 0)
+ puts (", OK");
+ else
+ {
+ result = 1;
+ puts (", FAIL");
+ }
+
return result;
}
Modified: fsf/trunk/libc/time/tzset.c
==============================================================================
--- fsf/trunk/libc/time/tzset.c (original)
+++ fsf/trunk/libc/time/tzset.c Wed Mar 11 00:04:02 2009
@@ -157,40 +157,47 @@
__tzname_cur_max = len1;
}
+
+static unsigned int
+__attribute_noinline__
+compute_offset (unsigned int ss, unsigned int mm, unsigned int hh)
+{
+ return min (ss, 59) + min (mm, 59) * 60 + min (hh, 24) * 60 * 60;
+}
+
+
/* Parse the POSIX TZ-style string. */
void
__tzset_parse_tz (tz)
const char *tz;
{
- register size_t l;
- char *tzbuf;
unsigned short int hh, mm, ss;
- unsigned short int whichrule;
/* Clear out old state and reset to unnamed UTC. */
- memset (tz_rules, 0, sizeof tz_rules);
+ memset (tz_rules, '\0', sizeof tz_rules);
tz_rules[0].name = tz_rules[1].name = "";
/* Get the standard timezone name. */
- tzbuf = strdupa (tz);
-
- if (sscanf (tz, "%[A-Za-z]", tzbuf) != 1)
+ char *tzbuf = strdupa (tz);
+
+ int consumed;
+ if (sscanf (tz, "%[A-Za-z]%n", tzbuf, &consumed) != 1)
{
/* Check for the quoted version. */
char *wp = tzbuf;
- if (*tz++ != '<')
+ if (__builtin_expect (*tz++ != '<', 0))
goto out;
while (isalnum (*tz) || *tz == '+' || *tz == '-')
*wp++ = *tz++;
- if (*tz++ != '>' || wp - tzbuf < 3)
+ if (__builtin_expect (*tz++ != '>' || wp - tzbuf < 3, 0))
goto out;
*wp = '\0';
}
- else if ((l = strlen (tzbuf)) < 3)
+ else if (__builtin_expect (consumed < 3, 0))
goto out;
else
- tz += l;
+ tz += consumed;
tz_rules[0].name = __tzstring (tzbuf);
@@ -202,7 +209,8 @@
tz_rules[0].offset = *tz++ == '-' ? 1L : -1L;
else
tz_rules[0].offset = -1L;
- switch (sscanf (tz, "%hu:%hu:%hu", &hh, &mm, &ss))
+ switch (sscanf (tz, "%hu%n:%hu%n:%hu%n",
+ &hh, &consumed, &mm, &consumed, &ss, &consumed))
{
default:
tz_rules[0].offset = 0;
@@ -214,46 +222,36 @@
case 3:
break;
}
- tz_rules[0].offset *= (min (ss, 59) + (min (mm, 59) * 60) +
- (min (hh, 24) * 60 * 60));
-
- for (l = 0; l < 3; ++l)
- {
- while (isdigit(*tz))
- ++tz;
- if (l < 2 && *tz == ':')
- ++tz;
- }
+ tz_rules[0].offset *= compute_offset (ss, mm, hh);
+ tz += consumed;
/* Get the DST timezone name (if any). */
if (*tz != '\0')
{
- char *n = tzbuf + strlen (tzbuf) + 1;
-
- if (sscanf (tz, "%[A-Za-z]", tzbuf) != 1)
+ if (sscanf (tz, "%[A-Za-z]%n", tzbuf, &consumed) != 1)
{
/* Check for the quoted version. */
char *wp = tzbuf;
const char *rp = tz;
- if (*rp++ != '<')
+ if (__builtin_expect (*rp++ != '<', 0))
/* Punt on name, set up the offsets. */
goto done_names;
while (isalnum (*rp) || *rp == '+' || *rp == '-')
*wp++ = *rp++;
- if (*rp++ != '>' || wp - tzbuf < 3)
+ if (__builtin_expect (*rp++ != '>' || wp - tzbuf < 3, 0))
/* Punt on name, set up the offsets. */
goto done_names;
*wp = '\0';
tz = rp;
}
- else if ((l = strlen (tzbuf)) < 3)
+ else if (__builtin_expect (consumed < 3, 0))
/* Punt on name, set up the offsets. */
goto done_names;
else
- tz += l;
-
- tz_rules[1].name = __tzstring (n);
+ tz += consumed;
+
+ tz_rules[1].name = __tzstring (tzbuf);
/* Figure out the DST offset from GMT. */
if (*tz == '-' || *tz == '+')
@@ -261,7 +259,8 @@
else
tz_rules[1].offset = -1L;
- switch (sscanf (tz, "%hu:%hu:%hu", &hh, &mm, &ss))
+ switch (sscanf (tz, "%hu%n:%hu%n:%hu%n",
+ &hh, &consumed, &mm, &consumed, &ss, &consumed))
{
default:
/* Default to one hour later than standard time. */
@@ -273,16 +272,9 @@
case 2:
ss = 0;
case 3:
- tz_rules[1].offset *= (min (ss, 59) + (min (mm, 59) * 60) +
- (min (hh, 24) * (60 * 60)));
+ tz_rules[1].offset *= compute_offset (ss, mm, hh);
+ tz += consumed;
break;
- }
- for (l = 0; l < 3; ++l)
- {
- while (isdigit (*tz))
- ++tz;
- if (l < 2 && *tz == ':')
- ++tz;
}
if (*tz == '\0' || (tz[0] == ',' && tz[1] == '\0'))
{
@@ -307,7 +299,7 @@
done_names:
/* Figure out the standard <-> DST rules. */
- for (whichrule = 0; whichrule < 2; ++whichrule)
+ for (unsigned int whichrule = 0; whichrule < 2; ++whichrule)
{
register tz_rule *tzr = &tz_rules[whichrule];
@@ -322,23 +314,23 @@
tzr->type = *tz == 'J' ? J1 : J0;
if (tzr->type == J1 && !isdigit (*++tz))
goto out;
- tzr->d = (unsigned short int) strtoul (tz, &end, 10);
- if (end == tz || tzr->d > 365)
+ unsigned long int d = strtoul (tz, &end, 10);
+ if (end == tz || d > 365)
goto out;
- else if (tzr->type == J1 && tzr->d == 0)
+ if (tzr->type == J1 && d == 0)
goto out;
+ tzr->d = d;
tz = end;
}
else if (*tz == 'M')
{
- int n;
tzr->type = M;
if (sscanf (tz, "M%hu.%hu.%hu%n",
- &tzr->m, &tzr->n, &tzr->d, &n) != 3 ||
- tzr->m < 1 || tzr->m > 12 ||
- tzr->n < 1 || tzr->n > 5 || tzr->d > 6)
+ &tzr->m, &tzr->n, &tzr->d, &consumed) != 3
+ || tzr->m < 1 || tzr->m > 12
+ || tzr->n < 1 || tzr->n > 5 || tzr->d > 6)
goto out;
- tz += n;
+ tz += consumed;
}
else if (*tz == '\0')
{
@@ -368,7 +360,9 @@
++tz;
if (*tz == '\0')
goto out;
- switch (sscanf (tz, "%hu:%hu:%hu", &hh, &mm, &ss))
+ consumed = 0;
+ switch (sscanf (tz, "%hu%n:%hu%n:%hu%n",
+ &hh, &consumed, &mm, &consumed, &ss, &consumed))
{
default:
hh = 2; /* Default to 2:00 AM. */
@@ -379,13 +373,7 @@
case 3:
break;
}
- for (l = 0; l < 3; ++l)
- {
- while (isdigit (*tz))
- ++tz;
- if (l < 2 && *tz == ':')
- ++tz;
- }
+ tz += consumed;
tzr->secs = (hh * 60 * 60) + (mm * 60) + ss;
}
else
@@ -457,14 +445,11 @@
if (tz == NULL || *tz == '\0'
|| (TZDEFAULT != NULL && strcmp (tz, TZDEFAULT) == 0))
{
+ memset (tz_rules, '\0', sizeof tz_rules);
tz_rules[0].name = tz_rules[1].name = "UTC";
- tz_rules[0].type = tz_rules[1].type = J0;
- tz_rules[0].m = tz_rules[0].n = tz_rules[0].d = 0;
- tz_rules[1].m = tz_rules[1].n = tz_rules[1].d = 0;
- tz_rules[0].secs = tz_rules[1].secs = 0;
- tz_rules[0].offset = tz_rules[1].offset = 0L;
+ if (J0 != 0)
+ tz_rules[0].type = tz_rules[1].type = J0;
tz_rules[0].change = tz_rules[1].change = (time_t) -1;
- tz_rules[0].computed_for = tz_rules[1].computed_for = 0;
update_vars ();
return;
}