about summary refs log tree commit diff
path: root/nptl
Commit message (Collapse)AuthorAgeFilesLines
* * Makeconfig (sysd-rules-targets): New variable.Roland McGrath2008-02-011-4/+2
| | | | | * sysdeps/unix/make-syscalls.sh: Use it in the rules emitted. * sysdeps/unix/Makefile (omit-deps): Append variants for each target.
* * sysdeps/unix/sysv/linux/x86_64/sem_post.S (sem_post): AvoidUlrich Drepper2008-01-301-0/+5
| | | | unnecessary addr32 prefix.
* (sem_post): Avoid unnecessary addr32 prefix.Ulrich Drepper2008-01-301-1/+1
|
* * Makeconfig (sysd-rules-patterns): New variable.Roland McGrath2008-01-302-2/+10
| | | | | | | | | * Makerules ($(common-objpfx)sysd-rules): Drive the loop from that. (check-inhibit-asm): New canned sequence, replaces ... (open-check-inhibit-asm, close-check-inhibit-asm): ... these, removed. * elf/rtld-Rules ($(objpfx)rtld-%.os): Use $(rtld-CPPFLAGS) in commands. (rtld-CPPFLAGS): Renamed from CPPFLAGS-rtld. (CFLAGS-rtld): Variable removed.
* * sysdeps/i386/fpu/ftestexcept.c (fetestexcept): Use short for fnstsw.Ulrich Drepper2008-01-226-17/+62
|
* (XADD): Use a scratch register.Ulrich Drepper2008-01-221-5/+7
|
* * tst-eintr2.c (do_test): make sure that if mutex_lock in mainUlrich Drepper2008-01-152-2/+7
| | | | thread returns the program exits with an error code.
* * pthread-errnos.sym: Add EOVERFLOW.Ulrich Drepper2008-01-106-11/+92
| | | | | | | * sysdeps/unix/sysv/linux/structsem.sym: Add SEM_VALUE_MAX. * sysdeps/unix/sysv/linux/sem_post.c: Don't overflow value field. * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
* * sysdeps/x86_64/pthreaddef.h (ARCH_RETRY_MMAP): Take additionalUlrich Drepper2007-12-143-5/+11
| | | | | | parameter. Passed it as permission to mmap. * allocatestack.c (allocate_stack): Pass prot as second parameter to ARCH_RETRY_MMAP.
* .. cvs/fedora-glibc-20071212T1953Ulrich Drepper2007-12-122-0/+20
| | | | * tst-basic7.c: Allocate memory for the stack.
* [BZ #5463, BZ #5464] cvs/fedora-glibc-20071212T1051Ulrich Drepper2007-12-122-2/+3
| | | | | | | | | | | | | | | | | | | * iconvdata/hp-thai8.c: New file. * iconvdata/Makefile: Add rules for hp-thai8.c. * iconvdata/tst-tables.sh: Add entry for HP-THAI8. * iconvdata/gconv-modules: Likewise. [BZ #5464] * iconvdata/hp-greek8.c: New file. * iconvdata/Makefile: Add rules for hp-greek8.c. * iconvdata/tst-tables.sh: Add entry for HP-GREEK8. * iconvdata/gconv-modules: Likewise. [BZ #5463] * iconvdata/hp-turkish8.c: New file. * iconvdata/Makefile: Add rules for hp-turkish8.c. * iconvdata/tst-tables.sh: Add entry for HP-TURKISH8. * iconvdata/gconv-modules: Likewise.
* [BZ #5465]Ulrich Drepper2007-12-122-0/+8
| | | | | | | 2007-12-12 Ulrich Drepper <drepper@redhat.com> [BZ #5465] * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S [!SHARED] (__pthread_cond_timedwait): Don't use VDSO.
* [BZ #5441, BZ #5452, BZ #5454]Ulrich Drepper2007-12-072-0/+9
| | | | | | | | | | | | | | | | | | | | | | 2007-12-07 Ulrich Drepper <drepper@redhat.com> [BZ #5441] * stdio-common/vfscanf.c (_IO_vfwscanf): Don't free ptrs_to_free structure, it's allocated with alloca. * stdio-common/Makefile (tests): Add bug21. * stdio-common/bug21.c: New file. 2007-12-06 Aurelien Jarno <aurelien@aurel32.net> [BZ #5452] * sysdeps/unix/sysv/linux/bits/sched.h: Use __extension__ keyword for gcc's braced-groups. 2007-12-07 Ulrich Drepper <drepper@redhat.com> [BZ #5454] * inet/ether_line.c: Strip hostname of whitespaces. * inet/Makefile (tests): Add tst-ether_line. * inet/tst-ether_line.c: New file.
* * sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_timedlock_wait):Ulrich Drepper2007-12-052-28/+23
| | | | Store 2 before returning ETIMEDOUT.
* * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_timedlock_wait):Ulrich Drepper2007-11-244-105/+65
| | | | | | | | Store 2 before returning ETIMEDOUT. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise * sysdeps/unix/sysv/linux/lowlevellock.c: Likewise. (__lll_lock_wait_private): Optimize. (__lll_lock_wait): Likewise.
* * sysdeps/pthread/pthread.h (pthread_cleanup_push,Ulrich Drepper2007-11-202-2/+8
| | | | | pthread_cleanup_push_defer_np): Add extra (void *) cast to shut up g++ 4.1 and 4.2 -Wstrict-aliasing warnings.
* [BZ #5240]Ulrich Drepper2007-11-094-13/+29
| | | | | | | | * sysdeps/unix/sysv/linux/lowlevellock.c (__lll_timedlock_wait): If we time out, try one last time to lock the futex to avoid losing a wakeup signal. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
* [BZ #5245]Ulrich Drepper2007-11-082-3/+10
| | | | | | | 2007-11-08 Ulrich Drepper <drepper@redhat.com> [BZ #5245] * sysdeps/pthread/createthread.c (do_clone): Translate clone error if necessary.
* * sysdeps/x86_64/memset.S: Add sfence after movnti.Ulrich Drepper2007-11-084-1/+71
|
* * elf/rtld.c (dl_main): Use the page size to find the map start.Ulrich Drepper2007-11-062-2/+6
|
* * time/tzfile.c (__tzfile_read): Fix check for version 0 data files.Ulrich Drepper2007-11-063-6/+13
| | | | Patch by Szymon Siwek <sls@poczta.wp.pl>.
* [BZ #5204]Ulrich Drepper2007-10-285-13/+88
| | | | | * crypt/sha256c-test.c: Define TIMEOUT to 6 for ancient hardware. * crypt/sha512c-test.c: Likewise.
* [BZ #5040]Ulrich Drepper2007-10-281-0/+10
| | | | * sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLRDHUP): Add value.
* [BZ #5208]Ulrich Drepper2007-10-284-5/+42
| | | | | | | | 2007-10-23 Andreas Jaeger <aj@suse.de> [BZ #5208] * sysdeps/unix/sysv/linux/readahead.c (__readahead): Use __LONG_LONG_PAIR to handle little endian byte order. Suggested by abhishekrai@google.com
* * sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__old_sem_post): New Jakub Jelinek2007-10-172-1/+25
| | | | | | | | routine instead of an alias to __new_sem_post. 2007-10-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__old_sem_post): New routine instead of an alias to __new_sem_post.
* (__tzfile_read): Take extra memory requested by caller into account when ↵Ulrich Drepper2007-10-161-44/+38
| | | | | | | | | copying TZ string. 2007-10-16 Ulrich Drepper <drepper@redhat.com> * time/tzfile.c (__tzfile_read): Take extra memory requested by caller into account when copying TZ string.
* * init.c (__pthread_initialize_minimal): Initialize word to appease Jakub Jelinek2007-10-152-1/+6
| | | | | | | | valgrind. 2007-10-15 Jakub Jelinek <jakub@redhat.com> * init.c (__pthread_initialize_minimal): Initialize word to appease valgrind.
* * sysdeps/pthread/bits/libc-lock.h (__libc_rwlock_init): Inside ofUlrich Drepper2007-10-103-2/+28
| | | | | | | libc.so just clear NAME. (__libc_rwlock_fini): Nop inside of libc.so. * tst-initializers1.c (main): Test if PTHREAD_RWLOCK_INITIALIZER is all zeros.
* * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.SUlrich Drepper2007-09-022-1/+8
| | | | | | (__pthread_cond_wait): Fix unlocking of internal lock after mutex unlocking failed. Patch by Luca Barbieri <luca.barbieri@gmail.com>.
* [BZ #4938]Ulrich Drepper2007-08-214-1/+118
| | | | | | | | | 2007-08-21 Ulrich Drepper <drepper@redhat.com> [BZ #4938] * allocatestack.c (__reclaim_stacks): Clear the TSD in the reclaimed stack if necessary. * Makefile (tests): Add tst-tsd6. * tst-tsd6.c: New file.
* * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_robust_dead): Jakub Jelinek2007-08-212-2/+7
| | | | | | | | Add private argument. 2007-08-21 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_robust_dead): Add private argument.
* * csu/libc-start.c: Don't handle VDSO_SETUP here.Ulrich Drepper2007-08-202-1/+13
| | | | | | | | | * sysdeps/unix/sysv/linux/init-first.c: Handle it here instead. * sysdeps/unix/sysv/linux/x86_64/libc-start.c: Renamed to... * sysdeps/unix/sysv/linux/x86_64/init-first.c: ...this. New file. * sysdeps/unix/sysv/linux/powerpc/libc-start.c: Move VDSO_SETUP code to... * sysdeps/unix/sysv/linux/x86_64/init-first.c: ...here. New file.
* * sysdeps/unix/sysv/linux/alpha/lowlevellock.h Jakub Jelinek2007-08-162-2/+9
| | | | | | | | | | | | (__lll_robust_timedlock): Pass private as last argument to __lll_robust_timedlock_wait. (__lll_unlock): Fix a pasto. 2007-08-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (__lll_robust_timedlock): Pass private as last argument to __lll_robust_timedlock_wait. (__lll_unlock): Fix a pasto.
* * sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising cvs/fedora-glibc-20070815T2049Jakub Jelinek2007-08-1514-87/+623
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FE_UNDERFLOW on Niagara CPUs. * sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear all exceptions. * sysdeps/unix/sysv/linux/sparc/internaltypes.h (sparc_new_sem, sparc_old_sem): New structs. * sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c (__sem_wait_cleanup): New function. (__new_sem_wait): Use sparc_new_sem structure. Bump and afterwards decrease nwaiters. Register __sem_wait_cleanup as cleanup handler. Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to lll_futex_wait. (__old_sem_wait): New function. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c: Include nptl/sysdeps/unix/sysv/linux/sparc version. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c (__new_sem_trywait): Use sparc_old_sem structure. * sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c (sem_timedwait): Use sparc_new_sem structure. Bump and afterwards decrease nwaiters. Register __sem_wait_cleanup as cleanup handler. Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to lll_futex_timed_wait. * sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c (__new_sem_post): Use sparc_new_sem structure. Only wake if nwaiters > 0. Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to lll_futex_wake. (__old_sem_post): New function. * sysdeps/unix/sysv/linux/sparc/sem_wait.c: New file. * sysdeps/unix/sysv/linux/sparc/sem_init.c: New file. * sysdeps/unix/sysv/linux/sparc/sem_timedwait.c: New file. * sysdeps/unix/sysv/linux/sparc/sem_post.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_init.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c: Remove. 2007-08-15 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising FE_UNDERFLOW on Niagara CPUs. * sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear all exceptions.
* * sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.SUlrich Drepper2007-08-1510-42/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | (__pthread_cond_broadcast): Pass LLL_PRIVATE to lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. Don't use FUTEX_CMP_REQUEUE if dep_mutex is not process private. * sysdeps/unix/sysv/linux/shpthread_cond_signal.S (__pthread_cond_signal): Pass LLL_PRIVATE to lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. Use FUTEX_WAKE_OP. * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Include kernel-features.h and tcb-offsets.h. (__pthread_cond_wait, __condvar_w_cleanup): Pass LLL_PRIVATE to lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Include tcb-offsets.h. (__pthread_cond_timedwait, __condvar_tw_cleanup): Pass LLL_PRIVATE to lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. * sysdeps/unix/sysv/linux/sh/pthread_once.S: Use #ifdef __ASSUME_PRIVATE_FUTEX instead of #if __ASSUME_PRIVATE_FUTEX. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
* (__pthread_cond_broadcast): Pass LLL_PRIVATE to lll_* and or ↵Ulrich Drepper2007-08-151-4/+50
| | | | FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. Don't use FUTEX_CMP_REQUEUE if dep_mutex is not process private.
* * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): No Jakub Jelinek2007-08-143-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | need to check GLRO(dl_hwcap) & HWCAP_SPARC_FLUSH on sparcv9. (sparc_fixup_plt): Add do_flush argument instead of figuring whether flush should be used or not inside of the function. (elf_machine_fixup_plt, elf_machine_rela): Adjust caller. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone, __thread_start): Use HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone, __thread_start): Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h (JUMPTARGET): Define. nptl/ * sysdeps/unix/sysv/linux/lowlevellock.c: Comment fix. * sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c (__lll_timedwait_tid): Pass LLL_SHARED as 4th argument to lll_futex_timed_wait. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): No need to check GLRO(dl_hwcap) & HWCAP_SPARC_FLUSH on sparcv9. (sparc_fixup_plt): Add do_flush argument instead of figuring whether flush should be used or not inside of the function. (elf_machine_fixup_plt, elf_machine_rela): Adjust caller. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone, __thread_start): Use HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone, __thread_start): Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h (JUMPTARGET): Define.
* * sysdeps/ieee754/ldbl-64-128/strtold_l.c (__STRTOF): Declare. Jakub Jelinek2007-08-143-45/+50
| | | | | | | | | | | | | | | | | | | | Add libc_hidden_proto. (STRTOF): Add libc_hidden_proto. (___new_strtold_l, ___new_wcstold_l): New weak aliases. (strtold_l, wcstold_l): Use them as second argument for long_double_symbol. nptl/ * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (__lll_unlock, __lll_robust_unlock): Rewrite as macros instead of inline functions. * sysdeps/unix/sysv/linux/s390/lowlevellock.h (__lll_unlock, __lll_robust_unlock, __lll_wait_tid): Likewise. 2007-08-14 Jakub Jelinek <jakub@redhat.com> * sysdeps/ieee754/ldbl-64-128/strtold_l.c (__STRTOF): Declare. Add libc_hidden_proto. (STRTOF): Add libc_hidden_proto. (___new_strtold_l, ___new_wcstold_l): New weak aliases. (strtold_l, wcstold_l): Use them as second argument for long_double_symbol.
* * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PSELECT, cvs/fedora-glibc-20070814T0725 cvs/fedora-glibc-20070814T0643Ulrich Drepper2007-08-1413-76/+394
| | | | | | | | | | | | | | | | | | | | | | __ASSUME_PPOLL, __ASSUME_ATFCTS, __ASSUME_SET_ROBUST_LIST, __ASSUME_UTIMENSAT, __ASSUME_FALLOCATE): Update per-arch conditions when each feature was introduced. * sysdeps/unix/sysv/linux/dl-vdso.c: Don't include dl-hash.h. * sysdeps/unix/sysv/linux/dl-vdso.h: Don't include dl-hash.h if NDEBUG. (CHECK_HASH): New macro. (PREPARE_VERSION): Use it. * sysdeps/unix/sysv/linux/pselect.c (__generic_pselect): Only provide prototype if not __ASSUME_PSELECT. * sysdeps/unix/sysv/linux/ppoll.c (__generic_ppoll): Only provide prototype if not __ASSUME_PPOLL. * sysdeps/unix/sysv/linux/dl-osinfo.h (ROUND): #undef after use. * sysdeps/unix/clock_settime.c (freq, __pthread_clock_settime, hp_timing_settime): Don't define or declare if HANDLED_CPUTIME is defined.
* * sysdeps/unix/sysv/linux/i386/i786/Implies: New file.Ulrich Drepper2007-08-132-0/+6
|
* * sysdeps/unix/sysv/linux/x86_64/libc-start.cUlrich Drepper2007-08-131-0/+22
| | | | | | | (_libc_vdso_platform_setup): If vDSO is not available point __vdso_gettimeofday to the vsyscall. * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S [SHARED]: Use __vdso_gettimeofday instead of vsyscall.
* * nscd/servicescache.c: Include kernel-features.h.Ulrich Drepper2007-08-1317-0/+17
| | | | | | | | | | | | | * nscd/gai.c: Likewise. * sysdeps/unix/sysv/linux/statfs64.c: Likewise. * sysdeps/unix/sysv/linux/fstatfs64.c: Likewise. * sysdeps/unix/sysv/linux/fxstatat.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Likewise. * sysdeps/unix/sysv/linux/xstatconv.c: Likewise. * sysdeps/unix/sysv/linux/if_index.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c: Likewise. * sysdeps/unix/sysv/linux/ifaddrs.c: Likewise.
* * sysdeps/unix/sysv/linux/powerpc/libc-start.cUlrich Drepper2007-08-121-0/+24
|
* * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Include stddef.hUlrich Drepper2007-08-126-14/+50
| | | | with __need_size_t.
* * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: IncludeUlrich Drepper2007-08-121-0/+6
| | | | | <kernel-features.h>. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
* Include <kernel-features.h>.Ulrich Drepper2007-08-122-0/+4
|
* * pthreadP.h (PTHREAD_ROBUST_MUTEX_PSHARED): Define.Ulrich Drepper2007-08-1125-172/+421
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * pthread_mutex_lock.c: Use it instead of PTHREAD_MUTEX_PSHARED when dealing with robust mutexes. * pthread_mutex_timedlock.c: Likewise. * pthread_mutex_trylock.c: Likewise. * pthread_mutex_unlock.c: Likewise. * sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Likewise. 2007-08-06 Jakub Jelinek <jakub@redhat.com> * pthreadP.h (PTHREAD_MUTEX_PSHARED_BIT): Define. (PTHREAD_MUTEX_TYPE): Mask __kind with 127. (PTHREAD_MUTEX_PSHARED): Define. * pthread_mutex_init.c (__pthread_mutex_init): Set PTHREAD_MUTEX_PSHARED_BIT for pshared or robust mutexes. * pthread_mutex_lock.c (LLL_MUTEX_LOCK): Take mutex as argument instead of its __data.__lock field, pass PTHREAD_MUTEX_PSHARED as second argument to lll_lock. (LLL_MUTEX_TRYLOCK): Take mutex as argument instead of its __data.__lock field. (LLL_ROBUST_MUTEX_LOCK): Take mutex as argument instead of its __data.__lock field, pass PTHREAD_MUTEX_PSHARED as second argument to lll_robust_lock. (__pthread_mutex_lock): Update LLL_MUTEX_LOCK, LLL_MUTEX_TRYLOCK, LLL_ROBUST_MUTEX_LOCK users, use PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind directly, pass PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock and lll_futex_wait. * pthread_mutex_trylock.c (__pthread_mutex_trylock): Use PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind directly, pass PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock. (pthread_mutex_timedlock): Pass PTHREAD_MUTEX_PSHARED (mutex) to lll_timedlock, lll_robust_timedlock, lll_unlock and lll_futex_timed_wait. Use PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind directly. * pthread_mutex_timedlock.c (pthread_mutex_timedlock): Pass PTHREAD_MUTEX_PSHARED (mutex) to lll_timedlock, lll_robust_timedlock, lll_unlock and lll_futex_timed_wait. Use PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind directly. * pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Pass PTHREAD_MUTEX_PSHARED (mutex) to lll_unlock, lll_robust_unlock and lll_futex_wake. * pthread_mutex_setprioceiling.c (pthread_mutex_setprioceiling): Pass PTHREAD_MUTEX_PSHARED (mutex) to lll_futex_wait and lll_futex_wake. Use PTHREAD_MUTEX_TYPE (mutex) instead of mutex->__data.__kind directly. * sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c (LLL_MUTEX_LOCK): Take mutex as argument instead of its __data.__lock field, pass PTHREAD_MUTEX_PSHARED as second argument to lll_cond_lock. (LLL_MUTEX_TRYLOCK): Take mutex as argument instead of its __data.__lock field. (LLL_ROBUST_MUTEX_LOCK): Take mutex as argument instead of its __data.__lock field, pass PTHREAD_MUTEX_PSHARED as second argument to lll_robust_cond_lock. * pthread_cond_broadcast.c (__pthread_cond_broadcast): Add pshared variable, pass it to lll_lock, lll_unlock, lll_futex_requeue and lll_futex_wake. Don't use lll_futex_requeue if dependent mutex has PTHREAD_MUTEX_PSHARED_BIT bit set in its __data.__kind. * pthread_cond_destroy.c (__pthread_cond_destroy): Add pshared variable, pass it to lll_lock, lll_unlock, lll_futex_wake and lll_futex_wait. * pthread_cond_signal.c (__pthread_cond_signal): Add pshared variable, pass it to lll_lock, lll_unlock, lll_futex_wake_unlock and lll_futex_wake. * pthread_cond_timedwait.c (__pthread_cond_wait): Add pshared variable, pass it to lll_lock, lll_unlock, lll_futex_timedwait and lll_futex_wake. * pthread_cond_wait.c (__condvar_cleanup, __pthread_cond_wait): Add pshared variable, pass it to lll_lock, lll_unlock, lll_futex_wait and lll_futex_wake. * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_futex_requeue, lll_futex_wake_unlock): Add private argument, use __lll_private_flag macro. * sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue, lll_futex_wake_unlock): Likewise. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (lll_futex_requeue): Likewise. * sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_futex_requeue, lll_futex_wake_unlock): Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_futex_requeue): Likewise. * sysdeps/unix/sysv/linux/s390/lowlevellock.h (lll_futex_requeue, lll_futex_wake_unlock): Likewise. (lll_futex_wake): Fix a typo. * sysdeps/unix/sysv/linux/pthread-pi-defines.sym (PS_BIT): Add. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S (__pthread_cond_broadcast): Pass LLL_PRIVATE to lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. Don't use FUTEX_CMP_REQUEUE if dep_mutex is not process private. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S (__pthread_cond_signal): Pass LLL_PRIVATE to lll_* and or FUTEX_PRIVATE_FLAG into SYS_futex op if cv is process private. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S (__pthread_cond_timedwait): Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: (__condvar_cleanup, __pthread_cond_wait): Likewise.
* * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO): Jakub Jelinek2007-08-052-20/+11
| | | | | | | | | | | | | Don't use CGOTSETUP and CGOTRESTORE macros. (CGOTSETUP, CGOTRESTORE): Remove. <IS_IN_rtld> (CENABLE, CDISABLE): Don't use JUMPTARGET, branch to @local symbol. * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket): Don't use CGOTSETUP and CGOTRESTORE macros. 2007-08-05 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket): Don't use CGOTSETUP and CGOTRESTORE macros.
* * sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_init.c: Jakub Jelinek2007-08-042-63/+0
| | | | | | Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_init.c: Remove.
* * stdlib/strtod_l.c (____STRTOF_INTERNAL): Properly handle -0.Ulrich Drepper2007-08-031-0/+118
| | | | | | * stdlib/Makefile (tests): Add tst-strtod5. (tst-strtod5-ENV): New. * stdlib/tst-strtod5.c: New file.