]> sourceware.org Git - glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 17 May 2004 05:17:12 +0000 (05:17 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 17 May 2004 05:17:12 +0000 (05:17 +0000)
2004-05-16  Ulrich Drepper  <drepper@redhat.com>

* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Correct some
unwind info.

* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:
Parametrize frame size.  Correct some unwind info.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.

nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S

index 7e3de56ec74d1b465ee755393a2ef28aac5171e9..534f585f521b29c886193befb9f01e30d19d8c79 100644 (file)
@@ -1,3 +1,12 @@
+2004-05-16  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Correct some
+       unwind info.
+
+       * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:
+       Parametrize frame size.  Correct some unwind info.
+       * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
+
 2004-05-04  Jakub Jelinek  <jakub@redhat.com>
 
        * tst-stack3.c: Note testing functionality beyond POSIX.
index b1c32ea4b1834e5bcbb9f4c5075d945a3470d8c2..acc5a6a5f6df3730dc841101be28225097b85602 100644 (file)
@@ -83,7 +83,8 @@ __pthread_cond_timedwait:
        addl    $1, total_seq(%ebx)
        adcl    $0, total_seq+4(%ebx)
 
-       subl    $20, %esp
+#define FRAME_SIZE 20
+       subl    $FRAME_SIZE, %esp
 .Lsubl:
 
        /* Get and store current wakeup_seq value.  */
@@ -220,9 +221,9 @@ __pthread_cond_timedwait:
        jne     10f
 
        /* Remove cancellation handler.  */
-11:    movl    44(%esp), %eax
+11:    movl    24+FRAME_SIZE(%esp), %eax
        call    __pthread_mutex_cond_lock
-       addl    $20, %esp
+       addl    $FRAME_SIZE, %esp
 .Laddl:
 
        /* We return the result of the mutex_lock operation if it failed.  */
@@ -257,7 +258,7 @@ __pthread_cond_timedwait:
        call    __lll_mutex_lock_wait
        jmp     2b
 
-       /* Unlock in loop requires waekup.  */
+       /* Unlock in loop requires wakeup.  */
 3:
 .LSbl2:
 #if cond_lock == 0
@@ -278,7 +279,7 @@ __pthread_cond_timedwait:
        call    __lll_mutex_lock_wait
        jmp     6b
 
-       /* Unlock after loop requires waekup.  */
+       /* Unlock after loop requires wakeup.  */
 10:
 #if cond_lock == 0
        movl    %ebx, %eax
@@ -341,7 +342,7 @@ versioned_symbol (libpthread, __pthread_cond_timedwait, pthread_cond_timedwait,
 
        .type   __condvar_tw_cleanup3, @function
 __condvar_tw_cleanup3:
-       movl    40(%esp), %ebx
+       movl    20+FRAME_SIZE(%esp), %ebx
 .LSbl5:
        jmp     __condvar_tw_cleanup
        .size   __condvar_tw_cleanup3, .-__condvar_tw_cleanup3
@@ -399,7 +400,7 @@ __condvar_tw_cleanup:
        movl    $0x7fffffff, %edx
        ENTER_KERNEL
 
-       movl    44(%esp), %eax
+       movl    24+FRAME_SIZE(%esp), %eax
        call    __pthread_mutex_cond_lock
 
        movl    %esi, (%esp)
@@ -525,7 +526,7 @@ __condvar_tw_cleanup:
        .byte   2                               # DW_CFA_advance_loc1
        .byte   .Lsubl-.Lpush_ebx
        .byte   14                              # DW_CFA_def_cfa_offset
-       .uleb128 40
+       .uleb128 20+FRAME_SIZE
        .byte   3                               # DW_CFA_advance_loc2
        .2byte  .Laddl-.Lsubl
        .byte   14                              # DW_CFA_def_cfa_offset
@@ -551,7 +552,7 @@ __condvar_tw_cleanup:
        .uleb128 20
        .byte   0x40+.LSbl2-.LSbl1              # DW_CFA_advance_loc+N
        .byte   14                              # DW_CFA_def_cfa_offset
-       .uleb128 64
+       .uleb128 20+FRAME_SIZE
        .byte   0x85                            # DW_CFA_offset %ebp
        .uleb128 2
        .byte   0x87                            # DW_CFA_offset %edi
@@ -562,19 +563,15 @@ __condvar_tw_cleanup:
        .uleb128 5
        .byte   0x40+.LSbl3-.LSbl2              # DW_CFA_advance_loc+N
        .byte   14                              # DW_CFA_def_cfa_offset
-       .uleb128 24
+       .uleb128 20
 #if defined __NR_clock_gettime && !defined __ASSUME_POSIX_TIMERS
        .byte   0x40+.LSbl4-.LSbl3              # DW_CFA_advance_loc+N
-       .byte   14                              # DW_CFA_def_cfa_offset
-       .uleb128 64
-       .byte   4                               # DW_CFA_advance_loc4
-       .long   .LSbl5-.LSbl4
 #else
        .byte   4                               # DW_CFA_advance_loc4
        .long   .LSbl5-.LSbl3
 #endif
        .byte   14                              # DW_CFA_def_cfa_offset
-       .uleb128 40
+       .uleb128 20+FRAME_SIZE
        .align  4
 .LENDFDE:
 
index 38cb36ae913a7abe4576fd216d054bb7c9e08893..08a0588910cf30408618680513ee37c679f1e6e8 100644 (file)
@@ -80,7 +80,8 @@ __pthread_cond_wait:
        addl    $1, total_seq(%ebx)
        adcl    $0, total_seq+4(%ebx)
 
-       subl    $12, %esp
+#define FRAME_SIZE 12
+       subl    $FRAME_SIZE, %esp
 .Lsubl:
 
        /* Get and store current wakeup_seq value.  */
@@ -153,9 +154,9 @@ __pthread_cond_wait:
 #endif
        jne     10f
 
-11:    movl    32(%esp), %eax
+11:    movl    20+FRAME_SIZE(%esp), %eax
        call    __pthread_mutex_cond_lock
-       addl    $12, %esp
+       addl    $FRAME_SIZE, %esp
 .Laddl:
 
 14:    popl    %ebx
@@ -291,7 +292,7 @@ __condvar_w_cleanup:
        movl    $0x7fffffff, %edx
        ENTER_KERNEL
 
-       movl    32(%esp), %eax
+       movl    20+FRAME_SIZE(%esp), %eax
        call    __pthread_mutex_cond_lock
 
        movl    %esi, (%esp)
@@ -403,7 +404,7 @@ __condvar_w_cleanup:
        .byte   2                               # DW_CFA_advance_loc1
        .byte   .Lsubl-.Lpush_ebx
        .byte   14                              # DW_CFA_def_cfa_offset
-       .uleb128 28
+       .uleb128 16+FRAME_SIZE
        .byte   2                               # DW_CFA_advance_loc1
        .byte   .Laddl-.Lsubl
        .byte   14                              # DW_CFA_def_cfa_offset
@@ -431,13 +432,13 @@ __condvar_w_cleanup:
        .uleb128 4
        .byte   0x40+.LSbl2-.LSbl1              # DW_CFA_advance_loc+N
        .byte   14                              # DW_CFA_def_cfa_offset
-       .uleb128 28
+       .uleb128 16+FRAME_SIZE
        .byte   0x40+.LSbl3-.LSbl2              # DW_CFA_advance_loc+N
        .byte   14                              # DW_CFA_def_cfa_offset
        .uleb128 16
        .byte   0x40+.LSbl4-.LSbl3              # DW_CFA_advance_loc+N
        .byte   14                              # DW_CFA_def_cfa_offset
-       .uleb128 28
+       .uleb128 16+FRAME_SIZE
        .align  4
 .LENDFDE:
 
index b48a309f531bed8865067267e9930f8d6a912e07..5b244769361ae3cd79c9f5158113e7e275ea81cd 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -142,13 +142,11 @@ sem_timedwait:
        popl    %esi
        cfi_adjust_cfa_offset(-4)
        cfi_restore(6)
-       cfi_adjust_cfa_offset(-4)
-       cfi_restore(6)
        ret
 
        cfi_adjust_cfa_offset(24)
        cfi_offset(6, -8)               /* %esi */
-       cfi_offset(7, -12)              /* %edi */
+       cfi_offset(7, -12)              /* %edi */
        cfi_offset(3, -16)              /* %ebx */
 3:     negl    %esi
 6:
This page took 0.060097 seconds and 5 git commands to generate.