http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59009
Bug ID: 59009 Summary: libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: bergner at gcc dot gnu.org CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org The recent merge of upstream libsanitizer broke bootstrap on powerpc64-linux with: In file included from /home/bergner/gcc/gcc-fsf-mainline-base/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc:21:0: /usr/include/asm/stat.h:31:2: error: ‘ino_t’ does not name a type ino_t st_ino; ^ /usr/include/asm/stat.h:33:2: error: ‘nlink_t’ does not name a type nlink_t st_nlink; ^ /usr/include/asm/stat.h:34:2: error: ‘mode_t’ does not name a type mode_t st_mode; ^ /usr/include/asm/stat.h:39:2: error: ‘uid_t’ does not name a type uid_t st_uid; ^ /usr/include/asm/stat.h:40:2: error: ‘gid_t’ does not name a type gid_t st_gid; ^ /usr/include/asm/stat.h:42:2: error: ‘off_t’ does not name a type off_t st_size; ^ /home/bergner/gcc/gcc-fsf-mainline-base/libsanitizer/sanitizer_common/sanitizer_platform_limits_linux.cc:29:73: error: invalid application of ‘sizeof’ to incomplete type ‘__sanitizer::__old_kernel_stat’ unsigned struct___old_kernel_stat_sz = sizeof(struct __old_kernel_stat); ^ make[4]: *** [sanitizer_platform_limits_linux.lo] Error 1 Even if we were to resolve the missing types, the PPC64 kernel does not define a "struct __old_kernel_stat", because it never had one. What is libsanitizer even doing with the __old_kernel_stat? We switched away from the old kernel stat ages ago, so I can't believe we're trying to support running on the ancient kernels.