On Fri, 31 Jul 2020 at 09:38, Stephen Rothwell sfr@canb.auug.org.au wrote:
Hi all,
On Fri, 31 Jul 2020 10:46:52 +0800 Shaokun Zhang zhangshaokun@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
Hi Naresh,
On Fri, 31 Jul 2020 14:00:57 +0530 Naresh Kamboju naresh.kamboju@linaro.org wrote:
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.
That commit was in preparation for the following 3 commits. You would have to revert them as well to get a good build.
Please just drop the branch for now.
Hi Christoph,
On Fri, 31 Jul 2020 11:00:22 +0200 Christoph Hellwig hch@lst.de wrote:
Please just drop the branch for now.
I will revert those 4 commits from today's linux-next and all Al needs to do is reset his for-next branch to its parent.
Hi,
在 2020/7/31 16:30, Naresh Kamboju 写道:
On Fri, 31 Jul 2020 at 09:38, Stephen Rothwell sfr@canb.auug.org.au wrote:
Hi all,
On Fri, 31 Jul 2020 10:46:52 +0800 Shaokun Zhang zhangshaokun@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; |
0a3a4497a1de <"compat: lift compat_s64 and compat_u64 to <linux/compat.h>"> has removed the compat_s64 and compat_u64.
Thanks, Shaokun
^~~~~~~~~~
../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
.