+2015-08-18 Mike Frysinger <vapier@gentoo.org>
+
+ * sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Delete
+ kernel-features.h include. Delete __ASSUME_LWS_CAS checks.
+ * sysdeps/unix/sysv/linux/hppa/kernel-features.h
+ (__ASSUME_LWS_CAS): Delete.
+
2015-08-18 Mike Frysinger <vapier@gentoo.org>
* sysdeps/hppa/configure.ac: Delete binutils tls checks.
#include <stdint.h> /* Required for type definitions e.g. uint8_t. */
#include <abort-instr.h> /* Required for ABORT_INSTRUCTIUON. */
-#include <kernel-features.h> /* Required for __ASSUME_LWS_CAS. */
/* We need EFAULT, ENONSYS */
#if !defined EFAULT && !defined ENOSYS
/* String constant for -EDEADLOCK. */
#define _ASM_EDEADLOCK "-45"
-#if __ASSUME_LWS_CAS
/* The only basic operation needed is compare and exchange. The mem
pointer must be word aligned. */
-# define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
+#define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
({ \
register long lws_errno asm("r21"); \
register unsigned long lws_ret asm("r28"); \
(__typeof (oldval)) lws_ret; \
})
-# define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
+#define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
({ \
__typeof__ (*mem) ret; \
ret = atomic_compare_and_exchange_val_acq(mem, newval, oldval); \
/* Return 1 if it was already acquired. */ \
(ret != oldval); \
})
-#else
-# error __ASSUME_LWS_CAS is required to build glibc.
-#endif
-/* __ASSUME_LWS_CAS */
#endif
/* _BITS_ATOMIC_H */
<http://www.gnu.org/licenses/>. */
-/* PA-RISC 2.6.9 kernels had the first LWS CAS support */
-#define __ASSUME_LWS_CAS 1
-
/* Support for the accept4 and recvmmsg syscalls was added in 2.6.34. */
#if __LINUX_KERNEL_VERSION >= 0x020622
# define __ASSUME_ACCEPT4_SYSCALL 1