aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-08-14 22:09:30 -0400
committerMike Frysinger <vapier@gentoo.org>2015-08-18 02:36:43 -0400
commit8584204806ffea6f33bc6e42a1f07d6bc5a35105 (patch)
treef29001bce4c6064f9718ff54c921c041cb0b29f5 /sysdeps
parent43329fe1396080faf025118b31053fd19e029c12 (diff)
downloadglibc-8584204806ffea6f33bc6e42a1f07d6bc5a35105.zip
glibc-8584204806ffea6f33bc6e42a1f07d6bc5a35105.tar.gz
glibc-8584204806ffea6f33bc6e42a1f07d6bc5a35105.tar.bz2
hppa: drop __ASSUME_LWS_CAS define
We require recent enough kernels for this now, and we've been hardcoding it to 1, so drop it entirely now.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/atomic.h10
-rw-r--r--sysdeps/unix/sysv/linux/hppa/kernel-features.h3
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