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.
Cheers, Nathan
-- Best Regards Guo Ren