PATCH: BZ #14664: changing prefix breaks "make check-abi-libc"

Joseph S. Myers joseph@codesourcery.com
Mon Dec 10 21:26:00 GMT 2012


On Mon, 10 Dec 2012, Roland McGrath wrote:

> 3. Audit the public ABI for symbols (especially data symbols) that
>    start with _.  The default presumption is that no such symbol
>    should be in the public ABI.  Given that they are already there,
>    this can be redressed only by making them runtime-only symbols and
>    removing them under #if SHLIB_COMPAT (GLIBC_2_0, GLIBC_2_17).  For
>    cases that are actually kosher, we should document somewhere (wiki)
>    the exact set and the rationale for having symbols in the public
>    ABI that are in the private name space.  Some classes are clearly

There are already some explanations in comments in the Versions files, 
although those explanations are not necessarily currently accurate and may 
not be sufficient justification for something being in the public ABI 
(e.g. intl/Versions just says "global variables" for _nl_*, which doesn't 
justify being *public* global variables).

(In checking for such comments I noticed

    # functions used in inline functions or macros
    __strto*_internal;

and similar in wcsmbs/Makefile - such use of "*" in symbol names in 
Versions files seems a bad idea, all the public functions should be listed 
explicitly.)

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Libc-alpha mailing list