This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [rfc] dwarf2 unwinder and MIPS n32


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  <macro@mips.com>
> 
> 	* 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  <dan@codesourcery.com>

        * dwarf2-frame.c: Include "value.h".
        (read_reg): Use unpack_long and register_type.
        * Makefile.in (dwarf2-frame.o): Update.

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]