How to properly avoid warning about sh_link not set for section “.ARM.exidx”?
Freddie Chopin
freddie_chopin@op.pl
Tue Sep 5 11:13:00 GMT 2017
Hello Nick!
On Thu, 2017-08-31 at 14:26 +0100, Nick Clifton wrote:
> I find it strange however that the linker is not able to handle this
> case
> as the default ARM linker script also includes a description of the
> .ARM.exidx
> section with symbols inside it. I would suggest that you file a
> binutils
> bug report here:
>
> https://sourceware.org/bugzilla
>
> Including a test case will be really helpful.
Finally it turned out that I can avoid the warning by _not_ aligning
the contents of the section manually. This works fine for me:
-- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 --
.ARM.exidx :
{
PROVIDE(__exidx_start = .);
*(.ARM.exidx* .gnu.linkonce.armexidx.*);
PROVIDE(__exidx_end = .);
} > rom AT > rom
-- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 --
However if I manually align "." to multiple of 4 right before each
PROVIDE() statement, the warning appears.
Whether this is a bug or just my error - I have no idea (;
Regards,
FCh
More information about the Binutils
mailing list