Gilles Chanteperdrix wrote:
> Jan Kiszka wrote:
>> Gilles Chanteperdrix wrote:
>>> Jan Kiszka wrote:
>>>> Gilles Chanteperdrix wrote:
>>>>> Jan Kiszka wrote:
>>>>>> And instantly - you forget about dlopen scenarios which triggered the
>>>>>> bug in timeconv.
>>>>> I do not see why dlopen would trigger a bug. Could you explain it?
>>>> If you dlopen, say, libnative and call a symbol that uses some timeconv
>>>> constants, you have to make sure that the init code of libnative
>>>> initializes those variables that are later used.
>>> That is where I do not follow you. dlopen is called after the startup of
>>> the other libs, so either it references its own variables, which are
>>> initialized once its constructor has been called. Or it references the
>>> variables of the posix lib (only native and posix use timeconv in
>>> user-space) which is already initialized.
>> In this case, dlopen was part of some constructor, and the ordering
>> turned out to be "unfortunate".
> 
> Ok. Got it now. Will test your patch, but I will probably leave the weak
> attribute to the shared functions.

Well, either all or nothing: If you leave it to the runtime services,
you also have to tag the init function (that's what my very first tiny
patch did).

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

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

Reply via email to