OSDN Git Service

* gthr-posix.h (pthread_cancel): Don't declare if compiling against
authormkuvyrkov <mkuvyrkov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 May 2010 12:08:51 +0000 (12:08 +0000)
committermkuvyrkov <mkuvyrkov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 May 2010 12:08:51 +0000 (12:08 +0000)
Bionic C library.
(__gthread_active_p): Check for pthread_create if compiling against
Bionic C library.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159919 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/gthr-posix.h

index 68fffda..6d8c2e8 100644 (file)
@@ -1,5 +1,12 @@
 2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
 
+       * gthr-posix.h (pthread_cancel): Don't declare if compiling against
+       Bionic C library.
+       (__gthread_active_p): Check for pthread_create if compiling against
+       Bionic C library.
+
+2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
        Support compilation for Android platform.  Reimplement -mandroid.
 
        * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
index 61b4dda..a7ce311 100644 (file)
@@ -124,7 +124,9 @@ __gthrw(pthread_join)
 __gthrw(pthread_equal)
 __gthrw(pthread_self)
 __gthrw(pthread_detach)
+#ifndef __BIONIC__
 __gthrw(pthread_cancel)
+#endif
 __gthrw(sched_yield)
 
 __gthrw(pthread_mutex_lock)
@@ -238,7 +240,15 @@ static inline int
 __gthread_active_p (void)
 {
   static void *const __gthread_active_ptr
-    = __extension__ (void *) &__gthrw_(pthread_cancel);
+    = __extension__ (void *) &__gthrw_(
+/* Android's C library does not provide pthread_cancel, check for
+   `pthread_create' instead.  */
+#ifndef __BIONIC__
+                                      pthread_cancel
+#else
+                                      pthread_create
+#endif
+                                      );
   return __gthread_active_ptr != 0;
 }