summaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-01-17 09:33:32 +0000
committerUlrich Drepper <drepper@redhat.com>2007-01-17 09:33:32 +0000
commit1476bce6ff733ec230ee03d7e7c2dae21cc3f6ed (patch)
treea0df009405fce82487936cdc0fcabb63fc5c97fd /nptl
parentea1533e08df4c63e680438ac1dc243cdc37d205a (diff)
downloadglibc-1476bce6ff733ec230ee03d7e7c2dae21cc3f6ed.tar.gz
* sysdeps/unix/sysv/linux/fatal-prepare.h: Use PTHFCT_CALL tocvs/fedora-glibc-20070117T1043cvs/fedora-glibc-20070117T0857
demangle pointer. * csu/libc-start.c: Likewise.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog3
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S15
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