summaryrefslogtreecommitdiff
path: root/coroutine
diff options
context:
space:
mode:
authorDavid Carlier <devnexen@gmail.com>2021-03-04 22:12:58 +0000
committerSamuel Williams <samuel.williams@oriontransfer.co.nz>2021-03-05 14:33:52 +1300
commit0ead818d81c975275238878c81f300dd404e0722 (patch)
treead3cdac4137f9dbb3575a4f79365e24cfffb3984 /coroutine
parent99c339786024d406a77fcf99da00d70ca6aa6534 (diff)
Generating note.GNU-stack section for FreeBSD on x86.
Not enabling for ELF in general as not all platform support it (e.g. NetBSD, implictly stack never executable).
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4239
Diffstat (limited to 'coroutine')
-rw-r--r--coroutine/amd64/Context.S2
-rw-r--r--coroutine/x86/Context.S2
2 files changed, 2 insertions, 2 deletions
diff --git a/coroutine/amd64/Context.S b/coroutine/amd64/Context.S
index 051db1c5e8..d50732adbc 100644
--- a/coroutine/amd64/Context.S
+++ b/coroutine/amd64/Context.S
@@ -41,6 +41,6 @@ PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer):
# We pop the return address and jump to it
ret
-#if defined(__linux__) && defined(__ELF__)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif
diff --git a/coroutine/x86/Context.S b/coroutine/x86/Context.S
index 6983f21c3b..f06a417084 100644
--- a/coroutine/x86/Context.S
+++ b/coroutine/x86/Context.S
@@ -37,6 +37,6 @@ PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer):
# Jump to the address on the stack
ret
-#if defined(__linux__) && defined(__ELF__)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif