This is the mail archive of the glibc-cvs@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]

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


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