summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
AgeCommit message (Collapse)Author
2006-09-10Updated to fedora-glibc-20060910T1832cvs/fedora-glibc-2_4_90-31Jakub Jelinek
2004-09-02[BZ #357]Ulrich Drepper
Update. 2004-09-02 Steven Munroe <sjmunroe@us.ibm.com> [BZ #357] * stdlib/tst-setcontext.c (test_stack): Added test for stack clobber. (main): Call test_stack. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S (__getcontext): Push stack frame then save parms in local frame. Improve instruction scheduling. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S (__swapcontext): Likewise.
2004-06-03Update.Ulrich Drepper
2004-06-03 Ulrich Drepper <drepper@redhat.com> * sysdeps/i386/i486/bits/atomic.h: Optimize a bit.
2004-05-18[BZ #163]Ulrich Drepper
Update. 2004-05-18 Petter Reinholdtsen <pere@hungry.com> * locales/sl_SI [LC_TIME]: Correct d_fmt date format from '22.06.2003' to '22. 06. 2003'. Change requested from Aleks Reinhardt, and approved by the locale author Borka Jerman-Blazic. [BZ #163]
2004-05-17Update.Ulrich Drepper
2004-05-16 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Correct some unwind info. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Parametrize frame size. Correct some unwind info. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
2004-03-01Update.Ulrich Drepper
2004-03-01 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S (__pthread_cond_timedwait): Optimize wakeup test. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S (__pthread_cond_wait): Likewise. * sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Likewise. * sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait): Likewise.
2003-11-21Update.Ulrich Drepper
* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Don't store mutex address if the current value is ~0l. * sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait): Likewise. * sysdeps/pthread/pthread_cond_broadcast.c (__pthread_cond_broadcast): Don't use requeue for pshared condvars. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S (__pthread_cond_wait): Don't store mutex address if the current value is ~0l. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S (__pthread_cond_timedwait): Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S (__pthread_cond_broadcast): Don't use requeue for pshared condvars. * pthread_cond_init.c (__pthread_cond_init): Initialize __mutex element with ~0l for pshared condvars, with NULL otherwise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S (__pthread_cond_wait): Don't store mutex address if the current value is ~0l. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S (__pthread_cond_timedwait): Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S (__pthread_cond_broadcast): Don't use requeue for pshared condvars.
2003-09-22Update.Ulrich Drepper
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Removed. * sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Adjust for new mutex implementation. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: 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_unlock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: Likewise * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.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_unlock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise. Don't use requeue. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
2003-09-21Update.Ulrich Drepper
2003-09-21 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Completely revamp the locking macros. No distinction between normal and mutex locking anymore. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Rewrite mutex locking. Merge bits from lowlevelmutex.S we still need. * sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Removed. * Makefile (routines): Remove libc-lowlevelmutex. (libpthread-rountines): Remove lowlevelmutex. * pthread_barrier_wait.S: Adjust for new mutex implementation. * pthread_cond_broadcast.S: Likewise. * pthread_cond_timedwait.S: Likewise. * pthread_cond_wait.S: Likewise. * pthread_rwlock_rdlock.S: Likewise. * pthread_rwlock_timedrdlock.S: Likewise. * pthread_rwlock_timedwrlock.S: Likewise. * pthread_rwlock_unlock.S: Likewise. * pthread_rwlock_wrlock.S: Likewise. * pthread_cond_signal.S: Likewise. Don't use requeue.
2003-06-27Update.Ulrich Drepper
2003-06-26 Ulrich Drepper <drepper@redhat.com> * sysdeps/pthread/librt-cancellation.c: Move __pthread_unwind definition to the front. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Rename the cleanup functions to make the names unique. Fix dwarf opcode un unwind table. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Rename cleanup functions to make the names unique. Fix CFA offset for two blocks.
2003-06-24Update.Ulrich Drepper
* sysdeps/pthread/aio_misc.h: Mark __aio_requests_mutex, __aio_enqueue_request, __aio_find_req, __aio_find_req_fd, __aio_free_request, __aio_notify, and __aio_sigqueue as hidden. * sysdeps/pthread/aio_suspend.c (aio_suspend): Set errno to the result of pthread_cond_wait if there was an error. Use pthread_cleanup_* instead of __lbic_cleanup_region_*.
2003-06-22Update.Ulrich Drepper
2003-06-22 Ulrich Drepper <drepper@redhat.com> * pthreadP.h (__pthread_mutex_init_internal): Mark hidden. (__pthread_mutex_lock_internal): Likewise. (__pthread_mutex_unlock_internal): Likewise. (__pthread_mutex_unlock_usercnt): Declare. * pthread_mutex_destroy.c: Always fail if used in any way. * pthread_mutex_init.c: Update comment. * pthread_mutex_lock.c: If NO_INCR is not defined adjust __nusers. * pthread_mutex_timedlock.c: Adjust __nusers. * pthread_mutex_trylock.c: Adjust __nusers. * pthread_mutex_unlock.c: Old code is in __pthread_mutex_unlock_usercnt and public interfaces are wrapper with pass additional parameter. __pthread_mutex_unlock_usercnt does not adjust __nusers if second parameter zero. * tst-mutex8.c: New file. * Makefile (tests): Add tst-mutex8. * sysdeps/pthread/pthread_cond_timedwait.c: Call __pthread_mutex_unlock_usercnt. * sysdeps/pthread/pthread_cond_wait.c: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise. * sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Define NO_INCR. * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t): Add __nusers. * 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/x86_64/bits/pthreadtypes.h: Likewise. * pthread_mutex_lock.c: Don't store THREAD_ID in __owner, use TID. * pthread_mutex_timedlock.c: Likewise. * pthread_mutex_trylock.c: Adjust __nusers. * pthread_mutex_unlock.c: Compare with TID not THREAD_ID. * tst-mutex9.c: New file. * Makefile (tests): Add tst-mutex9. * sysdeps/i386/tls.h: Remove THREAD_ID definition. * 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. * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t): Change type of __owner. * 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/x86_64/bits/pthreadtypes.h: Likewise.
2003-05-26Update.Ulrich Drepper
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-04-14Update.Ulrich Drepper
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Don't
2003-04-14Update.Ulrich Drepper
2003-04-14 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Don't overflow CFA advance instructions. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
2003-04-14Update.Ulrich Drepper
2003-04-14 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Use DW_CFA_advance_loc2 for .Laddl-.Lsubl. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Use DW_CFA_advance_loc for .Laddl-.Lsubl. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Don't use position-independent unwind data for static libraries. Add missing unwind info. Add comments.
2003-04-14Update.Ulrich Drepper
2003-04-14 Ulrich Drepper <drepper@redhat.com> * string/strxfrm.c (STRXFRM): Terminate rulearr at correct position. Reported by jreiser@BitWagon.com.
2003-04-13Update.Ulrich Drepper
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Add unwind info. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
2003-04-13Update.Ulrich Drepper
2003-04-13 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Add unwind info. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise. * Makefile: Make sure all cancellation points are compiled with exception and asynchronous unwind tables.
2003-03-18Reorder struct passed to cleanup handler to eliminate one more instruction.Ulrich Drepper
2003-03-18Update.Ulrich Drepper
* 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-17Update.Ulrich Drepper
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-11Update.Ulrich Drepper
* 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-11Update.Ulrich Drepper
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-08Update.Ulrich Drepper
* 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-02Typo in comment.Ulrich Drepper
2003-03-02Update.Ulrich Drepper
* 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-02-14Update.Ulrich Drepper
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Fix handling of cancellation and failung pthread_mutex_unlock call. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise. * Makefile (tests): Add tst-cond8 and tst-cond9. * tst-cond8.c: New file. * tst-cond9.c: New file.
2003-02-06Update.Ulrich Drepper
2003-02-06 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Remove wrong but inactive generalization. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise. Minor optimization, remove one instruction. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise.
2003-01-28Update.Ulrich Drepper
* Makefile (libpthread-routines): Remove lowlevelcond and lowlevelsem. Add sem_wait, sem_trywait, sem_timedwait, sem_post, pthread_cond_wait, pthread_cond_timedwait, pthread_cond_signal, and pthread_cond_broadcast. * sysdeps/unix/sysv/linux/i486/lowlevelsem.S: Removed * sysdeps/unix/sysv/linux/i486/lowlevelcond.S: Removed * sysdeps/unix/sysv/linux/i586/lowlevelsem.S: Removed * sysdeps/unix/sysv/linux/i586/lowlevelcond.S: Removed * sysdeps/unix/sysv/linux/i686/lowlevelsem.S: Removed * sysdeps/unix/sysv/linux/i686/lowlevelcond.S: Removed * sysdeps/unix/sysv/linux/i486/sem_wait.S: New file. * sysdeps/unix/sysv/linux/i486/sem_trywait.S: New file. * sysdeps/unix/sysv/linux/i486/sem_timedwait.S: New file. * sysdeps/unix/sysv/linux/i486/sem_post.S: New file. * sysdeps/unix/sysv/linux/i486/pthread_cond_wait.S: New file. * sysdeps/unix/sysv/linux/i486/pthread_cond_timedwait.S: New file. * sysdeps/unix/sysv/linux/i486/pthread_cond_signal.S: New file. * sysdeps/unix/sysv/linux/i486/pthread_cond_broadcast.S: New file. * sysdeps/unix/sysv/linux/i586/sem_wait.S: New file. * sysdeps/unix/sysv/linux/i586/sem_trywait.S: New file. * sysdeps/unix/sysv/linux/i586/sem_timedwait.S: New file. * sysdeps/unix/sysv/linux/i586/sem_post.S: New file. * sysdeps/unix/sysv/linux/i586/pthread_cond_wait.S: New file. * sysdeps/unix/sysv/linux/i586/pthread_cond_timedwait.S: New file. * sysdeps/unix/sysv/linux/i586/pthread_cond_signal.S: New file. * sysdeps/unix/sysv/linux/i586/pthread_cond_broadcast.S: New file. * sysdeps/unix/sysv/linux/i686/sem_wait.S: New file. * sysdeps/unix/sysv/linux/i686/sem_trywait.S: New file. * sysdeps/unix/sysv/linux/i686/sem_timedwait.S: New file. * sysdeps/unix/sysv/linux/i686/sem_post.S: New file. * sysdeps/unix/sysv/linux/i686/pthread_cond_wait.S: New file. * sysdeps/unix/sysv/linux/i686/pthread_cond_timedwait.S: New file. * sysdeps/unix/sysv/linux/i686/pthread_cond_signal.S: New file. * sysdeps/unix/sysv/linux/i686/pthread_cond_broadcast.S: New file.