[RFA] bfd/elf-eh-frame.c: return address column of CIE

kaz Kojima kkojima@rr.iij4u.or.jp
Fri Aug 23 15:52:00 GMT 2002


Hans-Peter Nilsson <hp@bitrange.com> wrote:
> On Fri, 23 Aug 2002, Jakub Jelinek wrote:
> 
>> On Fri, Aug 23, 2002 at 07:42:45AM +0100, Nick Clifton wrote:
>> > So - for DWARF2 we read a ubyte and for DWARF3 we read a LEB128 ?
>>
>> Well, unless the ubyte is >= 128, it is the same.
>> Unfortunately there are 3 broken ports - frv, sh (non-SH5) and mmix
>> which use bigger values (well, mmix even uses 259 so it is incorrectly
>> truncated anyway).
> 
> Wrong, for MMIX it's (259 - 224) = 15 mainly for this reason,
> fitting the return address column into a byte.  See
> mmix_dbx_register_number.  (Suggest recheck your statement about
> the other targets too: I didn't check.)  That number absolutely
> has to fit into a byte.  There should be a gcc #ifdef
> ENABLE_CHECKING aborting test in dwarf2out.c.  Things go very
> bad if it doesn't fit.  I don't remember, but it'd probably be
> visible at least in gcc test results...

Current GCC uses 146 for SH and 18 for SHmedia. But the first
146 is not a DWARF/DBX register number. It should be 17, the DBX
register number of the PR register of SH. I've sent a patch for
this to the gcc-patches mailing list.

	kaz



More information about the Binutils mailing list