summaryrefslogtreecommitdiffstats
path: root/core/shared_library_internal.mk
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2014-05-29 02:47:27 -0700
committerAndrew Hsieh <andrewhsieh@google.com>2014-05-29 11:40:46 -0700
commit4c952d72b7aca4801e0ee4070cf54e3de57b98b5 (patch)
tree6747bd319878117907653d36c34af69aab51bac8 /core/shared_library_internal.mk
parentb3bed5952b44e69dc9e1988beb4092303084ef61 (diff)
downloadbuild-4c952d72b7aca4801e0ee4070cf54e3de57b98b5.zip
build-4c952d72b7aca4801e0ee4070cf54e3de57b98b5.tar.gz
build-4c952d72b7aca4801e0ee4070cf54e3de57b98b5.tar.bz2
Add -latomic to all target builds
Projects using stdatomic.h needs libatomic.a in case compiler can't expand all __atomic* intrinsics. eg, __atomic_is_lock_free in armeabi/mips. Adding libatomic.a globally makes more sense than adding "LOCAL_LDLIB += -latomic " in each project including <stdatomic.h>. Projects don't need atomic operations won't get redundant DT_NEEDED entry because libatomic.a is not a shared library. Change-Id: I81dbf524544c848e667e18ab5eeabff75b5063ef
Diffstat (limited to 'core/shared_library_internal.mk')
-rw-r--r--core/shared_library_internal.mk2
1 files changed, 2 insertions, 0 deletions
diff --git a/core/shared_library_internal.mk b/core/shared_library_internal.mk
index bda44f4..abef11f 100644
--- a/core/shared_library_internal.mk
+++ b/core/shared_library_internal.mk
@@ -42,6 +42,7 @@ include $(BUILD_SYSTEM)/dynamic_binary.mk
my_target_global_ld_dirs := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_LD_DIRS)
my_target_fdo_lib := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_FDO_LIB)
my_target_libgcc := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBGCC)
+my_target_libatomic := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBATOMIC)
my_target_crtbegin_so_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_CRTBEGIN_SO_O)
my_target_crtend_so_o := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_CRTEND_SO_O)
ifdef LOCAL_SDK_VERSION
@@ -59,6 +60,7 @@ $(linked_module): PRIVATE_TARGET_GLOBAL_LD_DIRS := $(my_target_global_ld_dirs)
$(linked_module): PRIVATE_TARGET_GLOBAL_LDFLAGS := $(my_target_global_ldflags)
$(linked_module): PRIVATE_TARGET_FDO_LIB := $(my_target_fdo_lib)
$(linked_module): PRIVATE_TARGET_LIBGCC := $(my_target_libgcc)
+$(linked_module): PRIVATE_TARGET_LIBATOMIC := $(my_target_libatomic)
$(linked_module): PRIVATE_TARGET_CRTBEGIN_SO_O := $(my_target_crtbegin_so_o)
$(linked_module): PRIVATE_TARGET_CRTEND_SO_O := $(my_target_crtend_so_o)