diff --git a/libcxx/include/__threading_support b/libcxx/include/__threading_support --- a/libcxx/include/__threading_support +++ b/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)) diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt --- a/libcxx/src/CMakeLists.txt +++ b/libcxx/src/CMakeLists.txt @@ -323,7 +323,8 @@ 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") if (LIBCXX_ENABLE_SHARED) add_library(cxx_external_threads SHARED ${LIBCXX_EXTERNAL_THREADING_SUPPORT_SOURCES}) @@ -337,6 +338,8 @@ COMPILE_FLAGS "${LIBCXX_COMPILE_FLAGS}" OUTPUT_NAME "c++external_threads" ) + + target_link_libraries(cxx_external_threads PRIVATE cxx-headers) endif() if (LIBCXX_INSTALL_LIBRARY)