Re: [next] riscv: Linux next-20220404 riscv defconfig builds failed.

From: Guo Ren
Date: Wed Apr 06 2022 - 10:51:31 EST


On Wed, Apr 6, 2022 at 9:13 AM Guo Ren <guoren@xxxxxxxxxx> wrote:
>
> On Wed, Apr 6, 2022 at 12:15 AM Palmer Dabbelt <palmer@xxxxxxxxxxxx> wrote:
> >
> > On Mon, 04 Apr 2022 22:17:24 PDT (-0700), guoren@xxxxxxxxxx wrote:
> > > On Tue, Apr 5, 2022 at 12:57 AM Nathan Chancellor <nathan@xxxxxxxxxx> 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@xxxxxxxxxx/
>
> >
> > 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
If you could deal with build issues that would be very thankful. I
just hope these patch series could get into for-next earlier before
the next merge window.
So I utilized next-tree-20220404 to find out what problems with that
(of course these patches should be from your tree).

The autobuilder for next-tree is more strict, and now seems almost all
problems have been solved.

> > 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.
>
>
> --
> Best Regards
> Guo Ren
>
> ML: https://lore.kernel.org/linux-csky/



--
Best Regards
Guo Ren

ML: https://lore.kernel.org/linux-csky/