|
From: <sv...@va...> - 2007-05-02 10:50:47
|
Author: sewardj
Date: 2007-05-02 11:28:07 +0100 (Wed, 02 May 2007)
New Revision: 6724
Log:
Merge r6721 (If gcc supports -fno-stack-protector, use it.) Fixes
#144112 and various other reports of the same problem.
Modified:
branches/VALGRIND_3_2_BRANCH/Makefile.tool.am
branches/VALGRIND_3_2_BRANCH/configure.in
Modified: branches/VALGRIND_3_2_BRANCH/Makefile.tool.am
===================================================================
--- branches/VALGRIND_3_2_BRANCH/Makefile.tool.am 2007-05-01 15:43:05 UTC (rev 6723)
+++ branches/VALGRIND_3_2_BRANCH/Makefile.tool.am 2007-05-02 10:28:07 UTC (rev 6724)
@@ -38,19 +38,23 @@
@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
Modified: branches/VALGRIND_3_2_BRANCH/configure.in
===================================================================
--- branches/VALGRIND_3_2_BRANCH/configure.in 2007-05-01 15:43:05 UTC (rev 6723)
+++ branches/VALGRIND_3_2_BRANCH/configure.in 2007-05-02 10:28:07 UTC (rev 6724)
@@ -559,6 +559,33 @@
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])
|