summaryrefslogtreecommitdiff
path: root/sysdeps/i386
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-05-14 09:23:55 -0700
committerH.J. Lu <hjl.tools@gmail.com>2018-05-14 09:24:06 -0700
commita15529fda8d132621328c3fe32997a3d9c55aef4 (patch)
treed1f18df73a78ab291842b0f91f5f939627eafc48 /sysdeps/i386
parent98ee36c7a44e140e2a85a2c4306e06176fb9e395 (diff)
i386: Replace PREINIT_FUNCTION@PLT with *%eax in call
Since we have loaded address of PREINIT_FUNCTION into %eax, we can avoid extra branch to PLT slot. * sysdeps/i386/crti.S (_init): Replace PREINIT_FUNCTION@PLT with *%eax in call. Acked-by: Christian Brauner (Ubuntu) <christian@brauner.io>
Diffstat (limited to 'sysdeps/i386')
-rw-r--r--sysdeps/i386/crti.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/sysdeps/i386/crti.S b/sysdeps/i386/crti.S
index c0422f9ce3..065460b813 100644
--- a/sysdeps/i386/crti.S
+++ b/sysdeps/i386/crti.S
@@ -68,7 +68,7 @@ _init:
movl PREINIT_FUNCTION@GOT(%ebx), %eax
testl %eax, %eax
je .Lno_weak_fn
- call PREINIT_FUNCTION@PLT
+ call *%eax
.Lno_weak_fn:
#else
call PREINIT_FUNCTION