This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/19745] Avoid extra branch to PLT entry when calling external function
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Sat, 05 Mar 2016 00:16:50 +0000
- Subject: [Bug libc/19745] Avoid extra branch to PLT entry when calling external function
- Auto-submitted: auto-generated
- References: <bug-19745-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=19745
--- Comment #1 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 16b23e03632623cd81a21fc5a24db546595addac (commit)
via 21683b5a7d9b8460e120e061f66a6ad84fa47e98 (commit)
from 684ce7e0fc57830ff7c5909e5794f571631ee83f (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=16b23e03632623cd81a21fc5a24db546595addac
commit 16b23e03632623cd81a21fc5a24db546595addac
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Mar 4 15:36:18 2016 -0800
Replace PREINIT_FUNCTION@PLT with *%rax in call
Since we have loaded address of PREINIT_FUNCTION into %rax, we can
avoid extra branch to PLT slot.
[BZ #19745]
* sysdeps/x86_64/crti.S (_init): Replace PREINIT_FUNCTION@PLT
with *%rax in call.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=21683b5a7d9b8460e120e061f66a6ad84fa47e98
commit 21683b5a7d9b8460e120e061f66a6ad84fa47e98
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Mar 4 15:28:59 2016 -0800
Replace @PLT with @GOTPCREL(%rip) in call
Since __libc_start_main is called very early, lazy binding isn't relevant
here. Use indirect branch via GOT to avoid extra branch to PLT slot.
[BZ #19745]
* sysdeps/x86_64/start.S (_start): __libc_start_main@PLT
with *__libc_start_main@GOTPCREL(%rip) in call.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 12 ++++++++++++
sysdeps/x86_64/crti.S | 2 +-
sysdeps/x86_64/start.S | 6 ++++--
3 files changed, 17 insertions(+), 3 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.