Enable using clang to build __cxa_thread_atexit_impl.

Remove previous workaround as we no longer use
__thread in __cxa_thread_atexit_impl.cpp.

Change-Id: Ic1062995db488859b341acdda0b5f6635e10d7e8
This commit is contained in:
Yabin Cui 2015-11-30 14:07:58 -08:00
parent 28d3f00cf4
commit 9b687dc243
2 changed files with 8 additions and 45 deletions

View File

@ -831,8 +831,9 @@ cc_library_static {
cc_library_static {
defaults: ["libc_defaults"],
srcs: [
// The fork implementation depends on pthread data, so we can't include
// it in libc_ndk.a.
// The following implementations depend on pthread data, so we can't
// include them in libc_ndk.a.
"bionic/__cxa_thread_atexit_impl.cpp",
"bionic/fork.cpp",
// The data that backs getauxval is initialized in the libc init
@ -1454,22 +1455,6 @@ cc_library_static {
name: "libc_bionic_ndk",
}
cc_library_static {
name: "libc_thread_atexit_impl",
defaults: ["libc_defaults"],
srcs: ["bionic/__cxa_thread_atexit_impl.cpp"],
cflags: ["-Wframe-larger-than=2048"],
cppflags: ["-Wold-style-cast"],
include_dirs: ["bionic/libstdc++/include"],
arch: {
arm64: {
// b/25662915, clang compiled __cxa_thread_atexit_impl.cpp still failed.
clang: false,
},
},
}
// ========================================================
// libc_pthread.a - pthreads parts that previously lived in
// libc_bionic.a. Relocated to their own library because
@ -1665,7 +1650,6 @@ cc_library_static {
"libc_pthread",
"libc_stack_protector",
"libc_syscalls",
"libc_thread_atexit_impl",
"libc_tzcode",
],

View File

@ -243,9 +243,11 @@ libc_bionic_ndk_src_files := \
libc_bionic_src_files :=
# The fork implementation depends on pthread data, so we can't include it in
# libc_ndk.a.
libc_bionic_src_files += bionic/fork.cpp
# The following implementations depend on pthread data, so we can't include
# them in libc_ndk.a.
libc_bionic_src_files += \
bionic/__cxa_thread_atexit_impl.cpp \
bionic/fork.cpp \
# The data that backs getauxval is initialized in the libc init functions which
# are invoked by the linker. If this file is included in libc_ndk.a, only one of
@ -586,9 +588,6 @@ libc_pthread_src_files := \
bionic/pthread_sigmask.cpp \
bionic/pthread_spinlock.cpp \
libc_thread_atexit_impl_src_files := \
bionic/__cxa_thread_atexit_impl.cpp \
libc_arch_static_src_files := \
bionic/dl_iterate_phdr_static.cpp \
@ -1045,25 +1044,6 @@ $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags))
$(eval $(call patch-up-arch-specific-flags,LOCAL_SRC_FILES,libc_bionic_ndk_src_files))
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(libc_thread_atexit_impl_src_files)
LOCAL_CFLAGS := $(libc_common_cflags) -Wframe-larger-than=2048
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags) -Wold-style-cast
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_MODULE := libc_thread_atexit_impl
LOCAL_CLANG := $(use_clang)
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_CXX_STL := none
LOCAL_SYSTEM_SHARED_LIBRARIES :=
LOCAL_SANITIZE := never
LOCAL_NATIVE_COVERAGE := $(bionic_coverage)
# b/25662915, clang compiled __cxa_thread_atexit_impl.cpp still failed.
LOCAL_CLANG_arm64 := false
include $(BUILD_STATIC_LIBRARY)
# ========================================================
# libc_pthread.a - pthreads parts that previously lived in
@ -1261,7 +1241,6 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \
libc_pthread \
libc_stack_protector \
libc_syscalls \
libc_thread_atexit_impl \
libc_tzcode \
LOCAL_WHOLE_STATIC_LIBRARIES_arm := libc_aeabi