1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

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.
This commit is contained in:
Joseph Myers
2017-04-20 20:35:21 +00:00
parent d76d370355
commit 832d8bc00b
3 changed files with 29 additions and 2 deletions

View File

@ -4,7 +4,11 @@ libc {
__xpg_basename;
# functions used in inline functions or macros
__strto*_internal;
__strtod_internal; __strtof_internal; __strtold_internal;
__strtol_internal; __strtoll_internal;
__strtoul_internal; __strtoull_internal;
# functions formerly so used (compatibility symbols)
__strtoq_internal; __strtouq_internal;
# compatibility symbol
__secure_getenv;