From 04d5f4805a86302a0e135a28d58a6c1ff6a68d52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 30 Jul 2020 23:03:51 +0200 Subject: [PATCH] Use compiler -fcf-protection only if compiler/arch supports it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There have been some PRs they were either rejected or some general suggestion for more flags suggested. So Upstream-Status: Pending Signed-off-by: Andreas Müller --- cmake/compilerFlags.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cmake/compilerFlags.cmake b/cmake/compilerFlags.cmake index 12caf42..455525e 100644 --- a/cmake/compilerFlags.cmake +++ b/cmake/compilerFlags.cmake @@ -26,7 +26,12 @@ if ( MINGW OR UNIX OR MSYS ) # MINGW, Linux, APPLE, CYGWIN # This fails under Fedora, MinGW GCC 8.3.0 and CYGWIN/MSYS 9.3.0 if (NOT (MINGW OR CMAKE_HOST_SOLARIS OR CYGWIN OR MSYS) ) if (COMPILER_IS_GCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0) - add_compile_options(-fstack-clash-protection -fcf-protection) + # Gcc does support -fcf-protection on few arches only + CHECK_CXX_COMPILER_FLAG(-fcf-protection COMPILER_SUPPORTS_FCF_PROTECTION) + if (COMPILER_SUPPORTS_FCF_PROTECTION) + add_compile_options(-fcf-protection) + endif() + add_compile_options(-fstack-clash-protection) endif() if( (COMPILER_IS_GCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0) # Not in GCC 4.8 -- 2.21.3