This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] 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.

Any comments?

H.J.
---
	* sysdeps/i386/crti.S (_init): Replace PREINIT_FUNCTION@PLT
	with *%eax in call.
---
 sysdeps/i386/crti.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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
-- 
2.17.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]