This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: [m68k 1/2] define DWARF_FRAME_RETURN_COLUMN


Hi,

On Tue, 23 Jan 2007, Richard Sandiford wrote:

> I don't follow.  Your patch doesn't touch dwarf2out.c at all.

Indeed, that's what I wanted to avoid.

> So (as the documentation I quoted says), DWARF_ALT_FRAME_RETURN_COLUMN
> only works if DWARF_FRAME_RETURN_COLUMN is a general register; i.e. if
> DWARF_FRAME_REG(X) returns DWARF_FRAME_RETURN_COLUMN for some X in
> [0, FIRST_PSEUDO_REGISTER).  You did that by pretending that
> ARG_POINTER_REGNUM is a general register, but it isn't.

It's fixed, so I don't see a big problem with that.

> What I was suggesting in (1) was that we allow both
> DWARF_FRAME_RETURN_COLUMN _and_ DWARF_ALT_FRAME_RETURN_COLUMN
> to be non-general registers.  I.e. to allow the case where
> you get neither from DWARF_FRAME_REGNUM.  That would involve
> changes to dwarf2out.c, and a generalisation of the tm.texi
> documentation.  The implementation is easy though; split the
> if (...) contents above into a separate function and do
> something on the lines of:
> 
> ---------------------------------------------------------------------------
>   if (!wrote_return_column)
>     init_return_column_size (mem, DWARF_FRAME_RETURN_COLUMN);
> 
> #ifdef DWARF_ALT_FRAME_RETURN_COLUMN
>   init_return_column_size (mem, DWARF_ALT_FRAME_RETURN_COLUMN);
> #endif
> ---------------------------------------------------------------------------
> 
> (Untested, but like I say, I'll code it up if there's agreement
> on the general approach.)

Well, I was aiming at a less invasive approach, but in the end that's fine 
with me too.

bye, Roman


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