Do not use wildcard symbol names for public versions in Versions files.
authorJoseph Myers <joseph@codesourcery.com>
Thu, 20 Apr 2017 20:35:21 +0000 (20:35 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 20 Apr 2017 20:35:21 +0000 (20:35 +0000)
commit832d8bc00b66adcb98a1c2064a2d555853ea49ed
treecac277a795e2bc18847d51969b6c19693ca11c73
parentd76d3703551a362b472c866b5b6089f66f8daa8e
Do not use wildcard symbol names for public versions in Versions files.

As noted in
<https://sourceware.org/ml/libc-alpha/2012-12/msg00240.html>,
stdlib/Versions and wcsmbs/Versions list some functions as
__strto*_internal and __wcsto*_internal rather than explicitly listing
the symbols to be exported (so any new internal function matching one
of those patterns would be wrongly added to version GLIBC_2.0), which
seems like a bad idea.  This patch changes those files to list the
exported symbols explicitly.  There are still entries in
sysdeps/nacl/Versions for __nacl_irt_*, but as GLIBC_PRIVATE symbols
that seems less significant.

Tested with build-many-glibcs.py that installed stripped shared
libraries are unchanged by the patch.

* stdlib/Versions (__strtod_internal): List explicitly, not as
wildcard.
(__strtof_internal): Likewise.
(__strtold_internal): Likewise.
(__strtol_internal): Likewise.
(__strtoll_internal): Likewise.
(__strtoul_internal): Likewise.
(__strtoull_internal): Likewise.
(__strtoq_internal): Likewise.
(__strtouq_internal): Likewise.
* wcsmbs/Versions (__wcstod_internal): Likewise.
(__wcstof_internal): Likewise.
(__wcstold_internal): Likewise.
(__wcstol_internal): Likewise.
(__wcstoll_internal): Likewise.
(__wcstoul_internal): Likewise.
(__wcstoull_internal): Likewise.
ChangeLog
stdlib/Versions
wcsmbs/Versions