https://gcc.gnu.org/g:b86b523fb53f5ffb0e3f3236fc526a587944d9ea

commit r11-11349-gb86b523fb53f5ffb0e3f3236fc526a587944d9ea
Author: Richard Biener <rguent...@suse.de>
Date:   Tue Dec 5 14:00:43 2023 +0100

    sanitizer/111736 - skip ASAN for globals in alternate address-space
    
    gcc/ChangeLog:
    
            PR sanitizer/111736
            * asan.c (asan_protect_global): Do not protect globals
            in non-generic address-space.
    
    (cherry picked from commit 7e40497805c0831596334fe474112f991276e11b)

Diff:
---
 gcc/asan.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/asan.c b/gcc/asan.c
index 2aa2be13bf6..b92c6007c97 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -2238,6 +2238,8 @@ asan_protect_global (tree decl, bool 
ignore_decl_rtl_set_p)
       || (DECL_SECTION_NAME (decl) != NULL
          && !symtab_node::get (decl)->implicit_section
          && !section_sanitized_p (DECL_SECTION_NAME (decl)))
+      /* Don't protect variables in non-generic address-space.  */
+      || !ADDR_SPACE_GENERIC_P (TYPE_ADDR_SPACE (TREE_TYPE (decl)))
       || DECL_SIZE (decl) == 0
       || ASAN_RED_ZONE_SIZE * BITS_PER_UNIT > MAX_OFILE_ALIGNMENT
       || TREE_CODE (DECL_SIZE_UNIT (decl)) != INTEGER_CST

Reply via email to