aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/s390/bits/atomic.h
AgeCommit message (Collapse)Author
2015-09-11Move bits/atomic.h to atomic-machine.h (bug 14912).Joseph Myers
It was noted in <https://sourceware.org/ml/libc-alpha/2012-09/msg00305.html> that the bits/*.h naming scheme should only be used for installed headers. This patch renames bits/atomic.h to atomic-machine.h to follow that convention. This is the only change in this series that needs to change the filename rather than simply removing a directory level (because both atomic.h and bits/atomic.h exist at present). Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #14912] * sysdeps/aarch64/bits/atomic.h: Move to ... * sysdeps/aarch64/atomic-machine.h: ...here. (_AARCH64_BITS_ATOMIC_H): Rename macro to _AARCH64_ATOMIC_MACHINE_H. * sysdeps/alpha/bits/atomic.h: Move to ... * sysdeps/alpha/atomic-machine.h: ...here. * sysdeps/arm/bits/atomic.h: Move to ... * sysdeps/arm/atomic-machine.h: ...here. Update comments. * bits/atomic.h: Move to ... * sysdeps/generic/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/i386/bits/atomic.h: Move to ... * sysdeps/i386/atomic-machine.h: ...here. * sysdeps/ia64/bits/atomic.h: Move to ... * sysdeps/ia64/atomic-machine.h: ...here. * sysdeps/m68k/coldfire/bits/atomic.h: Move to ... * sysdeps/m68k/coldfire/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/m68k/m680x0/m68020/bits/atomic.h: Move to ... * sysdeps/m68k/m680x0/m68020/atomic-machine.h: ...here. * sysdeps/microblaze/bits/atomic.h: Move to ... * sysdeps/microblaze/atomic-machine.h: ...here. * sysdeps/mips/bits/atomic.h: Move to ... * sysdeps/mips/atomic-machine.h: ...here. (_MIPS_BITS_ATOMIC_H): Rename macro to _MIPS_ATOMIC_MACHINE_H. * sysdeps/powerpc/bits/atomic.h: Move to ... * sysdeps/powerpc/atomic-machine.h: ...here. Update comments. * sysdeps/powerpc/powerpc32/bits/atomic.h: Move to ... * sysdeps/powerpc/powerpc32/atomic-machine.h: ...here. Update comments. Include <atomic-machine.h> instead of <bits/atomic.h>. * sysdeps/powerpc/powerpc64/bits/atomic.h: Move to ... * sysdeps/powerpc/powerpc64/atomic-machine.h: ...here. Include <atomic-machine.h> instead of <bits/atomic.h>. * sysdeps/s390/bits/atomic.h: Move to ... * sysdeps/s390/atomic-machine.h: ...here. * sysdeps/sparc/sparc32/bits/atomic.h: Move to ... * sysdeps/sparc/sparc32/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Move to ... * sysdeps/sparc/sparc32/sparcv9/atomic-machine.h: ...here. * sysdeps/sparc/sparc64/bits/atomic.h: Move to ... * sysdeps/sparc/sparc64/atomic-machine.h: ...here. * sysdeps/tile/bits/atomic.h: Move to ... * sysdeps/tile/atomic-machine.h: ...here. * sysdeps/tile/tilegx/bits/atomic.h: Move to ... * sysdeps/tile/tilegx/atomic-machine.h: ...here. Include <sysdeps/tile/atomic-machine.h> instead of <sysdeps/tile/bits/atomic.h>. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/tile/tilepro/bits/atomic.h: Move to ... * sysdeps/tile/tilepro/atomic-machine.h: ...here. Include <sysdeps/tile/atomic-machine.h> instead of <sysdeps/tile/bits/atomic.h>. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/arm/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/arm/atomic-machine.h: ...here. Include <sysdeps/arm/atomic-machine.h> instead of <sysdeps/arm/bits/atomic.h>. * sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/hppa/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/m68k/coldfire/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/nios2/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/nios2/atomic-machine.h: ...here. (_NIOS2_BITS_ATOMIC_H): Rename macro to _NIOS2_ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/sh/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/sh/atomic-machine.h: ...here. * sysdeps/x86_64/bits/atomic.h: Move to ... * sysdeps/x86_64/atomic-machine.h: ...here. * include/atomic.h: Include <atomic-machine.h> instead of <bits/atomic.h>.
2015-02-20s390: Use generic lowlevellock-futex.hStefan Liebler
* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Include <sysdeps/nptl/lowlevellock.h> and remove macros and functions that are now defined there. (SYS_futex): Remove. (lll_compare_and_swap): Remove. * sysdeps/s390/bits/atomic.h (atomic_exchange_acq): Define.
2015-01-02Update copyright dates with scripts/update-copyrights.Joseph Myers
2014-11-20Add arch-specific configuration for C11 atomics support.Torvald Riegel
This sets __HAVE_64B_ATOMICS if provided. It also sets USE_ATOMIC_COMPILER_BUILTINS to true if the existing atomic ops use the __atomic* builtins (aarch64, mips partially) or if this has been tested (x86_64); otherwise, this is set to false so that C11 atomics will be based on the existing atomic operations.
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert
2008-11-07* sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_32_acq, Jakub Jelinek
__arch_compare_and_exchange_val_64_acq): Add "memory" clobber. 2008-11-03 Michael Matz <matz@suse.de> * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_32_acq, __arch_compare_and_exchange_val_64_acq): Add "memory" clobber.
2003-05-05Update.Ulrich Drepper
2003-05-05 Jakub Jelinek <jakub@redhat.com> * sysdeps/ia64/bits/atomic.h (__arch_compare_and_exchange_val_8_acq, __arch_compare_and_exchange_val_16_acq): Cast 0 to mem's type. * sysdeps/powerpc/powerpc32/bits/atomic.h (__arch_compare_and_exchange_val_64_acq): Likewise. * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h (__arch_compare_and_exchange_val_8_acq, __arch_compare_and_exchange_val_16_acq, __arch_compare_and_exchange_val_64_acq): Likewise. * sysdeps/sparc/sparc64/bits/atomic.h (__arch_compare_and_exchange_val_8_acq, __arch_compare_and_exchange_val_16_acq): Likewise. * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_8_acq, __arch_compare_and_exchange_val_16_acq, __arch_compare_and_exchange_val_64_acq): Likewise. * sysdeps/unix/sysv/linux/sh/bits/atomic.h (__arch_compare_and_exchange_val_64_acq): Likewise. * sysdeps/s390/s390-64/backtrace.c (__backtrace): Add cast to shut up warning. * sysdeps/s390/fpu/fegetenv.c (fegetenv): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0): Return long instead of int. (INTERNAL_SYSCALL_ERROR_P): Cast val to unsigned long, replace 0xfffff001u with -4095UL.
2003-03-26* csu/tst-atomic.c (do_test): Add some newRoland McGrath
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.
2003-03-22* include/atomic.h (atomic_increment_and_test): Invert sense of test.Roland McGrath
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-21Update.Ulrich Drepper
2003-03-21 Ulrich Drepper <drepper@redhat.com> * cancellation.c: Adjust for new form of compare&exchange macros. * cleanup_defer.c: Likewise. * init.c: Likewise. * libc-cancellation.c: Likewise. * old_pthread_cond_broadcast.c: Likewise. * old_pthread_cond_signal.c: Likewise. * old_pthread_cond_timedwait.c: Likewise. * old_pthread_cond_wait.c: Likewise. * pthread_cancel.c: Likewise. * pthread_create.c: Likewise. * pthread_detach.c: Likewise. * pthread_join.c: Likewise. * pthread_key_delete.c: Likewise. * pthread_setcancelstate.c: Likewise. * pthread_setcanceltype.c: Likewise. * pthread_timedjoin.c: Likewise. * pthread_tryjoin.c: Likewise. * sysdeps/pthread/createthread.c: Likewise.
2003-03-20Update.Ulrich Drepper
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