From 0caba1fbdb2bb0d78bbf3a9cf4d227ad1c1f8f86 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 6 Oct 2004 09:09:35 +0000 Subject: [PATCH] Updated to fedora-glibc-20041006T0900 --- ChangeLog | 30 ++++++++++++++++------ elf/rtld.c | 3 ++- fedora/branch.mk | 4 +-- libidn/ChangeLog | 4 +++ libidn/idn-stub.c | 2 ++ linuxthreads/ChangeLog | 9 +++++++ linuxthreads/pthread.c | 1 + .../unix/sysv/linux/x86_64/bits/posix_opt.h | 4 +-- manual/arith.texi | 24 +++++++++-------- nptl/ChangeLog | 19 +++++++++++++- .../unix/sysv/linux/x86_64/bits/posix_opt.h | 4 +-- nptl/tst-cancel4.c | 14 ++++++++++ nptl/tst-clock1.c | 2 +- nptl/tst-clock2.c | 2 +- nptl/tst-cond11.c | 2 +- nscd/Makefile | 2 +- nscd/TODO | 3 --- sysdeps/unix/sysv/linux/x86_64/sysconf.c | 6 +++++ 18 files changed, 102 insertions(+), 33 deletions(-) delete mode 100644 nscd/TODO diff --git a/ChangeLog b/ChangeLog index 60c8257c4a..aeb8bd9e93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,25 +1,39 @@ 2004-10-05 Ulrich Drepper + * elf/rtld.c (dl_main): Use _dl_debug_printf instead of _dl_printf + for prelink message. + +2004-10-05 Jakub Jelinek + + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Include dl-sysdep.h. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. + +2004-10-05 Ulrich Drepper + * grp/initgroups.c: Remove duplicate group IDs. * grp/compat-initgroups.c: Likewise. * nscd/initgrcache.c: Likewise. 2004-10-05 Jakub Jelinek - * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Include dl-sysdep.h. - * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysconf.c (__sysconf): Return 200112L + for _SC_CPUTIME or _SC_THREAD_CPUTIME. + + * nscd/Makefile (nscd-cflags): Set to -DIS_IN_nscd=1, plus + -fpie if building PIE. + (CFLAGS-*.c): Use it. + + * nscd/Makefile (relro-LDFLAGS): Add -Wl,-z,now if have-z-relro. + ($(objpfx)nscd): Add $(relro-LDFLAGS). * sysdeps/unix/sysv/linux/i386/sysconf.c: Include hp-timing.h. (__sysconf): Return -1 for _SC_CPUTIME or _SC_THREAD_CPUTIME if !HP_TIMING_AVAIL. - * nscd/connections.c: Include dlfcn.h and gnu/lib-names.h. - (start_threads): If _POSIX_CLOCK_SELECTION is -1 but - _POSIX_THREADS > 0, dlopen LIBPTHREAD_SO and look for - pthread_condattr_setclock in it. +2004-10-05 Ulrich Drepper - * nscd/Makefile (relro-LDFLAGS): Add -Wl,-z,now if have-z-relro. - ($(objpfx)nscd): Add $(relro-LDFLAGS). + * nscd/Makefile (distribute): Remove TODO. + * nscd/TODO: Removed. 2004-10-04 Ulrich Drepper diff --git a/elf/rtld.c b/elf/rtld.c index a1b9136045..b948eb2db6 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -1860,7 +1860,8 @@ cannot allocate TLS data structures for initial thread"); prelinked = true; if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_LIBS, 0)) - _dl_printf ("\nprelink checking: %s\n", prelinked ? "ok" : "failed"); + _dl_debug_printf ("\nprelink checking: %s\n", + prelinked ? "ok" : "failed"); } diff --git a/fedora/branch.mk b/fedora/branch.mk index c73b100249..086ea6912b 100644 --- a/fedora/branch.mk +++ b/fedora/branch.mk @@ -1,5 +1,5 @@ # This file is updated automatically by Makefile. glibc-branch := fedora glibc-base := HEAD -fedora-sync-date := 2004-10-05 07:45 UTC -fedora-sync-tag := fedora-glibc-20041005T0745 +fedora-sync-date := 2004-10-06 09:00 UTC +fedora-sync-tag := fedora-glibc-20041006T0900 diff --git a/libidn/ChangeLog b/libidn/ChangeLog index 7f65c50711..daeb4bdef0 100644 --- a/libidn/ChangeLog +++ b/libidn/ChangeLog @@ -1,3 +1,7 @@ +2004-10-05 Ulrich Drepper + + * idn-stub.c (unload_libidn): Don't define outside libc. + 2004-07-02 Roland McGrath * configure: Don't exit. diff --git a/libidn/idn-stub.c b/libidn/idn-stub.c index 13cd4db5c2..3c69bbc3b3 100644 --- a/libidn/idn-stub.c +++ b/libidn/idn-stub.c @@ -132,6 +132,7 @@ __idna_to_ascii_lz (const char *input, char **output, int flags) } +#ifndef NOT_IN_libc libc_freeres_fn (unload_libidn) { if (h != NULL && h != (void *) 1l) @@ -140,3 +141,4 @@ libc_freeres_fn (unload_libidn) h = (void *) 1l; } } +#endif diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 805cdd419d..c704685250 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,12 @@ +2004-10-05 Dwayne Grant McConnell + + * pthread.c: Mask restart signal during cancel signal handler. + +2004-10-05 Jakub Jelinek + + * sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h (_POSIX_CPUTIME, + _POSIX_THREAD_CPUTIME): Define to 0. + 2004-10-04 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Set _POSIX_CPUTIME diff --git a/linuxthreads/pthread.c b/linuxthreads/pthread.c index 6c98d73255..24f0eb02b0 100644 --- a/linuxthreads/pthread.c +++ b/linuxthreads/pthread.c @@ -560,6 +560,7 @@ static void pthread_initialize(void) sa.sa_flags = 0; __libc_sigaction(__pthread_sig_restart, &sa, NULL); sa.sa_handler = pthread_handle_sigcancel; + sigaddset(&sa.sa_mask, __pthread_sig_restart); // sa.sa_flags = 0; __libc_sigaction(__pthread_sig_cancel, &sa, NULL); if (__pthread_sig_debug > 0) { diff --git a/linuxthreads/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h b/linuxthreads/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h index b45d121f64..d4be569168 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h +++ b/linuxthreads/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h @@ -106,10 +106,10 @@ #define _POSIX_SHARED_MEMORY_OBJECTS 200112L /* CPU-time clocks supported. */ -#define _POSIX_CPUTIME 200112L +#define _POSIX_CPUTIME 0 /* We support the clock also in threads. */ -#define _POSIX_THREAD_CPUTIME 200112L +#define _POSIX_THREAD_CPUTIME 0 /* GNU libc provides regular expression handling. */ #define _POSIX_REGEXP 1 diff --git a/manual/arith.texi b/manual/arith.texi index 6c651669f0..99fe67ae72 100644 --- a/manual/arith.texi +++ b/manual/arith.texi @@ -2561,40 +2561,44 @@ user-supplied buffer. @comment stdlib.h @comment GNU -@deftypefun {char *} ecvt_r (double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{neg}, char *@var{buf}, size_t @var{len}) +@deftypefun int ecvt_r (double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{neg}, char *@var{buf}, size_t @var{len}) The @code{ecvt_r} function is the same as @code{ecvt}, except that it places its result into the user-specified buffer pointed to by -@var{buf}, with length @var{len}. +@var{buf}, with length @var{len}. The return value is @code{-1} in +case of an error and zero otherwise. This function is a GNU extension. @end deftypefun @comment stdlib.h @comment SVID, Unix98 -@deftypefun {char *} fcvt_r (double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{neg}, char *@var{buf}, size_t @var{len}) -The @code{fcvt_r} function is the same as @code{fcvt}, except -that it places its result into the user-specified buffer pointed to by -@var{buf}, with length @var{len}. +@deftypefun int fcvt_r (double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{neg}, char *@var{buf}, size_t @var{len}) +The @code{fcvt_r} function is the same as @code{fcvt}, except that it +places its result into the user-specified buffer pointed to by +@var{buf}, with length @var{len}. The return value is @code{-1} in +case of an error and zero otherwise. This function is a GNU extension. @end deftypefun @comment stdlib.h @comment GNU -@deftypefun {char *} qecvt_r (long double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{neg}, char *@var{buf}, size_t @var{len}) +@deftypefun int qecvt_r (long double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{neg}, char *@var{buf}, size_t @var{len}) The @code{qecvt_r} function is the same as @code{qecvt}, except that it places its result into the user-specified buffer pointed to by -@var{buf}, with length @var{len}. +@var{buf}, with length @var{len}. The return value is @code{-1} in +case of an error and zero otherwise. This function is a GNU extension. @end deftypefun @comment stdlib.h @comment GNU -@deftypefun {char *} qfcvt_r (long double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{neg}, char *@var{buf}, size_t @var{len}) +@deftypefun int qfcvt_r (long double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{neg}, char *@var{buf}, size_t @var{len}) The @code{qfcvt_r} function is the same as @code{qfcvt}, except that it places its result into the user-specified buffer pointed to by -@var{buf}, with length @var{len}. +@var{buf}, with length @var{len}. The return value is @code{-1} in +case of an error and zero otherwise. This function is a GNU extension. @end deftypefun diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 908d39383e..287e8b6b2a 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,15 @@ +2004-10-06 Ulrich Drepper + + * tst-cancel4.c (tf_msgrcv): Check for failure in msgget. If the + test fails, remove message queue. + (tf_msgsnd): Likewise. + +2004-10-05 Jakub Jelinek + + * tst-clock1.c: Change #ifdef to #if defined. + * tst-clock2.c: Likewise. + * tst-cond11.c: Likewise. + 2004-10-05 Jakub Jelinek * sysdeps/pthread/timer_create.c (timer_create): Use @@ -5,6 +17,11 @@ defined CLOCK_PROCESS_CPUTIME_ID #ifs and similarly for THREAD_CPUTIME. +2004-10-05 Jakub Jelinek + + * sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h (_POSIX_CPUTIME, + _POSIX_THREAD_CPUTIME): Define to 0. + 2004-10-04 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Define _POSIX_CPUTIME @@ -33,7 +50,7 @@ (__lll_mutex_timedlock_wait): Address futex correctly. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S - (__lll_mutex_timedlock_wait): I woken but cannot get the lock, + (__lll_mutex_timedlock_wait): If woken but cannot get the lock, make sure 2 is stored in the futex and we looked at the old value. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_mutex_timedlock_wait): Likewise. Fix a few other problems diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h b/nptl/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h index 7563de8ad2..2b5a3e6db8 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h @@ -103,10 +103,10 @@ #define _POSIX_SHARED_MEMORY_OBJECTS 200112L /* CPU-time clocks supported. */ -#define _POSIX_CPUTIME 200112L +#define _POSIX_CPUTIME 0 /* We support the clock also in threads. */ -#define _POSIX_THREAD_CPUTIME 200112L +#define _POSIX_THREAD_CPUTIME 0 /* GNU libc provides regular expression handling. */ #define _POSIX_REGEXP 1 diff --git a/nptl/tst-cancel4.c b/nptl/tst-cancel4.c index 8dc8aec0af..c3e527fd1c 100644 --- a/nptl/tst-cancel4.c +++ b/nptl/tst-cancel4.c @@ -1884,6 +1884,11 @@ static void * tf_msgrcv (void *arg) { tempmsg = msgget (IPC_PRIVATE, 0666 | IPC_CREAT); + if (tempmsg == -1) + { + printf ("%s: msgget failed: %s\n", __FUNCTION__, strerror (errno)); + exit (1); + } int r = pthread_barrier_wait (&b2); if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) @@ -1927,6 +1932,8 @@ tf_msgrcv (void *arg) printf ("%s: msgrcv returned %zd with errno = %m\n", __FUNCTION__, s); + msgctl (tempmsg, IPC_RMID, NULL); + exit (1); } @@ -1940,6 +1947,11 @@ tf_msgsnd (void *arg) abort (); tempmsg = msgget (IPC_PRIVATE, 0666 | IPC_CREAT); + if (tempmsg == -1) + { + printf ("%s: msgget failed: %s\n", __FUNCTION__, strerror (errno)); + exit (1); + } int r = pthread_barrier_wait (&b2); if (r != 0 && r != PTHREAD_BARRIER_SERIAL_THREAD) @@ -1972,6 +1984,8 @@ tf_msgsnd (void *arg) printf ("%s: msgsnd returned\n", __FUNCTION__); + msgctl (tempmsg, IPC_RMID, NULL); + exit (1); } diff --git a/nptl/tst-clock1.c b/nptl/tst-clock1.c index cba197943a..0848d77019 100644 --- a/nptl/tst-clock1.c +++ b/nptl/tst-clock1.c @@ -27,7 +27,7 @@ int do_test (void) { -#ifdef _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0 +#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0 clockid_t cl; /* This is really only a linking-test here. */ int e = pthread_getcpuclockid (pthread_self (), &cl); diff --git a/nptl/tst-clock2.c b/nptl/tst-clock2.c index 2ea2a529aa..fd216b2ba1 100644 --- a/nptl/tst-clock2.c +++ b/nptl/tst-clock2.c @@ -25,7 +25,7 @@ #include -#ifdef _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0 +#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0 static pthread_barrier_t b2; static pthread_barrier_t bN; diff --git a/nptl/tst-cond11.c b/nptl/tst-cond11.c index 90a3e15868..0de4d56137 100644 --- a/nptl/tst-cond11.c +++ b/nptl/tst-cond11.c @@ -24,7 +24,7 @@ #include -#ifdef _POSIX_CLOCK_SELECTION && _POSIX_CLOCK_SELECTION >= 0 +#if defined _POSIX_CLOCK_SELECTION && _POSIX_CLOCK_SELECTION >= 0 static int run_test (clockid_t cl) { diff --git a/nscd/Makefile b/nscd/Makefile index b197b3fc6b..70a35198c2 100644 --- a/nscd/Makefile +++ b/nscd/Makefile @@ -58,7 +58,7 @@ endif distribute := nscd.h nscd-client.h dbg_log.h \ $(addsuffix .c, $(filter-out xmalloc, $(nscd-modules))) \ - nscd_nischeck.c TODO nscd.conf nscd.init nscd_proto.h \ + nscd_nischeck.c nscd.conf nscd.init nscd_proto.h \ nscd-types.h include ../Rules diff --git a/nscd/TODO b/nscd/TODO deleted file mode 100644 index 0ae9d1845c..0000000000 --- a/nscd/TODO +++ /dev/null @@ -1,3 +0,0 @@ - -* If we have reached the max. # of process, close accept socket. - ! THIS COULD CAUSE THE KERNEL TO HANG ! BE CAREFUL ! diff --git a/sysdeps/unix/sysv/linux/x86_64/sysconf.c b/sysdeps/unix/sysv/linux/x86_64/sysconf.c index 87f2c451f3..407fd46bc3 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sysconf.c +++ b/sysdeps/unix/sysv/linux/x86_64/sysconf.c @@ -279,6 +279,12 @@ handle_amd (int name) long int __sysconf (int name) { + if (name == _SC_CPUTIME || name == _SC_THREAD_CPUTIME) + { + /* XXX Test whether TSC is usable. */ + return 200112L; + } + /* We only handle the cache information here (for now). */ if (name < _SC_LEVEL1_ICACHE_SIZE || name > _SC_LEVEL4_CACHE_LINESIZE) return linux_sysconf (name); -- 2.11.4.GIT