https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89864
--- Comment #8 from Jürgen Reuter <juergen.reuter at desy dot de> --- Hi Erik, your patch works beyond the point where the problem occurs first, but then the sanitizer still fails bootstrapping: In file included from /usr/include/sys/sysctl.h:83, from ../../../../libsanitizer/sanitizer_common/sanitizer_mac.cc:70: /usr/local/packages/gcc_9.0/_build/gcc/include-fixed/sys/ucred.h:106:2: error: '_Atomic' does not name a type 106 | _Atomic u_long cr_ref; /* reference count */ | ^~~~~~~ In file included from ../../../../libsanitizer/sanitizer_common/sanitizer_flags.h:15, from ../../../../libsanitizer/sanitizer_common/sanitizer_common.h:17, from ../../../../libsanitizer/sanitizer_common/sanitizer_mac.h:14, from ../../../../libsanitizer/sanitizer_common/sanitizer_mac.cc:14: ../../../../libsanitizer/sanitizer_common/sanitizer_mac.cc: In member function 'void __sanitizer::BlockingMutex::CheckLocked()': ../../../../libsanitizer/sanitizer_common/sanitizer_mac.cc:406:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 406 | CHECK_NE(*(OSSpinLock*)&opaque_storage_, 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../libsanitizer/sanitizer_common/sanitizer_internal_defs.h:292:46: note: in definition of macro 'CHECK_IMPL' 292 | __sanitizer::u64 v1 = (__sanitizer::u64)(c1); \ | ^~ ../../../../libsanitizer/sanitizer_common/sanitizer_mac.cc:406:3: note: in expansion of macro 'CHECK_NE' 406 | CHECK_NE(*(OSSpinLock*)&opaque_storage_, 0); | ^~~~~~~~ ../../../../libsanitizer/sanitizer_common/sanitizer_mac.cc: In function 'void* __sanitizer::internal_start_thread(void (*)(void*), void*)': ../../../../libsanitizer/sanitizer_common/sanitizer_mac.cc:578:47: warning: cast between incompatible function types from 'void (*)(void*)' to 'void* (*)(void*)' [-Wcast-function-type] 578 | pthread_create(&th, 0, (void*(*)(void *arg))func, arg); | ^~~~ make[4]: *** [sanitizer_mac.lo] Error 1