https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92247
--- Comment #8 from fdlbxtqi <euloanty at live dot com> --- Line 211 #ifndef SANITIZER_USES_CANONICAL_LINUX_SYSCALLS # if defined(__aarch64__) && SANITIZER_LINUX # define SANITIZER_USES_CANONICAL_LINUX_SYSCALLS 1 # else # define SANITIZER_USES_CANONICAL_LINUX_SYSCALLS 0 # endif #endif https://github.com/gcc-mirror/gcc/blob/41d6b10e96a1de98e90a7c0378437c3255814b16/libsanitizer/sanitizer_common/sanitizer_platform.h I do not know why SANITIZER_USES_CANONICAL_LINUX_SYSCALLS is not defined. I think it is not because of the Linux kernel update or something since these changes were done one and a half years ago. The configure of GCC is clearly incorrect. I believe the problem is because of recent GCC updates that broke the entire compiler. The SANITIZER_USES_CANONICAL_LINUX_SYSCALLS should be defined by default for modern Linux kernel. #ifndef SANITIZER_USES_CANONICAL_LINUX_SYSCALLS # if defined(__aarch64__) && SANITIZER_LINUX # define SANITIZER_USES_CANONICAL_LINUX_SYSCALLS 1 # else # define SANITIZER_USES_CANONICAL_LINUX_SYSCALLS 0 # endif #endif