2015-09-11 Joseph Myers <joseph@codesourcery.com>
+ [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>.
+
* sysdeps/mips/mips32/libm-test-ulps: Update.
* sysdeps/mips/mips64/libm-test-ulps: Likewise.
* The following bugs are resolved with this release:
- 2542, 2543, 2558, 2898, 14341, 15786, 16141, 16517, 16519, 16520, 16734,
- 16973, 17787, 17905, 18084, 18086, 18240, 18265, 18370, 18421, 18480,
- 18525, 18610, 18618, 18647, 18661, 18674, 18675, 18681, 18757, 18778,
- 18781, 18787, 18789, 18790, 18795, 18796, 18820, 18823, 18824, 18863,
- 18870, 18873, 18887, 18921, 18952.
+ 2542, 2543, 2558, 2898, 14341, 14912, 15786, 16141, 16517, 16519, 16520,
+ 16734, 16973, 17787, 17905, 18084, 18086, 18240, 18265, 18370, 18421,
+ 18480, 18525, 18610, 18618, 18647, 18661, 18674, 18675, 18681, 18757,
+ 18778, 18781, 18787, 18789, 18790, 18795, 18796, 18820, 18823, 18824,
+ 18863, 18870, 18873, 18887, 18921, 18952.
* The obsolete header <regexp.h> has been removed. Programs that require
this header must be updated to use <regex.h> instead.
#include <stdlib.h>
-#include <bits/atomic.h>
+#include <atomic-machine.h>
/* Wrapper macros to call pre_NN_post (mem, ...) where NN is the
bit width of *MEM. The calling macro puts parens around MEM
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _AARCH64_BITS_ATOMIC_H
-#define _AARCH64_BITS_ATOMIC_H 1
+#ifndef _AARCH64_ATOMIC_MACHINE_H
+#define _AARCH64_ATOMIC_MACHINE_H 1
#include <stdint.h>
# define atomic_full_barrier() __arm_assisted_full_barrier ()
#endif
-/* An OS-specific bits/atomic.h file will define this macro if
+/* An OS-specific atomic-machine.h file will define this macro if
the OS can provide something. If not, we'll fail to build
with a compiler that doesn't supply the operation. */
#ifndef __arm_assisted_full_barrier
({ __arm_link_error (); oldval; })
#endif
-/* An OS-specific bits/atomic.h file will define this macro if
+/* An OS-specific atomic-machine.h file will define this macro if
the OS can provide something. If not, we'll fail to build
with a compiler that doesn't supply the operation. */
#ifndef __arm_assisted_compare_and_exchange_val_32_acq
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _BITS_ATOMIC_H
-#define _BITS_ATOMIC_H 1
+#ifndef _ATOMIC_MACHINE_H
+#define _ATOMIC_MACHINE_H 1
/* We have by default no support for atomic operations. So define
them non-atomic. If this is a problem somebody will have to come
\
*__gmemp == (oldval) ? (*__gmemp = __gnewval, 0) : 1; })
-#endif /* bits/atomic.h */
+#endif /* atomic-machine.h */
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _BITS_ATOMIC_H
-#define _BITS_ATOMIC_H 1
+#ifndef _ATOMIC_MACHINE_H
+#define _ATOMIC_MACHINE_H 1
#include <stdint.h>
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _MIPS_BITS_ATOMIC_H
-#define _MIPS_BITS_ATOMIC_H 1
+#ifndef _MIPS_ATOMIC_MACHINE_H
+#define _MIPS_ATOMIC_MACHINE_H 1
#include <stdint.h>
#include <inttypes.h>
".set pop" : : : "memory")
#endif /* !__mips16 */
-#endif /* bits/atomic.h */
+#endif /* atomic-machine.h */
<http://www.gnu.org/licenses/>. */
/*
- * Never include sysdeps/powerpc/bits/atomic.h directly.
+ * Never include sysdeps/powerpc/atomic-machine.h directly.
* Alway use include/atomic.h which will include either
- * sysdeps/powerpc/powerpc32/bits/atomic.h
+ * sysdeps/powerpc/powerpc32/atomic-machine.h
* or
- * sysdeps/powerpc/powerpc64/bits/atomic.h
+ * sysdeps/powerpc/powerpc64/atomic-machine.h
* as appropriate and which in turn include this file.
*/
* The 32-bit exchange_bool is different on powerpc64 because the subf
* does signed 64-bit arithmetic while the lwarx is 32-bit unsigned
* (a load word and zero (high 32) form). So powerpc64 has a slightly
- * different version in sysdeps/powerpc/powerpc64/bits/atomic.h.
+ * different version in sysdeps/powerpc/powerpc64/atomic-machine.h.
*/
#define __arch_compare_and_exchange_bool_32_acq(mem, newval, oldval) \
({ \
* Include the rest of the atomic ops macros which are common to both
* powerpc32 and powerpc64.
*/
-#include_next <bits/atomic.h>
+#include_next <atomic-machine.h>
* Include the rest of the atomic ops macros which are common to both
* powerpc32 and powerpc64.
*/
-#include_next <bits/atomic.h>
+#include_next <atomic-machine.h>
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _BITS_ATOMIC_H
-#define _BITS_ATOMIC_H 1
+#ifndef _ATOMIC_MACHINE_H
+#define _ATOMIC_MACHINE_H 1
#include <stdint.h>
#include <sysdep.h>
-#endif /* bits/atomic.h */
+#endif /* atomic-machine.h */
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _BITS_ATOMIC_H
-#define _BITS_ATOMIC_H 1
+#ifndef _ATOMIC_MACHINE_H
+#define _ATOMIC_MACHINE_H 1
#include <arch/spr_def.h>
#define atomic_decrement_if_positive(mem) \
__atomic_update (mem, -1, fetchaddgez)
-#include <sysdeps/tile/bits/atomic.h>
+#include <sysdeps/tile/atomic-machine.h>
-#endif /* bits/atomic.h */
+#endif /* atomic-machine.h */
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _BITS_ATOMIC_H
-#define _BITS_ATOMIC_H 1
+#ifndef _ATOMIC_MACHINE_H
+#define _ATOMIC_MACHINE_H 1
#include <asm/unistd.h>
({ __typeof (mask) __att1_v = (mask); \
__atomic_update ((mem), ~__att1_v, __att1_v); })
-#include <sysdeps/tile/bits/atomic.h>
+#include <sysdeps/tile/atomic-machine.h>
-#endif /* bits/atomic.h */
+#endif /* atomic-machine.h */
(__typeof (oldval)) a_tmp; })
#endif
-#include <sysdeps/arm/bits/atomic.h>
+#include <sysdeps/arm/atomic-machine.h>
#define ENOSYS 251
#endif
-#ifndef _BITS_ATOMIC_H
-#define _BITS_ATOMIC_H 1
+#ifndef _ATOMIC_MACHINE_H
+#define _ATOMIC_MACHINE_H 1
typedef int8_t atomic8_t;
typedef uint8_t uatomic8_t;
})
#endif
-/* _BITS_ATOMIC_H */
+/* _ATOMIC_MACHINE_H */
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _BITS_ATOMIC_H
-#define _BITS_ATOMIC_H 1
+#ifndef _ATOMIC_MACHINE_H
+#define _ATOMIC_MACHINE_H 1
#include <stdint.h>
#include <sysdep.h>
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _NIOS2_BITS_ATOMIC_H
-#define _NIOS2_BITS_ATOMIC_H 1
+#ifndef _NIOS2_ATOMIC_MACHINE_H
+#define _NIOS2_ATOMIC_MACHINE_H 1
#include <stdint.h>
#define atomic_full_barrier() ({ asm volatile ("sync"); })
-#endif /* _NIOS2_BITS_ATOMIC_H */
+#endif /* _NIOS2_ATOMIC_MACHINE_H */