diff --git a/Include/pyport.h b/Include/pyport.h index 73a3e6cdaf09200..249a75738dc8dce 100644 --- a/Include/pyport.h +++ b/Include/pyport.h @@ -556,7 +556,7 @@ extern "C" { # define _Py_MSAN_UNPOISON(PTR, SIZE) (__msan_unpoison(PTR, SIZE)) # endif # endif -# if __has_feature(address_sanitizer) +# if __has_feature(address_sanitizer) || __has_feature(hwaddress_sanitizer) # if !defined(_Py_ADDRESS_SANITIZER) # define _Py_ADDRESS_SANITIZER # define _Py_NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address)) @@ -569,7 +569,7 @@ extern "C" { # endif # endif #elif defined(__GNUC__) -# if defined(__SANITIZE_ADDRESS__) +# if defined(__SANITIZE_ADDRESS__) || defined(__SANITIZE_HWADDRESS__) # define _Py_ADDRESS_SANITIZER # define _Py_NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address)) # endif diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py index be71575a6ea06a9..ae37bb5ab32ff7e 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py @@ -463,6 +463,7 @@ def check_sanitizer(*, address=False, memory=False, ub=False, thread=False, ) address_sanitizer = ( '-fsanitize=address' in cflags or + '-fsanitize=hwaddress' in cflags or '--with-address-sanitizer' in config_args ) ub_sanitizer = (