is adding new private symbols to libc frowned upon?

Yuri Pankov yuripv at yuripv.net
Sat Dec 22 07:14:11 UTC 2018


Kyle Evans wrote:
> On Sat, Dec 22, 2018 at 12:42 AM Konstantin Belousov
> <kostikbel at gmail.com> wrote:
>>
>> On Sat, Dec 22, 2018 at 04:38:52AM +0300, Yuri Pankov wrote:
>>> Essentially, I need the __collate_equiv_value symbol to be visible to
>>> libregex for the changes in https://reviews.freebsd.org/D18531.  Is the
>>> following change OK (it works, at least), or should try to avoid that?
>>>
>>> --- a/lib/libc/locale/Symbol.map
>>> +++ b/lib/libc/locale/Symbol.map
>>> @@ -212,6 +212,7 @@ FBSD_1.3 {
>>>  FBSDprivate_1.0 {
>>>         _PathLocale;
>>>         __detect_path_locale;
>>> +       __collate_equiv_value;
>>>         __collate_load_error;
>>>         __collate_range_cmp;
>>>  };
>>>
>> Then libregex must always match the installed libc.
>>
>> I looked at the the libregex/Makefile and my question is, what is the
>> difference between exports from libc/regex vs. libregex.  Can libregex
>> become ELF filter for libc ?
>>
> 
> libregex is going to be getting more complicated [1] after a couple
> more exp-runs. I can possibly re-work it to make a filter work
> (perhaps?), but I'm not sure how badly that will impact the
> performance of libc regex.
> 
> [1] https://reviews.freebsd.org/D12935

I don't think making libregex a filter for libc will work here as you
intend it to have different functionality, even if compiling the same
source files.

OTOH, the function isn't easily decoupled from libc (if at all) as it
needs to know internal implementation details, hence my original question.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20181222/8ddb0610/attachment.sig>


More information about the freebsd-hackers mailing list