diff options
| author | Ulrich Drepper <drepper@redhat.com> | 2003-03-25 20:41:26 +0000 |
|---|---|---|
| committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-25 20:41:26 +0000 |
| commit | 09402f5bc1d87787c84dbf75d41777c87b1ce40e (patch) | |
| tree | d5be40f068434405ba1554389d73460fea0a1a0a | |
| parent | 2a9ae45c3f89b4069e75c53f6dd32e8174b5cfd1 (diff) | |
| download | glibc-09402f5bc1d87787c84dbf75d41777c87b1ce40e.tar.xz glibc-09402f5bc1d87787c84dbf75d41777c87b1ce40e.zip | |
Update.
2003-03-25 Ulrich Drepper <drepper@redhat.com>
* csu/tst-atomic.c: Adjust tests to what atomic_add_negative and
atomic_add_zero were supposed to do.
* include/atomic.h: Adjust atomic_add_negative and atomic_add_zero
to x86 behavior.
* sysdeps/generic/bits/typesizes.h (__TIMER_T_TYPE): Define as void*.
This matches the new timer implementation.
* sysdeps/unix/sysv/linux/bits/siginfo.h (struct siginfo): Adjust
timer info for what the kernel provides these days.
(struct sigevent): Add _tid field.
Define SIGEV_THREAD_ID.
* Versions.def (librt): Add GLIBC_2.3.3.
* abilist/libpthread.abilist: Update for nptl.
58 files changed, 1272 insertions, 58 deletions
@@ -1,3 +1,21 @@ +2003-03-25 Ulrich Drepper <drepper@redhat.com> + + * csu/tst-atomic.c: Adjust tests to what atomic_add_negative and + atomic_add_zero were supposed to do. + * include/atomic.h: Adjust atomic_add_negative and atomic_add_zero + to x86 behavior. + + * sysdeps/generic/bits/typesizes.h (__TIMER_T_TYPE): Define as void*. + This matches the new timer implementation. + * sysdeps/unix/sysv/linux/bits/siginfo.h (struct siginfo): Adjust + timer info for what the kernel provides these days. + (struct sigevent): Add _tid field. + Define SIGEV_THREAD_ID. + + * Versions.def (librt): Add GLIBC_2.3.3. + + * abilist/libpthread.abilist: Update for nptl. + 2003-03-24 Jon Grimm <jgrimm@us.ibm.com> * inet/netinet/in.h: Add IPPROTO_SCTP. diff --git a/Versions.def b/Versions.def index e8728b1986..50bb28d20e 100644 --- a/Versions.def +++ b/Versions.def @@ -85,6 +85,7 @@ librt { GLIBC_2.1 GLIBC_2.2 GLIBC_2.3 + GLIBC_2.3.3 } libutil { GLIBC_2.0 diff --git a/abilist/libpthread.abilist b/abilist/libpthread.abilist index b60ad56c6d..8074988adc 100644 --- a/abilist/libpthread.abilist +++ b/abilist/libpthread.abilist @@ -232,3 +232,10 @@ GLIBC_2.2 i.86-.*-linux.* ia64-.*-linux.* powerpc-.*-linux.* s390-.*-linux.* sh[ GLIBC_2.2 A GLIBC_2.3.2 i.86-.*-linux.* ia64-.*-linux.* powerpc-.*-linux.* s390-.*-linux.* sh[34].*-.*-linux.* x86_64-.*-linux.* GLIBC_2.3.2 A +GLIBC_2.3.3 i.86-.*-linux.* ia64-.*-linux.* powerpc-.*-linux.* s390-.*-linux.* sh[34].*-.*-linux.* x86_64-.*-linux.* + GLIBC_2.3.3 A + pthread_barrierattr_getpshared F + pthread_condattr_getclock F + pthread_condattr_setclock F + pthread_timedjoin_np F + pthread_tryjoin_np F diff --git a/bits/typesizes.h b/bits/typesizes.h index 6d6de21fab..2b9bd38760 100644 --- a/bits/typesizes.h +++ b/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Generic version. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -54,7 +54,7 @@ #define __SWBLK_T_TYPE __SLONGWORD_TYPE #define __KEY_T_TYPE __S32_TYPE #define __CLOCKID_T_TYPE __S32_TYPE -#define __TIMER_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * #define __BLKSIZE_T_TYPE __SLONGWORD_TYPE #define __FSID_T_TYPE struct { int __val[2]; } diff --git a/csu/tst-atomic.c b/csu/tst-atomic.c index 292f6e7334..e5686e377d 100644 --- a/csu/tst-atomic.c +++ b/csu/tst-atomic.c @@ -178,9 +178,9 @@ do_test (void) ret = 1; } - mem = -10; - if (! atomic_add_negative (&mem, 12) - || mem != 2) + mem = -12; + if (! atomic_add_negative (&mem, 10) + || mem != -2) { puts ("atomic_add_negative test 1 failed"); ret = 1; @@ -210,9 +210,9 @@ do_test (void) ret = 1; } - mem = 0; + mem = -36; if (! atomic_add_zero (&mem, 36) - || mem != 36) + || mem != 0) { puts ("atomic_add_zero test 2 failed"); ret = 1; diff --git a/include/atomic.h b/include/atomic.h index afebb789a3..3a0ec3a4be 100644 --- a/include/atomic.h +++ b/include/atomic.h @@ -189,13 +189,15 @@ #ifndef atomic_add_negative # define atomic_add_negative(mem, value) \ - (atomic_exchange_and_add ((mem), (value)) < 0) + ({ __typeof (value) __value = (value); \ + atomic_exchange_and_add ((mem), __value) < -__value); }) #endif #ifndef atomic_add_zero # define atomic_add_zero(mem, value) \ - (atomic_exchange_and_add ((mem), (value)) == 0) + ({ __typeof (value) __value = (value); \ + atomic_exchange_and_add ((mem), __value) == -__value; }) #endif diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index d741a1e4ad..f7467ab570 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,7 @@ +2003-03-25 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/pthread/bits/typesizes.h: New file. + 2003-03-24 Daniel Jacobowitz <drow@mvista.com> * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h diff --git a/linuxthreads/sysdeps/pthread/bits/typesizes.h b/linuxthreads/sysdeps/pthread/bits/typesizes.h new file mode 100644 index 0000000000..a95c41d33e --- /dev/null +++ b/linuxthreads/sysdeps/pthread/bits/typesizes.h @@ -0,0 +1,65 @@ +/* bits/typesizes.h -- underlying types for *_t. Generic version. + Copyright (C) 2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + 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 + 02111-1307 USA. */ + +#ifndef _BITS_TYPES_H +# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See <bits/types.h> for the meaning of these macros. This file exists so + that <bits/types.h> need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __SWBLK_T_TYPE __SLONGWORD_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE __S32_TYPE +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ diff --git a/nptl/ChangeLog b/nptl/ChangeLog index fe24582b91..31380477e4 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,63 @@ +2003-03-25 Ulrich Drepper <drepper@redhat.com> + + * pthreadP.h: Define SIGCANCEL and SIGTIMER. + * sysdeps/i386/pthreaddef.h: Remove SIGCANCEL definition. + * sysdeps/ia64/pthreaddef.h: Likewise. + * sysdeps/powerpc/pthreaddef.h: Likewise. + * sysdeps/s390/pthreaddef.h: Likewise. + * sysdeps/sh/pthreaddef.h: Likewise. + * sysdeps/x86_64/pthreaddef.h: Likewise. + * init.c (__pthread_initialize_minimal): Block SIGTIMER. + * sysdeps/pthread/sigaction.c: |
