# define _Py_NO_SANITIZE_ADDRESS \
__attribute__((no_sanitize("address")))
# endif
+# if __has_feature(hwaddress_sanitizer) /* is ASAN enabled? */
+# define _Py_NO_SANITIZE_HWADDRESS \
+ __attribute__((no_sanitize("hwaddress")))
+# endif
# if __has_feature(thread_sanitizer) /* is TSAN enabled? */
# define _Py_NO_SANITIZE_THREAD __attribute__((no_sanitize_thread))
# endif
# if defined(__SANITIZE_ADDRESS__) /* GCC 4.8+, is ASAN enabled? */
# define _Py_NO_SANITIZE_ADDRESS \
__attribute__((no_sanitize_address))
+# endif
+# if defined(__SANITIZE_HWADDRESS__) /* GCC 10+, is HWASAN enabled? */
+# define _Py_NO_SANITIZE_HWADDRESS \
+ __attribute__((no_sanitize_hwaddress))
# endif
// TSAN is supported since GCC 5.1, but __SANITIZE_THREAD__ macro
// is provided only since GCC 7.
#ifndef _Py_NO_SANITIZE_ADDRESS
# define _Py_NO_SANITIZE_ADDRESS
#endif
+#ifndef _Py_NO_SANITIZE_HWADDRESS
+# define _Py_NO_SANITIZE_HWADDRESS
+#endif
#ifndef _Py_NO_SANITIZE_THREAD
# define _Py_NO_SANITIZE_THREAD
#endif
*/
static bool _Py_NO_SANITIZE_ADDRESS
+ _Py_NO_SANITIZE_HWADDRESS
_Py_NO_SANITIZE_THREAD
_Py_NO_SANITIZE_MEMORY
address_in_range(void *p, poolp pool)