[m68k 1/2] define DWARF_FRAME_RETURN_COLUMN

Andreas Schwab schwab@suse.de
Mon Jan 22 21:06:00 GMT 2007


Richard Sandiford <richard@codesourcery.com> writes:

> Andreas Schwab <schwab@suse.de> writes:
>> Richard Sandiford <richard@codesourcery.com> writes:
>>> If I've understood correctly, the real problem here is that binutils has
>>> used an undefined dwarf register (24) in its CIEs, and element 24 of the
>>> dwarf register size table isn't set to sizeof (Pmode).  Is that right?
>>
>> When DWARF support for m68k was added to binutils ARG_POINTER_REGNUM
>> didn't exist yet, and gcc used 24 for the return column.
>
> Ah.  That's indeed unfortunate.  So the idea of "fixing" binutils
> is obviously out then.
>
> Any thoughts on whether the gcc fix I suggested is the right one?

IIUC the right fix would be to define DWARF_FRAME_REGISTERS to 25 and
modify DWARF_FRAME_REGNUM so that ARG_POINTER_REGNUM is mapped outside of
the DWARF_FRAME_REGISTERS range, since it is not a hard register.  That
should restore the behaviour of gcc before the addition of argptr.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



More information about the Gcc-patches mailing list