aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorCooper Qu <cooper.qu@linux.alibaba.com>2021-05-28 17:02:05 +0800
committerXianmiao Qu <xianmiao_qu@c-sky.com>2021-05-28 18:05:27 +0800
commitf69a1aee157f496e6d3f373fff1b26b03bbf3409 (patch)
tree6f61a63249735dba1b85779d0d8eff921347f171 /gcc
parentc94424b0ed786ec92b6904da69af8b5243b34fdc (diff)
downloadgcc-f69a1aee157f496e6d3f373fff1b26b03bbf3409.zip
gcc-f69a1aee157f496e6d3f373fff1b26b03bbf3409.tar.gz
gcc-f69a1aee157f496e6d3f373fff1b26b03bbf3409.tar.bz2
C-SKY: Define HAVE_sync_compare_and_swap*.
The SYNC operations are implemented as library functions, not NSN patterns. As a result, the HAVE defines for the patterns are not defined. We need to define them to generate the corresponding __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* and __GCC_ATOMIC_*_LOCK_FREE defines. gcc/ * config/csky/csky-linux-elf.h (HAVE_sync_compare_and_swapqi): Defined. (HAVE_sync_compare_and_swaphi): Likewise. (HAVE_sync_compare_and_swapsi): Likewise.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/csky/csky-linux-elf.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/csky/csky-linux-elf.h b/gcc/config/csky/csky-linux-elf.h
index 58a1f39..e94eb8c 100644
--- a/gcc/config/csky/csky-linux-elf.h
+++ b/gcc/config/csky/csky-linux-elf.h
@@ -133,3 +133,13 @@
#ifdef IN_LIBGCC2
extern int cacheflush (void *__addr, const int __nbytes, const int __op);
#endif
+
+/* The SYNC operations are implemented as library functions, not
+ INSN patterns. As a result, the HAVE defines for the patterns are
+ not defined. We need to define them to generate the corresponding
+ __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* and __GCC_ATOMIC_*_LOCK_FREE
+ defines. */
+
+#define HAVE_sync_compare_and_swapqi 1
+#define HAVE_sync_compare_and_swaphi 1
+#define HAVE_sync_compare_and_swapsi 1