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

commit r15-3055-gefe3da62758ed031486005e0b912de23a0a6b4c6
Author: Andrew Pinski <quic_apin...@quicinc.com>
Date:   Sun Aug 11 21:26:59 2024 -0700

    ASAN: call initialize_sanitizer_builtins for hwasan [PR115205]
    
    Sometimes initialize_sanitizer_builtins is not called before emitting
    the asan builtins with hwasan. In the case of the bug report, there
    was a path with the fortran front-end where it was not called.
    So let's call it in asan_instrument before calling transform_statements
    and from hwasan_finish_file.
    
    Built and tested for aarch64-linux-gnu with no regressions.
    
    Changes since v1:
    * v2: Add call of asan_instrument to hwasan_finish_file also.
    
    gcc/ChangeLog:
    
            PR sanitizer/115205
            * asan.cc (asan_instrument): Call initialize_sanitizer_builtins
            for hwasan.
            (hwasan_finish_file): Likewise.
    
    Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>

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

diff --git a/gcc/asan.cc b/gcc/asan.cc
index 9e0f51b1477c..5f262d54a3ac 100644
--- a/gcc/asan.cc
+++ b/gcc/asan.cc
@@ -4276,6 +4276,7 @@ asan_instrument (void)
 {
   if (hwasan_sanitize_p ())
     {
+      initialize_sanitizer_builtins ();
       transform_statements ();
       return 0;
     }
@@ -4694,6 +4695,8 @@ hwasan_finish_file (void)
   if (flag_sanitize & SANITIZE_KERNEL_HWADDRESS)
     return;
 
+  initialize_sanitizer_builtins ();
+
   /* Avoid instrumenting code in the hwasan constructors/destructors.  */
   flag_sanitize &= ~SANITIZE_HWADDRESS;
   int priority = MAX_RESERVED_INIT_PRIORITY - 1;

Reply via email to