]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Mark ____wcsto*_l_internal functions with attribute_hidden [BZ #18822]
authorH.J. Lu <hjl.tools@gmail.com>
Sun, 1 Oct 2017 22:09:11 +0000 (15:09 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 1 Oct 2017 22:09:28 +0000 (15:09 -0700)
Mark ____wcsto*_l_internal functions with attribute_hidden to allow
direct access to them within libc.so and libc.a without using GOT nor
PLT.

[BZ #18822]
* include/wchar.h (____wcstof_l_internal): New prototype.
(____wcstod_l_internal): Likewise.
(____wcstold_l_internal): Likewise.
(____wcstol_l_internal): Likewise.
(____wcstoul_l_internal): Likewise.
(____wcstoll_l_internal): Likewise.
(____wcstoull_l_internal): Likewise.
(____wcstof128_l_internal): Likewise.
* sysdeps/ieee754/float128/wcstof128.c
(____wcstof128_l_internal): Removed.
* sysdeps/ieee754/float128/wcstof128_l.c
(____wcstof128_l_internal): Likewise.
* wcsmbs/wcstod.c (____wcstod_l_internal): Likewise.
* wcsmbs/wcstod_l.c (____wcstod_l_internal): Likewise.
* wcsmbs/wcstof.c (____wcstof_l_internal): Likewise.
* wcsmbs/wcstof_l.c (____wcstof_l_internal): Likewise.
* wcsmbs/wcstol_l.c (____wcstol_l_internal): Likewise.
* wcsmbs/wcstold.c (____wcstold_l_internal): Likewise.
* wcsmbs/wcstold_l.c (____wcstold_l_internal): Likewise.
* wcsmbs/wcstoll_l.c (____wcstoll_l_internal): Likewise.
* wcsmbs/wcstoul_l.c (____wcstoul_l_internal): Likewise.
* wcsmbs/wcstoull_l.c (____wcstoull_l_internal): Likewise.

14 files changed:
ChangeLog
include/wchar.h
sysdeps/ieee754/float128/wcstof128.c
sysdeps/ieee754/float128/wcstof128_l.c
wcsmbs/wcstod.c
wcsmbs/wcstod_l.c
wcsmbs/wcstof.c
wcsmbs/wcstof_l.c
wcsmbs/wcstol_l.c
wcsmbs/wcstold.c
wcsmbs/wcstold_l.c
wcsmbs/wcstoll_l.c
wcsmbs/wcstoul_l.c
wcsmbs/wcstoull_l.c

index 7a4e5cf5f6072a75ff0ec468f128c791f219eb97..15c90bcf8ddb9b2b62d0b4239dc5e2fee8ae6ef3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #18822]
+       * include/wchar.h (____wcstof_l_internal): New prototype.
+       (____wcstod_l_internal): Likewise.
+       (____wcstold_l_internal): Likewise.
+       (____wcstol_l_internal): Likewise.
+       (____wcstoul_l_internal): Likewise.
+       (____wcstoll_l_internal): Likewise.
+       (____wcstoull_l_internal): Likewise.
+       (____wcstof128_l_internal): Likewise.
+       * sysdeps/ieee754/float128/wcstof128.c
+       (____wcstof128_l_internal): Removed.
+       * sysdeps/ieee754/float128/wcstof128_l.c
+       (____wcstof128_l_internal): Likewise.
+       * wcsmbs/wcstod.c (____wcstod_l_internal): Likewise.
+       * wcsmbs/wcstod_l.c (____wcstod_l_internal): Likewise.
+       * wcsmbs/wcstof.c (____wcstof_l_internal): Likewise.
+       * wcsmbs/wcstof_l.c (____wcstof_l_internal): Likewise.
+       * wcsmbs/wcstol_l.c (____wcstol_l_internal): Likewise.
+       * wcsmbs/wcstold.c (____wcstold_l_internal): Likewise.
+       * wcsmbs/wcstold_l.c (____wcstold_l_internal): Likewise.
+       * wcsmbs/wcstoll_l.c (____wcstoll_l_internal): Likewise.
+       * wcsmbs/wcstoul_l.c (____wcstoul_l_internal): Likewise.
+       * wcsmbs/wcstoull_l.c (____wcstoull_l_internal): Likewise.
+
 2017-10-01  H.J. Lu  <hongjiu.lu@intel.com>
 
        [BZ #18822]
index 7bf042c23512453841304e756291984ca2423b7f..eb472daefb9b411f1583ac8bbe1432cb754c8d63 100644 (file)
@@ -70,6 +70,26 @@ libc_hidden_proto (wcstoll)
 libc_hidden_proto (wcstoul)
 libc_hidden_proto (wcstoull)
 
+extern float ____wcstof_l_internal (const wchar_t *, wchar_t **, int,
+                                   locale_t) attribute_hidden;
+extern double ____wcstod_l_internal (const wchar_t *, wchar_t **, int,
+                                    locale_t) attribute_hidden;
+extern long double ____wcstold_l_internal (const wchar_t *, wchar_t **,
+                                          int, locale_t) attribute_hidden;
+extern long int ____wcstol_l_internal (const wchar_t *, wchar_t **, int,
+                                      int, locale_t) attribute_hidden;
+extern unsigned long int ____wcstoul_l_internal (const wchar_t *,
+                                                wchar_t **,
+                                                int, int, locale_t)
+     attribute_hidden;
+extern long long int ____wcstoll_l_internal (const wchar_t *, wchar_t **,
+                                            int, int, locale_t)
+     attribute_hidden;
+extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
+                                                      wchar_t **, int, int,
+                                                      locale_t)
+     attribute_hidden;
+
 #if __HAVE_DISTINCT_FLOAT128
 extern __typeof (wcstof128_l) __wcstof128_l;
 libc_hidden_proto (__wcstof128_l)
@@ -77,6 +97,9 @@ extern _Float128 __wcstof128_internal (const wchar_t *__restrict __nptr,
                                       wchar_t **__restrict __endptr,
                                       int __group) __THROW;
 
+extern _Float128 ____wcstof128_l_internal (const wchar_t *, wchar_t **, int,
+                                          locale_t) attribute_hidden;
+
 libc_hidden_proto (__wcstof128_internal)
 libc_hidden_proto (wcstof128)
 #endif
index 49aa4d61aca7f6af946e90ca92cd4c4f18f58a32..bab8c2404029847d0fef72f053bd87890261766f 100644 (file)
@@ -24,7 +24,4 @@
 /* Bring in _Float128 typedef if needed.  */
 #include <bits/floatn.h>
 
-extern _Float128 ____wcstof128_l_internal (const wchar_t *, wchar_t **, int,
-                                          locale_t);
-
 #include "strtof128.c"
index b295087efe9fdb4fa29f966c88a58522eea66761..33fcccdaa64c8413258a7fce1e3982e63050362b 100644 (file)
@@ -24,7 +24,4 @@
 
 #include <bits/floatn.h>
 
-extern _Float128 ____wcstof128_l_internal (const wchar_t *, wchar_t **, int,
-                                          locale_t);
-
 #include "strtof128_l.c"
index 4604f516214f87fe403a61b9d7830f532393f3d5..4c6343c040facebd8c35080df5335ec31cfa9662 100644 (file)
@@ -22,7 +22,4 @@
 
 #define        USE_WIDE_CHAR   1
 
-extern double ____wcstod_l_internal (const wchar_t *, wchar_t **, int,
-                                    locale_t);
-
 #include <stdlib/strtod.c>
index 7790f5abb703f64fbf2d480637c0f8532f5eb68a..25effe9681239e7b8d8e78eff069cf6af6176ccf 100644 (file)
@@ -21,9 +21,6 @@
 #include <locale.h>
 
 
-extern double ____wcstod_l_internal (const wchar_t *, wchar_t **, int,
-                                    locale_t);
-
 #define        USE_WIDE_CHAR   1
 
 #include <stdlib/strtod_l.c>
index e91c09cd530bc1b711cfa831347d1a1b02f027f7..1f91ab5478288ac77047474f43bc3d48fb64bbe9 100644 (file)
@@ -21,7 +21,4 @@
 
 #define        USE_WIDE_CHAR   1
 
-extern float ____wcstof_l_internal (const wchar_t *, wchar_t **, int,
-                                   locale_t);
-
 #include <stdlib/strtof.c>
index 143b716d07fc1587808c89de15539639376a75e9..8b99b69e486627605af901ffef42235c4172171d 100644 (file)
@@ -23,7 +23,4 @@
 
 #define        USE_WIDE_CHAR   1
 
-extern float ____wcstof_l_internal (const wchar_t *, wchar_t **, int,
-                                   locale_t);
-
 #include <stdlib/strtof_l.c>
index 42bd8429d0d5aceede7b52416e2ad1caa5a0290d..36eaf562b4eefe36f9c672c71900bf154b155b8e 100644 (file)
@@ -23,7 +23,4 @@
 
 #define        USE_WIDE_CHAR   1
 
-extern long int ____wcstol_l_internal (const wchar_t *, wchar_t **, int, int,
-                                      locale_t);
-
 #include <stdlib/strtol_l.c>
index 7a14cd2871e90269b8d80905fb47bdadd541e5ca..481fcc4035da61a712c42a9350bdb6152059b78d 100644 (file)
@@ -21,7 +21,4 @@
 
 #define USE_WIDE_CHAR  1
 
-extern long double ____wcstold_l_internal (const wchar_t *, wchar_t **, int,
-                                          locale_t);
-
 #include <stdlib/strtold.c>
index a7ab02579252e4ba668c5fb53cc6261f3bdef392..8192620bcc1c01adec5d139c0a61f7efaaff0c93 100644 (file)
@@ -22,7 +22,4 @@
 
 #define USE_WIDE_CHAR  1
 
-extern long double ____wcstold_l_internal (const wchar_t *, wchar_t **, int,
-                                          locale_t);
-
 #include <strtold_l.c>
index 598d3f5fff50eeda44eadfd6bdd7980582bf22a7..4a71282346eaa905ef96608d42623b66862aeba2 100644 (file)
@@ -23,7 +23,4 @@
 
 #define QUAD   1
 
-extern long long int ____wcstoll_l_internal (const wchar_t *, wchar_t **,
-                                            int, int, locale_t);
-
 #include <wcstol_l.c>
index f9f3808b20c24b970866939112c605f7ad3434a0..1a345d4bb0f151a87d12786ae04180bdd7f7ed12 100644 (file)
@@ -23,7 +23,4 @@
 
 #define UNSIGNED       1
 
-extern unsigned long int ____wcstoul_l_internal (const wchar_t *, wchar_t **,
-                                                int, int, locale_t);
-
 #include "wcstol_l.c"
index 412a9fcf0a09ef217aad6004a20852cee9d9dbe3..1666d5070ec8806d7c9f3764d3737ee89b258087 100644 (file)
@@ -23,8 +23,4 @@
 
 #define UNSIGNED       1
 
-extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
-                                                      wchar_t **, int, int,
-                                                      locale_t);
-
 #include <wcstoll_l.c>