Index: libcxx/include/__threading_support =================================================================== --- libcxx/include/__threading_support +++ libcxx/include/__threading_support @@ -282,7 +282,7 @@ bool operator()(chrono::nanoseconds __elapsed) const; }; -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_THREAD_ABI_VISIBILITY bool __libcpp_timed_backoff_policy::operator()(chrono::nanoseconds __elapsed) const { if(__elapsed > chrono::milliseconds(128)) Index: libcxx/src/CMakeLists.txt =================================================================== --- libcxx/src/CMakeLists.txt +++ libcxx/src/CMakeLists.txt @@ -323,7 +323,10 @@ if (LIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY) - file(GLOB LIBCXX_EXTERNAL_THREADING_SUPPORT_SOURCES ../test/support/external_threads.cpp) + set(LIBCXX_EXTERNAL_THREADING_SUPPORT_SOURCES + "${CMAKE_CURRENT_SOURCE_DIR}/../test/support/external_threads.cpp") + set(LIBCXX_INCLUDE_DIR + "${CMAKE_CURRENT_SOURCE_DIR}/../include") if (LIBCXX_ENABLE_SHARED) add_library(cxx_external_threads SHARED ${LIBCXX_EXTERNAL_THREADING_SUPPORT_SOURCES}) @@ -337,6 +340,8 @@ COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}" OUTPUT_NAME "c++external_threads" ) + + target_include_directories(cxx_external_threads PRIVATE ${LIBCXX_INCLUDE_DIR}) endif() if (LIBCXX_INSTALL_LIBRARY)