diff --git a/configure.ac b/configure.ac
index f8bb131..7583a37 100644
--- a/configure.ac
+++ b/configure.ac
@@ -968,6 +968,22 @@
     PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs >= 0.4)
 fi
 
+save_LIBS="$LIBS"
+LIBS="$PTHREAD_LIBS"
+AC_MSG_CHECKING(whether pthread_setaffinity_np is supported)
+AC_LINK_IFELSE([AC_LANG_SOURCE([[
+    #define _GNU_SOURCE
+    #include <pthread.h>
+    int main() {
+       void *a = (void*) &pthread_setaffinity_np;
+       long b = (long) a;
+       return (int) b;
+    }]])],
+  [DEFINES="$DEFINES -DHAVE_PTHREAD_SETAFFINITY"];
+   AC_MSG_RESULT([yes]),
+   AC_MSG_RESULT([no]))
+LIBS="$save_LIBS"
+
 dnl Check for futex for fast inline simple_mtx_t.
 AC_CHECK_HEADER([linux/futex.h], [DEFINES="$DEFINES -DHAVE_LINUX_FUTEX_H"])
 
diff --git a/meson.build b/meson.build
index 0d534b9..0588ebf 100644
--- a/meson.build
+++ b/meson.build
@@ -1070,6 +1070,13 @@
 dep_thread = dependency('threads')
 if dep_thread.found() and host_machine.system() != 'windows'
   pre_args += '-DHAVE_PTHREAD'
+  if cc.has_function(
+      'pthread_setaffinity_np',
+      dependencies : dep_thread,
+      prefix : '#include <pthread.h>',
+      args : '-D_GNU_SOURCE')
+    pre_args += '-DHAVE_PTHREAD_SETAFFINITY'
+  endif
 endif
 if with_amd_vk or with_gallium_radeonsi or with_gallium_r600 or with_gallium_opencl
   dep_elf = dependency('libelf', required : false)
diff --git a/src/util/u_thread.h b/src/util/u_thread.h
index eee6f3c..7538d7d 100644
--- a/src/util/u_thread.h
+++ b/src/util/u_thread.h
@@ -36,10 +36,6 @@
 #include <signal.h>
 #endif
 
-#if defined(HAVE_PTHREAD) && !defined(ANDROID) && !defined(__APPLE__)
-#define HAVE_PTHREAD_SETAFFINITY
-#endif
-
 static inline thrd_t u_thread_create(int (*routine)(void *), void *param)
 {
    thrd_t thread;
