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>
{
if (hwasan_sanitize_p ())
{
+ initialize_sanitizer_builtins ();
transform_statements ();
return 0;
}
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;