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.

Reply via email to