tell the assembler to mark all files as not requiring executable stack
[musl] / configure
index 93518a7..9b06d2b 100755 (executable)
--- a/configure
+++ b/configure
@@ -202,6 +202,7 @@ arm*) ARCH=arm ;;
 i?86*) ARCH=i386 ;;
 x86_64*) ARCH=x86_64 ;;
 mips-*|mipsel-*) ARCH=mips ;;
+microblaze-*) ARCH=microblaze ;;
 unknown) fail "$0: unable to detect target arch; try $0 --target=..." ;;
 *) fail "$0: unknown or unsupported target \"$target\"" ;;
 esac
@@ -247,6 +248,13 @@ tryflag CFLAGS_AUTO -fno-unwind-tables
 tryflag CFLAGS_AUTO -fno-asynchronous-unwind-tables
 
 #
+# The GNU toolchain defaults to assuming unmarked files need an
+# executable stack, potentially exposing vulnerabilities in programs
+# linked with such object files. Fix this.
+#
+tryflag CFLAGS_AUTO -Wa,--noexecstack
+
+#
 # Some optimization levels add bloated alignment that hurt performance
 #
 tryflag CFLAGS_AUTO -falign-functions=1