| From 04d5f4805a86302a0e135a28d58a6c1ff6a68d52 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> |
| 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 <schnitzeltony@gmail.com> |
| --- |
| 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 |
| |