This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [mips] relative FDE relocations without DW_EH_PE_signed


Mingjie Xing <mingjie.xing@gmail.com> writes:
> 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. :-)

Yeah, it's a readelf bug, like Alan says.  I see the same problem
on x86_64, but I'm afraid I've never got around to fixing it.

Richard (shame-faced)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]