On Fri, 31 Jul 2020 at 09:38, Stephen Rothwell <s...@canb.auug.org.au> wrote:
>
> Hi all,
>
> On Fri, 31 Jul 2020 10:46:52 +0800 Shaokun Zhang <zhangshao...@hisilicon.com> 
> wrote:
> >
> > There's a build failure on arm64:
> >
> > In file included from ./include/linux/compat.h:17:0,
> >                  from ./arch/arm64/include/asm/stat.h:13,
> >                  from ./include/linux/stat.h:6,
> >                  from ./include/linux/sysfs.h:22,
> >                  from ./include/linux/kobject.h:20,
> >                  from ./include/linux/of.h:17,
> >                  from ./include/linux/irqdomain.h:35,
> >                  from ./include/linux/acpi.h:13,
> >                  from ./include/acpi/apei.h:9,
> >                  from ./include/acpi/ghes.h:5,
> >                  from ./include/linux/arm_sdei.h:8,
> >                  from arch/arm64/kernel/asm-offsets.c:10:
> > ./include/linux/fs.h: In function ‘vfs_whiteout’:
> > ./include/linux/fs.h:1709:32: error: ‘S_IFCHR’ undeclared (first use in 
> > this function)
> >   return vfs_mknod(dir, dentry, S_IFCHR | WHITEOUT_MODE, WHITEOUT_DEV);
> >                                 ^
> > ./include/linux/fs.h:1709:32: note: each undeclared identifier is reported 
> > only once for each
> > function it appears in
> > ./include/linux/fs.h: At top level:
> > ./include/linux/fs.h:1855:46: warning: ‘struct kstat’ declared inside 
> > parameter list
> >   int (*getattr) (const struct path *, struct kstat *, u32, unsigned int);
> >                                               ^
> > ./include/linux/fs.h:1855:46: warning: its scope is only this definition or 
> > declaration, which is
> > probably not what you want
> > ./include/linux/fs.h: In function ‘__mandatory_lock’:
> > ./include/linux/fs.h:2325:25: error: ‘S_ISGID’ undeclared (first use in 
> > this function)
> >   return (ino->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID;
> >                          ^
> > ./include/linux/fs.h:2325:35: error: ‘S_IXGRP’ undeclared (first use in 
> > this function)
> >   return (ino->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID;
> >                                    ^
> > ./include/linux/fs.h: In function ‘invalidate_remote_inode’:
> > ./include/linux/fs.h:2588:6: error: implicit declaration of function 
> > ‘S_ISREG’
> > [-Werror=implicit-function-declaration]
> >   if (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
> >       ^
> > ./include/linux/fs.h:2588:32: error: implicit declaration of function 
> > ‘S_ISDIR’
> > [-Werror=implicit-function-declaration]
> >   if (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
> >                                 ^
> > ./include/linux/fs.h:2589:6: error: implicit declaration of function 
> > ‘S_ISLNK’
> > [-Werror=implicit-function-declaration]
> >       S_ISLNK(inode->i_mode))
> >       ^
> > ./include/linux/fs.h: In function ‘execute_ok’:
> > ./include/linux/fs.h:2768:26: error: ‘S_IXUGO’ undeclared (first use in 
> > this function)
> >   return (inode->i_mode & S_IXUGO) || S_ISDIR(inode->i_mode);
>
> Presumably caused by commit
>
>   b902bfb3f0e9 ("arm64: stop using <asm/compat.h> directly")

I have reverted this commit
  b902bfb3f0e9 ("arm64: stop using <asm/compat.h> directly")

and rebuilt arm64 failed due to below errors/warnings.

make -sk KBUILD_BUILD_USER=TuxBuild -C/linux -j16 ARCH=arm64
CROSS_COMPILE=aarch64-linux-gnu- HOSTCC=gcc CC="sccache
aarch64-linux-gnu-gcc" O=build Image
#
In file included from ../include/linux/stat.h:6,
                 from ../include/linux/sysfs.h:22,
                 from ../include/linux/kobject.h:20,
                 from ../include/linux/of.h:17,
                 from ../include/linux/irqdomain.h:35,
                 from ../include/linux/acpi.h:13,
                 from ../include/acpi/apei.h:9,
                 from ../include/acpi/ghes.h:5,
                 from ../include/linux/arm_sdei.h:8,
                 from ../arch/arm64/kernel/asm-offsets.c:10:
../arch/arm64/include/asm/stat.h:20:2: error: unknown type name ‘compat_u64’
   20 |  compat_u64 st_dev;
      |  ^~~~~~~~~~
../arch/arm64/include/asm/stat.h:31:2: error: unknown type name ‘compat_u64’
   31 |  compat_u64 st_rdev;
      |  ^~~~~~~~~~
../arch/arm64/include/asm/stat.h:34:2: error: unknown type name ‘compat_s64’
   34 |  compat_s64 st_size;
      |  ^~~~~~~~~~
../arch/arm64/include/asm/stat.h:36:2: error: unknown type name ‘compat_u64’
   36 |  compat_u64 st_blocks; /* Number of 512-byte blocks allocated. */
      |  ^~~~~~~~~~
../arch/arm64/include/asm/stat.h:47:2: error: unknown type name ‘compat_u64’
   47 |  compat_u64 st_ino;
      |  ^~~~~~~~~~
make[2]: *** [../scripts/Makefile.build:114:
arch/arm64/kernel/asm-offsets.s] Error 1

- Naresh

Reply via email to