[next] riscv: Linux next-20220404 riscv defconfig builds failed.
Palmer Dabbelt
palmer at rivosinc.com
Tue Apr 5 09:15:01 PDT 2022
On Mon, 04 Apr 2022 22:17:24 PDT (-0700), guoren at kernel.org wrote:
> On Tue, Apr 5, 2022 at 12:57 AM Nathan Chancellor <nathan at 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
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.
More information about the linux-riscv
mailing list