Author: asiri
Date: Thu Jan 26 04:38:03 2017
New Revision: 293166
URL: http://llvm.org/viewvc/llvm-project?rev=293166&view=rev
Log:
Fix chromium build (libcxxabi)
Pull the dependency on pthread_mach_thread_np() back into libcxxabi.
Modified:
libcxxabi/trunk/src/cxa_guard.cpp
Modified: libcxxabi/trunk/src/cxa_guard.cpp
URL:
http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/cxa_guard.cpp?rev=293166&r1=293165&r2=293166&view=diff
==============================================================================
--- libcxxabi/trunk/src/cxa_guard.cpp (original)
+++ libcxxabi/trunk/src/cxa_guard.cpp Thu Jan 26 04:38:03 2017
@@ -179,7 +179,19 @@ _LIBCXXABI_FUNC_VIS int __cxa_guard_acqu
if (result)
{
#if defined(__APPLE__) && !defined(__arm__)
- const lock_type id = std::__libcpp_thread_get_port();
+ // This is a special-case pthread dependency for Mac. We can't pull
this
+ // out into libcxx's threading API (__threading_support) because not
all
+ // supported Mac environments provide this function (in pthread.h). To
+ // make it possible to build/use libcxx in those environments, we have
to
+ // keep this pthread dependency local to libcxxabi. If there is some
+ // convenient way to detect precisely when pthread_mach_thread_np is
+ // available in a given Mac environment, it might still be possible to
+ // bury this dependency in __threading_support.
+ #ifdef _LIBCPP_HAS_THREAD_API_PTHREAD
+ const lock_type id =
pthread_mach_thread_np(std::__libcpp_thread_get_current_id());
+ #else
+ #error "How do I pthread_mach_thread_np()?"
+ #endif
lock_type lock = get_lock(*guard_object);
if (lock)
{
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits