diff options
author | Joseph Myers <joseph@codesourcery.com> | 2018-02-23 13:54:53 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2021-11-19 13:20:26 -0800 |
commit | 98fa83a2a8aa784388182af5a530072375713aed (patch) | |
tree | 1bf2b84e0699c86f34c53d4ea9aeca601975fdfe | |
parent | bf291348a7a7e2e86784e411ec5c18f221690038 (diff) | |
download | glibc-98fa83a2a8aa784388182af5a530072375713aed.zip glibc-98fa83a2a8aa784388182af5a530072375713aed.tar.gz glibc-98fa83a2a8aa784388182af5a530072375713aed.tar.bz2 |
Use libc_hidden_* for tolower, toupper (bug 15105).
Continuing the fixes for localplt test failures with -Os arising from
functions not being inlined in that case, this patch fixes such
failures for tolower and toupper by using libc_hidden_proto and
libc_hidden_def.
Tested for x86_64 (both that it removes this particular localplt
failure for -Os, and that the testsuite continues to pass without
-Os).
2018-02-22 Joseph Myers <joseph@codesourcery.com>
[BZ #15105]
* ctype/ctype.c (tolower): Use libc_hidden_def.
(toupper): Likewise.
* include/ctype.h [!_ISOMAC] (tolower): Use libc_hidden_proto.
[!_ISOMAC] (toupper): Likewise.
(cherry picked from commit 54412d20618b7b93f136a168e788573575f8a7a6)
-rw-r--r-- | ctype/ctype.c | 2 | ||||
-rw-r--r-- | include/ctype.h | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/ctype/ctype.c b/ctype/ctype.c index e86c5b0..6cb8000 100644 --- a/ctype/ctype.c +++ b/ctype/ctype.c @@ -45,9 +45,11 @@ tolower (int c) { return c >= -128 && c < 256 ? __ctype_tolower[c] : c; } +libc_hidden_def (tolower) int toupper (int c) { return c >= -128 && c < 256 ? __ctype_toupper[c] : c; } +libc_hidden_def (toupper) diff --git a/include/ctype.h b/include/ctype.h index ac6db79..493a6f8 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -11,6 +11,9 @@ libc_hidden_proto (__ctype_init) So defeat macro expansion with parens for this declaration. */ extern int (__isctype) (int __c, int __mask); +libc_hidden_proto (tolower) +libc_hidden_proto (toupper) + # if IS_IN (libc) /* These accessors are used by the optimized macros to find the |