From: H.J. Lu Date: Wed, 18 May 2016 20:43:09 +0000 (-0700) Subject: Don't call internal _Unwind_Resume via PLT X-Git-Tag: glibc-2.24~243 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=16cd2b35c295dd7a6655969c7d5a217058de2863;p=thirdparty%2Fglibc.git 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. --- diff --git a/ChangeLog b/ChangeLog index 02db57a5eea..6fd5c45e4a3 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 a2adc09b27e..82ffa1a37eb 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 c4d3504a672..c82f37baab6 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