Don't call internal _Unwind_Resume via PLT
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 18 May 2016 20:43:09 +0000 (13:43 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 18 May 2016 20:43:26 +0000 (13:43 -0700)
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
sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S

index 02db57a..6fd5c45 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2016-05-18  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * 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  <hongjiu.lu@intel.com>
+
        * sysdeps/unix/sysv/linux/x86_64/cancellation.S (PTHREAD_UNWIND):
        New
        (__pthread_unwind): Renamed to ...
index a2adc09..82ffa1a 100644 (file)
@@ -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
index c4d3504..c82f37b 100644 (file)
@@ -518,7 +518,7 @@ __condvar_cleanup1:
 
 8:     movq    24(%rsp), %rdi
 .LcallUR:
-       call    JUMPTARGET(_Unwind_Resume)
+       call    _Unwind_Resume
        hlt
 .LENDCODE:
        cfi_endproc