about summary refs log tree commit diff
path: root/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S30
1 files changed, 29 insertions, 1 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
index bd0b08a73a..0ffbe577db 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
+++ b/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -27,10 +27,17 @@
 	.globl	__pthread_rwlock_unlock
 	.type	__pthread_rwlock_unlock,@function
 	.align	5
+	cfi_startproc
 __pthread_rwlock_unlock:
 	mov.l	r12, @-r15
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (r12, 0)
 	mov.l	r8, @-r15
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (r8, 0)
 	sts.l	pr, @-r15
+	cfi_adjust_cfa_offset (4)
+	cfi_rel_offset (pr, 0)
 	mov	r4, r8
 
 	/* Get the lock.  */
@@ -108,11 +115,19 @@ __pthread_rwlock_unlock:
 	trapa	#0x14
 	SYSCALL_INST_PAD
 
+	cfi_remember_state
 	lds.l	@r15+, pr
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (pr)
 	mov.l	@r15+, r8
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (r8)
 	mov.l	@r15+, r12
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (r12)
 	rts
 	 mov	#0, r0
+	cfi_restore_state
 6:
 #if MUTEX == 0
 	DEC (@r8, r2)
@@ -122,11 +137,19 @@ __pthread_rwlock_unlock:
 	tst	r2, r2
 	bf	3f
 4:
+	cfi_remember_state
 	lds.l	@r15+, pr
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (pr)
 	mov.l	@r15+, r8
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (r8)
 	mov.l	@r15+, r12
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (r12)
 	rts
 	 mov	#0, r0
+	cfi_restore_state
 
 1:
 	mov	r8, r5
@@ -159,7 +182,9 @@ __pthread_rwlock_unlock:
 
 7:
 	mov.l	r4, @-r15
+	cfi_adjust_cfa_offset (4)
 	mov.l	r6, @-r15
+	cfi_adjust_cfa_offset (4)
 	mov	r8, r4
 #if MUTEX != 0
 	add	#MUTEX, r4
@@ -173,9 +198,12 @@ __pthread_rwlock_unlock:
 .Lwake9b:
 
 	mov.l	@r15+, r6
+	cfi_adjust_cfa_offset (-4)
 	bra	8b
 	 mov.l	@r15+, r4
 
+	cfi_endproc
+
 #ifndef __ASSUME_PRIVATE_FUTEX
 .Lpfoff:
 	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE