commit:     b37b9b3a61f788973ae156a1fcddd0d108879a7b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 13 21:49:45 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 13 21:50:51 2023 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=b37b9b3a

13.1.0: don't set _FORTIFY_SOURCE if -fsanitize=address (ASAN) is enabled

This can cause either false positives in warnings from the compiler or false
negatives where the sanitizer misses something.

Bug: https://github.com/google/sanitizers/issues/247
Signed-off-by: Sam James <sam <AT> gentoo.org>

 13.1.0/gentoo/01_all_default-fortify-source.patch | 4 ++--
 13.1.0/gentoo/README.history                      | 3 +++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/13.1.0/gentoo/01_all_default-fortify-source.patch 
b/13.1.0/gentoo/01_all_default-fortify-source.patch
index 79d6639..4cdf5f6 100644
--- a/13.1.0/gentoo/01_all_default-fortify-source.patch
+++ b/13.1.0/gentoo/01_all_default-fortify-source.patch
@@ -16,8 +16,8 @@ initially Gentoo used too complicated macro.
 +    #define GENTOO_FORTIFY_SOURCE_LEVEL 2
 +  #endif
 +
-+  /* Fortify Source enabled by default for optimization levels > 0 */
-+  if (optimize)
++  /* F_S enabled by default for optimization levels > 0, except for ASAN: 
https://github.com/google/sanitizers/issues/247 */
++  if (optimize && ! (flag_sanitize & SANITIZE_ADDRESS))
 +    builtin_define_with_int_value ("_FORTIFY_SOURCE", 
GENTOO_FORTIFY_SOURCE_LEVEL);
 +#endif
 +

diff --git a/13.1.0/gentoo/README.history b/13.1.0/gentoo/README.history
index f0ee005..efcdcf7 100644
--- a/13.1.0/gentoo/README.history
+++ b/13.1.0/gentoo/README.history
@@ -1,3 +1,6 @@
+9      13 Mar 2023
+       U 01_all_default-fortify-source.patch
+
 8      12 Feb 2023
        - 76_all_all_PR107461_cxx_equivalence_non_dependent_calls.patch
 

Reply via email to