The test code is as follows:
RTLD_LAZY | RTLD_GLOBAL))
fprintf(stderr, "%s\n", dlerror());
The executable stack flag is queried as follows:
sudo execstack -q
If the executable stack flag is set, the stderr output is as follows:
enable executable stack as shared object requires: Invalid argument
And strace ouput tail is as follows:
PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN) = -1 EINVAL (Invalid
close(3) = 0
cannot enable executable stack as shared object requires: Invalid argument)
exit_group(144) = ?
+++ exited with 144 +++
If the executable stack flag is cleared by using execstack -c option, there
is no error.
Of course on Ubuntu 14.04 there is no error with the executable stack flag
To clarify my request, I don't know how the Swift shared libraries'
executable stack flag has been set since Febrary 25 snapshot because
Febrary 8 snapshot and Swift 2.X branches have no such executable stack
I tested on WSL Build 14366.
On Wed, Jun 15, 2016 at 9:48 AM, Sangjin Han <firstname.lastname@example.org> wrote:
I have the WSL on Windows Preview.
Could you show the test source/command ?