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: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to