summarylogtreecommitdiffstats
path: root/fortify.patch
diff options
context:
space:
mode:
authorKeeyou2024-04-03 13:55:28 +0800
committerKeeyou2024-04-03 13:56:05 +0800
commitdc4b127f4afd8d826c8e38f853104fe185aa7030 (patch)
tree5666e67a3a4e68deb3f18285980733be0fc686a5 /fortify.patch
parent0f83d0b0ec613e02fa17682b9d17a8f78e57b02a (diff)
downloadaur-dc4b127f4afd8d826c8e38f853104fe185aa7030.tar.gz
update fortify.patch
Diffstat (limited to 'fortify.patch')
-rw-r--r--fortify.patch28
1 files changed, 21 insertions, 7 deletions
diff --git a/fortify.patch b/fortify.patch
index 147f74664019..4fe6095bf39c 100644
--- a/fortify.patch
+++ b/fortify.patch
@@ -1,24 +1,38 @@
-From 1e8ae9809d7c8f6be0c5c87e539853221aa50290 Mon Sep 17 00:00:00 2001
+From 813a6edbf076317a4a9d3fcc80f2787f3e5d5151 Mon Sep 17 00:00:00 2001
From: Keeyou <keeyou-cn@outlook.com>
Date: Wed, 3 Apr 2024 13:07:45 +0800
-Subject: [PATCH] fortify: use level 3
+Subject: [PATCH] build: fix some missing flags in minsizerel build
+fortify: use level 3 for release build
---
- CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ CMakeLists.txt | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3fdaac77..6410c328 100644
+index 3fdaac77..60046e83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -2101,8 +2101,8 @@ if (NOT MSVC)
+@@ -2095,14 +2095,20 @@ if (NOT MSVC)
+ ## not omit stack frame pointer for release
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fno-omit-frame-pointer")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-omit-frame-pointer")
++ set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -fno-omit-frame-pointer")
++ set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -fno-omit-frame-pointer")
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -fno-omit-frame-pointer")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fno-omit-frame-pointer")
+
## fortify source code. Also, fortified build may fail when optimizations are
## disabled, so only do that for Release build.
- if (NOT WIN32 AND NOT APPLE)
+- if (NOT WIN32 AND NOT APPLE)
- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D_FORTIFY_SOURCE=2")
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D_FORTIFY_SOURCE=2")
++
++ string(REGEX MATCH "-D_FORTIFY_SOURCE=.*" HAS_FORTIFY_MACRO "${CMAKE_CXX_FLAGS}")
++ if (NOT WIN32 AND NOT APPLE AND NOT HAS_FORTIFY_MACRO)
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D_FORTIFY_SOURCE=3")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D_FORTIFY_SOURCE=3")
++ set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -D_FORTIFY_SOURCE=2")
++ set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -D_FORTIFY_SOURCE=2")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -D_FORTIFY_SOURCE=2")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -D_FORTIFY_SOURCE=2")
endif()