aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps
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
parent4ae89108d3c71ca5156c13e5597a84f774a67196 (diff)
downloadglibc-7539c7ecfda06eeae987fc53815523a70938073a.zip
glibc-7539c7ecfda06eeae987fc53815523a70938073a.tar.gz
glibc-7539c7ecfda06eeae987fc53815523a70938073a.tar.bz2
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')
-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
2 files changed, 30 insertions, 28 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 d7ce84e..2eba326 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 6cf30cf..1680b3d 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