about summary refs log tree commit diff
path: root/nptl
Commit message (Collapse)AuthorAgeFilesLines
* * iconvdata/gbk.c (BODY): Make buf and cp char instead of unsignedUlrich Drepper2007-07-2829-228/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | char array resp. pointer. * iconvdata/iso-2022-kr.c (BODY): Make buf unsigned char instead of char array. * iconvdata/cns11643.h (cns11643_to_ucs4): Change first argument to const unsigned char **. (ucs4_to_cns11643): Change second argument to unsigned char *. * iconvdata/euc-tw.c (BODY): Change endp type to const unsigned char *. * iconvdata/iso-ir-165.h (ucs4_to_isoir165): Change second argument to unsigned char *. * iconvdata/ibm1008_420.c (LOOP_NEED_FLAGS): Don't define. * iconvdata/iso-2022-cn.c (BODY): Change buf to unsigned char array. * iconvdata/iso-2022-cn-ext.c (BODY): Change buf, tmpbuf, tmp types to unsigned char pointers/arrays instead of char. * iconvdata/jis0201.h (ucs4_to_jisx0201): Change second argument to unsigned char *. * iconvdata/jis0208.h (ucs4_to_jisx0208): Likewise. * iconvdata/jis0212.h: Include assert.h. (ucs4_to_jisx0212): Change second argument to unsigned char *. assert that if cp[0] is not '\0', cp[1] is not '\0' either instead of trying to handle that. * iconvdata/euc-kr.c (euckr_from_ucs4): Initialize also cp[1] to shut up a warning. * iconvdata/euc-jp-ms.c (from_ucs4_lat1, from_ucs4_greek, from_ucs4_cjk, from_ucs4_cjkcpt, from_ucs4_extra): Change type to two dimensional const unsigned char arrays. (BODY): Cast "" to (const unsigned char *) for assignment to cp. Initialize endp to inptr to shut up a warning.
* 2007-07-27 Jakub Jelinek <jakub@redhat.com>Jakub Jelinek2007-07-272-0/+15
| | | | | | | | | | | | | | | | | * sysdeps/sparc/tls.h (tcbhead_t): Move gscope_flag to the end of the structure for sparc32. 2007-07-26 Aurelien Jarno <aurelien@aurel32.net> * sysdeps/sparc/tls.h (tcbhead_t): Add gscope_flag. 2007-07-27 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/tls.h (tcbhead_t): Move gscope_flag to the end of the structure for sparc32. 2007-07-26 Aurelien Jarno <aurelien@aurel32.net> * sysdeps/sparc/tls.h (tcbhead_t): Add gscope_flag.
* * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: FixUlrich Drepper2007-07-243-2/+9
| | | | | | code used when private futexes are assumed. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S: Likewise.
* * sysdeps/unix/sysv/linux/powerpc/lowlevellock.hUlrich Drepper2007-07-243-126/+90
| | | | | | | | | | | | | | | | (__lll_private_flag): Define. (lll_futex_wait): Define as a wrapper around lll_futex_timed_wait. (lll_futex_timed_wait, lll_futex_wake, lll_futex_wake_unlock): Use __lll_private_flag. (lll_private_futex_wait, lll_private_futex_timedwait, lll_private_futex_wake): Define as wrapper around non-_private macros. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_private_flag): Define. (lll_futex_timed_wait, lll_futex_wake): Use __lll_private_flag. (lll_private_futex_wait, lll_private_futex_timedwait, lll_private_futex_wake): Define as wrapper around non-_private macros.
* * pthread_rwlock_rdlock.c (__pthread_rwlock_rdlock): Add LLL_SHAREDUlrich Drepper2007-07-236-22/+111
| | | | | | | | | | | | | | | | | | | | | | | parameter to lll_futex_wait call. * pthread_rwlock_wrlock.c (__pthread_rwlock_wrlock): Likewise. * sysdeps/unix/sysv/linux/powerpc/pthread_once.c (__pthread_once): Replace lll_futex_wait with lll_private_futex_wait. * sysdeps/unix/sysv/linux/powerpc/sem_post.c (__new_sem_post): Add LLL_SHARED parameter to lll_futex_wake(). * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Define LLL_PRIVATE LLL_SHARED, lll_private_futex_wait, lll_private_futex_timed_wait and lll_private_futex_wake. (lll_futex_wait): Add private parameter. Adjust FUTEX_PRIVATE_FLAG bit from private parm before syscall. (lll_futex_timed_wait): Likewise. (lll_futex_wake): Likewise. (lll_futex_wake_unlock): Likewise. (lll_mutex_unlock): Add LLL_SHARED parm to lll_futex_wake call. (lll_robust_mutex_unlock): Likewise. (lll_mutex_unlock_force): Likewise. (lll_wait_tid): Add LLL_SHARED parm to lll_futex_wait call.
* * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: FixUlrich Drepper2007-07-231-0/+10
| | | | | | | | | compilation when unconditionally using private futexes. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.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.
* Fix compilation when unconditionally using private futexes.Ulrich Drepper2007-07-235-5/+13
|
* * include/features.h (__USE_ISOC95): New define.Ulrich Drepper2007-07-191-0/+5
| | | | | | | * wcsmbs/wchar.h (fwprintf, fwscanf, wprintf, wscanf, swprintf, swscanf, vfwprintf, vwprintf, vswprintf, fwide): Define even for -std=iso9899:199409. * CONFORMANCE: Remove comments about unsupported AMD1.
* * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): New function.Ulrich Drepper2007-07-191-2/+8
| | | | | | | | | | | | | | | * debug/vfwprintf_chk.c (__vfwprintf_chk): Use _IO_acquire_lock_clear_flags2 instead of _IO_acquire_lock. * debug/vprintf_chk.c (__vprintf_chk): Likewise. * debug/vwprintf_chk.c (__vwprintf_chk): Likewise. * debug/vfprintf_chk.c (__vfprintf_chk): Likewise. * debug/fwprintf_chk.c (__fwprintf_chk): Likewise. * debug/printf_chk.c (__printf_chk): Likewise. * debug/fprintf_chk.c (__fprintf_chk): Likewise. * debug/wprintf_chk.c (__wprintf_chk): Likewise. * sysdeps/pthread/bits/stdio-lock.h (_IO_acquire_lock_clear_flags2): Define.
* * sysdeps/sh/tls.h: Include stdlib.h, list.h, sysdep.h andUlrich Drepper2007-07-071-0/+5
| | | | kernel-features.h.
* Include stdlib.h, list.h, sysdep.h and kernel-features.h.Ulrich Drepper2007-07-071-0/+4
|
* * init.c (__nptl_initial_report_events): New variable.Roland McGrath2007-06-261-0/+6
| | | | | (__pthread_initialize_minimal_internal): Initialize pd->report_events to that.
* 2007-05-16 Roland McGrath <roland@redhat.com>Roland McGrath2007-06-261-0/+6
| | | | | | * init.c (__nptl_initial_report_events): New variable. (__pthread_initialize_minimal_internal): Initialize pd->report_events to that.
* (pthread_getattr_np): Clear cpuset and cpusetsize if pthread_getaffinity_np ↵Ulrich Drepper2007-06-221-2/+6
| | | | failed with ENOSYS.
* * pthread_getattr_np.c (pthread_getattr_np): Clear cpuset andUlrich Drepper2007-06-221-0/+5
| | | | cpusetsize if pthread_getaffinity_np failed with ENOSYS.
* * elf/dl-close.c (free_mem): Free _dl_scope_free_list.Ulrich Drepper2007-06-202-109/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-06-13 Jakub Jelinek <jakub@redhat.com> * include/link.h: Don't include rtld-lowlevel.h. (struct link_map): Remove l_scope_lock. * sysdeps/generic/ldsodefs.h: Don't include rtld-lowlevel.h. (_dl_scope_free_list): New field (variable) in _rtld_global. (DL_LOOKUP_SCOPE_LOCK): Remove. (_dl_scope_free): New prototype. * elf/dl-runtime.c (_dl_fixup): Don't use __rtld_mrlock_*lock. Don't pass DL_LOOKUP_SCOPE_LOCK to _dl_lookup_symbol_x. (_dl_profile_fixup): Likewise. * elf/dl-sym.c (do_sym): Likewise. Use wrapped _dl_lookup_symbol_x whenever !RTLD_SINGLE_THREAD_P, use THREAD_GSCOPE_SET_FLAG and THREAD_GSCOPE_RESET_FLAG around it. * elf/dl-close.c (_dl_close_worker): Don't use __rtld_mrlock_{change,done}. Call _dl_scope_free on the old scope. Make sure THREAD_GSCOPE_WAIT () happens if any old scopes were queued or if l_scope_mem has been abandoned. * elf/dl-open.c (_dl_scope_free): New function. (dl_open_worker): Use it. Don't use __rtld_mrlock_{change,done}. * elf/dl-support.c (_dl_scope_free_list): New variable. * elf/dl-lookup.c (add_dependency): Remove flags argument. Remove DL_LOOKUP_SCOPE_LOCK handling. (_dl_lookup_symbol_x): Adjust caller. Remove DL_LOOKUP_SCOPE_LOCK handling. * elf/dl-object.c (_dl_new_object): Don't use __rtld_mrlock_initialize. 2007-06-19 Ulrich Drepper <drepper@redhat.com>
* [BZ #4647]Ulrich Drepper2007-06-186-4/+19
| | | | | | | | | | | | | | | | Tomas Janousek <tjanouse@redhat.com> Ulrich Drepper <drepper@redhat.com> [BZ #4647] * resolv/res_send.c (send_dg): Remove socket_pf. Use ipv6_unavail member in __res_state, only convaddr4to6 if nssocks[ns] is a PF_INET6 socket. * resolv/resolv.h (__res_state): Add ipv6_unavail member. Make unused member a bitmap. * resolv/res_init.c (__res_vinit): Reset ipv6_unavail if IPv6 servers are configured. 2007-06-18 Jakub Jelinek <jakub@redhat.com>
* * sysdeps/generic/initfini.c: Tell gcc about the nonstandard sections.Ulrich Drepper2007-06-171-0/+5
| | | | PTRACE_O_TRACEVFORKDONE, PTRACE_O_TRACEEXIT, PTRACE_O_MASK,
* Tell gcc about the nonstandard sections.Ulrich Drepper2007-06-171-2/+2
|
* * allocatestack.c (allocate_stack): Make code compile ifUlrich Drepper2007-06-172-0/+7
| | | | __ASSUME_PRIVATE_FUTEX is set.
* * sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S:Ulrich Drepper2007-06-1718-200/+800
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (__pthread_rwlock_rdlock): Don't use non SH-3/4 instruction. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: (__pthread_rwlock_wrlock): Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: (pthread_rwlock_timedrdlock): Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: (pthread_rwlock_timedwrlock): Likewise. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S: (__pthread_rwlock_unlock): Likewise. 2007-06-10 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/sh/tcb-offsets.sym: Add PRIVATE_FUTEX. * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Include endian.h. Split __flags into __flags, __shared, __pad1 and __pad2. * sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Use private futexes if they are available. * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Adjust so that change in libc-lowlevellock.S allow using private futexes. * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Define FUTEX_PRIVATE_FLAG. Add additional parameter to lll_futex_wait, lll_futex_timed_wait and lll_futex_wake. Change lll_futex_wait to call lll_futex_timed_wait. Add lll_private_futex_wait, lll_private_futex_timed_wait and lll_private_futex_wake. (lll_robust_mutex_unlock): Fix typo. * sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Use private field in futex command setup. * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Use COND_NWAITERS_SHIFT instead of COND_CLOCK_BITS. * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Likewise. * sysdeps/unix/sysv/linux/sh/pthread_once.S: Use private futexes if they are available. Remove clear_once_control. * sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Use private futexes if they are available. * 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. * sysdeps/unix/sysv/linux/sh/sem_post.S: Add private futex support. Wake only when there are waiters. * sysdeps/unix/sysv/linux/sh/sem_wait.S: Add private futex support. Indicate that there are waiters. Remove unnecessary extra cancellation test. * sysdeps/unix/sysv/linux/sh/sem_timedwait.S: Likewise. Removed left-over duplication of __sem_wait_cleanup.
* * configure.in: Avoid variable named BASH.Ulrich Drepper2007-06-081-0/+48
| | | | | Patch in part by Mike Frysinger. 2007-06-06 Jakub Jelinek <jakub@redhat.com>
* [BZ #4586]Ulrich Drepper2007-06-0840-122/+300
| | | | | | | | | 2007-06-06 Jakub Jelinek <jakub@redhat.com> BZ #4586 * sysdeps/i386/ldbl2mpn.c (__mpn_extract_long_double): Treat pseudo-zeros as zero. * sysdeps/x86_64/ldbl2mpn.c: New file. * sysdeps/ia64/ldbl2mpn.c: New file.
* * pthread_getattr_np.c: No need to install a cancellation handler,Ulrich Drepper2007-05-3018-163/+34
| | | | | | | | | | | | | | | | | | | | | this is no cancellation point. * pthread_getschedparam.c: Likewise. * pthread_setschedparam.c: Likewise. * pthread_setschedprio.c: Likewise. * sysdeps/unix/sysv/linux/lowlevellock.c: Remove all traces of lll_unlock_wake_cb. * sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
* * sysdeps/unix/sysv/linux/x86_64/lowlevellock.SUlrich Drepper2007-05-302-1/+6
| | | | | (__lll_mutex_unlock_wake): Add back label '1' which went AWOL quite some time ago.
* * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: CheckingUlrich Drepper2007-05-304-21/+6
| | | | | | whether there are more than one thread makes no sense here since we only call the slow path if the locks are taken. * sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Likewise.
* * sysdeps/unix/sysv/linux/internaltypes.h: IntroduceUlrich Drepper2007-05-2913-50/+70
| | | | | | | | | | | | | | | | COND_NWAITERS_SHIFT. * pthread_cond_destroy.c: Use COND_NWAITERS_SHIFT instead of COND_CLOCK_BITS. * pthread_cond_init.c: Likewise. * pthread_cond_timedwait.c: Likewise. * pthread_cond_wait.c: Likewise. * pthread_condattr_getclock.c: Likewise. * pthread_condattr_setclock.c: Likewise. * sysdeps/unix/sysv/linux/lowlevelcond.sym: 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/futimes.c (miss_utimensat): Don't defineUlrich Drepper2007-05-282-0/+4
| | | | if __NR_utimensat is not defined.
* * sysdeps/i386/tls.h (THREAD_GSCOPE_RESET_FLAG): Use explicitUlrich Drepper2007-05-2816-56/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | insn suffix. (THREAD_GSCOPE_GET_FLAG): Remove. * sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Remove. * allocatestack.c (__wait_lookup_done): Revert 2007-05-24 changes. * sysdeps/powerpc/tls.h (tcbhead_t): Remove gscope_flag. (THREAD_GSCOPE_GET_FLAG): Remove. (THREAD_GSCOPE_RESET_FLAG): Use THREAD_SELF->header.gscope_flag instead of THREAD_GSCOPE_GET_FLAG. (THREAD_GSCOPE_SET_FLAG): Likewise. Add atomic_write_barrier after it. * sysdeps/s390/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/sparc/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/sh/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/ia64/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. 2007-05-24 Richard Henderson <rth@redhat.com> * descr.h (struct pthread): Add header.gscope_flag. * sysdeps/alpha/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define.
* [__WORDSIZE=64]: Renamed __pad1 element int rwlock structure toUlrich Drepper2007-05-271-1/+1
|
* * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.Ulrich Drepper2007-05-2711-29/+124
| | | | | | | | | * 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.
* * init.c: Make it compile with older kernel headers.Ulrich Drepper2007-05-2712-38/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | * tst-initializers1.c: Show through exit code which test failed. * pthread_rwlock_init.c: Also initialize __shared field. * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Split __flags element in rwlock structure into four byte elements. One of them is the new __shared element. * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h [__WORDSIZE=32]: Likewise. [__WORDSIZE=64]: Renamed __pad1 element int rwlock structire to __shared, adjust names of other padding elements. * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise. * sysdeps/pthread/pthread.h: Adjust rwlock initializers. * sysdeps/unix/sysv/linux/lowlevelrwlock.sym: Add PSHARED. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Define FUTEX_PRIVATE_FLAG. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Change main futex to use private operations if possible. * 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.
* * pthreadP.h (PTHREAD_RWLOCK_PREFER_READER_P): Define.Ulrich Drepper2007-05-265-6/+16
| | | | | | * pthread_rwlock_rdlock.c: Use PTHREAD_RWLOCK_PREFER_READER_P. * pthread_rwlock_timedrdlock.c: Likewise. * pthread_rwlock_tryrdlock.c: Likewise.
* * sysdeps/unix/sysv/linux/x86_64/sem_trywait.S (sem_trywait): TinyUlrich Drepper2007-05-262-2/+5
| | | | optimization.
* * sysdeps/unix/sysv/linux/powerpc/libc-start.c: Include <sysdep.h>.Ulrich Drepper2007-05-269-31/+22
|
* * sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_barrier):Ulrich Drepper2007-05-266-15/+51
| | | | | | | | | | Add private field. * sysdeps/unix/sysv/linux/lowlevelbarrier.sym: Add PRIVATE definition. * pthread_barrier_init.c: Set private flag if pshared and private futexes are supported. * sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Use private field in futex command setup. * sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: Likewise.
* * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Add private futexUlrich Drepper2007-05-267-7/+37
| | | | | | | | | support. * 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_post.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
* * semaphoreP.h: Declare __old_sem_init and __old_sem_wait.Ulrich Drepper2007-05-2619-197/+1088
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_init.c (__new_sem_init): Rewrite to initialize all three fields in the structure. (__old_sem_init): New function. * sem_open.c: Initialize all fields of the structure. * sem_getvalue.c: Adjust for renamed element. * sysdeps/unix/sysv/linux/Makefile [subdir=nptl] (gen-as-const-headers): Add structsem.sym. * sysdeps/unix/sysv/linux/structsem.sym: New file. * sysdeps/unix/sysv/linux/internaltypes.h: Rename struct sem to struct new_sem. Add struct old_sem. * sysdeps/unix/sysv/linux/sem_post.c: Wake only when there are waiters. * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise. * sysdeps/unix/sysv/linux/sem_wait.c: Indicate that there are waiters. * sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise. * sysdeps/unix/sysv/linux/sem_timedwait.c: Likewise. * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise. * Makefile (tests): Add tst-sem10, tst-sem11, tst-sem12. * tst-sem10.c: New file. * tst-sem11.c: New file. * tst-sem12.c: New file. * tst-typesizes.c: Test struct new_sem and struct old_sem instead of struct sem. 2007-05-25 Ulrich Drepper <drepper@redhat.com>
* Test of semaphores.Ulrich Drepper2007-05-263-0/+178
|
* * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait): Jakub Jelinek2007-05-253-10/+19
| | | | | | | | | | | | | | | Move __pthread_enable_asynccancel right before futex syscall. * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait): Likewise. 2007-05-25 Ulrich Drepper <drepper@redhat.com> Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait): Move __pthread_enable_asynccancel right before futex syscall. * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait): Likewise. 2007-05-24 Jakub Jelinek <jakub@redhat.com>
* * io/bits/fcntl2.h (__open_2): Add nonnull attribute.Ulrich Drepper2007-05-251-1/+1
| | | | | | | | | | | | | | | | (open): Fix comment typos. Don't call __open_2 if flags is a compile time constant without O_CREAT. (__open64_2): Add nonnull attribute. (open64): Fix comment typos. Don't call __open64_2 if flags is a compile time constant without O_CREAT. (__openat_2): Add nonnull attribute, fix nonnull attribute on redirect. (openat): Fix comment typos. Don't call __openat_2 if flags is a compile time constant without O_CREAT. (__openat64_2): Add nonnull attribute, fix nonnull attribute on redirect. (openat64): Fix comment typos. Don't call __openat64_2 if flags is a compile time constant without O_CREAT.
* * sysdeps/i386/tls.h (THREAD_SET_PRIVATE_FUTEX,Ulrich Drepper2007-05-255-9/+31
| | | | | | | | | THREAD_COPY_PRIVATE_FUTEX): Define. * sysdeps/x86_64/tls.h (THREAD_SET_PRIVATE_FUTEX, THREAD_COPY_PRIVATE_FUTEX): Define. * allocatestack.c (allocate_stack): Use THREAD_COPY_PRIVATE_FUTEX. * init.c (__pthread_initialize_minimal_internal): Use THREAD_SET_PRIVATE_FUTEX.
* * sysdeps/powerpc/tls.h (tcbhead_t): Add gscope_flag.Ulrich Drepper2007-05-255-16/+46
| | | | | | | | | | | | | (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT): Define. (THREAD_GSCOPE_GET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/i386/tls.h (THREAD_GSCOPE_WAIT): Don't use PTR_DEMANGLE. (THREAD_GSCOPE_GET_FLAG): Define. * sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Define. * allocatestack.c (__wait_lookup_done): Use THREAD_GSCOPE_GET_FLAG instead of ->header.gscope_flag directly.
* * init.c (__pthread_initialize_minimal_internal): Check whetherUlrich Drepper2007-05-2315-31/+192
| | | | | | | | | | | | | | | | | | | | | | private futexes are available. * allocatestack.c (allocate_stack): Copy private_futex field from current thread into the new stack. * sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Use private futexes if they are available. * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Adjust so that change in libc-lowlevellock.S allow using private futexes. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Define FUTEX_PRIVATE_FLAG. * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Use private futexes if they are available. * sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise. * sysdeps/x86_64/tcb-offsets.sym: Add PRIVATE_FUTEX. * sysdeps/i386/tcb-offsets.sym: Likewise. * sysdeps/x86_64/tls.h (tcbhead_t): Add private_futex field. * sysdeps/i386/tls.h (tcbhead_t): Likewise.
* * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Pass correct valueUlrich Drepper2007-05-214-11/+13
| | | | as second parameter to handle_intel.
* (pthread_functions): Don't add .ptr_wait_lookup_done here. ↵Ulrich Drepper2007-05-211-2/+3
| | | | (__pthread_initialize_minimal_internal): Initialize _dl_wait_lookup_done pointer in _rtld_global directly.
* * tst-robust9.c (do_test): Don't fail if ENABLE_PI and Jakub Jelinek2007-05-212-0/+12
| | | | | | | | pthread_mutex_init failed with ENOTSUP. 2007-05-21 Jakub Jelinek <jakub@redhat.com> * tst-robust9.c (do_test): Don't fail if ENABLE_PI and pthread_mutex_init failed with ENOTSUP.
* [BZ #4525]Ulrich Drepper2007-05-211-2/+2
| | | | | | | | * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add epoll_pwait. * sysdeps/unix/sysv/linux/epoll_pwait.c: New file. * sysdeps/unix/sysv/linux/syscalls.list (epoll_pwait): Remove. * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h (epoll_pwait): Declare.
* [BZ #4514]Ulrich Drepper2007-05-211-2/+2
| | | | | | | | * stdio-common/vfprintf.c (vfprintf): Don't shadow workstart variable, reinitialize workend at the start of each do_positional format spec loop, free workstart before do_positional loops. (printf_unknown): Fix size of work_buffer. * stdio-common/tst-sprintf.c (main): Add 3 new testcases.
* Commit missing test case wrapper file.Roland McGrath2007-05-191-0/+2
|