]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
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)
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

index 31b56a78d8493352d46550e63dda8cc1768fa3d9..e60f6c3469a1c1db8f7bbb8bfd0298dafcf467c9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2017-04-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * 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  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
        * io/sys/stat.h: Use __USE_XOPEN2K8 insteaf of __USE_ATFILE for
index 415b9945e2e5fd9c66662e7692adc79920eedc57..9cade20a06d12cd6ccc29c54c0f477b8a1a3bb92 100644 (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;
index 1ff5ff30570b31afc249e7d383997c99f05d648d..b8f7bd73eb79cd376a31ea390d87847f3ee6bfc5 100644 (file)
@@ -1,7 +1,10 @@
 libc {
   GLIBC_2.0 {
     # functions used in inline functions or macros
-     __mbrlen; __mbrtowc; __wcsto*_internal;
+     __mbrlen; __mbrtowc;
+    __wcstod_internal; __wcstof_internal; __wcstold_internal;
+    __wcstol_internal; __wcstoll_internal;
+    __wcstoul_internal; __wcstoull_internal;
 
     # b*
     btowc;