diff options
author | acurtis@xiphis.org <> | 2006-05-31 00:07:58 -0700 |
---|---|---|
committer | acurtis@xiphis.org <> | 2006-05-31 00:07:58 -0700 |
commit | 23e612ae11d8b88e8616871d967d1442c44e188b (patch) | |
tree | a62e725116c91213516881c9fbd73b92e0db774f /config | |
parent | b1fe1d3742f60e97b01ba19f143771a2c22805ec (diff) | |
download | mariadb-git-23e612ae11d8b88e8616871d967d1442c44e188b.tar.gz |
Bug#12096
"Add line for non-executable stack in .s files"
Fix so that configure will use "--noexecstack" for assembler if gcc supports
option and compiled C doesn't need executable stack.
Diffstat (limited to 'config')
-rw-r--r-- | config/ac-macros/compiler_flag.m4 | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/config/ac-macros/compiler_flag.m4 b/config/ac-macros/compiler_flag.m4 index a236f61a198..9dda6da72fa 100644 --- a/config/ac-macros/compiler_flag.m4 +++ b/config/ac-macros/compiler_flag.m4 @@ -38,3 +38,25 @@ AC_DEFUN([AC_SYS_OS_COMPILER_FLAG], fi ]) +AC_DEFUN([AC_CHECK_NOEXECSTACK], +[ + AC_CACHE_CHECK(whether --noexecstack is desirable for .S files, + mysql_cv_as_noexecstack, [dnl + cat > conftest.c <<EOF +void foo (void) { } +EOF + if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS + -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \ + && grep -q .note.GNU-stack conftest.s \ + && AC_TRY_COMMAND([${CC-cc} $CCASFLAGS $CPPFLAGS -Wa,--noexecstack + -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD]) + then + mysql_cv_as_noexecstack=yes + else + mysql_cv_as_noexecstack=no + fi + rm -f conftest*]) + if test $mysql_cv_as_noexecstack = yes; then + CCASFLAGS="$CCASFLAGS -Wa,--noexecstack" + fi +]) |