diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-06-27 07:02:58 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-06-27 07:02:58 +0000 |
commit | 7539c7ecfda06eeae987fc53815523a70938073a (patch) | |
tree | 08bbc03085456f30ccee6316ec794b2b81170fa7 /nptl/sysdeps | |
parent | 4ae89108d3c71ca5156c13e5597a84f774a67196 (diff) | |
download | glibc-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.S | 34 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S | 24 |
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 |