From: Ulrich Drepper Date: Fri, 27 Jun 2003 07:02:58 +0000 (+0000) Subject: Update. X-Git-Tag: upstream/2.30~19053 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7539c7ecfda06eeae987fc53815523a70938073a;p=external%2Fglibc.git Update. 2003-06-26 Ulrich Drepper * 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. --- diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 1a02a38..21157bc 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,14 @@ +2003-06-26 Ulrich Drepper + + * 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 * 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 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