summaryrefslogtreecommitdiff
path: root/make
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-03-04 10:10:17 +0000
committerTim Northover <tnorthover@apple.com>2014-03-04 10:10:17 +0000
commit11d04ee709db1aff256f904e384aae0d9ac24447 (patch)
tree92794e4eaee7c799b7b79b29a9adcc9625e6ddac /make
parent5ad91b8305eac34b7d9a777a7a3c2b098de0fedf (diff)
ARM: implement __sync_fetch_and_* operations
Since these are primarily useful for deeply embedded targets where code size is very important, they are each in a separate file making use of infrastructure in sync-ops.h. This allows a linker to include just the functions that are actually used. rdar://problem/14736665 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@202812 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'make')
-rw-r--r--make/platform/clang_macho_embedded.mk20
1 files changed, 20 insertions, 0 deletions
diff --git a/make/platform/clang_macho_embedded.mk b/make/platform/clang_macho_embedded.mk
index d80bfa921..827978e7f 100644
--- a/make/platform/clang_macho_embedded.mk
+++ b/make/platform/clang_macho_embedded.mk
@@ -204,6 +204,26 @@ THUMB2_FUNCTIONS := \
switch32 \
switch8 \
switchu8 \
+ sync_fetch_and_add_4 \
+ sync_fetch_and_sub_4 \
+ sync_fetch_and_and_4 \
+ sync_fetch_and_or_4 \
+ sync_fetch_and_xor_4 \
+ sync_fetch_and_nand_4 \
+ sync_fetch_and_max_4 \
+ sync_fetch_and_umax_4 \
+ sync_fetch_and_min_4 \
+ sync_fetch_and_umin_4 \
+ sync_fetch_and_add_8 \
+ sync_fetch_and_sub_8 \
+ sync_fetch_and_and_8 \
+ sync_fetch_and_or_8 \
+ sync_fetch_and_xor_8 \
+ sync_fetch_and_nand_8 \
+ sync_fetch_and_max_8 \
+ sync_fetch_and_umax_8 \
+ sync_fetch_and_min_8 \
+ sync_fetch_and_umin_8
I386_FUNCTIONS := \
i686.get_pc_thunk.eax \