about summary refs log tree commit diff
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
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.
-rw-r--r--nptl/ChangeLog11
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S34
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S24
3 files changed, 41 insertions, 28 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 1a02a3812e..21157bca0d 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,14 @@
+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.
+
 2003-06-25  Ulrich Drepper  <drepper@redhat.com>
 
 	* sysdeps/pthread/pthread.h (class __pthread_cleanup_class): Add
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
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
index 6cf30cf41b..1680b3d859 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
@@ -236,13 +236,13 @@ versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
 		  GLIBC_2_3_2)
 
 
-	.type	__condvar_cleanup2, @function
-__condvar_cleanup2:
+	.type	__condvar_w_cleanup2, @function
+__condvar_w_cleanup2:
 	subl	$wakeup_seq, %ebx
-	.size	__condvar_cleanup2, .-__condvar_cleanup2
+	.size	__condvar_w_cleanup2, .-__condvar_w_cleanup2
 .LSbl4:
-	.type	__condvar_cleanup, @function
-__condvar_cleanup:
+	.type	__condvar_w_cleanup, @function
+__condvar_w_cleanup:
 	movl	%eax, %esi
 
 	/* Get internal lock.  */
@@ -295,7 +295,7 @@ __condvar_cleanup:
 	call	_Unwind_Resume
 	hlt
 .LENDCODE:
-	.size	__condvar_cleanup, .-__condvar_cleanup
+	.size	__condvar_w_cleanup, .-__condvar_w_cleanup
 
 
 	.section .gcc_except_table,"a",@progbits
@@ -308,15 +308,15 @@ __condvar_cleanup:
 .Lcstbegin:
 	.long	.LcleanupSTART-.LSTARTCODE
 	.long	.Ladd_wakeup-.LcleanupSTART
-	.long	__condvar_cleanup-.LSTARTCODE
+	.long	__condvar_w_cleanup-.LSTARTCODE
 	.uleb128  0
 	.long	.Ladd_wakeup-.LSTARTCODE
 	.long	.Lsub_wakeup-.Ladd_wakeup
-	.long	__condvar_cleanup2-.LSTARTCODE
+	.long	__condvar_w_cleanup2-.LSTARTCODE
 	.uleb128  0
 	.long	.Lsub_wakeup-.LSTARTCODE
 	.long	.LcleanupEND-.Lsub_wakeup
-	.long	__condvar_cleanup-.LSTARTCODE
+	.long	__condvar_w_cleanup-.LSTARTCODE
 	.uleb128  0
 	.long	.LcallUR-.LSTARTCODE
 	.long	.LENDCODE-.LcallUR
@@ -399,7 +399,7 @@ __condvar_cleanup:
 	.byte	2				# DW_CFA_advance_loc1
 	.byte	.Lsubl-.Lpush_ebx
 	.byte	14				# DW_CFA_def_cfa_offset
-	.uleb128 36
+	.uleb128 28
 	.byte	2				# DW_CFA_advance_loc1
 	.byte	.Laddl-.Lsubl
 	.byte	14				# DW_CFA_def_cfa_offset
@@ -427,10 +427,10 @@ __condvar_cleanup:
 	.uleb128 4
 	.byte	0x40+.LSbl2-.LSbl1		# DW_CFA_advance_loc+N
 	.byte	14				# DW_CFA_def_cfa_offset
-	.uleb128 52
+	.uleb128 28
 	.byte	0x40+.LSbl3-.LSbl2		# DW_CFA_advance_loc+N
 	.byte	14				# DW_CFA_def_cfa_offset
-	.uleb128 20
+	.uleb128 16
 	.byte	0x40+.LSbl4-.LSbl3		# DW_CFA_advance_loc+N
 	.byte	14				# DW_CFA_def_cfa_offset
 	.uleb128 28