<div dir="ltr"><div>Hi,</div><div><br></div>We noticed [1] in Fedora that ghc (7.4 and 7.6) are linking executables (again [2]) with the executable stack flag set. I haven&#39;t starting looking at the ghc code yet but wanted to ask first if it is intentional/necessary?  (ghc-7.0 doesn&#39;t seem to do this.) Having the flag set is considered a bit of a security risk so it would be better if all generated executable did not have it set.<div>
<br></div><div>I did some very basic testing of various executables, clearing their flags [3] and they all seemed to run ok without the executable stack flag set but I can&#39;t claim to have tested very exhaustively. (I thought perhaps it might be related to TemplateHaskell for example but even those executables seem to work, though I am sure I have not exercised all the code paths.)</div>
<div><br></div><div>Does someone know the current status of this?</div><div>Will anything break if the flag is not set?</div><div>Is it easy to patch ghc to not set the flag?</div><div>Does it only affect the NCG backend?</div>
<div><br></div><div>Thanks, Jens</div><div> </div><div>[1] <a href="https://bugzilla.redhat.com/show_bug.cgi?id=973512">https://bugzilla.redhat.com/show_bug.cgi?id=973512</a></div><div>[2] <a href="http://ghc.haskell.org/trac/ghc/ticket/703">http://ghc.haskell.org/trac/ghc/ticket/703</a><br>
</div><div>[3] using &quot;execstack -c&quot;</div></div>