On Mon, May 29, 2017 at 04:39:04PM +0300, Vadim Zhukov wrote:
> 2017-05-29 16:28 GMT+03:00 Vadim Zhukov <[email protected]>:
> > CVSROOT: /cvs
> > Module name: ports
> > Changes by: [email protected] 2017/05/29 07:28:59
> >
> > Modified files:
> > lang/mono : Makefile
> >
> > Log message:
> > Mono clearly violates W^X, so mark it as such.
> >
> > Allows it to be built on amd64 at least.
>
> To be clear (thanks, aja@!): this is a Clang-specific issue, because
> clang/clang++ calls ld.lld instead ld and thus avoids USE_WXNEEDED...
> The situation likely to be improved, but at least mono is not a
> showstopper anymore.
To be clearer, this is a complete misconception.
clang/clang++ even fails when configured with ld, because it actually
uses a hard path when calling its linker, so it goes straight to
/usr/bin/ld and bypasses ${WRKDIR}/bin/ld which has the required
-z wxneeded when USE_WXNEEDED is active.