krytarowski added a comment.

In D56554#1353513 <https://reviews.llvm.org/D56554#1353513>, @ruiu wrote:

> In D56554#1353487 <https://reviews.llvm.org/D56554#1353487>, @krytarowski 
> wrote:
>
> > In D56554#1353368 <https://reviews.llvm.org/D56554#1353368>, @ruiu wrote:
> >
> > > The absence of PT_GNU_STACK segment makes stack area executable on 
> > > systems that recognizes PT_GNU_STACK segment. So, I think if `-z 
> > > execstack` is specified, we should omit PT_GNU_STACK segment rather than 
> > > adding it, which I think you guys want. If we do that, it seems `-z 
> > > nognustack` is a redundant option. That option name is unfortunate (you 
> > > don't really mean you want an executable stack area), but that's I think 
> > > still better than adding an option that is very similar to an existing 
> > > feature.
> >
> >
> > If we are going to change the meaning of `-z execstack`, can we rename the 
> > option in lld? Probably to `-z gnustack` vs `-z nognustack`, probably there 
> > is no other use-case than RWX->RW protection change.
>
>
> Both `-z execstack` and `-z noexecstack` are supported by GNU linkers, so we 
> can't simply rename them. We might be able to define aliases to the options. 
> But I'm not sure if we want it if the only reason to do so is aesthetic 
> reason.


For compat with GNU linkers we could disable it by default, and emit GNU stack 
only on demand.

The current approach to enable GNU STACK is to inline a new segment definition 
in assembly. It's done this way in llvm projects too.


Repository:
  rLLD LLVM Linker

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56554/new/

https://reviews.llvm.org/D56554



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to