Dummy pthread_setaffinity_np() when not available

On uClibc configurations that do not use the NPTL thread
implementation, pthread_setaffinity_np() is not available. This patch
defines a dummy (empty) implementation of this function for such
cases.

The only few architectures that do not provide the NPTL thread
implementation are very likely to be non-SMP architectures, and
therefore, setting the affinity of the thread is not doing anything
useful, so having an empty stub for pthread_setaffinity_np() is not a
problem.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Index: b/src/current/iozone.c
===================================================================
--- a/src/current/iozone.c
+++ b/src/current/iozone.c
@@ -306,6 +306,17 @@
 #endif
 #endif
 
+#if defined (__linux__)
+#include <features.h>
+#if defined (__UCLIBC__) && !defined (__UCLIBC_HAS_THREADS_NATIVE__)
+static int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize,
+				  const cpu_set_t *cpuset)
+{
+	return 0;
+}
+#endif
+#endif
+
 #if ((defined(solaris) && defined(__LP64__)) || defined(__s390x__))
 /* If we are building for 64-bit Solaris, all functions that return pointers
  * must be declared before they are used; otherwise the compiler will assume
