From 06991eb816c935961584eeba121e8930c036372f Mon Sep 17 00:00:00 2001 From: Chris Metcalf Date: Wed, 28 Jan 2015 14:51:21 -0500 Subject: tilegx32: set __HAVE_64B_ATOMICS to 0 This is because of alignment issues in the sem_t support. tilegx32 does in fact support 64-bit atomics and we will need to revisit this after the 2.21 freeze. --- sysdeps/tile/tilegx/bits/atomic.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'sysdeps/tile') diff --git a/sysdeps/tile/tilegx/bits/atomic.h b/sysdeps/tile/tilegx/bits/atomic.h index ac654b8..e75efb1 100644 --- a/sysdeps/tile/tilegx/bits/atomic.h +++ b/sysdeps/tile/tilegx/bits/atomic.h @@ -21,7 +21,15 @@ #include -#define __HAVE_64B_ATOMICS 1 +#ifdef _LP64 +# define __HAVE_64B_ATOMICS 1 +#else +/* tilegx32 does have 64-bit atomics, but assumptions in the semaphore + code mean that unaligned 64-bit atomics will be used if this symbol + is true, and unaligned atomics are not supported on tile. */ +# define __HAVE_64B_ATOMICS 0 +#endif + #define USE_ATOMIC_COMPILER_BUILTINS 0 /* Pick appropriate 8- or 4-byte instruction. */ -- cgit v1.1