You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[MC][ELF] Don't emit .note.GNU-stack sections on Solaris
LLVM currently emits `.note.GNU-stack` sections on all ELF targets.
However, Solaris ld doesn't know/care about them. Even worse, with the
revised Solaris GNU ld patch (D85309 <https://reviews.llvm.org/D85309>),
there are hundreds of warnings:
/usr/gnu/bin/ld: warning: /usr/lib/amd64/crtn.o: missing .note.GNU-stack
section implies executable stack
/usr/gnu/bin/ld: NOTE: This behaviour is deprecated and will be removed
in a future version of the linker
The Solaris crts are not going to change here, and even if they were, GNU
ld would emit `PT_GNU_STACK` segments that Solaris `ld.so.1` ignores.
So the note sections are completely useless on Solaris and this patch
disables their creation.
Instead, Solaris has its own mechanisms to control stack executability:
`PT_SUNW_STACK`, `DT_SUNW_SX_NXSTACK` and the system-wide control via
`sxadm` where `nxstack` defaults to on.
Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11` with Solaris
ld and GNU ld, and `x86_64-pc-linux-gnu`.
Differential Revision: https://reviews.llvm.org/D159179
0 commit comments