[PATCH] ELF: Updated comments for ET_EXEC and ET_DYN
Fangrui Song
i@maskray.me
Sat May 30 00:59:38 GMT 2020
Does https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=d871d478061f10b0879c688e2fa941407e9137aa
start to set DF_1_PIE on non-Solaris platforms (e.g. Linux) as well?
I guess previous versions of binutils don't set the flag.
This flag makes sense to me, because it makes the distinction of
executable/shared object for ET_DYN.
On Tue, May 26, 2020 at 10:45 AM Fangrui Song <i@maskray.me> wrote:
>
> Looks good. Ali in the generic-abi proposed a more generic form:
>
> #define ET_EXEC 2 /* Position-dependent object */
> #define ET_DYN 3 /* Position-independent object */
>
>
> I just filed https://sourceware.org/bugzilla/show_bug.cgi?id=26047 We
> may consider disallowing ET_EXEC as linker input.
> Happy to know if there are legitimate cases, though.
>
> On Mon, May 25, 2020 at 11:28 AM H.J. Lu via Binutils
> <binutils@sourceware.org> wrote:
> >
> > include/elf/common.h has
> >
> > #define ET_EXEC 2 /* Executable file */
> > #define ET_DYN 3 /* Shared object file */
> >
> > These predate PIE:
> >
> > https://groups.google.com/forum/#!topic/generic-abi/mBKlSNldFW4
> >
> > Updated comments to
> >
> > #define ET_EXEC 2 /* Position-dependent executable file */
> > #define ET_DYN 3 /* Position-independent executable or
> > shared object file */
> >
> > * elf/common.h: Update comments for ET_EXEC and ET_DYN.
> > ---
> > include/ChangeLog | 4 ++++
> > include/elf/common.h | 5 +++--
> > 2 files changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/ChangeLog b/include/ChangeLog
> > index c309780544..53f50e513f 100644
> > --- a/include/ChangeLog
> > +++ b/include/ChangeLog
> > @@ -1,3 +1,7 @@
> > +2020-05-25 H.J. Lu <hongjiu.lu@intel.com>
> > +
> > + * elf/common.h: Update comments for ET_EXEC and ET_DYN.
> > +
> > 2020-05-20 Nelson Chu <nelson.chu@sifive.com>
> >
> > * opcode/riscv.h: Include "bfd.h" to support bfd_boolean.
> > diff --git a/include/elf/common.h b/include/elf/common.h
> > index 26e6fbc8e6..4d94c4fd5b 100644
> > --- a/include/elf/common.h
> > +++ b/include/elf/common.h
> > @@ -91,8 +91,9 @@
> >
> > #define ET_NONE 0 /* No file type */
> > #define ET_REL 1 /* Relocatable file */
> > -#define ET_EXEC 2 /* Executable file */
> > -#define ET_DYN 3 /* Shared object file */
> > +#define ET_EXEC 2 /* Position-dependent executable file */
> > +#define ET_DYN 3 /* Position-independent executable or
> > + shared object file */
> > #define ET_CORE 4 /* Core file */
> > #define ET_LOOS 0xFE00 /* Operating system-specific */
> > #define ET_HIOS 0xFEFF /* Operating system-specific */
> > --
> > 2.26.2
> >
More information about the Binutils
mailing list