Jan Kiszka wrote:
> 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 <jan.kis...@siemens.com>
>>>>>>> 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.

I do not like it either. Functions which are in src/skins/common should
still be weak, since this lib is included in all the skins libraries.

xnarch_init_timeconv does not need to be exported, it may only be called
in common (bind.c, or timeconv.c, or something like that).

xnarch_tsc_to_ns/ns_to_tsc have no reason to be put in arith.h,
timeconv.h was about just right. Maybe create asm-generic/timeconv.h?

-- 
                                            Gilles.

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

Reply via email to