On Wed, Apr 6, 2022 at 12:15 AM Palmer Dabbelt palmer@rivosinc.com wrote:
On Mon, 04 Apr 2022 22:17:24 PDT (-0700), guoren@kernel.org wrote:
On Tue, Apr 5, 2022 at 12:57 AM Nathan Chancellor nathan@kernel.org wrote:
On Mon, Apr 04, 2022 at 03:28:41PM +0530, Naresh Kamboju wrote:
Linux next-20220404 riscv defconfig builds failed.
Regressions found on riscv:
- riscv-riscv-clang-14-defconfig
- riscv-riscv-gcc-10-defconfig
- riscv-riscv-clang-13-defconfig
- riscv-riscv-clang-12-defconfig
- riscv-riscv-clang-11-defconfig
- riscv-riscv-gcc-11-defconfig
- riscv-riscv-gcc-8-defconfig
- riscv-riscv-gcc-9-defconfig
- riscv-riscv-clang-nightly-defconfig
arch/riscv/kernel/compat_signal.c:7:10: fatal error: linux/tracehook.h: No such file or directory 7 | #include <linux/tracehook.h> | ^~~~~~~~~~~~~~~~~~~ compilation terminated. make[3]: *** [scripts/Makefile.build:289: arch/riscv/kernel/compat_signal.o] Error 1
For what it's worth, I also see:
$ make -skj"$(nproc)" ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- defconfig all arch/riscv/kernel/compat_vdso/compat_vdso.lds.S:3:10: fatal error: ../vdso/vdso.lds.S: No such file or directory 3 | #include <../vdso/vdso.lds.S> | ^~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [scripts/Makefile.build:462: arch/riscv/kernel/compat_vdso/compat_vdso.lds] Error 1 arch/riscv/kernel/compat_vdso/rt_sigreturn.S:3:10: fatal error: ../vdso/rt_sigreturn.S: No such file or directory 3 | #include <../vdso/rt_sigreturn.S> | ^~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. arch/riscv/kernel/compat_vdso/note.S:3:10: fatal error: ../vdso/note.S: No such file or directory 3 | #include <../vdso/note.S> | ^~~~~~~~~~~~~~~~ compilation terminated. arch/riscv/kernel/compat_vdso/getcpu.S:3:10: fatal error: ../vdso/getcpu.S: No such file or directory 3 | #include <../vdso/getcpu.S> | ^~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [arch/riscv/kernel/compat_vdso/Makefile:43: arch/riscv/kernel/compat_vdso/rt_sigreturn.o] Error 1 make[2]: *** [arch/riscv/kernel/compat_vdso/Makefile:43: arch/riscv/kernel/compat_vdso/note.o] Error 1 make[2]: *** [arch/riscv/kernel/compat_vdso/Makefile:43: arch/riscv/kernel/compat_vdso/getcpu.o] Error 1 arch/riscv/kernel/compat_vdso/flush_icache.S:3:10: fatal error: ../vdso/flush_icache.S: No such file or directory 3 | #include <../vdso/flush_icache.S> | ^~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [arch/riscv/kernel/compat_vdso/Makefile:43: arch/riscv/kernel/compat_vdso/flush_icache.o] Error 1
I am guessing this code was never tested with $(srctree) == $(objtree).
Thx for pointing it out: I always use: make -skj"$(nproc)" ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- EXTRA_CFLAGS+=-g O=../build-riscv/ defconfig all
When I change to: make -skj"$(nproc)" ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- EXTRA_CFLAGS+=-g defconfig all
I got your problem.
Just to be clear: this one wasn't supposed to go in via the csky tree, and had other build issues that were being found by the autobuilders (which is why it hadn't gone in via the riscv tree). I do in-tree builds somewhat regularly so that probably would have caught it if nothing else did, but my guess is that some other autobuilder would have found it first (some of the earlier patches
The problem and other build issues (arm64 & 5.18-rc1 conflict) all have been solved in v12: https://lore.kernel.org/linux-riscv/20220405071314.3225832-1-guoren@kernel.o...
Guo: please stop pushing things to linux-next that break the builds and/or aren't aimed at your tree. This just makes things unnecessarly complicated. If you don't want to deal with the build issues that's OK, just LMK when you send the patch sets out and I'll deal with them, but having linux-next's build break causes fallout for a lot of users.
Yesterday, I made my https://github.com/c-sky/csky-linux/commits/linux-next with linux-5.18-rc1 tag commit version. So this only affected linux-next-20220404.