H. J. Lu wrote:
With LTO, an object file may contain sections with IL, which
can be discarded when building DSO and executable. Currently we can't
mark such sections with gABI. With GNU linker, we can use a
linker script to discard such sections. But it will be more generic
to make a section to be discarded for DSO and executable in gABI.
In that case, we don't need a special linker script to discard
such sections. Something like
#define SHF_DISCARD 0x800
would work.
We invented:
#define SHF_EXCLUDE 0x80000000
a long time ago, which is applied to some sections within relocatable
objects. Sections tagged with this flag are removed from any final
object (executables of .so's).
This probably should have followed a SHF_SUNW_ conversion, but this
was invented long before we thought about OS specific flags.
SHF_EXCLUDE
This section is excluded from input to the link-edit of an executable
or shared object. This flag is ignored if the SHF_ALLOC flag is also
set, or if relocations exist against the section.
--
Rod.