This is the mail archive of the
mailing list for the binutils project.
Re: RFC: Add PT_GNU_PROPERTY to cover .note.gnu.property section
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Cary Coutant <ccoutant at gmail dot com>
- Cc: Mark Wielaard <mark at klomp dot org>, Florian Weimer <fweimer at redhat dot com>, Binutils <binutils at sourceware dot org>, GNU C Library <libc-alpha at sourceware dot org>, gnu-gabi at sourceware dot org, x86-64-abi <x86-64-abi at googlegroups dot com>
- Date: Thu, 13 Dec 2018 05:02:17 -0800
- Subject: Re: RFC: Add PT_GNU_PROPERTY to cover .note.gnu.property section
- References: <firstname.lastname@example.org> <CAMe9rOq6AgykBthApfHsFgbTHM9LjocDP-DNjB=Dht5uOagT7g@mail.gmail.com> <CAJimCsEDCNWBZsMEMeco0Vkj03iXML08KpLvAxC3DtyzXq8abA@mail.gmail.com> <CAMe9rOqHfqfbu_V1bPgykyN352btS8eZpRm-HAwJDfTf_Fiy-Q@mail.gmail.com> <CAMe9rOp7C_HS4cg-GcHH6NhT5oP-BxzE9emc6+Szx_-mAvxONw@mail.gmail.com> <CAMe9rOq4viqCYVXuVbyzTY0R0XVxzjc_tis9Uxw9OmgZRYcOjA@mail.gmail.com> <CAMe9rOp724pNQhndd8_-bVOS=42=0a4Ajsmgi2LUzA1P2BeWvw@mail.gmail.com> <email@example.com> <20181211131933.GA9599@gmail.com> <CAJimCsGvEf5PF81n_-=M78UX81UY_stg_6_wMmYsM_kczOh3firstname.lastname@example.org> <20181212104449.GB62340@wildebeest.org> <CAMe9rOrgOu_EYnxqXOZa54Q0a36126a2o-DMFRVqv45Uor82pw@mail.gmail.com> <CAJimCsFWo+j0PbK_B8UM0XnkkFzW2z7qpDWpNRhTv3hb0hFMug@mail.gmail.com>
On Wed, Dec 12, 2018 at 8:12 AM Cary Coutant <email@example.com> wrote:
> > > > As you might expect, I support this new program header. Ideally, I'd
> > > > have liked to replace the input SHT_NOTE sections with
> > > > SHT_GNU_PROPERTY sections and dispense with all the note section
> > > > overhead, but I'll take this as a compromise.
> > >
> > > Why can't we switch to SHT_GNU_PROPERTY? My fear with combining
> > > PT_GNU_PROPERTY with SHT_NOTE is that it will be even more confusing
> > There is no requirement for PT_XXX to have SHT_XXX, like PT_GNU_RELRO.
> But it is not normal for the linker to perform such special processing
> on an SHT_NOTE section. When a section requires special processing, it
> is customary to use a new section type. Otherwise, the linker has to
> resort to string matching on the section name. Section names in ELF
> are not supposed to have special meaning to the linker.
Good point. It is too late now.
> > > Also I thought there was still a question whether any or all
> > > newly proposed property features and flags are actually needed
> > > as loadable segments. There is a clear overlap with the GNU
> > > Attributes (which are non-loadable). I would like to see consensus
> > > first on the new property format/flags and which are and which
> > > aren't needed as loadable properties at runtime.
> > Yes, they are needed in loadable segment. That is the main motivation
> > for GNU program property,
> The only properties required in a loadable segment are those that will
> be used by the loader. From what I can tell so far, the USED bits
> can't be used by the loader, so why can't they go in the GNU
> attributes section?
There are couple reasons:
1. GNU attributes section has a very different format and isn't
designed for loader.
2. X86 needs loadable properties.
3. X86 should use a uniform format for all properties.
4. USED bits can be useful. For example, if AVX512 isn't marked as USED, OS
loader may optimize OS for this process with this info.