Gilles Chanteperdrix wrote: > Jan Kiszka wrote: >> Gilles Chanteperdrix wrote: >>> Jan Kiszka wrote: >>>> Gilles Chanteperdrix wrote: >>>>> GIT version control wrote: >>>>>> Module: xenomai-jki >>>>>> Branch: for-upstream >>>>>> Commit: 6b40653e9c3c4a2433bb4e91344fc378eb860f75 >>>>>> URL: http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=6b40653e9c3c4a2433bb4e91344fc378eb860f75 >>>>>> >>>>>> Author: Jan Kiszka >>>>>> Date: Wed Feb 10 13:24:29 2010 +0100 >>>>>> >>>>>> Make xnarch_init_timeconv an uninlined weak function >>>>>> >>>>>> Otherwise the wrong set of time conversion variables might get >>>>>> initialized when using > 1 skin libraries. >>>>> If that would be possible, then it is the conversion variables which >>>>> should made be weak, not the function. >>>>> >>>>> The way I see it, the posix and native skins currently get a different >>>>> set of variables and functions, which works, but with your change, since >>>>> there is only one function, only one set of variable gets initialized by >>>>> the two function calls. And one skin just broke. >>>>> >>>>> Or am I missing something? Does the patch fix a problem you really had? >>>> Frankly, I wasn't able to test in the field yet as replacing the libs >>>> there is non-trivial. But I was able to observe that only one set of >>>> functions is used - which is logical considering the weak marks. And >>>> this breaks due to the static inline initialization. >>>> >>>> However, let's mark both functions and variables weak to fix the issue >>>> and avoid leaving unused variables around. Will update my patch in a minute. >>> Ok. I am reverting this patch until you provide me with another >>> solution. It causes latency to segfault purely and simply at startup on >>> my dual PIII. >>> >> Cannot reproduce yet. Do you have a backtrace? > > No. But the problem is probably the same as the one signaled by Henri, > a misplaced weak directive ending up in a symbol with no address at all. > Since the current situation works, I am going to wait for the "clean" > fix which puts some code/data in the src/skins/common directory. > Find it in my tree. But it's not yet well tested. Jan