RFA: give the return column a size (Was: Re: RFA: Use _Unwind_Ptr)

Richard Sandiford rsandifo@redhat.com
Tue Jul 15 18:51:00 GMT 2003


Jim Wilson <wilson@tuliptree.org> writes:
> Joern Rennecke wrote:
> > 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
> > 	If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode,
> > 	look at RETURN_ADDR_RTX.
> 
> It isn't safe to use RETURN_ADDR_RTX this way.  Not all ports define
> it. m68k for instance does not.  All ports define
> INCOMING_RETURN_ADDR_RTX, but they don't define it with a usable mode,
> so you can't use that either.
> 
> I'd suggest just using Pmode here.  Any port which doesn't use a Pmode
> return address is probably either broken, or shouldn't be sharing the
> return address column with another register.
> 
> So I suggest hardcoding save_mode to Pmode, and getting rid of all of
> the stuff that calls RETURN_ADDR_RTX.  The patch is OK with that change.

Might be wrong here, but it sounds like this might break big-endian mips
n32 (for the same reason that rth mentioned wrt the unwind-dw2.c change).
The return address register is 64 bits wide but Pmode == ptr_mode == SImode.

Richard



More information about the Gcc-patches mailing list