tell the assembler to mark all files as not requiring executable stack

for some reason this option is undocumented. not sure when it was
added, so I'm using a configure test. gcc was already setting the mark
correctly for C files, but assembler source files would need ugly
.note boilerplate in every single file to achieve this without the
option to the assembler.

blame whoever thought it would be a good idea to make the stack
executable by default rather than doing it the other way around...
This commit is contained in:
Rich Felker 2012-10-03 11:49:58 -04:00
parent 030e526392
commit adefe830dd
1 changed files with 7 additions and 0 deletions

7
configure vendored
View File

@ -247,6 +247,13 @@ fi
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
#