From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27843 invoked by alias); 8 Dec 2004 06:12:48 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 27725 invoked from network); 8 Dec 2004 06:12:42 -0000 Received: from unknown (HELO arwen.tausq.org) (64.81.244.109) by sourceware.org with SMTP; 8 Dec 2004 06:12:42 -0000 Received: by arwen.tausq.org (Postfix, from userid 1000) id 1FE4D6BE3E; Tue, 7 Dec 2004 22:12:39 -0800 (PST) Date: Wed, 08 Dec 2004 08:21:00 -0000 From: Randolph Chung To: Mark Kettenis Cc: brobecker@adacore.com, gdb-patches@sources.redhat.com Subject: Re: [RFC/RFA/hppa] unwind pc in bottom frame using correct register Message-ID: <20041208061238.GL6359@tausq.org> Reply-To: Randolph Chung References: <20041204042049.GR16491@adacore.com> <20041204053132.GR6359@tausq.org> <20041204075101.GS16491@adacore.com> <20041204084624.GS6359@tausq.org> <200412041126.iB4BQsd8000662@elgar.sibelius.xs4all.nl> <20041208032725.GI6359@tausq.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20041208032725.GI6359@tausq.org> X-GPG: for GPG key, see http://www.tausq.org/gpg.txt User-Agent: Mutt/1.5.6+20040722i X-SW-Source: 2004-12/txt/msg00233.txt.bz2 > hrm, something is broken. on hppa64-hp-hpux11.11 this is causing a lot > of unwinding failures. the hpux unwind_pc method is getting flags that > have the magic "2" bit set, so it gets the pc from 31 instead of the > pcoqh register. figured it out.. we were only clearing the first half of the register on 64-bit... i committed the following patch to fix the problem. randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ 2004-12-07 Randolph Chung * hppa-tdep.c (hppa_frame_prev_register_helper): Zero out the entire register for both 32- and 64-bit targets. Index: hppa-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/hppa-tdep.c,v retrieving revision 1.188 diff -u -p -r1.188 hppa-tdep.c --- hppa-tdep.c 8 Dec 2004 01:48:02 -0000 1.188 +++ hppa-tdep.c 8 Dec 2004 06:09:45 -0000 @@ -2459,7 +2467,10 @@ hppa_frame_prev_register_helper (struct if (regnum == HPPA_FLAGS_REGNUM) { if (valuep) - store_unsigned_integer (valuep, 4, 0); + store_unsigned_integer (valuep, + register_size (get_frame_arch (next_frame), + regnum), + 0); /* It's a computed value. */ *optimizedp = 0;