Ulrich Drepper
7726edc273
Update.
...
2003-06-07 Ulrich Drepper <drepper@redhat.com>
* cleanup_routine.c: New file.
* Versions (libpthread) [GLIBC_2.3.3]: Add __pthread_cleanup_routine.
* sysdeps/pthread/pthread.h: Add support for fully exception-based
cleanup handling.
* Makefile (libpthread-routines): Add cleanup_routine.
Add more CFLAGS variables to compile with exceptions. Add comments
why which file needs unwind tables.
(tests) [have-forced-unwind==yes]: Add tst-cancelx* and tst-cleanupx*
tests.
* tst-cancelx1.c: New file.
* tst-cancelx2.c: New file.
* tst-cancelx3.c: New file.
* tst-cancelx4.c: New file.
* tst-cancelx5.c: New file.
* tst-cancelx6.c: New file.
* tst-cancelx7.c: New file.
* tst-cancelx8.c: New file.
* tst-cancelx9.c: New file.
* tst-cancelx10.c: New file.
* tst-cancelx11.c: New file.
* tst-cancelx12.c: New file.
* tst-cancelx13.c: New file.
* tst-cancelx14.c: New file.
* tst-cancelx15.c: New file.
* tst-cleanupx0.c: New file.
* tst-cleanupx0.expect: New file.
* tst-cleanupx1.c: New file.
* tst-cleanupx2.c: New file.
* tst-cleanupx3.c: New file.
* tst-cleanup0.c: Make standard compliant.
* tst-cleanup1.c: Likewise.
* sysdeps/unix/sysv/linux/sem_timedwait.c: Add cancellation support.
* sysdeps/unix/sysv/linux/sem_wait.c: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
* sysdeps/i386/tcb-offsets.sym: Add RESULT, CANCELHANDLING, and
CLEANUP_JMP_BUF.
* sysdeps/x86_64/tcb-offsets.sym: Likewise.
* tst-cancel12.c: New file.
* tst-cancel13.c: New file.
* tst-cancel14.c: New file.
* tst-cancel15.c: New file.
* Makefile (tests): Add tst-cancel12, tst-cancel13, tst-cancel14,
and tst-cancel15.
* tst-cancel1.c: Add some comments.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Compute relative
timeout correctly.
2003-06-08 05:28:14 +00:00
Ulrich Drepper
4ad0bbf4fa
Update.
...
2003-06-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_rwlock_t):
Change type of __writer element to int.
* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
* sysdeps/i386/tcb-offsets.sym: Replace SELF entry with TID entry.
* sysdeps/x86_64/tcb-offsets.sym: Likewise.
* pthread_rwlock_trywrlock.c: Store TID not self pointer in __writer.
Compare with TID to determine deadlocks.
* sysdeps/pthread/pthread_rwlock_rdlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_timedwrlock.: Likewise.
* sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S:
Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
* Makefile (tests): Add tst-rwlock12.
* tst-rwlock12.c: New file.
2003-06-05 19:31:57 +00:00
Ulrich Drepper
49b650430e
Update.
...
2003-05-31 Ulrich Drepper <drepper@redhat.com>
* libio/fileops.c (_IO_file_open): Don't mark as inline.
* sysdeps/ia64/elf/initfini.c ((gmon_initializer): Mark with
attribute used.
2003-05-31 07:50:12 +00:00
Ulrich Drepper
5a77f1501d
Update.
...
2003-05-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/pthread_cond_broadcast.c
(__pthread_cond_broadcast): Fix typo: MAX_INT -> INT_MAX.
2003-05-29 05:28:16 +00:00
Ulrich Drepper
69431c9a21
Update.
...
2003-05-25 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_FUTEX_REQUEUE for >= 2.5.70.
* math/test-fenv.c (feexcp_nomask_test): Fix comment.
2003-05-26 02:47:39 +00:00
Ulrich Drepper
949ec76407
Update.
...
* posix/sched.h: Change prototypes of sched_getaffinity and
sched_setaffinity. Define CPU_SET, CPU_CLR, CPU_ISSET, and CPU_ZERO.
* sysdeps/generic/sched_getaffinity.c: Adjust definition.
* sysdeps/generic/sched_setaffinity.c: Likewise.
* sysdeps/generic/bits/sched.h: Define __CPU_SETSIZE, __NCPUBITS,
__CPUELT, __CPUMASK, cpu_set_t, __cpu_mask, __CPU_ZERO, __CPU_SET,
__CPU_CLR, and __CPU_ISSET.
* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
* sysdeps/unix/sysv/linux/sched_getaffinity.c: New file.
* sysdeps/unix/sysv/linux/sched_setaffinity.c: New file.
* include/atomic.h (atomic_exchange_acq): Renamed from atomic_exchange.
(atomic_exchange_rel): New #define.
* sysdeps/ia64/bits/atomic.h: Likewise.
* sysdeps/i386/i486/bits/atomic.h (atomic_exchange_acq): Renamed from
atomic_exchange.
* sysdeps/m68k/m68020/bits/atomic.h: Likewise.
* sysdeps/powerpc/bits/atomic.h: Likewise.
* sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Likewise.
* sysdeps/sparc/sparc64/bits/atomic.h: Likewise.
* sysdeps/x86_64/bits/atomic.h: Likewise.
* csu/tst-atomic.c: Use atomic_exchange_acq instead of atomic_exchange.
2003-05-10 05:36:37 +00:00
Ulrich Drepper
9a7178d611
Update.
...
2003-05-01 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/tls.h: Define THREAD_ID.
* sysdeps/ia64/tls.h: Likewise.
* sysdeps/powerpc/tls.h: Likewise.
* sysdeps/s390/tls.h: Likewise.
* sysdeps/sh/tls.h: Likewise.
* sysdeps/x86_64/tls.h: Likewise.
* pthread_mutex_lock.c: Use THREAD_ID instead of THREAD_SELF to
record ownership.
* pthread_mutex_timedlock.c: Likewise.
* pthread_mutex_trylock.c: Likewise.
* pthread_mutex_unlock.c: Likewise.
* pthread_rwlock_trywrlock.c: Likewise.
* sysdeps/pthread/pthread_rwlocklock_rdlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_timedwrlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise.
* sysdeps/pthread/createthread.c (create_thread): Use CLONE_SYSVSEM
flag.
2003-05-01 23:19:51 +00:00
Ulrich Drepper
468777e1d0
Update.
...
* pthread.c (__pthread_initialize_manager): Subtract
TLS_PRE_TCB_SIZE bytes from tcbp to get to descr.
* manager.c (pthread_handle_create): Subtract or add TLS_PRE_TCB_SIZE
instead of sizeof (pthread_descr).
(pthread_free): Add TLS_PRE_TCB_SIZE instead of sizeof (pthread_descr).
* sysdeps/powerpc/tls.h (TLS_INIT_TCB_SIZE, TLS_TCB_SIZE): Define to 0.
2003-04-25 22:28:13 +00:00
Ulrich Drepper
299601a1ef
Update.
...
2003-04-22 Jakub Jelinek <jakub@redhat.com>
* include/link.h (NO_TLS_OFFSET): Define to 0 if not defined.
* elf/dl-close.c (_dl_close): Use NO_TLS_OFFSET.
* elf/dl-object.c (_dl_new_object): Initialize l_tls_offset to
NO_TLS_OFFSET.
* elf/rtld.c (_dl_start_final, _dl_start): Likewise.
* elf/dl-reloc.c (CHECK_STATIC_TLS): Use NO_TLS_OFFSET.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Likewise.
* sysdeps/powerpc/dl-tls.h (TLS_TPREL_VALUE): Don't subtract
TLS_TCB_SIZE.
2003-04-25 09:12:43 +00:00
Ulrich Drepper
6a87ee1943
Update.
...
* signal/sigfillset.c: Moved to...
* sysdeps/generic/sigfillset.c: ...here. If SIGCANCEL is defined
do not set the corresponding bit.
2003-04-21 07:48:10 +00:00
Ulrich Drepper
e7608d7789
Update.
...
2003-04-21 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/sigprocmask.c: Prevent changing mask for
SIGCANCEL.
* sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Define SI_TKILL.
* sysdeps/unix/sysv/linux/bits/siginfo.h: Define SI_TKILL.
* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Define SI_TKILL.
* sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Define SI_TKILL.
* sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Define SI_TKILL.
first syscall parameter to const char*.
2003-04-21 07:39:20 +00:00
Ulrich Drepper
4e648ea3ad
Update.
...
* stdlib/cxa_finalize.c (__cxa_finalize): Don't call
UNREGISTER_ATFORK if d == NULL.
2003-04-19 18:26:10 +00:00
Ulrich Drepper
2c008571c3
Update.
...
2003-04-19 Ulrich Drepper <drepper@redhat.com>
* catgets/nl_types.h: Remove __THROW marker from cancellation points.
* dirent/dirent.h: Likewise.
* dlfcn/dlfcn.h: Likewise.
* grp/grp.h: Likewise.
* iconv/iconv.h: Likewise.
* io/fcntl.h: Likewise.
* io/ftw.h: Likewise.
* libio/stdio.h: Likewise.
* misc/sys/mman.h: Likewise.
* misc/sys/select.h: Likewise.
* misc/sys/syslog.h: Likewise.
* misc/sys/uio.h: Likewise.
* posix/spawn.h: Likewise.
* posix/unistd.h: Likewise.
* posix/sys/wait.h: Likewise.
* pwd/pwd.h: Likewise.
* resolv/netdb.h: Likewise.
* rt/aio.h: Likewise.
* shadow/shadow.h: Likewise.
* signal/signal.h: Likewise.
* socket/sys/socket.h: Likewise.
* stdlib/stdlib.h: Likewise.
* streams/stropts.h: Likewise.
* string/string.h: Likewise.
* sysdeps/gnu/utmpx.h: Likewise.
* sysvipc/sys/msg.h: Likewise.
* termios/termios.h: Likewise.
* time/time.h: Likewise.
* wcsmbs/wchar.h: Likewise.
* iconv/gconv_cache.c: Include <not-cancel.h> and use non-cancelable
functions.
* misc/daemon.c: Likewise.
* sysdeps/generic/backtracesymsfd.c: Likewise.
* sysdeps/generic/check_fds.c: Likewise.
* sysdeps/unix/sysv/linux/gethostid.c: Likewise.
* sysdeps/unix/sysv/linux/not-cancel.h: New file.
* sysdeps/generic/not-cancel.h: New file.
* csu/Makefile (distribute): Add not-cancel.h.
* sysdeps/unix/sysv/linux/fatal-prepare.h: New file.
* sysdeps/unix/sysv/linux/Makefile: Define FATAL_PREPARE_INCLUDE
for assert.c and assert-perr.c to include <fatal-prepare.h>.
* sysdeps/unix/sysv/linux/Dist: Add fatal-prepare.h.
* sysdeps/posix/remove.c (remove): Rewrite. No need to restore
errno and unlink first.
* io/ftw.c (ftw_dir): In all places assume fchdir is available.
2003-04-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Use
INTERNAL_SYSCALL instead of INLINE_SYSCALL.
2003-04-19 16:57:17 +00:00
Ulrich Drepper
76a67697c8
Update.
...
* sysdeps/pthread/pthread.h: Don't mark pthread_testcancel,
pthread_cancel, pthread_setcancelstate, and pthread_setcanceltype with
2003-04-18 08:08:11 +00:00
Ulrich Drepper
7d74651eb0
Update.
...
2003-04-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/pthread.h: Don't mark pthread_testcancel with
__THROW.
2003-04-18 08:01:53 +00:00
Ulrich Drepper
68107ec092
Update.
...
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
2003-04-12 08:38:14 +00:00
Ulrich Drepper
09d65ff393
Update.
...
2003-04-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/libc-start.c: Cleanup MAIN_AUXVEC_ARG handling.
Remove HAVE_CANCELBUF code. Replace with code using the new
initializers for unwind-based cleanup handling.
* sysdeps/generic/unwind.h: Update from latest gcc version.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Define labels in a few
places to allow unwind data generation.
* sysdeps/i386/bits/setjmp.h: Allow file to be included multiple times.
* sysdeps/x86_64/bits/setjmp.h: Likewise.
* sysdeps/sh/bits/setjmp.h: Likewise.
* sysdeps/powerpc/bits/setjmp.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/setjmp.h: Likewise.
* sysdeps/alpha/bits/setjmp.h: Likewise.
2003-04-12 00:58:26 +00:00
Ulrich Drepper
9afe496416
Update.
...
* sysdeps/pthread/pthread.h: Remove duplicate
pthread_cleanup_{push,pop} definitions.
2003-04-08 20:24:21 +00:00
Ulrich Drepper
b22d701bb7
Update.
...
2003-04-04 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/createthread.c (create_thread): Add some more
comments explaining when to set multiple_threads and when not.
* pthreadP.h: Define THREAD_ATOMIC_CMPXCHG_VAL and
THREAD_ATOMIC_BIT_SET if not already defined.
* sysdeps/i386/tls.h: Define THREAD_ATOMIC_CMPXCHG_VAL and
THREAD_ATOMIC_BIT_SET:
* sysdeps/x86_64/tls.h: Likewise.
* cleanup_defer.c (_pthread_cleanup_push_defer): Rewrite to use
THREAD_ATOMIC_CMPXCHG_VAL.
(_pthread_cleanup_pop_restore): Likewise.
* cancellation.c (__pthread_enable_asynccancel): Likewise.
(__pthread_enable_asynccancel_2): Likewise.
(__pthread_disable_asynccancel): Likewise.
* libc-cancellation.c (__libc_enable_asynccancel): Likewise.
(__libc_disable_asynccancel): Likewise.
* init.c (sigcancel_handler): Likewise.
* pthread_setcancelstate.c (__pthread_setcancelstate): Likewise.
* pthread_setcanceltype.c (__pthread_setcanceltype): Likewise.
2003-04-05 05:21:15 +00:00
Ulrich Drepper
9f292c2439
Fix comment.
2003-03-31 18:43:29 +00:00
Ulrich Drepper
cbbb4b6ccc
Fix comment.
2003-03-31 18:42:30 +00:00
Roland McGrath
333ab52196
2003-03-25 Roland McGrath <roland@redhat.com>
...
* sysdeps/pthread/posix-timer.h (TIMER_MAX): Define if not defined.
(timer_id2ptr): Fix typo.
2003-03-26 08:06:52 +00:00
Ulrich Drepper
09402f5bc1
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.
2003-03-25 20:41:26 +00:00
Ulrich Drepper
5e826ab537
Update.
...
2003-03-24 Jon Grimm <jgrimm@us.ibm.com>
* inet/netinet/in.h: Add IPPROTO_SCTP.
2003-03-24 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLET): Define.
2003-03-25 01:14:36 +00:00
Ulrich Drepper
5a3ab2fc18
Update.
...
2003-03-21 Ulrich Drepper <drepper@redhat.com>
* cancellation.c: Adjust for new form of compare&exchange macros.
* cleanup_defer.c: Likewise.
* init.c: Likewise.
* libc-cancellation.c: Likewise.
* old_pthread_cond_broadcast.c: Likewise.
* old_pthread_cond_signal.c: Likewise.
* old_pthread_cond_timedwait.c: Likewise.
* old_pthread_cond_wait.c: Likewise.
* pthread_cancel.c: Likewise.
* pthread_create.c: Likewise.
* pthread_detach.c: Likewise.
* pthread_join.c: Likewise.
* pthread_key_delete.c: Likewise.
* pthread_setcancelstate.c: Likewise.
* pthread_setcanceltype.c: Likewise.
* pthread_timedjoin.c: Likewise.
* pthread_tryjoin.c: Likewise.
* sysdeps/pthread/createthread.c: Likewise.
2003-03-21 08:03:25 +00:00
Ulrich Drepper
bbb9ba4324
(__pthread_cond_broadcast): Release lock before waking waiters.
2003-03-19 09:42:14 +00:00
Roland McGrath
043ad426e7
* Versions (libpthread: GLIBC_2.2): Remove
...
pthread_barrierattr_getpshared, never really existed.
(libpthread: GLIBC_2.0): Move __pthread_initialize to ...
(libpthread: GLIBC_PRIVATE): ... here.
2003-03-19 03:34:48 +00:00
Ulrich Drepper
24a49f38ad
Update.
...
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
(pthrad_cond_t): Replace __unused field with __clock.
* sysdeps/pthread/pthread_cond_wait.c: Release condvar lock before
waken all waiters in cleanup handler.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
2003-03-18 18:56:16 +00:00
Ulrich Drepper
86a9ee5e87
Update.
...
2003-03-18 Ulrich Drepper <drepper@redhat.com>
* pthread_condattr_getclock.c: New file.
* pthread_condattr_setclock.c: New file.
* sysdeps/pthread/pthread.h: Declare these new functions.
* Versions [GLIBC_2.3.3] (libpthread): Add the new functions.
* Makefile (libpthread-routines): Add the new functions.
* sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_condattr):
Renamed field to value. Document use of the bits.
* pthread_condattr_getpshared.c: Adjust for struct pthread_condattr
change.
* pthread_condattr_setpshared.c: Likewise.
* sysdeps/unix/sysv/linux/lowlevelcond.sym: Add cond_clock symbol.
* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_cond_t):
Add __clock field.
* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:
Implement clock selection.
* sysdeps/pthread/pthread_cond_timedwait.c: Likewise.
* pthread-errnos.sym: Add ENOSYS.
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
_POSIX_CLOCK_SELECTION.
* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Remove
invalid .size directive.
2003-03-18 11:17:57 +00:00
Roland McGrath
f3c13160fe
2003-03-17 Roland McGrath <roland@redhat.com>
...
PowerPC port contributed by Paul Mackerras <paulus@samba.org>.
* sysdeps/pthread/pthread_spin_init.c: New file.
* sysdeps/pthread/pthread_spin_unlock.c: New file.
* sysdeps/powerpc/Makefile: New file.
* sysdeps/powerpc/pthread_spin_lock.c: New file.
* sysdeps/powerpc/pthread_spin_trylock.c: New file.
* sysdeps/powerpc/pthreaddef.h: New file.
* sysdeps/powerpc/tcb-offsets.sym: New file.
* sysdeps/powerpc/td_ta_map_lwp2thr.c: New file.
* sysdeps/powerpc/tls.h: New file.
* sysdeps/powerpc/bits/atomic.h: New file.
* sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: New file.
* sysdeps/unix/sysv/linux/libc-lowlevellock.c: New file.
* sysdeps/unix/sysv/linux/lowlevellock.c: New file.
* sysdeps/unix/sysv/linux/sem_post.c: New file.
* sysdeps/unix/sysv/linux/sem_timedwait.c: New file.
* sysdeps/unix/sysv/linux/sem_trywait.c: New file.
* sysdeps/unix/sysv/linux/powerpc/Makefile: New file.
* sysdeps/unix/sysv/linux/powerpc/createthread.c: New file.
* sysdeps/unix/sysv/linux/powerpc/fork.c: New file.
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: New file.
* sysdeps/unix/sysv/linux/powerpc/pt-vfork.S: New file.
* sysdeps/unix/sysv/linux/powerpc/pthread_once.c: New file.
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: New file.
* sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: New file.
2003-03-17 11:22:52 +00:00
Ulrich Drepper
46a32546c9
Update.
...
2003-03-17 Ulrich Drepper <drepper@redhat.com>
* localedata/en_ZA: hanged %x for LC_TIME to use dd/mm/ccyy.
Added ^ to LC_MESSAGES regex "^[yY].*".
Confirmed LC_PAPER adn LC_MEASUREMENT settings.
Added country and language names to LC_ADDRESS.
Added missing info for LC_TELEPHONE.
Patch by Dwayne Bailey <dwayne@obsidian.co.za>.
2003-03-17 10:11:31 +00:00
Roland McGrath
eb64f8cbe3
* posix/fnmatch_loop.c: Add casts for signedness.
...
* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
* gmon/gmon.c (write_call_graph): Use u_long for FROM_LEN.
* nscd/nscd_getgr_r.c (nscd_getgr_r): Use nscd_ssize_t for CNT.
2003-03-16 03:22:41 +00:00
Roland McGrath
55c11fbdb0
2003-03-14 Roland McGrath <roland@redhat.com>
...
* descr.h (struct pthread): Move the union out of [!TLS_DTV_AT_TP], so
we always define the padding space.
[!TLS_DTV_AT_TP]: Give tcbhead_t field a name, `header', since GCC
stopped supporting its own extensions fully.
[TLS_MULTIPLE_THREADS_IN_TCB]: Put `multiple_threads' inside a wrapper
struct also called `header', so `header.multiple_threads' is the field
name to use on all machines.
* allocatestack.c (allocate_stack): Use `header.' prefix.
* sysdeps/pthread/createthread.c (create_thread): Likewise.
* pthread_create.c (__pthread_create_2_1): Likewise.
* sysdeps/i386/tls.h (INSTALL_NEW_DTV, THREAD_DTV): Likewise.
(THREAD_SELF): Likewise.
* sysdeps/x86_64/tls.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
(SINGLE_THREAD_P): Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
(SINGLE_THREAD_P): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
(SINGLE_THREAD_P): Likewise.
2003-03-14 22:34:02 +00:00
Ulrich Drepper
5a03acfe37
Update.
...
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Fix asm syntax.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
* sysdeps/x86_64/tls.h (THREAD_SELF, THREAD_GETMEM, THREAD_GETMEM_NC,
THREAD_SETMEM, THREAD_SETMEM_NC): Correct asm syntax.
* allocatestack.c [! TLS_MULTIPLE_THREADS_IN_TCB] (allocate_stack):
Initialize *__libc_multiple_threads_ptr not __libc_multiple_threads.
* sysdeps/pthread/createthread.c [! TLS_MULTIPLE_THREADS_IN_TCB]
(create_thread): Likewise.
Define __pthread_multiple_threads and __libc_multiple_threads_ptr.
* init.c (__pthread_initialize_minimal_internal): Initialize
__libc_multiple_threads_ptr if necessary.
* pthreadP.h: Adjust prototype for __libc_pthread_init. Declare
__pthread_multiple_threads and __libc_multiple_threads_ptr.
* sysdeps/unix/sysv/linux/libc_pthread_init.c: Define
__libc_multiple_threads.
(__libc_pthread_init): Return pointer to __libc_pthread_init if
necessary.
* sysdeps/i386/tls.h (THREAD_SETMEM): Fix one-byte variant.
(THREAD_SETMEM_NC): Likewise.
* sysdeps/x86_64/pthread_spin_trylock.c: Removed.
* sysdeps/x86_64/pthread_spin_trylock.S: New file.
* sysdeps/x86_64/pthread_spin_unlock.c: Removed.
* sysdeps/x86_64/pthread_spin_unlock.S: New file.
* sysdeps/i386/i486/pthread_spin_trylock.S (pthread_spin_trylock):
Eliminate one entire instruction.
2003-03-12 05:45:00 +00:00
Ulrich Drepper
32a589b1ea
Update.
...
* cancellation.c (__pthread_enable_asynccancel_2): New function.
* pthreadP.h: Declare __pthread_enable_asynccancel_2.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Use __pthread_enable_asynccancel_2
instead of __pthread_enable_asynccancel.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
(__pthread_cond_wait): Likewise.
* sysdeps/pthread/pthread_cond_timedwait.c
(__pthread_cond_timedwait): Likewise.
* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Likewise.
2003-03-11 23:26:35 +00:00
Ulrich Drepper
3e976b962a
Update.
...
2003-03-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
(__condvar_cleanup): Wake up all waiters in case we got signaled
after being woken up but before disabling asynchronous
cancellation.
* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
(__condvar_cleanup): Likewise.
* init.c (__NR_set_tid_address): If already defined, don't redefine.
Make it an error if architecture has no #if case. Add x86-64.
* sysdeps/unix/sysv/linux/x86_64/Makefile: Add flags for
pt-initfini.s generation.
* sysdeps/x86_64/tls.h: Include <asm/prctl.h>.
(TLS_INIT_TP): Fix typo.
2003-03-11 22:02:29 +00:00
Ulrich Drepper
f006d3a007
Update.
...
* sysdeps/unix/sysv/linux/ia64/system.c: New file.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_CLONE_THREAD_FLAGS): Define for IA-64 and s390* with
kernel >= 2.5.64.
2003-03-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7.
2003-03-11 19:02:26 +00:00
Roland McGrath
b33e61633a
* sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): If CNT == 1,
...
allocate space even for the trailing '/'.
Reported by John Reiser <jreiser@BitWagon.com>.
* sysdeps/unix/sysv/linux/ia64/sysdep.h (LOAD_ARGS_6, ASM_ARGS_6,
ASM_CLOBBERS_6): Define.
(ASM_CLOBBERS_5): Use ASM_CLOBBERS_6.
* sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Reorder arguments
to match IA-32 order.
* sysdeps/unix/sysv/linux/i386/clone.S: Fix comment.
2003-03-11 09:30:37 +00:00
Roland McGrath
5d5d5969b1
2003-03-11 Jakub Jelinek <jakub@redhat.com>
...
* sysdeps/pthread/createthread.c (ARCH_CLONE): Define if not defined.
(create_thread): Only assert PD->tcb != NULL under [TLS_TCB_AT_TP].
Use ARCH_CLONE.
* allocatestack.c (ALLOCATE_STACK_PARMS): New macro.
[NEED_SEPARATE_REGISTER_STACK] (STACK_VARIABLES,
STACK_VARIABLES_ARGS, STACK_VARIABLES_PARMS, ALLOCATE_STACK_PARMS,
ALLOCATE_STACK): New macros.
(TLS_TPADJ): New macro.
(get_cached_stack, queue_stack, __deallocate_stack): Use TLS_TPADJ.
(allocate_stack): Handle TLS_DTV_AT_TP and
NEED_SEPARATE_REGISTER_STACK. Use TLS_TPADJ.
* pthread_create.c (__pthread_create_2_1) [! TLS_TCB_AT_TP]:
Don't set PD->self.
* init.c [__ia64__] (__NR_set_tid_address): Define.
2003-03-11 09:20:36 +00:00
Roland McGrath
d4f64e1ad7
2003-03-10 Roland McGrath <roland@redhat.com>
...
* allocatestack.c (allocate_stack) [!TLS_MULTIPLE_THREADS_IN_TCB]:
Instead of setting PD->multiple_threads, set globals
__pthread_multiple_threads and __libc_multiple_threads.
* sysdeps/pthread/createthread.c (create_thread): Likewise.
* sysdeps/i386/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define it.
* sysdeps/s390/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Likewise.
* descr.h (struct pthread): Conditionalize first member on
[!TLS_DTV_AT_TP]. Replace the `header' member with an anonymous union
containing an anonymous tcbhead_t. Move `list' member out.
[TLS_MULTIPLE_THREADS_IN_TCB]: Define a `multiple_threads' member.
* allocatestack.c: Remove use of `header.data.' prefix.
* pthread_create.c: Likewise.
* init.c (__pthread_initialize_minimal_internal): Likewise.
* sysdeps/pthread/createthread.c (create_thread): Likewise.
* sysdeps/i386/tls.h (INSTALL_DTV): Add parens.
(THREAD_SELF, THREAD_DTV, INSTALL_NEW_DTV): No `header.data.' prefix.
* sysdeps/x86_64/tls.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
(SINGLE_THREAD_P): Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
(SINGLE_THREAD_P): Likewise.
* sysdeps/i386/tls.h (tcbhead_t): Remove `list' member.
* sysdeps/s390/tls.h (tcbhead_t): Likewise.
2003-03-10 08:50:36 +00:00
Ulrich Drepper
181c92c2e6
Update.
2003-03-07 05:32:16 +00:00
Ulrich Drepper
6245b6ae6a
Update.
...
* pthread_attr_setstack.c: Moved to...
* sysdeps/pthread/pthread_attr_setstack.c: ...here. New file.
* pthread_attr_setstackaddr.c: Moved to...
* sysdeps/pthread/pthread_attr_setstackaddr.c: ...here. New file.
2003-03-04 21:28:14 +00:00
Ulrich Drepper
a05be180bc
Update.
...
* misc/Versions [libc:GLIBC_2.3.3]: Add remap_file_pages.
2003-03-04 19:20:26 +00:00
Ulrich Drepper
be095ffaf4
(pthread_rwlock_timedwrlock): Fix clobber of result variable by lll_futex_timed_wait call.
2003-03-03 21:26:07 +00:00
Ulrich Drepper
7ce5c1640c
Update.
...
2003-03-03 Martin Schwidefsky <schwidefsky@de.ibm.com>
* atomic.h (atomic_exchange_and_add): Return newval, not oldval.
* sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait):
Fix handling of cancellation and failing pthread_mutex_unlock call.
* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Likewise.
(__pthread_cond_wait): Likewise.
* sysdeps/pthread/pthread_rwlock_timedrdlock.c
(pthread_rwlock_timedrdlock): Fix clobber of result variable by
lll_futex_timed_wait call.
* sysdeps/pthread/pthread_rwlock_timedwrlock.c
(pthread_rwlock_timedwrlock): Likewise.
* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock):
Don't define lll_unlock_wake_cb and ___lll_timedwait_tid in libc.so.
* sysdeps/unix/sysv/linux/s390/lowlevellock.c: Remove XXX comments.
* sysdeps/unix/sysv/linux/s390/sem_post.c (__new_sem_post): Fix
check of lll_futex_wake return value.
2003-03-03 21:11:12 +00:00
Roland McGrath
ea6a015bd7
* sysdeps/ia64/dl-fptr.c (__ia64_make_fptr): Add const to MAP arg.
...
* sysdeps/ia64/dl-machine.h: Update decl.
2003-03-03 08:44:46 +00:00
Ulrich Drepper
5324b81cb3
(timer_create): Return correct error for CPU clocks.
2003-03-03 07:29:24 +00:00
Ulrich Drepper
d2637c7053
Update.
...
2003-02-24 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Fix
unwind info.
2003-02-27 10:32:38 +00:00
Ulrich Drepper
18a535792b
Update.
...
* sysdeps/pthread/pthread_rwlock_rdlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_timedwrlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_unlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise.
2003-02-24 09:23:15 +00:00
Ulrich Drepper
8c2e9a29b1
Update.
...
* pthreadP.h: Define INVALID_TD_P and INVALID_NOT_TERMINATED_TD_P.
* pthread_cancel.c: Use INVALID_TD_P.
* pthread_detach.c: Likewise.
* pthread_getschedparam.c: Likewise.
* pthread_setschedparam.c: Likewise.
* sysdeps/pthread/pthread_getcpuclockid.c: Likewise.
* sysdeps/unix/sysv/linux/pthread_kill.c: Likewise.
* pthread_join.c: Use INVALID_NOT_TERMINATED_TD_P.
* pthread_timedjoin.c: Likewise.
* tst-basic7.c: Include <signal.h>.
2003-02-21 10:00:33 +00:00