Don't call internal _Unwind_Resume via PLT
Commit Message
There is no need to call the internal funtion, _Unwind_Resume, which
is defined in unwind-forcedunwind.c, via PLT.
Tested on x86-64. OK for master?
H.J.
---
* 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.
---
sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S | 2 +-
sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Comments
On Wed, May 4, 2016 at 10:54 AM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> There is no need to call the internal funtion, _Unwind_Resume, which
> is defined in unwind-forcedunwind.c, via PLT.
>
> Tested on x86-64. OK for master?
>
> H.J.
> ---
> * 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.
> ---
> sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S | 2 +-
> sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> 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 a2adc09..82ffa1a 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 c4d3504..c82f37b 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
> --
> 2.5.5
>
I am going to check in this patch.
@@ -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
@@ -518,7 +518,7 @@ __condvar_cleanup1:
8: movq 24(%rsp), %rdi
.LcallUR:
- call JUMPTARGET(_Unwind_Resume)
+ call _Unwind_Resume
hlt
.LENDCODE:
cfi_endproc