This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/15105] Extra PLT references with -Os
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Thu, 15 Feb 2018 20:59:09 +0000
- Subject: [Bug libc/15105] Extra PLT references with -Os
- Auto-submitted: auto-generated
- References: <bug-15105-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=15105
--- Comment #9 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 499b315324519f8deb5b42a143a76319934a3ab0 (commit)
from 7fc03cf320f9ed0178babbb33de0550d393b8886 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=499b315324519f8deb5b42a143a76319934a3ab0
commit 499b315324519f8deb5b42a143a76319934a3ab0
Author: Joseph Myers <joseph@codesourcery.com>
Date: Thu Feb 15 20:58:16 2018 +0000
Use libc_hidden_* for fputs (bug 15105).
Among other localplt test failures when building with -Os, there are
libc.so PLT references for fputs. fputs calls normally get redirected
to _IO_fputs by a macro in include/stdio.h (and _IO_fputs in turn uses
libc_hidden_proto), but GCC can convert an fprintf call with a
constant string argument into an fputs call, which of course is then
unaffected by the macro redirection. (I don't know why this issue
only appears with -Os.)
This patch duly adds a use of libc_hidden_proto for fputs. I see no
obvious reason why the fputs macro redirection is needed at all, but
this patch does not change it.
Tested for x86_64 (both that it removes this particular localplt
failure 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/stdio.h [!_ISOMAC && IS_IN (libc)] (fputs): Use
libc_hidden_proto.
* libio/iofputs.c (fputs): Use libc_hidden_weak.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 5 +++++
include/stdio.h | 4 ++++
libio/iofputs.c | 1 +
3 files changed, 10 insertions(+), 0 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.