forked from OSchip/llvm-project
[compiler-rt][builtins] Move DMB definition to syn-ops.h
Compiler-rt cross-compile for ARMv5 fails because D99282 made it an error if DMB is used for any pre-ARMv6 targets. More specifically, the "#error only supported on ARMv6+" added in D99282 will cause compilation to fail when any source file which includes assembly.h are compiled for pre-ARMv6 targets. Since the only place where DMB is used is syn-ops.h (which is only included by arm/sync_fetch_and_* and these files are excluded from being built for older targets), this patch moves the definition there to avoid the issues described above. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D123105
This commit is contained in:
parent
fef56f79ac
commit
1c9415806b
|
@ -14,6 +14,14 @@
|
|||
|
||||
#include "../assembly.h"
|
||||
|
||||
#if __ARM_ARCH >= 7
|
||||
#define DMB dmb
|
||||
#elif __ARM_ARCH >= 6
|
||||
#define DMB mcr p15, #0, r0, c7, c10, #5
|
||||
#else
|
||||
#error DMB is only supported on ARMv6+
|
||||
#endif
|
||||
|
||||
#define SYNC_OP_4(op) \
|
||||
.p2align 2; \
|
||||
.syntax unified; \
|
||||
|
|
|
@ -189,14 +189,6 @@
|
|||
JMP(ip)
|
||||
#endif
|
||||
|
||||
#if __ARM_ARCH >= 7
|
||||
#define DMB dmb
|
||||
#elif __ARM_ARCH >= 6
|
||||
#define DMB mcr p15, #0, r0, c7, c10, #5
|
||||
#else
|
||||
#error only supported on ARMv6+
|
||||
#endif
|
||||
|
||||
#if defined(USE_THUMB_2)
|
||||
#define WIDE(op) op.w
|
||||
#else
|
||||
|
|
Loading…
Reference in New Issue