about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2016-05-18 13:43:09 -0700
committerH.J. Lu <hjl.tools@gmail.com>2016-05-18 13:43:26 -0700
commit16cd2b35c295dd7a6655969c7d5a217058de2863 (patch)
tree56c2c667b2404c9e36899c755f1cff150f31f83f
parentd29261db22b797e1670730f819f9296251dd42ea (diff)
downloadglibc-16cd2b35c295dd7a6655969c7d5a217058de2863.tar.gz
glibc-16cd2b35c295dd7a6655969c7d5a217058de2863.tar.xz
glibc-16cd2b35c295dd7a6655969c7d5a217058de2863.zip
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.
-rw-r--r--ChangeLog8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S2
3 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 02db57a5ee..6fd5c45e4a 100644
--- 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 ...
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