diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-01-17 09:33:32 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-01-17 09:33:32 +0000 |
commit | 1476bce6ff733ec230ee03d7e7c2dae21cc3f6ed (patch) | |
tree | a0df009405fce82487936cdc0fcabb63fc5c97fd /nptl | |
parent | ea1533e08df4c63e680438ac1dc243cdc37d205a (diff) | |
download | glibc-1476bce6ff733ec230ee03d7e7c2dae21cc3f6ed.tar.gz glibc-1476bce6ff733ec230ee03d7e7c2dae21cc3f6ed.tar.xz glibc-1476bce6ff733ec230ee03d7e7c2dae21cc3f6ed.zip |
* sysdeps/unix/sysv/linux/fatal-prepare.h: Use PTHFCT_CALL to cvs/fedora-glibc-20070117T1043 cvs/fedora-glibc-20070117T0857
demangle pointer. * csu/libc-start.c: Likewise.
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 3 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S | 15 |
2 files changed, 17 insertions, 1 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 064d19fff1..4e76b5180f 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,8 @@ 2007-01-17 Ulrich Drepper <drepper@redhat.com> + * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S + (__lll_timedwait_tid): Add unwind info. + * sysdeps/unix/sysv/linux/libc_pthread_init.c: Don't just copy the function table, mangle the pointers. * sysdeps/pthread/pthread-functions.h: Define PTHFCT_CALL. diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S index 90f10e6f4f..3783f1ccee 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +/* Copyright (C) 2002-2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -269,13 +269,19 @@ __lll_mutex_unlock_wake: .hidden __lll_timedwait_tid .align 16 __lll_timedwait_tid: + cfi_startproc pushq %r12 + cfi_adjust_cfa_offset(8) pushq %r13 + cfi_adjust_cfa_offset(8) + cfi_offset(%r12, -16) + cfi_offset(%r13, -24) movq %rdi, %r12 movq %rsi, %r13 subq $16, %rsp + cfi_adjust_cfa_offset(16) /* Get current time. */ 2: movq %rsp, %rdi @@ -319,14 +325,21 @@ __lll_timedwait_tid: 4: xorl %eax, %eax 8: addq $16, %rsp + cfi_adjust_cfa_offset(-16) popq %r13 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r13) popq %r12 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r12) retq + cfi_adjust_cfa_offset(32) 1: cmpq $-ETIMEDOUT, %rax jne 2b 6: movl $ETIMEDOUT, %eax jmp 8b + cfi_endproc .size __lll_timedwait_tid,.-__lll_timedwait_tid #endif |