Use libc_hidden_* for tolower, toupper (bug 15105)
Commit Message
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). Together with my patch
<https://sourceware.org/ml/libc-alpha/2018-02/msg00602.html> for atoi
(pending review), this completes fixing such localplt failures for -Os
(at least for x86_64).
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.
Comments
On 02/22/2018 10:24 PM, Joseph Myers wrote:
> 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.
Looks good.
Thanks,
Florian
@@ -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)
@@ -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