This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [CR16] Problem with TC_LINKRELAX_FIXUP
- From: Alan Modra <amodra at gmail dot com>
- To: "Jayant R. Sonar" <Jayant dot Sonar at kpitcummins dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>, "mr dot swami dot reddy at nsc dot com" <mr dot swami dot reddy at nsc dot com>
- Date: Sat, 30 Jun 2012 11:55:04 +0930
- Subject: Re: [CR16] Problem with TC_LINKRELAX_FIXUP
- References: <C013F7BFDC93F047B111833D343777BD3AAE613C@KCHJEXMB01.kpit.com>
On Thu, Jun 28, 2012 at 12:16:08PM +0000, Jayant R. Sonar wrote:
> Addend in case of non-working configuration is found to be zero where
> as it is 4 in working configuration.
>
> At following URL, I found a change in TC_LINKRELAX_FIXUP was made to
> resolve non-code section fixups at assembly time:
> http://sourceware.org/ml/binutils/2009-07/msg00035.html
>
> If I revert this change, my problem gets solved. But then I start
> getting same problem that Swami had reported earlier in the URL:
> >> libstdc++.a(future.o)(.eh_frame); no .eh_frame_hdr table will be created.
The symptoms you describe say to me that the cr16 md_apply_fix and/or
tc_gen_reloc are broken. On looking, I see fx_offset is set to zero
in md_apply_fix. This would explain why the reloc addend is zeroed.
--
Alan Modra
Australia Development Lab, IBM