From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19791 invoked by alias); 30 Apr 2007 13:21:25 -0000 Received: (qmail 19781 invoked by uid 22791); 30 Apr 2007 13:21:25 -0000 X-Spam-Check-By: sourceware.org Received: from return.false.org (HELO return.false.org) (66.207.162.98) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 30 Apr 2007 14:21:20 +0100 Received: from return.false.org (localhost [127.0.0.1]) by return.false.org (Postfix) with ESMTP id 5BC944B26F; Mon, 30 Apr 2007 08:21:19 -0500 (CDT) Received: from caradoc.them.org (dsl093-172-095.pit1.dsl.speakeasy.net [66.93.172.95]) by return.false.org (Postfix) with ESMTP id 2C4284B26D; Mon, 30 Apr 2007 08:21:19 -0500 (CDT) Received: from drow by caradoc.them.org with local (Exim 4.67) (envelope-from ) id 1HiVoc-00079e-HB; Mon, 30 Apr 2007 09:21:18 -0400 Date: Mon, 30 Apr 2007 13:26:00 -0000 From: Daniel Jacobowitz To: "Maciej W. Rozycki" Cc: gdb-patches@sourceware.org, "Maciej W. Rozycki" Subject: Re: [rfc] dwarf2 unwinder and MIPS n32 Message-ID: <20070430132118.GC25539@caradoc.them.org> Mail-Followup-To: "Maciej W. Rozycki" , gdb-patches@sourceware.org, "Maciej W. Rozycki" References: <20070428202914.GA8077@caradoc.them.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.15 (2007-04-09) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-04/txt/msg00413.txt.bz2 On Mon, Apr 30, 2007 at 01:40:54PM +0100, Maciej W. Rozycki wrote: > On Sat, 28 Apr 2007, Daniel Jacobowitz wrote: > > > Maybe if the size of the register != the size of a void * we should > > store it as an unsigned integer. But that seems hackish to me. > > Of course MIPS addresses are signed, so if you have a stack pointer in > KSEG0 (e.g. 0x8fff0000), you want to store it as a signed integer, don't > you? It should already be sign extended at this point; CORE_ADDR will be a 64-bit type and it should be set to 0xffffffff_8fff0000 by read_reg. That's the only reason we can get away with it. > Anyway, I have the following patch waiting in the queue for submission -- > perhaps it is less hackish. ;-) Ewww. Sorry, this one's even worse than mine :-) Let's not abuse our types that way. I have a nicer patch now based on Ulrich's suggestion. I'll post it in a few minutes when testing finishes (or a little later if I can figure out where to get that board file you mentioned). > 2007-04-30 Maciej W. Rozycki > > * dwarf2-frame.c (read_reg): Extract an address using the width > of the register to be used to hold it as the size. I see the read_reg part of this patch has been updated to apply to HEAD, but do you know if it is older than this change? If so, it's probably not necessary anymore. 2006-05-17 Daniel Jacobowitz * dwarf2-frame.c: Include "value.h". (read_reg): Use unpack_long and register_type. * Makefile.in (dwarf2-frame.o): Update. -- Daniel Jacobowitz CodeSourcery