On 04/22/2016 04:09 PM, Yury Gribov wrote:
> On 04/22/2016 05:51 PM, Pedro Alves wrote:

>> I think the visibility patches raise a question that should
>> be considered:
>>
>> Does readline still want to keep these historical "rl_" symbols,
>> even those that we hadn't found any program is using (at
>> least yet) ?
>>
>> Because I think that if we hide them with private visibility,
>> then that effectively is the same thing as removing them
>> for dynamic links.  However, if we don't remove them, then we
>> end up with the inconsistency where a link with dynamic
>> libreadline.so fails, while a link with static libreadline.a succeeds.
>>
>> It seems to me that readline should either:
>>
>>   - completely delete old undocumented backwards compatibility symbols,
>>     or,
>>
>>   - mark them public.
>>
>> Leaving them defined, but marked private leads to the dynamic
>> vs static inconsistency mentioned above.
> 
> I'm afraid this inconsistency is inevitable. Static libs are mere
> archives and do not have any mechanism for visibility control. They'll
> always be leaking internal symbols and there is not workaround for that
> (well, except for marking symbols static or removing them alltogether
> which is obviously not always possible).

That's my point -- the inconsistency _is not_ inevitable -- if we're
making them private, them programs won't be able to use them anyway, so
might as well remove them altogether.  Or at least rename them
to "_rl_" prefix.

Thanks,
Pedro Alves


_______________________________________________
Bug-readline mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-readline

Reply via email to