[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