Fix Ada bootstrap for Darwin9 and earlier.
authorIain Sandoe <iain@sandoe.co.uk>
Sun, 23 Dec 2018 12:51:52 +0000 (12:51 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Sun, 23 Dec 2018 12:51:52 +0000 (12:51 +0000)
2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>

gcc/ada/

* adaint.c [__APPLE__] (__gnat_lwp_self): Ensure that the system
interface used is available on the target.

From-SVN: r267374

gcc/ada/ChangeLog
gcc/ada/adaint.c

index ba974cd..026f202 100644 (file)
@@ -1,3 +1,8 @@
+2018-12-23  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * adaint.c [__APPLE__] (__gnat_lwp_self): Ensure that the system
+       interface used is available on the target.
+
 2018-12-14  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gcc-interface/decl.c (rm_size): Take into account the padding in
index 88500a6..cc143cf 100644 (file)
@@ -3239,9 +3239,13 @@ __gnat_lwp_self (void)
 #endif
 
 #if defined (__APPLE__)
-#include <mach/thread_info.h>
-#include <mach/mach_init.h>
-#include <mach/thread_act.h>
+# if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1060
+#  include <mach/thread_info.h>
+#  include <mach/mach_init.h>
+#  include <mach/thread_act.h>
+# else
+#  include <pthread.h>
+# endif
 
 /* System-wide thread identifier.  Note it could be truncated on 32 bit
    hosts.
@@ -3249,6 +3253,7 @@ __gnat_lwp_self (void)
 void *
 __gnat_lwp_self (void)
 {
+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1060
   thread_identifier_info_data_t data;
   mach_msg_type_number_t count = THREAD_IDENTIFIER_INFO_COUNT;
   kern_return_t kret;
@@ -3259,6 +3264,9 @@ __gnat_lwp_self (void)
     return (void *)(uintptr_t)data.thread_id;
   else
     return 0;
+#else
+  return (void *)pthread_mach_thread_np (pthread_self ());
+#endif
 }
 #endif