aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <quic_apinski@quicinc.com>2024-08-11 21:26:59 -0700
committerAndrew Pinski <quic_apinski@quicinc.com>2024-08-20 17:16:06 -0700
commitefe3da62758ed031486005e0b912de23a0a6b4c6 (patch)
tree11b1b59abbbb38e8aabb5c4fd45caa6b021eb9de /gcc
parent1b72e07696a062e628c35e4bd25926c11ac18297 (diff)
downloadgcc-efe3da62758ed031486005e0b912de23a0a6b4c6.zip
gcc-efe3da62758ed031486005e0b912de23a0a6b4c6.tar.gz
gcc-efe3da62758ed031486005e0b912de23a0a6b4c6.tar.bz2
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_apinski@quicinc.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/asan.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/asan.cc b/gcc/asan.cc
index 9e0f51b..5f262d5 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;