Hi,

This could have been caused by our switch from the BFD linker to gold.
> Could you try linking a hello world program using gold linker and
> running it in WSL?
>

I tried to build Swift by not using -fuse-gold option and the result was
same.


Are you sure that PROT_GROWSDOWN is the flag that enables executable
> stack?  I thought that's what PROT_EXEC is for.  I'm not sure what
> PROT_GROWSDOWN actually changes, if I were to speculate, I'd say it
> could be a marker that means "this is a stack" or maybe even be just a
> performance hint.
>

You are right. The executable stack is enabled by PROT_EXEC.

But Swift shared library's executable stack seems to set PROT_EXEC AND
PROT_GROWSDOWN according to strace.

I don't know what causes Swift shared library to have executable stack
since Febrary 25 snapshot. Febrary 8 snapshot and Swift 2.X branches have
no such executable stack shared library.

Thanks,


-Kim, Jongsu
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to