about summary refs log tree commit diff
path: root/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S13
1 files changed, 3 insertions, 10 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S b/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
index 28f78b015e..d51f12aa54 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
+++ b/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
@@ -121,18 +121,10 @@ __new_sem_wait:
 	mov	#-1, r0
 9:
 	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
 	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
 	mov.l	@r15+, r10
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r10)
 	rts
 	 mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
 5:
 	/* Canceled.  */
 	stc	gbr, r0
@@ -144,8 +136,9 @@ __new_sem_wait:
 	stc	gbr, r0
 	mov.w	.Lclbuf, r1
 	mov.l	.Lunwind, r2
-	jmp	@r2
+	braf	r2
 	 mov.l	@(r0,r1), r4
+.Lunwindb:
 	cfi_endproc
 
 .Lchand:
@@ -169,6 +162,6 @@ __new_sem_wait:
 .Ldisable0:
 	.long	__pthread_disable_asynccancel-.Ldisable0b
 .Lunwind:
-	.long	__pthread_unwind
+	.long	HIDDEN_JUMPTARGET (__pthread_unwind)-.Lunwindb
 	.size	__new_sem_wait,.-__new_sem_wait
 	versioned_symbol(libpthread, __new_sem_wait, sem_wait, GLIBC_2_1)