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;