- sched_{s,g}etaffinity depends on the respective syscalls.
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Wed, 14 Feb 2007 13:28:58 +0000 (13:28 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Wed, 14 Feb 2007 13:28:58 +0000 (13:28 -0000)
  Noticed while trying to use ancient 2.4.31 kernel-headers from some bug-report

toolchain/uClibc/uClibc-0.9.29-conditional-sched_affinity.patch [new file with mode: 0644]

diff --git a/toolchain/uClibc/uClibc-0.9.29-conditional-sched_affinity.patch b/toolchain/uClibc/uClibc-0.9.29-conditional-sched_affinity.patch
new file mode 100644 (file)
index 0000000..a450d66
--- /dev/null
@@ -0,0 +1,55 @@
+Index: uClibc/libc/sysdeps/linux/common/sched_getaffinity.c
+===================================================================
+--- uClibc/libc/sysdeps/linux/common/sched_getaffinity.c       (revision 17880)
++++ uClibc/libc/sysdeps/linux/common/sched_getaffinity.c       (working copy)
+@@ -29,6 +29,7 @@
+ #include <sys/param.h>
+ #include <sys/types.h>
++#ifdef __NR_sched_getaffinity
+ libc_hidden_proto(memset)
+ #define __NR___syscall_sched_getaffinity __NR_sched_getaffinity
+@@ -48,5 +49,15 @@
+       }
+       return res;
+ }
++#else
++/*
++int sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *cpuset)
++{
++      __set_errno(ENOSYS);
++      return -1;
++}
++*/
+ #endif
+ #endif
++
++#endif
+Index: uClibc/libc/sysdeps/linux/common/sched_setaffinity.c
+===================================================================
+--- uClibc/libc/sysdeps/linux/common/sched_setaffinity.c       (revision 17880)
++++ uClibc/libc/sysdeps/linux/common/sched_setaffinity.c       (working copy)
+@@ -31,6 +31,7 @@
+ #include <sys/types.h>
+ #include <alloca.h>
++#ifdef __NR_sched_setaffinity
+ libc_hidden_proto(getpid)
+ #define __NR___syscall_sched_setaffinity __NR_sched_setaffinity
+@@ -74,5 +75,14 @@
+       return INLINE_SYSCALL (sched_setaffinity, 3, pid, cpusetsize, cpuset);
+ }
++#else
++/*
++int sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *cpuset)
++{
++      __set_errno(ENOSYS);
++      return -1;
++}
++*/
+ #endif
+ #endif
++#endif