about summary refs log tree commit diff
path: root/sysdeps
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
parent98ee36c7a44e140e2a85a2c4306e06176fb9e395 (diff)
downloadglibc-a15529fda8d132621328c3fe32997a3d9c55aef4.tar.gz
glibc-a15529fda8d132621328c3fe32997a3d9c55aef4.tar.xz
glibc-a15529fda8d132621328c3fe32997a3d9c55aef4.zip
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')
-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