* [Xenomai-core] [sim] ... doesn't build
@ 2006-05-27 15:13 Jan Kiszka
2006-05-27 15:24 ` Gilles Chanteperdrix
0 siblings, 1 reply; 5+ messages in thread
From: Jan Kiszka @ 2006-05-27 15:13 UTC (permalink / raw)
To: xenomai-core
[-- Attachment #1: Type: text/plain, Size: 1902 bytes --]
Hi,
I just tried to get the simulator from trunk built but failed here:
In file included from ../../../../xenomai/sim/../include/posix/posix.h:29,
from
../../../../xenomai/sim/../ksrc/skins/posix/internal.h:24,
from
../../../../xenomai/sim/../ksrc/skins/posix/thread.h:23,
from
../../../../xenomai/sim/../ksrc/skins/posix/sched.c:48:
../../../../xenomai/sim/../include/posix/pthread.h:246: conflicting
types for `pthread_attr_getaffinity_np'
/usr/include/pthread.h:383: previous declaration of
`pthread_attr_getaffinity_np'
../../../../xenomai/sim/../include/posix/pthread.h:249: conflicting
types for `pthread_attr_setaffinity_np'
/usr/include/pthread.h:377: previous declaration of
`pthread_attr_setaffinity_np'
Looks like glibc-2.4 (that one comes with my opensuse 10.1) now also
knows get/setaffinity. Prototypes of glibc:
extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
size_t __cpusetsize,
__const cpu_set_t *__cpuset)
__THROW;
extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr,
size_t __cpusetsize,
cpu_set_t *__cpuset) __THROW;
Moreover, I get tons of this warning:
/usr/include/bits/pthreadtypes.h:69: warning: unnamed struct/union that
defines no instances
But this is an "imported" issue, isn't it? Likely due to some picky gcc
switch during the simulator build.
Jan
PS: I already committed this tiny fix to make gcc-4.1 happy:
--- sim/vm/interrupt.h (Revision 1140)
+++ sim/vm/interrupt.h (Arbeitskopie)
@@ -145,7 +145,7 @@ public:
return currentIrq;
}
- int MvmIrqManager::onHandlerP () {
+ int onHandlerP () {
return !!getCurrentIrq();
}
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [Xenomai-core] [sim] ... doesn't build 2006-05-27 15:13 [Xenomai-core] [sim] ... doesn't build Jan Kiszka @ 2006-05-27 15:24 ` Gilles Chanteperdrix 2006-05-27 15:34 ` Jan Kiszka 0 siblings, 1 reply; 5+ messages in thread From: Gilles Chanteperdrix @ 2006-05-27 15:24 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai-core [-- Attachment #1: message body and .signature --] [-- Type: text/plain, Size: 1799 bytes --] Jan Kiszka wrote: > Hi, > > I just tried to get the simulator from trunk built but failed here: > > In file included from ../../../../xenomai/sim/../include/posix/posix.h:29, > from > ../../../../xenomai/sim/../ksrc/skins/posix/internal.h:24, > from > ../../../../xenomai/sim/../ksrc/skins/posix/thread.h:23, > from > ../../../../xenomai/sim/../ksrc/skins/posix/sched.c:48: > ../../../../xenomai/sim/../include/posix/pthread.h:246: conflicting > types for `pthread_attr_getaffinity_np' > /usr/include/pthread.h:383: previous declaration of > `pthread_attr_getaffinity_np' > ../../../../xenomai/sim/../include/posix/pthread.h:249: conflicting > types for `pthread_attr_setaffinity_np' > /usr/include/pthread.h:377: previous declaration of > `pthread_attr_setaffinity_np' > > Looks like glibc-2.4 (that one comes with my opensuse 10.1) now also > knows get/setaffinity. Prototypes of glibc: > > extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, > size_t __cpusetsize, > __const cpu_set_t *__cpuset) > __THROW; > extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr, > size_t __cpusetsize, > cpu_set_t *__cpuset) __THROW; > Could you try the attached patch ? > Moreover, I get tons of this warning: > > /usr/include/bits/pthreadtypes.h:69: warning: unnamed struct/union that > defines no instances > > But this is an "imported" issue, isn't it? Likely due to some picky gcc > switch during the simulator build. It depends on what is defined at line 69 of pthreadtypes.h... -- Gilles Chanteperdrix. [-- Attachment #2: xeno-posix-overrides-h.diff --] [-- Type: text/plain, Size: 677 bytes --] Index: sim/skins/posix/posix_overrides.h =================================================================== --- sim/skins/posix/posix_overrides.h (revision 1135) +++ sim/skins/posix/posix_overrides.h (working copy) @@ -72,6 +72,8 @@ #define pthread_attr_setname_np pse51_threadattr_setname_np #define pthread_attr_getfp_np pse51_threadattr_getfp_np #define pthread_attr_setfp_np pse51_threadattr_setfp_np +#define pthread_attr_setaffinity_np pse51_threadattr_setaffinity_np +#define pthread_attr_getaffinity_np pse51_threadattr_getaffinity_np #define pthread_create pse51_thread_create #define pthread_detach pse51_thread_detach #define pthread_equal pse51_thread_equal ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xenomai-core] [sim] ... doesn't build 2006-05-27 15:24 ` Gilles Chanteperdrix @ 2006-05-27 15:34 ` Jan Kiszka 2006-05-27 15:49 ` Gilles Chanteperdrix 0 siblings, 1 reply; 5+ messages in thread From: Jan Kiszka @ 2006-05-27 15:34 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai-core [-- Attachment #1: Type: text/plain, Size: 4384 bytes --] Gilles Chanteperdrix wrote: > Jan Kiszka wrote: > > Hi, > > > > I just tried to get the simulator from trunk built but failed here: > > > > In file included from ../../../../xenomai/sim/../include/posix/posix.h:29, > > from > > ../../../../xenomai/sim/../ksrc/skins/posix/internal.h:24, > > from > > ../../../../xenomai/sim/../ksrc/skins/posix/thread.h:23, > > from > > ../../../../xenomai/sim/../ksrc/skins/posix/sched.c:48: > > ../../../../xenomai/sim/../include/posix/pthread.h:246: conflicting > > types for `pthread_attr_getaffinity_np' > > /usr/include/pthread.h:383: previous declaration of > > `pthread_attr_getaffinity_np' > > ../../../../xenomai/sim/../include/posix/pthread.h:249: conflicting > > types for `pthread_attr_setaffinity_np' > > /usr/include/pthread.h:377: previous declaration of > > `pthread_attr_setaffinity_np' > > > > Looks like glibc-2.4 (that one comes with my opensuse 10.1) now also > > knows get/setaffinity. Prototypes of glibc: > > > > extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, > > size_t __cpusetsize, > > __const cpu_set_t *__cpuset) > > __THROW; > > extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr, > > size_t __cpusetsize, > > cpu_set_t *__cpuset) __THROW; > > > > Could you try the attached patch ? > Takes me further, now stops like this: if ../../gcic/gcic -DHAVE_CONFIG_H -I. -I../../../../xenomai/sim/skins/posix -I../../include -D_GNU_SOURCE -D__IN_XENO__ --gcic-backend=/usr/src/xenomai/inst//libexec/gcic --skin-code -I../../../../xenomai/sim/../ksrc/skins -I../../../../xenomai/sim/../include -I../../../../xenomai/sim/skins/posix/.. -g -MT timer.o -MD -MP -MF ".deps/timer.Tpo" -c -o timer.o ../../../../xenomai/sim/../ksrc/skins/posix/timer.c; \ then mv -f ".deps/timer.Tpo" ".deps/timer.Po"; else rm -f ".deps/timer.Tpo"; exit 1; fi In file included from /usr/include/sys/types.h:270, from ../../../../xenomai/sim/../include/nucleus/types.h:32, from ../../../../xenomai/sim/../include/nucleus/queue.h:24, from ../../../../xenomai/sim/../include/nucleus/timer.h:23, from ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:24: /usr/include/bits/pthreadtypes.h:69: warning: unnamed struct/union that defines no instances ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function `pse51_timer_create': ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:186: warning: assignment makes pointer from integer without a cast ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function `pse51_timer_delete': ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:223: array subscript is not an integer ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function `pse51_timer_settime': ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:344: array subscript is not an integer ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function `pse51_timer_gettime': ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:437: array subscript is not an integer ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function `pse51_timer_getoverrun': ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:485: array subscript is not an integer > > Moreover, I get tons of this warning: > > > > /usr/include/bits/pthreadtypes.h:69: warning: unnamed struct/union that > > defines no instances > > > > But this is an "imported" issue, isn't it? Likely due to some picky gcc > > switch during the simulator build. > > It depends on what is defined at line 69 of pthreadtypes.h... > typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; /* KIND must stay at this position in the structure to maintain binary compatibility. */ int __kind; unsigned int __nusers; __extension__ union { int __spins; __pthread_slist_t __list; }; /* >>> line 69 <<< */ } __data; char __size[__SIZEOF_PTHREAD_MUTEX_T]; long int __align; } pthread_mutex_t; Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 249 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xenomai-core] [sim] ... doesn't build 2006-05-27 15:34 ` Jan Kiszka @ 2006-05-27 15:49 ` Gilles Chanteperdrix 2006-05-27 16:06 ` Jan Kiszka 0 siblings, 1 reply; 5+ messages in thread From: Gilles Chanteperdrix @ 2006-05-27 15:49 UTC (permalink / raw) To: Jan Kiszka; +Cc: xenomai-core [-- Attachment #1: message body and .signature --] [-- Type: text/plain, Size: 4805 bytes --] Jan Kiszka wrote: > Gilles Chanteperdrix wrote: > > Jan Kiszka wrote: > > > Hi, > > > > > > I just tried to get the simulator from trunk built but failed here: > > > > > > In file included from ../../../../xenomai/sim/../include/posix/posix.h:29, > > > from > > > ../../../../xenomai/sim/../ksrc/skins/posix/internal.h:24, > > > from > > > ../../../../xenomai/sim/../ksrc/skins/posix/thread.h:23, > > > from > > > ../../../../xenomai/sim/../ksrc/skins/posix/sched.c:48: > > > ../../../../xenomai/sim/../include/posix/pthread.h:246: conflicting > > > types for `pthread_attr_getaffinity_np' > > > /usr/include/pthread.h:383: previous declaration of > > > `pthread_attr_getaffinity_np' > > > ../../../../xenomai/sim/../include/posix/pthread.h:249: conflicting > > > types for `pthread_attr_setaffinity_np' > > > /usr/include/pthread.h:377: previous declaration of > > > `pthread_attr_setaffinity_np' > > > > > > Looks like glibc-2.4 (that one comes with my opensuse 10.1) now also > > > knows get/setaffinity. Prototypes of glibc: > > > > > > extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, > > > size_t __cpusetsize, > > > __const cpu_set_t *__cpuset) > > > __THROW; > > > extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr, > > > size_t __cpusetsize, > > > cpu_set_t *__cpuset) __THROW; > > > > > > > Could you try the attached patch ? > > > > Takes me further, now stops like this: > > if ../../gcic/gcic -DHAVE_CONFIG_H -I. > -I../../../../xenomai/sim/skins/posix -I../../include -D_GNU_SOURCE > -D__IN_XENO__ --gcic-backend=/usr/src/xenomai/inst//libexec/gcic > --skin-code -I../../../../xenomai/sim/../ksrc/skins > -I../../../../xenomai/sim/../include > -I../../../../xenomai/sim/skins/posix/.. -g -MT timer.o -MD -MP -MF > ".deps/timer.Tpo" -c -o timer.o > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c; \ > then mv -f ".deps/timer.Tpo" ".deps/timer.Po"; else rm -f > ".deps/timer.Tpo"; exit 1; fi > In file included from /usr/include/sys/types.h:270, > from ../../../../xenomai/sim/../include/nucleus/types.h:32, > from ../../../../xenomai/sim/../include/nucleus/queue.h:24, > from ../../../../xenomai/sim/../include/nucleus/timer.h:23, > from > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:24: > /usr/include/bits/pthreadtypes.h:69: warning: unnamed struct/union that > defines no instances > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function > `pse51_timer_create': > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:186: warning: > assignment makes pointer from integer without a cast > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function > `pse51_timer_delete': > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:223: array subscript > is not an integer > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function > `pse51_timer_settime': > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:344: array subscript > is not an integer > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function > `pse51_timer_gettime': > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:437: array subscript > is not an integer > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function > `pse51_timer_getoverrun': > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:485: array subscript > is not an integer Looks like timer_t is no longer an integer type, try the attached patch. > > > > Moreover, I get tons of this warning: > > > > > > /usr/include/bits/pthreadtypes.h:69: warning: unnamed struct/union that > > > defines no instances > > > > > > But this is an "imported" issue, isn't it? Likely due to some picky gcc > > > switch during the simulator build. > > > > It depends on what is defined at line 69 of pthreadtypes.h... > > > > typedef union > { > struct __pthread_mutex_s > { > int __lock; > unsigned int __count; > int __owner; > /* KIND must stay at this position in the structure to maintain > binary compatibility. */ > int __kind; > unsigned int __nusers; > __extension__ union > { > int __spins; > __pthread_slist_t __list; > }; /* >>> line 69 <<< */ > } __data; > char __size[__SIZEOF_PTHREAD_MUTEX_T]; > long int __align; > } pthread_mutex_t; Looking at gcc 2.95 documentation, it seems that unname unions are not supported. -- Gilles Chanteperdrix. [-- Attachment #2: xeno-posix-timer-c.diff --] [-- Type: text/plain, Size: 1301 bytes --] Index: ksrc/skins/posix/timer.c =================================================================== --- ksrc/skins/posix/timer.c (revision 1141) +++ ksrc/skins/posix/timer.c (working copy) @@ -183,7 +183,7 @@ timer->clockid = clockid; xnlock_put_irqrestore(&nklock, s); - *timerid = timer - timer_pool; + *timerid = (timer_t) (timer - timer_pool); return 0; @@ -220,7 +220,7 @@ xnlock_get_irqsave(&nklock, s); - timer = &timer_pool[timerid]; + timer = &timer_pool[(unsigned long) timerid]; if (!xntimer_active_p(&timer->timerbase)) goto unlock_and_einval; @@ -341,7 +341,7 @@ xnlock_get_irqsave(&nklock, s); - timer = &timer_pool[timerid]; + timer = &timer_pool[(unsigned long) timerid]; if (!xntimer_active_p(&timer->timerbase)) goto unlock_and_einval; @@ -434,7 +434,7 @@ xnlock_get_irqsave(&nklock, s); - timer = &timer_pool[timerid]; + timer = &timer_pool[(unsigned long) timerid]; if (!xntimer_active_p(&timer->timerbase)) goto unlock_and_einval; @@ -482,7 +482,7 @@ xnlock_get_irqsave(&nklock, s); - timer = &timer_pool[timerid]; + timer = &timer_pool[(unsigned long) timerid]; if (!xntimer_active_p(&timer->timerbase)) goto unlock_and_einval; ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xenomai-core] [sim] ... doesn't build 2006-05-27 15:49 ` Gilles Chanteperdrix @ 2006-05-27 16:06 ` Jan Kiszka 0 siblings, 0 replies; 5+ messages in thread From: Jan Kiszka @ 2006-05-27 16:06 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai-core [-- Attachment #1: Type: text/plain, Size: 5282 bytes --] Gilles Chanteperdrix wrote: > Jan Kiszka wrote: > > Gilles Chanteperdrix wrote: > > > Jan Kiszka wrote: > > > > Hi, > > > > > > > > I just tried to get the simulator from trunk built but failed here: > > > > > > > > In file included from ../../../../xenomai/sim/../include/posix/posix.h:29, > > > > from > > > > ../../../../xenomai/sim/../ksrc/skins/posix/internal.h:24, > > > > from > > > > ../../../../xenomai/sim/../ksrc/skins/posix/thread.h:23, > > > > from > > > > ../../../../xenomai/sim/../ksrc/skins/posix/sched.c:48: > > > > ../../../../xenomai/sim/../include/posix/pthread.h:246: conflicting > > > > types for `pthread_attr_getaffinity_np' > > > > /usr/include/pthread.h:383: previous declaration of > > > > `pthread_attr_getaffinity_np' > > > > ../../../../xenomai/sim/../include/posix/pthread.h:249: conflicting > > > > types for `pthread_attr_setaffinity_np' > > > > /usr/include/pthread.h:377: previous declaration of > > > > `pthread_attr_setaffinity_np' > > > > > > > > Looks like glibc-2.4 (that one comes with my opensuse 10.1) now also > > > > knows get/setaffinity. Prototypes of glibc: > > > > > > > > extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, > > > > size_t __cpusetsize, > > > > __const cpu_set_t *__cpuset) > > > > __THROW; > > > > extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr, > > > > size_t __cpusetsize, > > > > cpu_set_t *__cpuset) __THROW; > > > > > > > > > > Could you try the attached patch ? > > > > > > > Takes me further, now stops like this: > > > > if ../../gcic/gcic -DHAVE_CONFIG_H -I. > > -I../../../../xenomai/sim/skins/posix -I../../include -D_GNU_SOURCE > > -D__IN_XENO__ --gcic-backend=/usr/src/xenomai/inst//libexec/gcic > > --skin-code -I../../../../xenomai/sim/../ksrc/skins > > -I../../../../xenomai/sim/../include > > -I../../../../xenomai/sim/skins/posix/.. -g -MT timer.o -MD -MP -MF > > ".deps/timer.Tpo" -c -o timer.o > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c; \ > > then mv -f ".deps/timer.Tpo" ".deps/timer.Po"; else rm -f > > ".deps/timer.Tpo"; exit 1; fi > > In file included from /usr/include/sys/types.h:270, > > from ../../../../xenomai/sim/../include/nucleus/types.h:32, > > from ../../../../xenomai/sim/../include/nucleus/queue.h:24, > > from ../../../../xenomai/sim/../include/nucleus/timer.h:23, > > from > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:24: > > /usr/include/bits/pthreadtypes.h:69: warning: unnamed struct/union that > > defines no instances > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function > > `pse51_timer_create': > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:186: warning: > > assignment makes pointer from integer without a cast > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function > > `pse51_timer_delete': > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:223: array subscript > > is not an integer > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function > > `pse51_timer_settime': > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:344: array subscript > > is not an integer > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function > > `pse51_timer_gettime': > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:437: array subscript > > is not an integer > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c: In function > > `pse51_timer_getoverrun': > > ../../../../xenomai/sim/../ksrc/skins/posix/timer.c:485: array subscript > > is not an integer > > Looks like timer_t is no longer an integer type, try the attached patch. > Thanks, works now. > > > > > > Moreover, I get tons of this warning: > > > > > > > > /usr/include/bits/pthreadtypes.h:69: warning: unnamed struct/union that > > > > defines no instances > > > > > > > > But this is an "imported" issue, isn't it? Likely due to some picky gcc > > > > switch during the simulator build. > > > > > > It depends on what is defined at line 69 of pthreadtypes.h... > > > > > > > typedef union > > { > > struct __pthread_mutex_s > > { > > int __lock; > > unsigned int __count; > > int __owner; > > /* KIND must stay at this position in the structure to maintain > > binary compatibility. */ > > int __kind; > > unsigned int __nusers; > > __extension__ union > > { > > int __spins; > > __pthread_slist_t __list; > > }; /* >>> line 69 <<< */ > > } __data; > > char __size[__SIZEOF_PTHREAD_MUTEX_T]; > > long int __align; > > } pthread_mutex_t; > > Looking at gcc 2.95 documentation, it seems that unname unions are not > supported. > Probably not critical for the simulator, as it doesn't make use of the involved fields, does it? Jan [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 249 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-05-27 16:06 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-05-27 15:13 [Xenomai-core] [sim] ... doesn't build Jan Kiszka 2006-05-27 15:24 ` Gilles Chanteperdrix 2006-05-27 15:34 ` Jan Kiszka 2006-05-27 15:49 ` Gilles Chanteperdrix 2006-05-27 16:06 ` Jan Kiszka
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.