This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.23-45-gec21534
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 2 Mar 2016 00:58:50 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.23-45-gec21534
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 ec215346b92fdaef5d8042b5545e16beb7ccc7d1 (commit)
via 521266a819be5b33b224f2e8358175c30c79f1c2 (commit)
from dacc1a23d34994e2589fbecdd25aafa64db37ee8 (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 -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=ec215346b92fdaef5d8042b5545e16beb7ccc7d1
commit ec215346b92fdaef5d8042b5545e16beb7ccc7d1
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Mar 1 16:58:07 2016 -0800
Call x86-64 __mcount_internal/__sigjmp_save directly
Since __mcount_internal and __sigjmp_save are internal to x86-64 libc.so:
3532: 0000000000104530 289 FUNC LOCAL DEFAULT 13 __mcount_internal
3391: 0000000000034170 38 FUNC LOCAL DEFAULT 13 __sigjmp_save
they can be called directly without PLT.
* sysdeps/x86_64/_mcount.S (C_LABEL(_mcount)): Call
__mcount_internal directly.
(C_LABEL(__fentry__)): Likewise.
* sysdeps/x86_64/setjmp.S __sigsetjmp): Call __sigjmp_save
directly.
diff --git a/ChangeLog b/ChangeLog
index 2808645..787fef1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2016-03-01 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/x86_64/_mcount.S (C_LABEL(_mcount)): Call
+ __mcount_internal directly.
+ (C_LABEL(__fentry__)): Likewise.
+ * sysdeps/x86_64/setjmp.S __sigsetjmp): Call __sigjmp_save
+ directly.
+
+2016-03-01 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/unix/sysv/linux/x86_64/__start_context.S
(__start_context): Call __setcontext directly.
diff --git a/sysdeps/x86_64/_mcount.S b/sysdeps/x86_64/_mcount.S
index 5d7edd2..ba13643 100644
--- a/sysdeps/x86_64/_mcount.S
+++ b/sysdeps/x86_64/_mcount.S
@@ -43,11 +43,7 @@ C_LABEL(_mcount)
movq 56(%rsp),%rsi
/* Get frompc via the frame pointer. */
movq 8(%rbp),%rdi
-#ifdef PIC
- call C_SYMBOL_NAME(__mcount_internal)@PLT
-#else
call C_SYMBOL_NAME(__mcount_internal)
-#endif
/* Pop the saved registers. Please note that `mcount' has no
return value. */
movq 48(%rsp),%r9
@@ -84,11 +80,7 @@ C_LABEL(__fentry__)
movq 64(%rsp),%rsi
/* caller is the return address above it */
movq 72(%rsp),%rdi
-#ifdef PIC
- call C_SYMBOL_NAME(__mcount_internal)@PLT
-#else
call C_SYMBOL_NAME(__mcount_internal)
-#endif
/* Pop the saved registers. Please note that `__fentry__' has no
return value. */
movq 48(%rsp),%r9
diff --git a/sysdeps/x86_64/setjmp.S b/sysdeps/x86_64/setjmp.S
index 3e93967..e37c223 100644
--- a/sysdeps/x86_64/setjmp.S
+++ b/sysdeps/x86_64/setjmp.S
@@ -60,11 +60,7 @@ ENTRY (__sigsetjmp)
retq
#else
/* Make a tail call to __sigjmp_save; it takes the same args. */
-# ifdef PIC
- jmp C_SYMBOL_NAME (__sigjmp_save)@PLT
-# else
jmp __sigjmp_save
-# endif
#endif
END (__sigsetjmp)
hidden_def (__sigsetjmp)
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=521266a819be5b33b224f2e8358175c30c79f1c2
commit 521266a819be5b33b224f2e8358175c30c79f1c2
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Mar 1 16:55:36 2016 -0800
Call x86-64 __setcontext directly
Since x86-64 __start_context calls the internal __setcontext:
5089: 00000000000417e0 145 FUNC LOCAL DEFAULT 13 __setcontext
it should call __setcontext directly.
* sysdeps/unix/sysv/linux/x86_64/__start_context.S
(__start_context): Call __setcontext directly.
diff --git a/ChangeLog b/ChangeLog
index 9dabeca..2808645 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-03-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/unix/sysv/linux/x86_64/__start_context.S
+ (__start_context): Call __setcontext directly.
+
2016-02-26 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/alpha/kernel-features.h
diff --git a/sysdeps/unix/sysv/linux/x86_64/__start_context.S b/sysdeps/unix/sysv/linux/x86_64/__start_context.S
index 408d30d..6a33cd0 100644
--- a/sysdeps/unix/sysv/linux/x86_64/__start_context.S
+++ b/sysdeps/unix/sysv/linux/x86_64/__start_context.S
@@ -36,7 +36,7 @@ ENTRY(__start_context)
testq %rdi, %rdi
je 2f /* If it is zero exit. */
- call JUMPTARGET(__setcontext)
+ call __setcontext
/* If this returns (which can happen if the syscall fails) we'll
exit the program with the return error value (-1). */
movq %rax,%rdi
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 13 +++++++++++++
sysdeps/unix/sysv/linux/x86_64/__start_context.S | 2 +-
sysdeps/x86_64/_mcount.S | 8 --------
sysdeps/x86_64/setjmp.S | 4 ----
4 files changed, 14 insertions(+), 13 deletions(-)
hooks/post-receive
--
GNU C Library master sources