This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: How to properly avoid warning about sh_link not set for section “.ARM.exidx”?
- From: Freddie Chopin <freddie_chopin at op dot pl>
- To: binutils at sourceware dot org
- Date: Tue, 05 Sep 2017 13:13:09 +0200
- Subject: Re: How to properly avoid warning about sh_link not set for section “.ARM.exidx”?
- Authentication-results: sourceware.org; auth=none
- References: <1503402916.1787.11.camel@op.pl> <6371348f-102d-36be-2c39-dbb2eaed969b@redhat.com>
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