From 16cd2b35c295dd7a6655969c7d5a217058de2863 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 18 May 2016 13:43:09 -0700 Subject: [PATCH] Don't call internal _Unwind_Resume via PLT There is no need to call the internal funtion, _Unwind_Resume, which is defined in unwind-forcedunwind.c, via PLT. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S (__condvar_cleanup2): Remove JUMPTARGET from _Unwind_Resume call. * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S (__condvar_cleanup1): Likewise. --- ChangeLog | 8 ++++++++ sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S | 2 +- sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 02db57a5ee..6fd5c45e4a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2016-05-18 H.J. Lu + + * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S + (__condvar_cleanup2): Remove JUMPTARGET from _Unwind_Resume + call. + * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S + (__condvar_cleanup1): Likewise. + 2016-05-18 H.J. Lu * sysdeps/unix/sysv/linux/x86_64/cancellation.S (PTHREAD_UNWIND): diff --git a/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S index a2adc09b27..82ffa1a37e 100644 --- a/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S +++ b/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S @@ -586,7 +586,7 @@ __condvar_cleanup2: movq FRAME_SIZE+16(%rsp), %r13 movq FRAME_SIZE+24(%rsp), %r12 .LcallUR: - call JUMPTARGET(_Unwind_Resume) + call _Unwind_Resume hlt .LENDCODE: cfi_endproc diff --git a/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S index c4d3504a67..c82f37baab 100644 --- a/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S +++ b/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S @@ -518,7 +518,7 @@ __condvar_cleanup1: 8: movq 24(%rsp), %rdi .LcallUR: - call JUMPTARGET(_Unwind_Resume) + call _Unwind_Resume hlt .LENDCODE: cfi_endproc