[lld] r254003 - Revert "ELF: Make .note.GNU-stack more compatible with traditional linkers."

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 24 14:23:34 PST 2015


On Tue, Nov 24, 2015 at 2:19 PM, Hal Finkel <hfinkel at anl.gov> wrote:

> ----- Original Message -----
> > From: "Rui Ueyama" <ruiu at google.com>
> > To: "Hal Finkel" <hfinkel at anl.gov>
> > Cc: "Joerg Sonnenberger" <joerg at britannica.bec.de>, "llvm-commits" <
> llvm-commits at lists.llvm.org>
> > Sent: Tuesday, November 24, 2015 4:11:54 PM
> > Subject: Re: [lld] r254003 - Revert "ELF: Make .note.GNU-stack more
> compatible with traditional linkers."
> >
> > On Tue, Nov 24, 2015 at 2:10 PM, Hal Finkel < hfinkel at anl.gov >
> > wrote:
> >
> >
> > ----- Original Message -----
> > > From: "Rui Ueyama via llvm-commits" < llvm-commits at lists.llvm.org >
> > > To: "Joerg Sonnenberger" < joerg at britannica.bec.de >,
> > > "llvm-commits" < llvm-commits at lists.llvm.org >
> > > Sent: Tuesday, November 24, 2015 3:38:39 PM
> > > Subject: Re: [lld] r254003 - Revert "ELF: Make .note.GNU-stack more
> > > compatible with traditional linkers."
> > >
> > > On Tue, Nov 24, 2015 at 1:31 PM, Joerg Sonnenberger via
> > > llvm-commits
> > > < llvm-commits at lists.llvm.org > wrote:
> > >
> > >
> > > On Tue, Nov 24, 2015 at 12:24:08PM -0800, Rui Ueyama wrote:
> > > > My stance is they should fix the loader to ignore the section.
> > >
> > > Impossible. It's the equivalent of the BIOS. It can't be fixed.
> > >
> > > Well, they can continue using the linker they are currently using.
> > >
> > > We may want to revisit this later, but at this moment I really want
> > > to focus on simplicity and general usability on major Unix systems
> > > instead of supporting relatively minor platforms.
> > >
> >
> > Why don't we just omit PT_GNU_STACK when -z execstack is provided? Or
> > add a -z nognuptstack (modulo bikeshedding)?
> >
> > Do you need that?
> >
>
> Personally, no. But it seems like a reasonable compromise. There's no
> reason we need to omit non-standard headers when not needed, and if I
> understand the semantics correctly, omitting PT_GNU_STACK when -z execstack
> is provided is semantically equivalent to our current behavior (while
> making the binaries a few bytes smaller).
>

Omitting PT_GNU_STACK when -z execstack is provided is easy, but it leads
to a counter-intuitive behavior on platforms that do not recognize
PT_GNU_STACK and stack is not executable by default. (You need to pass -z
execstack to make it run on such platforms, but it wouldn't make the stack
executable.)


> Thanks again,
> Hal
>
> >
> > -Hal
> >
> >
> >
> > >
> > > Joerg
> > > _______________________________________________
> > > llvm-commits mailing list
> > > llvm-commits at lists.llvm.org
> > > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> > >
> > >
> > > _______________________________________________
> > > llvm-commits mailing list
> > > llvm-commits at lists.llvm.org
> > > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> > >
> >
> > --
> > Hal Finkel
> > Assistant Computational Scientist
> > Leadership Computing Facility
> > Argonne National Laboratory
> >
> >
>
> --
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151124/bba975cc/attachment.html>


More information about the llvm-commits mailing list