diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-01-28 18:40:35 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-01-28 18:40:35 +0000 |
commit | df34134284b46cdd8ffd39551b858652d465ca08 (patch) | |
tree | 91e7bd10f7499210ccc911381ed82558b4e2dfe8 /sysdeps/mips | |
parent | d4d0ecb24474928b9dfcce6c3f09694fab2400b6 (diff) | |
download | glibc-df34134284b46cdd8ffd39551b858652d465ca08.tar.gz |
Disable 64-bit atomics for MIPS n32.
This patch disables use of 64-bit atomics for MIPS n32 to fix the
problems with unaligned semaphores.
Before 64-bit atomics are used for anything for which such alignment
issues do not arise, and before the addition of any new ILP32 ports
with 64-bit semaphores for which the ABI can be set to have the
greater alignment (AARCH64?), a better approach will need to be
established that allows architectures to declare their 64-bit atomics
availability accurately, without doing so causing inappropriate use of
such atomics on unaligned semaphores.
Tested for MIPS n32 that this fixes the nptl/tst-sem3 failure.
* sysdeps/mips/bits/atomic.h [_MIPS_SIM == _ABIN32]
(__HAVE_64B_ATOMICS): Define to 0.
Diffstat (limited to 'sysdeps/mips')
-rw-r--r-- | sysdeps/mips/bits/atomic.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sysdeps/mips/bits/atomic.h b/sysdeps/mips/bits/atomic.h index ddcb0391a6..a39188160b 100644 --- a/sysdeps/mips/bits/atomic.h +++ b/sysdeps/mips/bits/atomic.h @@ -44,7 +44,7 @@ typedef uintmax_t uatomic_max_t; #define MIPS_PUSH_MIPS2 #endif -#if _MIPS_SIM == _ABIO32 +#if _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32 #define __HAVE_64B_ATOMICS 0 #else #define __HAVE_64B_ATOMICS 1 |