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

Reply via email to