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: How to properly avoid warning about sh_link not set for section “.ARM.exidx”?


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


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