[mips] relative FDE relocations without DW_EH_PE_signed

Mingjie Xing mingjie.xing@gmail.com
Wed Oct 13 13:29:00 GMT 2010


2010/10/13 Alan Modra <amodra@gmail.com>:
> On Wed, Oct 13, 2010 at 11:28:47AM +0800, Mingjie Xing wrote:
>> When bfd starts to write section in _bfd_elf_write_section_eh_frame,
>> the addresses will be converted as negative values, for example
>> 0xfffeffe4. But the fde encoding is not DW_EH_PE_signed at this time.
>> This will cause the address be dumped as an unsigned value, which
>> looks like pc=100020000.
>>
>> Is it a bug?
>
> I think your eh_frame data is OK.  The bug is in readelf.  When
> readelf is built on a 64-bit host, it can display more address bits
> than are relevant for a 32-bit target.

Indeed. My host is ia64. The date type of the address is 'long' which
means 64-bit on it.

I have no idea about that if this is a bug or not. :-)

Thanks,
Mingjie



More information about the Binutils mailing list