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.22-268-g94afa0a
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 18 Sep 2015 19:25:30 -0000
- Subject: 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