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.22-268-g94afa0a


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  94afa0a5f38315a44cf4ec36d3027e103e16cfc0 (commit)
      from  3ee578690f35942f41926cc2d98e25b3d0d08c71 (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=94afa0a5f38315a44cf4ec36d3027e103e16cfc0

commit 94afa0a5f38315a44cf4ec36d3027e103e16cfc0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Sep 18 12:22:36 2015 -0700

    Use __libc_ptf_call in _longjmp_unwind
    
    Use __libc_ptf_call in _longjmp_unwind to avoid duplicated logic.  On
    x86-64, I got
    
    jmp-unwind.os:
    _longjmp_unwind:
    	movl	__libc_pthread_functions_init(%rip), %eax
    	testl	%eax, %eax
    	jne	.L4
    	rep ret
    .L4:
    	movq	304+__libc_pthread_functions(%rip), %rax
    	movq	%rsp, %rsi
    	ror $2*8+1, %rax
    	xor %fs:48, %rax
    	jmp	*%rax
    
    jmp-unwind.o:
    
    _longjmp_unwind:
    	movl	$__pthread_cleanup_upto, %eax
    	testq	%rax, %rax
    	je	.L1
    	movq	%rsp, %rsi
    	jmp	__pthread_cleanup_upto
    .L1:
    	rep ret
    
    	* sysdeps/nptl/jmp-unwind.c: Include <libc-lock.h> instead of
    	<nptl/pthreadP.h>.
    	(_longjmp_unwind): Use __libc_ptf_call.
    	* sysdeps/unix/sysv/linux/s390/jmp-unwind.c: Likewise.

diff --git a/ChangeLog b/ChangeLog
index 764af43..03e2340 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-09-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* sysdeps/nptl/jmp-unwind.c: Include <libc-lock.h> instead of
+	<nptl/pthreadP.h>.
+	(_longjmp_unwind): Use __libc_ptf_call.
+	* sysdeps/unix/sysv/linux/s390/jmp-unwind.c: Likewise.
+
 2015-09-18  David Lamparter  <equinox-gentoo@diac24.net>
 
 	* sysdeps/arm/setjmp.S: Change PIC to SHARED.
diff --git a/sysdeps/nptl/jmp-unwind.c b/sysdeps/nptl/jmp-unwind.c
index 8e01986..2915989 100644
--- a/sysdeps/nptl/jmp-unwind.c
+++ b/sysdeps/nptl/jmp-unwind.c
@@ -18,7 +18,7 @@
 
 #include <setjmp.h>
 #include <stddef.h>
-#include <nptl/pthreadP.h>
+#include <libc-lock.h>
 
 extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe);
 #pragma weak __pthread_cleanup_upto
@@ -27,12 +27,6 @@ extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe);
 void
 _longjmp_unwind (jmp_buf env, int val)
 {
-#ifdef SHARED
-  if (__libc_pthread_functions_init)
-    PTHFCT_CALL (ptr___pthread_cleanup_upto, (env->__jmpbuf,
-					      CURRENT_STACK_FRAME));
-#else
-  if (__pthread_cleanup_upto != NULL)
-    __pthread_cleanup_upto (env->__jmpbuf, CURRENT_STACK_FRAME);
-#endif
+  __libc_ptf_call (__pthread_cleanup_upto, (env->__jmpbuf,
+					    CURRENT_STACK_FRAME), 0);
 }
diff --git a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c b/sysdeps/unix/sysv/linux/s390/jmp-unwind.c
index 52fe101..4b8ad28 100644
--- a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c
+++ b/sysdeps/unix/sysv/linux/s390/jmp-unwind.c
@@ -18,7 +18,7 @@
 
 #include <setjmp.h>
 #include <stddef.h>
-#include <nptl/pthreadP.h>
+#include <libc-lock.h>
 
 extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe);
 #pragma weak __pthread_cleanup_upto
@@ -29,11 +29,5 @@ _longjmp_unwind (jmp_buf env, int val)
 {
   char local_var;
 
-#ifdef SHARED
-  if (__libc_pthread_functions_init)
-    PTHFCT_CALL (ptr___pthread_cleanup_upto, (env->__jmpbuf, &local_var));
-#else
-  if (__pthread_cleanup_upto != NULL)
-    __pthread_cleanup_upto (env->__jmpbuf, &local_var);
-#endif
+  __libc_ptf_call (__pthread_cleanup_upto, (env->__jmpbuf, &local_var), 0);
 }

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                 |    7 +++++++
 sysdeps/nptl/jmp-unwind.c                 |   12 +++---------
 sysdeps/unix/sysv/linux/s390/jmp-unwind.c |   10 ++--------
 3 files changed, 12 insertions(+), 17 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]