This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 02/10] hppa: drop __ASSUME_LWS_CAS define
- From: Mike Frysinger <vapier at gentoo dot org>
- To: libc-alpha at sourceware dot org
- Date: Fri, 14 Aug 2015 22:27:45 -0400
- Subject: [PATCH 02/10] hppa: drop __ASSUME_LWS_CAS define
- Authentication-results: sourceware.org; auth=none
- References: <1439605673-23948-1-git-send-email-vapier at gentoo dot org>
We require recent enough kernels for this now, and we've been hardcoding
it to 1, so drop it entirely now.
2015-08-15 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.
---
sysdeps/unix/sysv/linux/hppa/bits/atomic.h | 10 ++--------
sysdeps/unix/sysv/linux/hppa/kernel-features.h | 3 ---
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
index 6e73504..26b66c5 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
@@ -18,7 +18,6 @@
#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
@@ -62,10 +61,9 @@ typedef uintmax_t uatomic_max_t;
/* 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"); \
@@ -93,17 +91,13 @@ typedef uintmax_t uatomic_max_t;
(__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 */
diff --git a/sysdeps/unix/sysv/linux/hppa/kernel-features.h b/sysdeps/unix/sysv/linux/hppa/kernel-features.h
index 61bb026..274345a 100644
--- a/sysdeps/unix/sysv/linux/hppa/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/hppa/kernel-features.h
@@ -18,9 +18,6 @@
<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
--
2.4.4