[PATCH] [compiler-rt] Do not use ldrexd or strexd on v7M

Oliver Stannard oliver.stannard at arm.com
Mon Sep 29 02:49:00 PDT 2014


The SYNC_OP_8 macro (defined in lib/builtins/arm/sync-ops.h) uses these macros to emit the __sync_fetch_and_*_8 functions, so these #ifdefs have the effect of not building any of these functions. These are builtins which are used by the compiler, so they are not in any header file. This will result in a link error if the user tries to use any 64-bit atomic operations. However, a version of this runtime library designed to be used with an operating system could provide these operations, so I don't think the compiler should error if they are used.

http://reviews.llvm.org/D5490






More information about the llvm-commits mailing list