From 1476bce6ff733ec230ee03d7e7c2dae21cc3f6ed Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 17 Jan 2007 09:33:32 +0000 Subject: * sysdeps/unix/sysv/linux/fatal-prepare.h: Use PTHFCT_CALL to demangle pointer. * csu/libc-start.c: Likewise. --- ChangeLog | 6 ++++++ nptl/ChangeLog | 3 +++ nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S | 15 ++++++++++++++- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 69a534f4e7..32f9044fe2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-01-17 Ulrich Drepper + + * sysdeps/unix/sysv/linux/fatal-prepare.h: Use PTHFCT_CALL to + demangle pointer. + * csu/libc-start.c: Likewise. + 2007-01-16 Ulrich Drepper * sysdeps/posix/system.c: Remove NO_WAITPID support, it cannot 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 + * 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 , 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 -- cgit v1.2.3