Do not use wildcard symbol names for public versions in Versions files

System Internals / glibc - Joseph Myers [codesourcery.com] - 20 April 2017 16:35 EDT

As noted in , 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.

832d8bc Do not use wildcard symbol names for public versions in Versions files.
ChangeLog | 20 ++++++++++++++++++++
stdlib/Versions | 6 +++++-
wcsmbs/Versions | 5 ++++-
3 files changed, 29 insertions(+), 2 deletions(-)

Upstream: sourceware.org


  • Share