summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv
AgeCommit message (Collapse)AuthorFilesLines
2003-03-11pthread_cond_signal implementation for Linux/x86-64.Ulrich Drepper2-0/+202
2003-03-11Update.Ulrich Drepper5-2/+350
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: New file. * sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: New file. * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: New file. * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: New file. * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Fix error value in unused code.
2003-03-11Update.Ulrich Drepper3-12/+130
* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: New file * sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Likewise.
2003-03-11Update.Ulrich Drepper2-1/+12
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add lowlevelbarrier.sym. * sysdeps/unix/sysv/linux/lowlevelbarrier.sym: New file. * sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Include lowlevelbarrier.h and don't define offsets locally.
2003-03-11Update.Ulrich Drepper4-9/+203
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_mutex_lock_wait): Reverse order of first two parameters. (__lll_mutex_timedlock_wait): Likewise. (lll_mutex_lock): Adjust asm for that. (lll_mutex_timedlock): Likewise. Mark cx, cc, r10 as clobbered. (lll_lock): Adjust asm for operand order change. * sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: New file. * sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: New file.
2003-03-11Update.Ulrich Drepper3-2/+200
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_lock_wait): Reverse order of parameters. (__lll_timedwait_tid): Remove regparms attribute. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: New file. * sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: New file.
2003-03-11Update.Ulrich Drepper1-3/+1
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S (__lll_timedwait_tid): Remove one unnecessary instruction.
2003-03-10Update.Ulrich Drepper4-342/+8
* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: Define __lll_mutex_timedlock_wait only for NOT_IN_libc. * sysdeps/unix/sysv/linux/sh/libc-lowlevelmutex.S: Include lowlevelmutex.S. * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define lll_unlock_wake_cb, __lll_wait_tid, and __lll_timedwait_tid only for NOT_IN_libc. * sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Include lowlevellock.S.
2003-03-10Update.Ulrich Drepper2-72/+15
* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Don't define LOCK is already defined. Don't define __lll_mutex_timedlock_wait for libc.so. * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Only define LOCK here (if UP is not defined). The actual code is in lowlevelmutex.S.
2003-03-10Update.Ulrich Drepper2-71/+18
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Don't define LOCK is already defined. Don't define lll_unlock_wake_cb and __lll_timedwait_tid for libc.so. * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Only define LOCK here (if UP is not defined). The actual code is in lowlevellock.S.
2003-03-10Update.Ulrich Drepper2-56/+0
* sysdeps/unix/sysv/linux/sh/lowlevelrwlock.h: Removed.
2003-03-10Update.Ulrich Drepper5-81/+10
* sysdeps/unix/sysv/linux/s390/lowlevelsem.h: Likewise. * sysdeps/unix/sysv/linux/s390/sem_post.c: Include lowlevellock.h instead of lowlevelsem.h. * sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Likewise. * sysdeps/unix/sysv/linux/s390/sem_trywait.c: Likewise. * sysdeps/unix/sysv/linux/s390/sem_wait.c: Likewise.
2003-03-10Not needed at all.Ulrich Drepper1-116/+0
2003-03-10Update.Ulrich Drepper2-1/+15
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add lowlevelrwlock.sym. * sysdeps/unix/sysv/linux/lowlevelrwlock.sym: New file. * sysdeps/unix/sysv/linux/i386/lowlevelrwlock.h: Removed.
2003-03-10Update.Ulrich Drepper1-2/+2
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_trylock): Fix register loading. * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_trylock): Undo last changed. D'oh.
2003-03-10(lll_trylock): Undo last changed. D'oh.Ulrich Drepper1-2/+2
2003-03-10Lowlevel lock definitions for x86-64/Linux.Ulrich Drepper1-0/+293
2003-03-10(lll_trylock): Initialize %eax to zero.Ulrich Drepper1-1/+1
2003-03-10Remove declaration of __libc_locking_needed.Ulrich Drepper1-3/+0
2003-03-10(lll_trylock): Initialize %eax to zero.Ulrich Drepper1-1/+1
2003-03-102003-03-10 Roland McGrath <roland@redhat.com>Roland McGrath2-5/+3
* 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-102003-03-10 Roland McGrath <roland@redhat.com>Roland McGrath5-70/+12
* sysdeps/unix/sysv/linux/lowlevelcond.sym: New file. * sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add it. * sysdeps/unix/sysv/linux/sh/lowlevelcond.h: File removed. * sysdeps/unix/sysv/linux/i386/lowlevelcond.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevelcond.h: Likewise.
2003-03-10Definitions for condvar implementation on Linux/x86-64.Ulrich Drepper2-4/+28
2003-03-10Update.Ulrich Drepper1-0/+115
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: New file.
2003-03-10Update.Ulrich Drepper3-26/+51
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Fix many leftovers from the ia32 code. * sysdeps/unix/sysv/linux/i386/pthread_once.S: Remove unneccessary memory load. (clear_once_control): Don't load %esi. * sysdeps/x86_64/tls.h: Remove all traces of segment descriptor handling. * sysdeps/unix/sysv/linux/x86_64/fork.c: New file.
2003-03-10Update.Ulrich Drepper1-0/+0
* sysdeps/unix/sysv/linux/s390/createthread.c: Moved to... * sysdeps/unix/sysv/linux/createthread.c: ...here.
2003-03-08Update.Ulrich Drepper17-78/+78
* tst-tls2.c (do_test): Add TEMP_FAILURE_RETRY around sem_wait call. * tst-signal3.c (do_test): Likewise. * tst-sem5.c (do_test): Likewise. * tst-kill6.c (do_test): Likewise. * tst-tls3.c (do_test): Likewise. Include <errno.h>. * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Use add/sub instead of inc/dec. * sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Likewise. * sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
2003-03-07Update.Ulrich Drepper5-71/+3
* sysdeps/i386/i486/bits/atomic.h: Fix a few unused definitions. * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove all trace of lll_wake_tid. This was used only to work around kernel limits in the early days. * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
2003-03-07Update.Ulrich Drepper2-61/+0
2003-03-04Update.Ulrich Drepper3-0/+65
2003-03-04 Jakub Jelinek <jakub@redhat.com> * sysdeps/ia64/fpu/libm-test-ulps: Regenerated.
2003-03-04Update.Ulrich Drepper1-37/+0
* sysdeps/unix/sysv/linux/s390/dl-sysdep.h: Removed. The generic version is just fine.
2003-03-03Update.Ulrich Drepper2-5/+11
2003-03-03 Ulrich Drepper <drepper@redhat.com> * include/sched.h (__clone2): Use ... instead of adding all the new parameters.
2003-03-03Update.Ulrich Drepper3-5/+24
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* sysdeps/ia64/dl-fptr.c (__ia64_make_fptr): Add const to MAP arg.Roland McGrath1-2/+2
* sysdeps/ia64/dl-machine.h: Update decl.
2003-03-03Update.Ulrich Drepper2-0/+6
* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
2003-03-02Typo in comment.Ulrich Drepper1-1/+1
2003-03-02Update.Ulrich Drepper2-8/+4
* sysdeps/i386/tcb-offsets.sym: Add CLEANUP and CLEANUP_PREV. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Inline __pthread_cleanup_pop functionality. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
2003-03-01Update.Ulrich Drepper9-197/+19
2003-03-01 Ulrich Drepper <drepper@redhat.com> * descr.h (struct pthread): Move tid field to the front now that it is often used. * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S (__lll_mutex_timedlock_wait): Remove. (__lll_mutex_unlock_wake): Don't save, load, and restore %esi. * sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S (__lll_mutex_unlock_wake): Don't save, load, and restore %esi. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S (lll_unlock_wake_cb): Don't save and restore %esi. (__lll_unlock_wake): Add alignment. Don't save, load, and restore %esi. (__lll_timedwait_tid): Add alignment. * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S (__lll_unlock_wake): Add alignment. Don't save, load, and restore %esi. (__lll_timedwait_tid): Removed. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S (__pthread_cond_broadcast): Don't save, load, and restore %esi. * sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S (pthread_barrier_wait): Don't save, load, and restore %esi for last thread. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S (__pthread_cond_signal): Don't save, load, and restore %esi. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S (__pthread_rwlock_unlock): Don't save, load, and restore %esi. * sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__new_sem_post): Don't save, load, and restore %esi.
2003-02-28Update.Ulrich Drepper1-1/+3
2003-02-27Update.Ulrich Drepper1-3/+18
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Release lock before waking up the waiters.
2003-02-27Update.Ulrich Drepper1-1/+25
2003-02-24 David Mosberger <davidm@hpl.hp.com> * sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Fix unwind info.
2003-02-24Update.Ulrich Drepper5-57/+144
* 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-23Update.Ulrich Drepper1-1/+13
* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Shave off 3 more bytes by using offset-less instructions when possible.
2003-02-21Update.Ulrich Drepper1-0/+4
* pthread_cancel.c (pthread_cancel): Use tkill directly. * sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill): Disallow sending SIGCANCEL. tst-kill3, tst-kill4, tst-kill5. * tst-kill1.c: New file. * tst-kill2.c: New file. * tst-kill3.c: New file. * tst-kill5.c: New file. * tst-basic7.c: Renamed to... * tst-kill4.c: ...this.
2003-02-21Update.Ulrich Drepper1-5/+5
* 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-18Update.Ulrich Drepper1-3/+4
2003-02-18 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Recognize invalid file descriptors and missing access permissions.
2003-02-18Update.Ulrich Drepper2-10/+1
* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Remnove _POSIX_THREAD_PRIORITY_SCHEDULING. * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Remove _XOPEN_REALTIME_THREADS. * sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise. * sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill): The kernel returns EINVAL for PID <= 0, work around it.
2003-02-18Update.Ulrich Drepper1-1/+5
2003-02-17 Ulrich Drepper <drepper@redhat.com> * sysdeps/posix/sysconf.c (__sysconf): Test for LOGIN_NAME_MAX and TTY_NAME_MAX and not the _POSIX_* minimal value macros. * sysdeps/unix/sysv/linux/bits/local_lim.h: Define TTY_NAME_MAX and LOGIN_NAME_MAX.
2003-02-17Update.Ulrich Drepper1-1/+7
* sysdeps/unix/sysv/linux/bits/local_lim.h: Define TTY_NAME_MAX and LOGIN_NAME_MAX.
2003-02-16Update.Ulrich Drepper3-5/+20
* tst-rwlock6.c: More pthread_rwlock_timedwrlock and pthread_rwlock_timedrdlock tests. * tst-rwlock7.c: More pthread_rwlock_timedwrlock tests. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S: Check for invalid tv_nsec field. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S: Likewise. * pthread_mutex_trylock.c (__pthread_mutex_trylock): Protect recursive mutex of overflow. * tst-attr1.c (do_test): Add test for pthread_mutexattr_setpshared.