]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Merge r6721 (If gcc supports -fno-stack-protector, use it.) Fixes
authorJulian Seward <jseward@acm.org>
Wed, 2 May 2007 10:28:07 +0000 (10:28 +0000)
committerJulian Seward <jseward@acm.org>
Wed, 2 May 2007 10:28:07 +0000 (10:28 +0000)
#144112 and various other reports of the same problem.

git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_2_BRANCH@6724

Makefile.tool.am
configure.in

index 7c9318e8df3a01c7101c3511804da5dec9e5f8a2..a971a6d3d111d56bd08d7c8d1073381b484e00e9 100644 (file)
@@ -38,19 +38,23 @@ COREGRIND_LIBS_PPC64_LINUX = \
 
 @VEX_DIR@/libvex_x86_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
        $(MAKE) -C @VEX_DIR@ CC="$(CC)" libvex_x86_linux.a \
-       EXTRA_CFLAGS="$(AM_CFLAGS_X86_LINUX) @FLAG_WDECL_AFTER_STMT@"
+       EXTRA_CFLAGS="$(AM_CFLAGS_X86_LINUX) @FLAG_WDECL_AFTER_STMT@ \
+                       @FLAG_FNO_STACK_PROTECTOR@"
 
 @VEX_DIR@/libvex_amd64_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
        $(MAKE) -C @VEX_DIR@ CC="$(CC)" libvex_amd64_linux.a \
-       EXTRA_CFLAGS="$(AM_CFLAGS_AMD64_LINUX) @FLAG_WDECL_AFTER_STMT@"
+       EXTRA_CFLAGS="$(AM_CFLAGS_AMD64_LINUX) @FLAG_WDECL_AFTER_STMT@ \
+                       @FLAG_FNO_STACK_PROTECTOR@"
 
 @VEX_DIR@/libvex_ppc32_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
        $(MAKE) -C @VEX_DIR@ CC="$(CC)" libvex_ppc32_linux.a \
-       EXTRA_CFLAGS="$(AM_CFLAGS_PPC32_LINUX) @FLAG_WDECL_AFTER_STMT@"
+       EXTRA_CFLAGS="$(AM_CFLAGS_PPC32_LINUX) @FLAG_WDECL_AFTER_STMT@ \
+                       @FLAG_FNO_STACK_PROTECTOR@"
 
 @VEX_DIR@/libvex_ppc64_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
        $(MAKE) -C @VEX_DIR@ CC="$(CC)" libvex_ppc64_linux.a \
-       EXTRA_CFLAGS="$(AM_CFLAGS_PPC64_LINUX) @FLAG_WDECL_AFTER_STMT@"
+       EXTRA_CFLAGS="$(AM_CFLAGS_PPC64_LINUX) @FLAG_WDECL_AFTER_STMT@ \
+                       @FLAG_FNO_STACK_PROTECTOR@"
 
 @VEX_DIR@/priv/main/vex_svnversion.h:
        $(MAKE) -C @VEX_DIR@ CC="$(CC)" version
index c9fb5544ecdeb1e9c2437454d53e634afba0e998..c2014d6f762b29491195572f519d0b0bf32bb276 100644 (file)
@@ -559,6 +559,33 @@ if test x$declaration_after_statement = xyes; then
 fi
 
 
+# does this compiler support -fno-stack-protector ?
+AC_MSG_CHECKING([if gcc accepts -fno-stack-protector ])
+
+safe_CFLAGS=$CFLAGS
+CFLAGS="-fno-stack-protector"
+
+AC_TRY_COMPILE(, [
+int main () { return 0 ; }
+],
+[
+no_stack_protector=yes
+FLAG_FNO_STACK_PROTECTOR="-fno-stack-protector"
+AC_MSG_RESULT([yes])
+], [
+no_stack_protector=no
+FLAG_FNO_STACK_PROTECTOR=""
+AC_MSG_RESULT([no])
+])
+CFLAGS=$safe_CFLAGS
+
+AC_SUBST(FLAG_FNO_STACK_PROTECTOR)
+
+if test x$no_stack_protector = xyes; then
+  CFLAGS="$CFLAGS -fno-stack-protector"
+fi
+
+
 # does this compiler support __builtin_expect?
 AC_MSG_CHECKING([if gcc supports __builtin_expect])