aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <st@anti-virus.by>2011-01-04 10:38:52 +0200
committerSergei Trofimovich <st@anti-virus.by>2011-01-04 10:38:52 +0200
commitd97a25fbdd80ad005be41e9d47d6aefe2a5f6cae (patch)
treedc6fff944f4def64365e0bfcde97456e869aa8c5
parent288831854b4af10329489dfee295bb866932fcc9 (diff)
downloadtinycc-d97a25fbdd80ad005be41e9d47d6aefe2a5f6cae.tar.gz
tinycc-d97a25fbdd80ad005be41e9d47d6aefe2a5f6cae.tar.bz2
lib/alloca*: mark ELF stack access flags as nonexecutable
Signed-off-by: Sergei Trofimovich <st@anti-virus.by>
-rw-r--r--lib/alloca86-bt.S4
-rw-r--r--lib/alloca86.S4
-rw-r--r--lib/alloca86_64.S4
3 files changed, 12 insertions, 0 deletions
diff --git a/lib/alloca86-bt.S b/lib/alloca86-bt.S
index 76a85a0..ffad515 100644
--- a/lib/alloca86-bt.S
+++ b/lib/alloca86-bt.S
@@ -40,4 +40,8 @@ p6:
push %edx
ret
+/* mark stack as nonexecutable */
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
/* ---------------------------------------------- */
diff --git a/lib/alloca86.S b/lib/alloca86.S
index b06d4c4..b836efb 100644
--- a/lib/alloca86.S
+++ b/lib/alloca86.S
@@ -28,4 +28,8 @@ p3:
push %edx
ret
+/* mark stack as nonexecutable */
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
/* ---------------------------------------------- */
diff --git a/lib/alloca86_64.S b/lib/alloca86_64.S
index 44f66c8..dd46ce6 100644
--- a/lib/alloca86_64.S
+++ b/lib/alloca86_64.S
@@ -35,4 +35,8 @@ p3:
push %rdx
ret
+/* mark stack as nonexecutable */
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
/* ---------------------------------------------- */