aboutsummaryrefslogtreecommitdiff
path: root/nptl
AgeCommit message (Collapse)AuthorFilesLines
2007-05-26* pthreadP.h (PTHREAD_RWLOCK_PREFER_READER_P): Define.Ulrich Drepper5-6/+16
* pthread_rwlock_rdlock.c: Use PTHREAD_RWLOCK_PREFER_READER_P. * pthread_rwlock_timedrdlock.c: Likewise. * pthread_rwlock_tryrdlock.c: Likewise.
2007-05-26* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S (sem_trywait): TinyUlrich Drepper2-2/+5
optimization.
2007-05-26* sysdeps/unix/sysv/linux/powerpc/libc-start.c: Include <sysdep.h>.Ulrich Drepper9-31/+22
2007-05-26* sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_barrier):Ulrich Drepper6-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.
2007-05-26* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Add private futexUlrich Drepper7-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.
2007-05-26 * semaphoreP.h: Declare __old_sem_init and __old_sem_wait.Ulrich Drepper19-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>
2007-05-26Test of semaphores.Ulrich Drepper3-0/+178
2007-05-25* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait): Jakub Jelinek3-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>
2007-05-25* io/bits/fcntl2.h (__open_2): Add nonnull attribute.Ulrich Drepper1-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.
2007-05-25* sysdeps/i386/tls.h (THREAD_SET_PRIVATE_FUTEX,Ulrich Drepper5-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.
2007-05-25* sysdeps/powerpc/tls.h (tcbhead_t): Add gscope_flag.Ulrich Drepper5-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.
2007-05-23* init.c (__pthread_initialize_minimal_internal): Check whetherUlrich Drepper15-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.
2007-05-21* sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Pass correct valueUlrich Drepper4-11/+13
as second parameter to handle_intel.
2007-05-21(pthread_functions): Don't add .ptr_wait_lookup_done here. ↵Ulrich Drepper1-2/+3
(__pthread_initialize_minimal_internal): Initialize _dl_wait_lookup_done pointer in _rtld_global directly.
2007-05-21* tst-robust9.c (do_test): Don't fail if ENABLE_PI and Jakub Jelinek2-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.
2007-05-21[BZ #4525]Ulrich Drepper1-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.
2007-05-21[BZ #4514]Ulrich Drepper1-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.
2007-05-19Commit missing test case wrapper file.Roland McGrath1-0/+2
2007-05-19* elf/dl-close.c (_dl_close_worker): When removing object fromUlrich Drepper8-26/+142
global scope, wait for all lookups to finish afterwards. * elf/dl-open.c (add_to_global): When global scope array must grow, allocate a new one and free old array only after all lookups finish. * elf/dl-runtime.c (_dl_fixup): Protect using global scope. (_dl_lookup_symbol_x): Likewise. * elf/dl-support.c: Define _dl_wait_lookup_done. * sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_wait_lookup_done.
2007-05-18[BZ #4512]Ulrich Drepper6-10/+114
* pthread_mutex_lock.c: Preserve FUTEX_WAITERS bit when dead owner is detected. * pthread_mutex_timedlock.c: Likewise. * pthread_mutex_trylock.c: Likewise. Patch in part by Atsushi Nemoto <anemo@mba.ocn.ne.jp>. * Makefile (tests): Add tst-robust9 and tst-robustpi9. * tst-robust9.c: New file. * tst-robustpi9.c: New file.
2007-05-17Dummy files to prevent stub versions from being used.Ulrich Drepper2-4/+6
* sysdeps/x86_64/fpu/k_cosl.c: New file. * sysdeps/x86_64/fpu/k_rem_pio2l.c: New file. * sysdeps/x86_64/fpu/k_sinl.c: New file. * sysdeps/x86_64/fpu/k_tanl.c: New file.
2007-05-15* version.h (VERSION): Define to 6.glibc-2.6cvs/glibc-2_6-basecvs/glibc-2_6Ulrich Drepper7-42/+37
* include/features.h (__GLIBC_MINOR__): Likewise.
2007-05-15* sysdeps/unix/sysv/linux/sem_post.c: Only wake threads if oldUlrich Drepper8-54/+50
value of semaphore was zero. * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/sem_post.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Remove unnecessary extra cancellation test. * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
2007-05-11* sysdeps/unix/sysv/linux/tst-getcpu.c: New file.Ulrich Drepper2-4/+7
* sysdeps/unix/sysv/linux/Makefile [subdir=posix] (tests): Add tst-getcpu. * include/link.h: Move l_version and l_nversion members around to fill gaps.
2007-05-10* sysdeps/unix/sysv/linux/sched_setaffinity.ccvs/fedora-glibc-20070510T2308cvs/fedora-glibc-20070510T2304Ulrich Drepper3-1/+28
(__sched_setaffinity_new): If syscall was successful and RESET_VGETCPU_CACHE is defined, use it before returning. * sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c: New file.
2007-05-10[BZ #4455] Jakub Jelinek3-0/+8
* tst-align2.c: Include stackinfo.h. * tst-getpid1.c: Likewise. 2007-05-10 Jakub Jelinek <jakub@redhat.com> [BZ #4455] * tst-align2.c: Include stackinfo.h. * tst-getpid1.c: Likewise.
2007-05-07[BZ #4455]Ulrich Drepper3-2/+18
* tst-align2.c (do_test): Add _STACK_GROWS_UP case. * tst-getpid1.c (do_test): Likewise.
2007-05-07[BZ #4456]Ulrich Drepper1-0/+6
2007-05-02 Carlos O'Donell <carlos@systemhalted.org> [BZ #4456] * allocatestack.c (change_stack_perm): Add _STACK_GROWS_UP case. (allocate_stack): Likewise.
2007-05-07(change_stack_perm): Handle stacks growing up. (allocate_stack): Likewise.Ulrich Drepper1-5/+19
2007-05-07* sysdeps/unix/sysv/linux/lowlevelrobustlock.cUlrich Drepper2-3/+26
(__lll_robust_lock_wait): Fix race caused by reloading of futex value. (__lll_robust_timedlock_wait): Likewise. Reported by Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>.
2007-05-07[BZ #4465]Ulrich Drepper1-0/+1
[BZ #4465]
2007-05-07* posix/unistd.h: Remove __THROW from fdatasync.Ulrich Drepper3-2/+50
2007-04-28[BZ #4392]Ulrich Drepper2-8/+5
* pthread_mutex_trylock.c (__pthread_mutex_trylock): Treat error check mutexes like normal mutexes.
2007-04-28[BZ #4306]Ulrich Drepper2-7/+12
2007-04-27 Ulrich Drepper <drepper@redhat.com> [BZ #4306] * sysdeps/unix/sysv/linux/timer_create.c (timer_create): Initialize the whole sigevent structure to appease valgrind.
2007-04-26* sysdeps/unix/sysv/linux/Makefile [subdir=posix] (sysdep_routines):Ulrich Drepper1-0/+5
Add sched_getcpu.
2007-04-26* sysdeps/unix/sysv/linux/bits/sched.h: Declare sched_getcpu.Ulrich Drepper1-0/+1
* sysdeps/unix/sysv/linux/sched_getcpu.c: New file. * sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S: New file. * sysdeps/unix/sysv/linux/Versions: Export sched_getcpu for GLIBC_2.6.
2007-04-26(tcbhead_t): Add vgetcpu_cache.Ulrich Drepper1-2/+3
2007-04-06* tst-locale1.c: Avoid warnings.Ulrich Drepper1-0/+5
* tst-locale2.c: Likewise.
2007-04-06Avoid warnings.Ulrich Drepper2-4/+6
2007-03-26* scripts/check-local-headers.sh: Filter out sys/capability.h.cvs/fedora-glibc-20070331T1609Ulrich Drepper1-0/+5
2007-03-22 Jakub Jelinek <jakub@redhat.com> * config.h.in (HAVE_LIBCAP): Add. * nscd/selinux.h: Include sys/capability.h rather than non-existent sys/capabilities.h. * nscd/selinux.c (preserve_capabilities): Use cap_free instead of free_caps. Cast away const from 4th cap_set_flag argument.
2007-03-26* sysdeps/powerpc/bits/atomic.hUlrich Drepper1-3/+2
[!MUTEX_HINT_ACQ]: Define MUTEX_HINT_ACQ. [!MUTEX_HINT_REL]: Define MUTEX_HINT_REL. (__arch_compare_and_exchange_val_32_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_compare_and_exchange_val_32_rel): Add MUTEX_HINT_REL to lwarx. (__arch_atomic_exchange_val_32_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_atomic_exchange_rel_32_rel): Add MUTEX_HINT_REL to lwarx. * sysdeps/powerpc/powerpc32/bits/atomic.h [_ARCH_PWR6 || _ARCH_PWR6X]: Define MUTEX_HINT_ACQ as ",1" and MUTEX_HINT_REL as ",0". (__arch_compare_and_exchange_bool_32_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_compare_and_exchange_bool_32_rel): Add MUTEX_HINT_REL to lwarx. * sysdeps/powerpc/powerpc64/bits/atomic.h [_ARCH_PWR6 || _ARCH_PWR6D]: Define MUTEX_HINT_ACQ as ",1" and MUTEX_HINT_REL as ",0". (__arch_compare_and_exchange_bool_32_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_compare_and_exchange_bool_32_rel): Add MUTEX_HINT_REL to lwarx. (__arch_compare_and_exchange_bool_64_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_compare_and_exchange_bool_64_rel): Add MUTEX_HINT_REL to lwarx. (__arch_compare_and_exchange_val_64_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_compare_and_exchange_val_64_rel): Add MUTEX_HINT_REL to lwarx. (__arch_atomic_exchange_val_64_acq): Add MUTEX_HINT_ACQ to lwarx. (__arch_atomic_exchange_rel_64_rel): Add MUTEX_HINT_REL to lwarx. 2007-03-20 Jakub Jelinek <jakub@redhat.com>
2007-03-17* elf/dl-open.c (dl_open_worker): Declare l in 2 differentcvs/fedora-glibc-20070317T2130Ulrich Drepper1-0/+6
smaller scopes. * elf/dl-dst.h (DL_DST_REQ_STATIC): Add l as macro argument. (DL_DST_REQUIRED): Adjust user. * include/dlfcn.h (struct link_map): New forward decl. * inet/getnameinfo.c: Include stddef.h. (getnameinfo): Use offsetof. * time/tst-mktime2.c (do_test): Don't rely on signed wrap. * stdio-common/vfprintf.c (_itoa): Undef before redefining. * string/strerror_l.c: Include stdlib.h.
2007-03-17* configure.in (libc_cv_gnu89_inline): Test for -fgnu89-inline.Ulrich Drepper2-4/+5
* config.make.in (gnu89-inline-CFLAGS): New variable. * Makeconfig (CFLAGS): Use $(gnu89-inline-CFLAGS) together with -std=gnu99. * misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Define. * argp/argp.h: Use it. * bits/mathinline.h: Likewise. * bits/sigset.h: Likewise. * bits/string.h: Likewise. * ctype/ctype.h: Likewise. * hurd/hurd.h: Likewise. * hurd/hurd/fd.h: Likewise. * hurd/hurd/port.h: Likewise. * hurd/hurd/signal.h: Likewise. * hurd/hurd/threadvar.h: Likewise. * hurd/hurd/userlink.h: Likewise. * io/sys/stat.h: Likewise. * libio/bits/stdio.h: Likewise. * libio/bits/stdio2.h: Likewise. * mach/lock-intern.h: Likewise. * mach/mach/mig_support.h: Likewise. * math/bits/cmathcalls.h: Likewise. * posix/bits/unistd.h: Likewise. * socket/bits/socket2.h: Likewise. * stdlib/bits/stdlib.h: Likewise. * stdlib/stdlib.h: Likewise. * string/argz.h: Likewise. * string/bits/string2.h: Likewise. * string/bits/string3.h: Likewise. * sysdeps/alpha/fpu/bits/mathinline.h: Likewise. * sysdeps/generic/inttypes.h: Likewise. * sysdeps/generic/machine-lock.h: Likewise. * sysdeps/generic/machine-sp.h: Likewise. * sysdeps/i386/fpu/bits/mathinline.h: Likewise. * sysdeps/i386/i486/bits/string.h: Likewise. * sysdeps/ia64/fpu/bits/mathinline.h: Likewise. * sysdeps/mach/alpha/machine-lock.h: Likewise. * sysdeps/mach/alpha/machine-sp.h: Likewise. * sysdeps/mach/i386/machine-lock.h: Likewise. * sysdeps/mach/powerpc/machine-lock.h: Likewise. * sysdeps/mach/powerpc/machine-sp.h: Likewise. * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise. * sysdeps/s390/bits/string.h: Likewise. * sysdeps/s390/fpu/bits/mathinline.h: Likewise. * sysdeps/sparc/fpu/bits/mathinline.h: Likewise. * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigset.h: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise. * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise. * wcsmbs/bits/wchar2.h: Likewise. * wcsmbs/wchar.h: Likewise. * stdlib/gmp.h: Likewise. Include <features.h> to get __extern_inline definition. * locale/programs/ld-ctype.c (find_translit): Return NULL if ctype is NULL.
2007-03-13 * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use two Richard Henderson2-1/+8
separate cfi regions for the two subsections. 2007-03-13 Richard Henderson <rth@redhat.com> * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use two separate cfi regions for the two subsections.
2007-02-25* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Reset refcntr inUlrich Drepper2-3/+12
new thread, don't just decrement it. Patch by Suzuki K P <suzuki@in.ibm.com>.
2007-02-21[BZ #4076]cvs/fedora-glibc-20070221T1011Ulrich Drepper1-0/+5
* io/ftw.c (ftw_startup): Handle special case of FTW_CHDIR in /. (open_dir_stream): Likewise. * io/Makefile (tests): Add bug-ftw5. io/bug-ftw5.c: New file.
2007-02-21[BZ #4070]Ulrich Drepper1-3/+3
2007-02-21 Ulrich Drepper <drepper@redhat.com> [BZ #4070] * stdio-common/printf_fp.c (___printf_fp): Handle a few more * stdio-common/tfformat.c (sprint_doubles): Some more tests. special cases.
2007-02-19[BZ #3325]Ulrich Drepper1-0/+5
* sysdeps/i386/fpu/e_fmodf.S: Use fprem1 instead of fprem. * sysdeps/i386/fpu/e_fmodl.c: Likewise. * sysdeps/i386/fpu/e_fmod.S: Likewise. Patch by Jared Casper <jaredcasper@gmail.com>.
2007-02-19* sysdeps/unix/closedir.c: Outside libc don't use locking.Ulrich Drepper1-1/+7
* sysdeps/unix/opendir.c: Likewise. * sysdeps/unix/readdir.c: Likewise.
2007-02-10* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Remove incorrect comment.cvs/fedora-glibc-20070211T1607Ulrich Drepper2-1/+7