glibc/wcsmbs/Versions
Joseph Myers 832d8bc00b 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.
2017-04-20 20:35:21 +00:00

38 lines
1017 B
Plaintext

libc {
GLIBC_2.0 {
# functions used in inline functions or macros
__mbrlen; __mbrtowc;
__wcstod_internal; __wcstof_internal; __wcstold_internal;
__wcstol_internal; __wcstoll_internal;
__wcstoul_internal; __wcstoull_internal;
# b*
btowc;
# w*
wcpcpy; wcpncpy; wcrtomb; wcscat; wcschr; wcscmp; wcscoll;
wcscpy; wcscspn; wcsdup; wcslen; wcsncat; wcsncmp;
wcsncpy; wcsnrtombs; wcspbrk; wcsrchr; wcsrtombs; wcsspn; wcsstr;
wcstod; wcstof; wcstok; wcstol; wcstold; wcstoq; wcstoul;
wcstouq; wcswidth; wcsxfrm; wctob;
wmemchr; wmemcmp; wmemcpy; wmemmove; wmemset;
}
GLIBC_2.1 {
# w*
wcscasecmp; wcsncasecmp; wcsnlen; wcstoll;
wcstoimax; wcstoumax; wcstoull; wcswcs; wmemrtombs; wmemrtowcs;
}
GLIBC_2.2 {
# w*
wcschrnul; wmempcpy;
}
GLIBC_2.7 {
__isoc99_fwscanf; __isoc99_swscanf; __isoc99_vfwscanf; __isoc99_vswscanf;
__isoc99_vwscanf; __isoc99_wscanf;
}
GLIBC_2.16 {
c16rtomb; c32rtomb; mbrtoc16; mbrtoc32;
}
}