-faddrsig vs systems using GNU binutils

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

-faddrsig vs systems using GNU binutils

David Blaikie via cfe-dev
Hello,

Clang currently defaults to emitting address significance table
(-faddrsig) on majority of the systems.  Of those systems, at least
Gentoo still defaults to using GNU binutils most of the time.
As a result, strip(1) now outputs verbose errors on clang-created
executables, e.g.:

armv7a-unknown-linux-gnueabihf-strip: st5EpxDK: failed to find link
section for section 6
armv7a-unknown-linux-gnueabihf-strip: st5EpxDK: failed to find link
section for section 6

We (Gentoo) have received user reports about this [1].  We have passed
this on to GNU binutils [2] but it seems that they not only aren't
interested in providing any support for this section but actively
indicate that the proposed standard is unlikely to be accepted into
generic-abi.

Could you advise on how to proceed?  I'm thinking of disabling it
by default but I would prefer not to add unnecessary distro
customization if possible.

[1]:https://bugs.gentoo.org/667854
[2]:https://sourceware.org/bugzilla/show_bug.cgi?id=23817

--
Best regards,
Michał Górny

_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

signature.asc (981 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: -faddrsig vs systems using GNU binutils

David Blaikie via cfe-dev
HI Michal,

Note that these messages are coming from attempts to strip object files, not executables. As far as I know, they aren't actually errors; the object files still get stripped (and sh_link on the addrsig section gets reset to 0, which the linker treats as an indication to not try to read the section, which means that a stripped object file with this section won't cause any problems in practice). If the messages are a problem for you, you will most likely want to change Gentoo's packaging scripts to pass -fno-addrsig to the compiler.

Peter

On Fri, Nov 2, 2018 at 11:56 AM Michał Górny via cfe-dev <[hidden email]> wrote:
Hello,

Clang currently defaults to emitting address significance table
(-faddrsig) on majority of the systems.  Of those systems, at least
Gentoo still defaults to using GNU binutils most of the time.
As a result, strip(1) now outputs verbose errors on clang-created
executables, e.g.:

armv7a-unknown-linux-gnueabihf-strip: st5EpxDK: failed to find link
section for section 6
armv7a-unknown-linux-gnueabihf-strip: st5EpxDK: failed to find link
section for section 6

We (Gentoo) have received user reports about this [1].  We have passed
this on to GNU binutils [2] but it seems that they not only aren't
interested in providing any support for this section but actively
indicate that the proposed standard is unlikely to be accepted into
generic-abi.

Could you advise on how to proceed?  I'm thinking of disabling it
by default but I would prefer not to add unnecessary distro
customization if possible.

[1]:https://bugs.gentoo.org/667854
[2]:https://sourceware.org/bugzilla/show_bug.cgi?id=23817

--
Best regards,
Michał Górny
_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev


--
-- 
Peter

_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev