From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13215 invoked by alias); 25 Feb 2003 08:37:12 -0000 Mailing-List: contact libc-hacker-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sources.redhat.com Received: (qmail 13198 invoked from network); 25 Feb 2003 08:37:12 -0000 Received: from unknown (HELO palrel13.hp.com) (156.153.255.238) by 172.16.49.205 with SMTP; 25 Feb 2003 08:37:12 -0000 Received: from hplms2.hpl.hp.com (hplms2.hpl.hp.com [15.0.152.33]) by palrel13.hp.com (Postfix) with ESMTP id 645991C0142D; Tue, 25 Feb 2003 00:37:11 -0800 (PST) Received: from napali.hpl.hp.com (napali.hpl.hp.com [15.4.89.123]) by hplms2.hpl.hp.com (8.10.2/8.10.2 HPL-PA Hub) with ESMTP id h1P8bAY19615; Tue, 25 Feb 2003 00:37:10 -0800 (PST) Received: from napali.hpl.hp.com (napali [127.0.0.1]) by napali.hpl.hp.com (8.12.3/8.12.3/Debian -4) with ESMTP id h1P8bAZw003063; Tue, 25 Feb 2003 00:37:10 -0800 Received: (from davidm@localhost) by napali.hpl.hp.com (8.12.3/8.12.3/Debian -4) id h1P8b5gK003059; Tue, 25 Feb 2003 00:37:05 -0800 From: David Mosberger MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15963.11057.866106.291009@napali.hpl.hp.com> Date: Tue, 25 Feb 2003 08:37:00 -0000 To: Ulrich Drepper Cc: GNU libc hacker , linux-ia64@linuxia64.org Subject: unwind info fix for ia64 In-Reply-To: <3E540803.3060703@redhat.com> References: <3E540803.3060703@redhat.com> Reply-To: davidm@hpl.hp.com X-SW-Source: 2003-02/txt/msg00063.txt.bz2 Here is a small bug-fix for libc's __syscall_error to get the unwind info correct. Did "make check" afterwards and ran a test program to verify that unwinding works correctly now for this function. --david 2003-02-24 * sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Fix unwind info. Index: sysdeps/unix/sysv/linux/ia64/sysdep.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/ia64/sysdep.S,v retrieving revision 1.5 diff -u -r1.5 sysdep.S --- sysdeps/unix/sysv/linux/ia64/sysdep.S 11 Oct 2002 10:51:24 -0000 1.5 +++ sysdeps/unix/sysv/linux/ia64/sysdep.S 25 Feb 2003 08:30:31 -0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David Mosberger-Tang . @@ -23,18 +23,19 @@ ENTRY(__syscall_error) #ifdef _LIBC_REENTRANT .prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(0) - alloc r35=ar.pfs, 0, 4, 0, 0 + alloc r33=ar.pfs, 0, 4, 0, 0 mov r32=rp - mov r33=r8 + .body + mov r35=r8 mov r34=r1 ;; - br.call.sptk.many b0 = __errno_location# + br.call.sptk.many b0 = __errno_location .Lret0: /* force new bundle */ - st4 [r8]=r33 + st4 [r8]=r35 mov r1=r34 mov rp=r32 mov r8=-1 - mov ar.pfs=r35 + mov ar.pfs=r33 #else /* _LIBC_REENTRANT */ /* * Note that the gp has to be set properly for this to work.