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 54412d2061)
This commit is contained in:
Joseph Myers 2018-02-23 13:54:53 +00:00 committed by Fangrui Song
parent bf291348a7
commit 98fa83a2a8
2 changed files with 5 additions and 0 deletions

View File

@ -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)

View File

@ -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