summary refs log tree commit diff
path: root/include/atomic.h
Commit message (Collapse)AuthorAgeFilesLines
* * include/atomic.h (atomic_and, atomic_or): Define. cvs/fedora-glibc-2_3_90-38Jakub Jelinek2006-02-171-1/+36
| | | | | | | | | | | | | nptl/ * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_robust_mutex_dead, lll_robust_mutex_trylock, lll_robust_mutex_lock, lll_robust_mutex_cond_lock, lll_robust_mutex_timedlock, lll_robust_mutex_unlock): New macros. (__lll_robust_lock_wait, __lll_robust_timedlock_wait): New prototypes. * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/lowlevelrobustlock.c: New file.
* Updated to fedora-glibc-20050822T0727Jakub Jelinek2005-08-221-3/+38
|
* Update.Ulrich Drepper2004-09-071-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/atomic.h: Define atomic_increment_val, atomic_decrement_val, and atomic_dealy is not already defined. * sysdeps/i386/i486/bits/atomic.h: Define atomic_delay. * sysdeps/x86_64/bits/atomic.h: Likewise. * miscd/sys/cdefs.h (__NTH): New macro. (__THROW): Define using nothrow attribute for C code and gcc >= 3.2. (__REDIRECT_NTH): New macro. * argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary. * ctype/ctype.h: Likewise. * dirent/dirent.h: Likewise. * io/fcntl.h: Likewise. * io/sys/sendfile.h: Likewise. * io/sys/stat.h: Likewise. * io/sys/statfs.h: Likewise. * io/sys/statvfs.h: Likewise. * libio/bits/stdio.h: Likewise. * misc/sys/mman.h: Likewise. * posix/unistd.h: Likewise. * resource/sys/resource.h: Likewise. * rt/aio.h: Likewise. * signal/signal.h: Likewise. * stdlib/stdlib.h: Likewise. * string/argz.h: Likewise. * string/string.h: Likewise. * sysdeps/generic/inttypes.h: Likewise. * sysdeps/i386/fpu/bits/mathinline.h: Likewise. * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise. * sysdeps/s390/fpu/bits/mathinline.h: Likewise. * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise. * wcsmbs/wchar.h: Likewise. * sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate. * resolv/gethnamaddr.c (getanswer): Remove __P use in variable definition. * io/sys/poll.h: Remove __THROW from poll prototype, it's a cancellation point.
* Update.Ulrich Drepper2003-09-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-09-22 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/lowlevellock.c (__lll_timedlock_wait): Use lll_futex_timed_wait instead of lll_futex_wait. * sysdeps/unix/sysv/linux/s390/lowlevellock.c: Removed. * sysdeps/unix/sysv/linux/s390/lowlevelmutex.c: Removed. * sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c: Removed. * sysdeps/unix/sysv/linux/s390/libc-lowlevelmutex.c: Removed. * sysdeps/unix/sysv/linux/s390/sem_trywait.c: Removed. * sysdeps/unix/sysv/linux/s390/sem_wait.c: Removed. * sysdeps/unix/sysv/linux/s390/sem_post.c: Removed. * sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Removed. * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Include atomic.h. Completely revamp the locking macros. No distinction between normal and mutex locking anymore. * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/ia64/lowlevellock.h (__lll_lock_wait, __lll_lock_timedwait): Fix prototypes. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (__lll_lock_wait, __lll_lock_timedwait): Likewise. (lll_mutex_lock, lll_mutex_cond_lock): Use _val instead of _bool macros, add __builtin_expect. (lll_mutex_timedlock): Likewise. Fix return value. * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Removed. * sysdeps/unix/sysv/linux/i386/i586/libc-lowlevelmutex.S: Removed. * sysdeps/unix/sysv/linux/i386/i586/lowlevelmutex.S: Removed. * sysdeps/unix/sysv/linux/i386/i686/libc-lowlevelmutex.S: Removed. * sysdeps/unix/sysv/linux/i386/i686/lowlevelmutex.S: Removed. * sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: Removed. * sysdeps/unix/sysv/linux/lowlevelmutex.c: Removed. * sysdeps/unix/sysv/linux/libc-lowlevelmutex.c: Removed.
* Update.Ulrich Drepper2003-05-101-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | * posix/sched.h: Change prototypes of sched_getaffinity and sched_setaffinity. Define CPU_SET, CPU_CLR, CPU_ISSET, and CPU_ZERO. * sysdeps/generic/sched_getaffinity.c: Adjust definition. * sysdeps/generic/sched_setaffinity.c: Likewise. * sysdeps/generic/bits/sched.h: Define __CPU_SETSIZE, __NCPUBITS, __CPUELT, __CPUMASK, cpu_set_t, __cpu_mask, __CPU_ZERO, __CPU_SET, __CPU_CLR, and __CPU_ISSET. * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. * sysdeps/unix/sysv/linux/sched_getaffinity.c: New file. * sysdeps/unix/sysv/linux/sched_setaffinity.c: New file. * include/atomic.h (atomic_exchange_acq): Renamed from atomic_exchange. (atomic_exchange_rel): New #define. * sysdeps/ia64/bits/atomic.h: Likewise. * sysdeps/i386/i486/bits/atomic.h (atomic_exchange_acq): Renamed from atomic_exchange. * sysdeps/m68k/m68020/bits/atomic.h: Likewise. * sysdeps/powerpc/bits/atomic.h: Likewise. * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Likewise. * sysdeps/sparc/sparc64/bits/atomic.h: Likewise. * sysdeps/x86_64/bits/atomic.h: Likewise. * csu/tst-atomic.c: Use atomic_exchange_acq instead of atomic_exchange.
* Update.Ulrich Drepper2003-04-151-15/+15
| | | | | | 2003-04-15 Ulrich Drepper <drepper@redhat.com> * include/atomic.h: Pretty printing.
* * csu/tst-atomic.c (do_test): Add some newRoland McGrath2003-03-261-6/+6
| | | | | | | | | | | | | | | | | | | | | | atomic_compare_and_exchange_val_acq, atomic_add_zero, atomic_compare_and_exchange_bool_acq and atomic_add_negative tests. * include/atomic.h (atomic_add_negative, atomic_add_zero): Prefix local variable so that it doesn't clash with the one in atomic_exchange_and_add. * sysdeps/ia64/bits/atomic.h (atomic_exchange): Fix for long/void * pointers. (atomic_exchange_and_add): Implement using __sync_fetch_and_add_?i. * sysdeps/powerpc/bits/atomic.h (atomic_exchange_and_add): Force value into register. * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_64_acq): Cast newval to long. * sysdeps/x86_64/bits/atomic.h (__arch_compare_and_exchange_val_64_acq): Cast newval and oldval to long. (atomic_exchange): Cast newvalue to long if sizeof == 8. (atomic_exchange_and_add): Cast value to long if sizeof == 8. (atomic_add, atomic_add_negative, atomic_add_zero): Likewise. (atomic_bit_set): Shift 1L up in all cases to shut up warnings.
* *** empty log message ***Andreas Schwab2003-03-251-1/+1
| | | | | * sysdeps/m68k/m68020/bits/atomic.h: Fix typos. * include/atomic.h: Likewise.
* Update.Ulrich Drepper2003-03-251-2/+4
| | | | | | | | | | | | | | | | | | | | 2003-03-25 Ulrich Drepper <drepper@redhat.com> * csu/tst-atomic.c: Adjust tests to what atomic_add_negative and atomic_add_zero were supposed to do. * include/atomic.h: Adjust atomic_add_negative and atomic_add_zero to x86 behavior. * sysdeps/generic/bits/typesizes.h (__TIMER_T_TYPE): Define as void*. This matches the new timer implementation. * sysdeps/unix/sysv/linux/bits/siginfo.h (struct siginfo): Adjust timer info for what the kernel provides these days. (struct sigevent): Add _tid field. Define SIGEV_THREAD_ID. * Versions.def (librt): Add GLIBC_2.3.3. * abilist/libpthread.abilist: Update for nptl.
* * include/atomic.h: Put parens around all macro arguments.Roland McGrath2003-03-221-48/+58
| | | | | | | | | (__atomic_val_bysize, __atomic_bool_bysize): New macros. (atomic_compare_and_exchange_val_acq): Use it. (atomic_compare_and_exchange_bool_acq): Likewise. (atomic_increment_and_test): Invert sense of test. (atomic_decrement_and_test): Likewise. * csu/tst-atomic.c: Update those tests to match.
* * include/atomic.h (atomic_increment_and_test): Invert sense of test.Roland McGrath2003-03-221-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add comment. (atomic_decrement_and_test): Add comment. 2003-03-22 Jakub Jelinek <jakub@redhat.com> * include/atomic.h (atomic_compare_and_exchange_val_acq): Add comment. Don't define if __arch_compare_and_exchange_val_32_acq is not defined. (atomic_compare_and_exchange_bool_acq): Add comment. Don't use __oldval variable in the macro, since it might be macro argument. (atomic_decrement_if_positive): Initialize __memp, remove setting of non-existent variable. (atomic_bit_test_set): Cast 1 to __typeof (*mem) before shifting. * sysdeps/ia64/bits/atomic.h (atomic_exchange_and_add): Implement using atomic_compare_and_exchange_val_acq. (atomic_decrement_if_positive, atomic_bit_test_set): Define. * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_8_acq): Renamed from... (__arch_compare_and_exchange_bool_8_acq): ... this. (__arch_compare_and_exchange_val_16_acq): Renamed from... (__arch_compare_and_exchange_bool_16_acq): ... this. (__arch_compare_and_exchange_val_32_acq): Return old value. Renamed from... (__arch_compare_and_exchange_bool_32_acq): ... this. (__arch_compare_and_exchange_val_64_acq): Return old value. Renamed from... (__arch_compare_and_exchange_bool_64_acq): ... this. (__arch_compare_and_exchange_val_32_acq): Use __typeof for local variables types instead of assuming int. Change prefix of local variables to __arch. * sysdeps/generic/bits/atomic.h (arch_compare_and_exchange_acq): Remove. (atomic_compare_and_exchange_val_acq, atomic_compare_and_exchange_bool_acq): Define. * csu/tst-atomic.c: New test. * csu/tst-atomic-long.c: New test. * csu/Makefile (tests): Add tst-atomic and tst-atomic-long. * malloc/memusagestat.c (main): Kill warning if uint64_t is ulong. * sysdeps/s390/Versions: Add trailing newline. * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Kill warning if INTERNAL_SYSCALL_ERROR_P doesn't use its first argument.
* 2003-03-21 Roland McGrath <roland@redhat.com>Roland McGrath2003-03-211-1/+1
| | | | * include/atomic.h (atomic_compare_and_exchange_bool_acq): Typo fix.
* Define atomic_compare_and_exchange_val_acq, ↵Ulrich Drepper2003-03-211-25/+63
| | | | atomic_compare_and_exchange_val_rel, atomic_compare_and_exchange_bool_acq, and atomic_compare_and_exchange_bool_rel instead of atomic_compare_and_exchange_acq and atomic_compare_and_exchange_rel.
* (atomic_decrement_if_positive): Adjust for the correct ↵Ulrich Drepper2003-03-201-10/+9
| | | | atomic_compare_and_exchange_acq semantics.
* * sysdeps/powerpc/bits/atomic.h (atomic_exchange): Remove unusedRoland McGrath2003-03-201-1/+2
| | | | | | | | | | variable. Remove superfluous memory clobber. * include/atomic.h: Syntax braino fix. * posix/tst-nice.c (do_test): Use %m formats instead of printing errno in decimal. Don't bail if niced at start. Just check that nice call bumps the total at all.
* Define atomic_exchange and atomic_decrement_if_positive if not already ↵Ulrich Drepper2003-03-201-5/+47
| | | | defined. Add some __builtin_expect.
* Update.Ulrich Drepper2003-03-201-0/+141
2003-03-19 Ulrich Drepper <drepper@redhat.com> * Makefile (distribute): Add include/atomic.h and bits/atomic.h. * include/atomic.h: New file. * sysdeps/i386/i486/bits/atomic.h: New file. * sysdeps/x86_64/bits/atomic.h: New file. * sysdeps/s390/bits/atomic.h: New file. * sysdeps/sh/bits/atomic.h: New file. * sysdeps/ia64/bits/atomic.h: New file. * sysdeps/powerpc/bits/atomic.h: New file. * sysdeps/generic/bits/atomic.h: New file. * sysdeps/i386/i486/atomicity.h: Removed. * sysdeps/x86_64/atomicity.h: Removed. * sysdeps/s390/s390-32/atomicity.h: Removed. * sysdeps/s390/s390-64/atomicity.h: Removed. * sysdeps/ia64/atomicity.h: Removed. * sysdeps/powerpc/powerpc32/atomicity.h: Removed. * sysdeps/powerpc/powerpc64/atomicity.h: Removed. * elf/dl-profile.c: Use atomic.h instead of atomicity.h. Adjust use of macros from atomicity.h to new names and semantics. * gmon_mcount.c: Likewise. * malloc/set-freeres.c: Likewise. * nscd/cache.c: Likewise. * stdlib/cxa_finalize.c: Likewise. * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. * sysdeps/mips/ieee754.h: New file, suitable to replace both * stdlib/strtod.c (INTERNAL): While eating trailing zeros handle