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