summary refs log tree commit diff
path: root/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-06-27 07:02:58 +0000
committerUlrich Drepper <drepper@redhat.com>2003-06-27 07:02:58 +0000
commit7539c7ecfda06eeae987fc53815523a70938073a (patch)
tree08bbc03085456f30ccee6316ec794b2b81170fa7 /nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
parent4ae89108d3c71ca5156c13e5597a84f774a67196 (diff)
downloadglibc-7539c7ecfda06eeae987fc53815523a70938073a.tar.gz
glibc-7539c7ecfda06eeae987fc53815523a70938073a.tar.xz
glibc-7539c7ecfda06eeae987fc53815523a70938073a.zip
Update.
2003-06-26  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/pthread/librt-cancellation.c: Move __pthread_unwind
	definition to the front.

	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Rename
	the cleanup functions to make the names unique.  Fix dwarf opcode
	un unwind table.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Rename cleanup
	functions to make the names unique.  Fix CFA offset for two blocks.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S34
1 files changed, 18 insertions, 16 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
index d7ce84ebe4..2eba326fa3 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
@@ -332,17 +332,17 @@ versioned_symbol (libpthread, __pthread_cond_timedwait, pthread_cond_timedwait,
 		  GLIBC_2_3_2)
 
 
-	.type	__condvar_cleanup3, @function
-__condvar_cleanup3:
+	.type	__condvar_tw_cleanup3, @function
+__condvar_tw_cleanup3:
 	leal	wakeup_seq(%edx), %ebx # XXX Is this correct?  %edx preserved?
 .LSbl5:
-	.size	__condvar_cleanup3, .-__condvar_cleanup3
-	.type	__condvar_cleanup2, @function
-__condvar_cleanup2:
+	.size	__condvar_tw_cleanup3, .-__condvar_tw_cleanup3
+	.type	__condvar_tw_cleanup2, @function
+__condvar_tw_cleanup2:
 	subl	$wakeup_seq, %ebx
-	.size	__condvar_cleanup2, .-__condvar_cleanup2
-	.type	__condvar_cleanup, @function
-__condvar_cleanup:
+	.size	__condvar_tw_cleanup2, .-__condvar_tw_cleanup2
+	.type	__condvar_tw_cleanup, @function
+__condvar_tw_cleanup:
 	movl	%eax, %esi
 
 	/* Get internal lock.  */
@@ -395,7 +395,7 @@ __condvar_cleanup:
 	call	_Unwind_Resume
 	hlt
 .LENDCODE:
-	.size	__condvar_cleanup, .-__condvar_cleanup
+	.size	__condvar_tw_cleanup, .-__condvar_tw_cleanup
 
 
 	.section .gcc_except_table,"a",@progbits
@@ -408,23 +408,23 @@ __condvar_cleanup:
 .Lcstbegin:
 	.long	.LcleanupSTART-.LSTARTCODE
 	.long	.Ladd_wakeup-.LcleanupSTART
-	.long	__condvar_cleanup-.LSTARTCODE
+	.long	__condvar_tw_cleanup-.LSTARTCODE
 	.uleb128  0
 	.long	.LebxmovedUR-.LSTARTCODE
 	.long	.LebxbackUR-.LebxmovedUR
-	.long	__condvar_cleanup3-.LSTARTCODE
+	.long	__condvar_tw_cleanup3-.LSTARTCODE
 	.uleb128  0
 	.long	.LebxmovedUR-.LSTARTCODE
 	.long	.Ladd_wakeup-.LebxmovedUR
-	.long	__condvar_cleanup-.LSTARTCODE
+	.long	__condvar_tw_cleanup-.LSTARTCODE
 	.uleb128  0
 	.long	.Ladd_wakeup-.LSTARTCODE
 	.long	.Lsub_wakeup-.Ladd_wakeup
-	.long	__condvar_cleanup2-.LSTARTCODE
+	.long	__condvar_tw_cleanup2-.LSTARTCODE
 	.uleb128  0
 	.long	.Lsub_wakeup-.LSTARTCODE
 	.long	.LcleanupEND-.Lsub_wakeup
-	.long	__condvar_cleanup-.LSTARTCODE
+	.long	__condvar_tw_cleanup-.LSTARTCODE
 	.uleb128  0
 	.long	.LcallUR-.LSTARTCODE
 	.long	.LENDCODE-.LcallUR
@@ -555,9 +555,11 @@ __condvar_cleanup:
 	.byte	0x40+.LSbl4-.LSbl3		# DW_CFA_advance_loc+N
 	.byte	14				# DW_CFA_def_cfa_offset
 	.uleb128 64
-	.byte	0x40+.LSbl5-.LSbl4		# DW_CFA_advance_loc+N
+	.byte	4				# DW_CFA_advance_loc4
+	.long	.LSbl5-.LSbl4
 #else
-	.byte	0x40+.LSbl5-.LSbl3		# DW_CFA_advance_loc+N
+	.byte	4				# DW_CFA_advance_loc4
+	.long	.LSbl5-.LSbl3
 #endif
 	.byte	14				# DW_CFA_def_cfa_offset
 	.uleb128 40