]> sourceware.org Git - glibc.git/commitdiff
Replace PREINIT_FUNCTION@PLT with *%rax in call
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 4 Mar 2016 23:36:18 +0000 (15:36 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 5 Mar 2016 00:15:41 +0000 (16:15 -0800)
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.

ChangeLog
sysdeps/x86_64/crti.S

index af555291a9a0ceb9620aea1aad4dbf75dd86e156..f5b8d1e5527b1d932499782b1921e6fc9a953887 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #19745]
+       * sysdeps/x86_64/crti.S (_init): Replace PREINIT_FUNCTION@PLT
+       with *%rax in call.
+
 2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
 
        [BZ #19745]
index a34525974a1d9f8e67577455c15a0ccada1cef81..e9d86ed08ab134a540e3dae5f97a9afb82cdb993 100644 (file)
@@ -66,7 +66,7 @@ _init:
        movq PREINIT_FUNCTION@GOTPCREL(%rip), %rax
        testq %rax, %rax
        je .Lno_weak_fn
-       call PREINIT_FUNCTION@PLT
+       call *%rax
 .Lno_weak_fn:
 #else
        call PREINIT_FUNCTION
This page took 0.201641 seconds and 5 git commands to generate.