[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