Index: libcxxabi/trunk/include/cxxabi.h =================================================================== --- libcxxabi/trunk/include/cxxabi.h +++ libcxxabi/trunk/include/cxxabi.h @@ -160,8 +160,8 @@ 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(); Index: libcxxabi/trunk/src/CMakeLists.txt =================================================================== --- libcxxabi/trunk/src/CMakeLists.txt +++ libcxxabi/trunk/src/CMakeLists.txt @@ -31,7 +31,7 @@ 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()