aboutsummaryrefslogtreecommitdiff
path: root/libcxxabi
diff options
context:
space:
mode:
authorPetr Hosek <phosek@chromium.org>2018-10-29 20:20:26 +0000
committerPetr Hosek <phosek@chromium.org>2018-10-29 20:20:26 +0000
commitf503f7fd420cfd095407cea00e531497c13c6b9b (patch)
treeaf5a677b4f51eed8a9b4082b16d2b8568a291216 /libcxxabi
parentf07946e1011b7874fda9046f9a6717fa1586ce7c (diff)
[libc++abi] Provide __cxa_thread_atexit on Fuchsia
Fuchsia already supports this interface. Differential Revision: https://reviews.llvm.org/D53801 llvm-svn: 345534
Diffstat (limited to 'libcxxabi')
-rw-r--r--libcxxabi/include/cxxabi.h4
-rw-r--r--libcxxabi/src/CMakeLists.txt2
2 files changed, 3 insertions, 3 deletions
diff --git a/libcxxabi/include/cxxabi.h b/libcxxabi/include/cxxabi.h
index 2596560d6e92..c6724ad24dc1 100644
--- a/libcxxabi/include/cxxabi.h
+++ b/libcxxabi/include/cxxabi.h
@@ -160,8 +160,8 @@ __cxa_decrement_exception_refcount(void *primary_exception) throw();
extern _LIBCXXABI_FUNC_VIS bool __cxa_uncaught_exception() throw();
extern _LIBCXXABI_FUNC_VIS unsigned int __cxa_uncaught_exceptions() throw();
-#ifdef __linux__
-// Linux TLS support. Not yet an official part of the Itanium ABI.
+#if defined(__linux__) || defined(__Fuchsia__)
+// Linux and Fuchsia TLS support. Not yet an official part of the Itanium ABI.
// https://sourceware.org/glibc/wiki/Destructor%20support%20for%20thread_local%20variables
extern _LIBCXXABI_FUNC_VIS int __cxa_thread_atexit(void (*)(void *), void *,
void *) throw();
diff --git a/libcxxabi/src/CMakeLists.txt b/libcxxabi/src/CMakeLists.txt
index d3581cc930de..7e21fb2d7926 100644
--- a/libcxxabi/src/CMakeLists.txt
+++ b/libcxxabi/src/CMakeLists.txt
@@ -31,7 +31,7 @@ else()
list(APPEND LIBCXXABI_SOURCES cxa_noexception.cpp)
endif()
-if (LIBCXXABI_ENABLE_THREADS AND UNIX AND NOT (APPLE OR CYGWIN))
+if (LIBCXXABI_ENABLE_THREADS AND (UNIX OR FUCHSIA) AND NOT (APPLE OR CYGWIN))
list(APPEND LIBCXXABI_SOURCES cxa_thread_atexit.cpp)
endif()