Jan Kiszka wrote:
Wolfgang Grandegger wrote:
Hello,
with todays SVN version of Xenomai, the testsuite program
switchtest/switch.c does not compile because cpu_set_t and friends
(CPU_SET, ...) are not undefined. I'm using kernel version 2.4.25.
Any idea what goes wrong. I haven't found where cpu_set_t is declared,
not even in Linux 2.4.17.7.
That's user-space stuff, in /usr/include/bits/sched.h on my box. Maybe
some #ifndef __cpu_set_t_defined + local definition is required here.
What glibc version do you use?
Ah, OK. The problem is with gcc version 3.3.3 (DENX ELDK 3.1.1 3.3.3-9),
which does not have cpu_set_t, indeed. The configure script already
deals with different implementations of setaffinity. The attached patch
fixes the problem. It removes CONFIG_SMP, which is not known to user
space applications anyhow. Well, it might get defined in
"src/include/xeno_config.h" somehow but I don't know how this could work
properly without knowing the configured kernel tree.
Wolfgang,
+ diff -u xenomai/src/testsuite/switchtest/switch.c.SMP xenomai/src/testsuite/switchtest/switch.c
--- xenomai/src/testsuite/switchtest/switch.c.SMP 2006-07-29 13:31:06.000000000 +0200
+++ xenomai/src/testsuite/switchtest/switch.c 2006-07-29 13:32:18.000000000 +0200
@@ -15,7 +15,6 @@
#include <asm/xenomai/fptest.h>
#include <rtdm/rttesting.h>
-#if CONFIG_SMP
#ifdef HAVE_RECENT_SETAFFINITY
#define smp_sched_setaffinity(pid,len,mask) sched_setaffinity(pid,len,mask)
#else /* !HAVE_RECENT_SETAFFINITY */
@@ -28,9 +27,6 @@
#define CPU_SET(n,set) do { *(set) |= (1 << n); } while(0)
#endif /* HAVE_OLD_SETAFFINITY */
#endif /* HAVE_RECENT_SETAFFINITY */
-#else /* !CONFIG_SMP */
-#define smp_sched_setaffinity(pid,len,mask) 0
-#endif /* !CONFIG_SMP */
struct cpu_tasks;
_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core