about summary refs log tree commit diff
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
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/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