[Libreoffice-commits] core.git: config_host.mk.in configure.ac solenv/gbuild

Caolán McNamara caolanm at redhat.com
Tue Dec 2 06:34:04 PST 2014


 config_host.mk.in                      |    1 +
 configure.ac                           |   12 ++++++++++++
 solenv/gbuild/platform/com_GCC_defs.mk |    5 +++++
 3 files changed, 18 insertions(+)

New commits:
commit 34555600b019a85f0aec0a9d18e7833bc934788b
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Dec 1 10:02:36 2014 +0000

    attempt to default enable stack-protector-strong
    
    Change-Id: Iee42b3f6ab66636961e9ba1da33ab0e83d607eaa
    Reviewed-on: https://gerrit.libreoffice.org/13241
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/config_host.mk.in b/config_host.mk.in
index 648705a..13639e8 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -240,6 +240,7 @@ export GUIBASE=@GUIBASE@
 export HAMCREST_JAR=@HAMCREST_JAR@
 export HARDLINKDELIVER=@HARDLINKDELIVER@
 export HAVE_GCC_AVX=@HAVE_GCC_AVX@
+export HAVE_GCC_STACK_PROTECTOR_STRONG=@HAVE_GCC_STACK_PROTECTOR_STRONG@
 export HAVE_GCC_BUILTIN_ATOMIC=@HAVE_GCC_BUILTIN_ATOMIC@
 export HAVE_GCC_FINLINE_LIMIT=@HAVE_GCC_FINLINE_LIMIT@
 export HAVE_GCC_FNO_DEFAULT_INLINE=@HAVE_GCC_FNO_DEFAULT_INLINE@
diff --git a/configure.ac b/configure.ac
index ae82b56..3be712e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5751,6 +5751,17 @@ if test "$GCC" = "yes"; then
         AC_MSG_RESULT([no])
     fi
 
+    AC_MSG_CHECKING([whether $CC supports -fstack-protector-strong])
+    save_CFLAGS=$CFLAGS
+    CFLAGS="$CFLAGS -Werror -fstack-protector-strong"
+    AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_STACK_PROTECTOR_STRONG=TRUE ],[])
+    CFLAGS=$save_CFLAGS
+    if test "$HAVE_GCC_STACK_PROTECTOR_STRONG" = "TRUE"; then
+        AC_MSG_RESULT([yes])
+    else
+        AC_MSG_RESULT([no])
+    fi
+
     AC_MSG_CHECKING([whether $CC supports atomic functions])
     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
     int v = 0;
@@ -5844,6 +5855,7 @@ if test "$GCC" = "yes"; then
 fi
 
 AC_SUBST(HAVE_GCC_AVX)
+AC_SUBST(HAVE_GCC_STACK_PROTECTOR_STRONG)
 AC_SUBST(HAVE_GCC_BUILTIN_ATOMIC)
 
 dnl ===================================================================
diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk
index b6d9735..7acd068 100644
--- a/solenv/gbuild/platform/com_GCC_defs.mk
+++ b/solenv/gbuild/platform/com_GCC_defs.mk
@@ -96,6 +96,11 @@ gb_CXXFLAGS_COMMON += -fvisibility-inlines-hidden
 endif
 endif
 
+ifeq ($(HAVE_GCC_STACK_PROTECTOR_STRONG),TRUE)
+gb_CFLAGS_COMMON += -fstack-protector-strong
+gb_CXXFLAGS_COMMON += -fstack-protector-strong
+endif
+
 gb_CFLAGS_WERROR := $(if $(ENABLE_WERROR),-Werror)
 
 # This is the default in non-C++11 mode


More information about the Libreoffice-commits mailing list