mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
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.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
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>
|
2015-08-18 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* sysdeps/hppa/configure.ac: Delete binutils tls checks.
|
* sysdeps/hppa/configure.ac: Delete binutils tls checks.
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
|
|
||||||
#include <stdint.h> /* Required for type definitions e.g. uint8_t. */
|
#include <stdint.h> /* Required for type definitions e.g. uint8_t. */
|
||||||
#include <abort-instr.h> /* Required for ABORT_INSTRUCTIUON. */
|
#include <abort-instr.h> /* Required for ABORT_INSTRUCTIUON. */
|
||||||
#include <kernel-features.h> /* Required for __ASSUME_LWS_CAS. */
|
|
||||||
|
|
||||||
/* We need EFAULT, ENONSYS */
|
/* We need EFAULT, ENONSYS */
|
||||||
#if !defined EFAULT && !defined ENOSYS
|
#if !defined EFAULT && !defined ENOSYS
|
||||||
@ -62,10 +61,9 @@ typedef uintmax_t uatomic_max_t;
|
|||||||
/* String constant for -EDEADLOCK. */
|
/* String constant for -EDEADLOCK. */
|
||||||
#define _ASM_EDEADLOCK "-45"
|
#define _ASM_EDEADLOCK "-45"
|
||||||
|
|
||||||
#if __ASSUME_LWS_CAS
|
|
||||||
/* The only basic operation needed is compare and exchange. The mem
|
/* The only basic operation needed is compare and exchange. The mem
|
||||||
pointer must be word aligned. */
|
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 long lws_errno asm("r21"); \
|
||||||
register unsigned long lws_ret asm("r28"); \
|
register unsigned long lws_ret asm("r28"); \
|
||||||
@ -93,17 +91,13 @@ typedef uintmax_t uatomic_max_t;
|
|||||||
(__typeof (oldval)) lws_ret; \
|
(__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; \
|
__typeof__ (*mem) ret; \
|
||||||
ret = atomic_compare_and_exchange_val_acq(mem, newval, oldval); \
|
ret = atomic_compare_and_exchange_val_acq(mem, newval, oldval); \
|
||||||
/* Return 1 if it was already acquired. */ \
|
/* Return 1 if it was already acquired. */ \
|
||||||
(ret != oldval); \
|
(ret != oldval); \
|
||||||
})
|
})
|
||||||
#else
|
|
||||||
# error __ASSUME_LWS_CAS is required to build glibc.
|
|
||||||
#endif
|
|
||||||
/* __ASSUME_LWS_CAS */
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
/* _BITS_ATOMIC_H */
|
/* _BITS_ATOMIC_H */
|
||||||
|
@ -18,9 +18,6 @@
|
|||||||
<http://www.gnu.org/licenses/>. */
|
<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. */
|
/* Support for the accept4 and recvmmsg syscalls was added in 2.6.34. */
|
||||||
#if __LINUX_KERNEL_VERSION >= 0x020622
|
#if __LINUX_KERNEL_VERSION >= 0x020622
|
||||||
# define __ASSUME_ACCEPT4_SYSCALL 1
|
# define __ASSUME_ACCEPT4_SYSCALL 1
|
||||||
|
Reference in New Issue
Block a user