summaryrefslogtreecommitdiff
path: root/libgomp/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'libgomp/configure.ac')
-rw-r--r--libgomp/configure.ac19
1 files changed, 19 insertions, 0 deletions
diff --git a/libgomp/configure.ac b/libgomp/configure.ac
index 4ee96e2b3dd..427c8f7c753 100644
--- a/libgomp/configure.ac
+++ b/libgomp/configure.ac
@@ -236,6 +236,25 @@ If so, please configure with --disable-linux-futex])
;;
esac
+# Check for pthread_{,attr_}[sg]etaffinity_np.
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#define _GNU_SOURCE
+ #include <pthread.h>],
+ [cpu_set_t cpuset;
+ pthread_attr_t attr;
+ pthread_getaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset);
+ if (CPU_ISSET (0, &cpuset))
+ CPU_SET (1, &cpuset);
+ else
+ CPU_ZERO (&cpuset);
+ pthread_setaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset);
+ pthread_attr_init (&attr);
+ pthread_attr_getaffinity_np (&attr, sizeof (cpu_set_t), &cpuset);
+ pthread_attr_setaffinity_np (&attr, sizeof (cpu_set_t), &cpuset);])],
+ AC_DEFINE(HAVE_PTHREAD_AFFINITY_NP, 1,
+[ Define if pthread_{,attr_}{g,s}etaffinity_np is supported.]))
+
# At least for glibc, clock_gettime is in librt. But don't pull that
# in if it still doesn't give us the function we want.
if test $ac_cv_func_clock_gettime = no; then