This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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