Use libc_hidden_* for argz_next, __argz_next (bug 15105).

Among other localplt test failures when building with -Os, there are
libc.so PLT references for argz_next and __argz_next.  This is a
simple case of functions that are inlined for -O2 but not for -Os;
this patch adds libc_hidden_proto / libc_hidden_def for them to avoid
localplt failures even when not inlined.

Tested for x86_64 (both that it removes these particular localplt
failures for -Os - but other such failures remain so the bug can't yet
be closed - and that the testsuite continues to pass without -Os).

	[BZ #15105]
	* include/argz.h (argz_next): Use libc_hidden_proto.
	(__argz_next): Likewise.
	* string-argz-next.c (__argz_next): Use libc_hidden_def.
	(argz_next): Use libc_hidden_weak.
This commit is contained in:
Joseph Myers 2018-02-15 21:00:02 +00:00
parent e4452a2d19
commit 055ac2a7ee
3 changed files with 10 additions and 0 deletions

View File

@ -1,5 +1,11 @@
2018-02-15 Joseph Myers <joseph@codesourcery.com>
[BZ #15105]
* include/argz.h (argz_next): Use libc_hidden_proto.
(__argz_next): Likewise.
* string-argz-next.c (__argz_next): Use libc_hidden_def.
(argz_next): Use libc_hidden_weak.
[BZ #15105]
* include/sys/socket.h [!_ISOMAC] (__cmsg_nxthdr): Use
libc_hidden_proto.

View File

@ -39,6 +39,8 @@ extern error_t __argz_replace (char **__restrict __argz,
libc_hidden_proto (argz_delete)
libc_hidden_proto (__argz_count)
libc_hidden_proto (__argz_stringify)
libc_hidden_proto (argz_next)
libc_hidden_proto (__argz_next)
# endif /* !_ISOMAC */
#endif

View File

@ -36,4 +36,6 @@ __argz_next (const char *argz, size_t argz_len, const char *entry)
else
return NULL;
}
libc_hidden_def (__argz_next)
weak_alias (__argz_next, argz_next)
libc_hidden_weak (argz_next)