summaryrefslogtreecommitdiff
path: root/libc/elf/dl-support.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/elf/dl-support.c')
-rw-r--r--libc/elf/dl-support.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libc/elf/dl-support.c b/libc/elf/dl-support.c
index 5c0b79875..71a1c3712 100644
--- a/libc/elf/dl-support.c
+++ b/libc/elf/dl-support.c
@@ -32,6 +32,7 @@
#include <dl-procinfo.h>
#include <unsecvars.h>
#include <hp-timing.h>
+#include <stackinfo.h>
extern char *__progname;
char **_dl_argv = &__progname; /* This is checked for some error messages. */
@@ -136,8 +137,9 @@ uint64_t _dl_hwcap __attribute__ ((nocommon));
setting _dl_hwcap nonzero below, but we do anyway. */
uint64_t _dl_hwcap_mask __attribute__ ((nocommon));
-/* Prevailing state of the stack, PF_X indicating it's executable. */
-ElfW(Word) _dl_stack_flags = PF_R|PF_W|PF_X;
+/* Prevailing state of the stack. Generally this includes PF_X, indicating it's
+ * executable but this isn't true for all platforms. */
+ElfW(Word) _dl_stack_flags = DEFAULT_STACK_PERMS;
/* If loading a shared object requires that we make the stack executable
when it was not, we do it by calling this function.