Re: [PATCH 6.1 000/193] 6.1.8-rc1 review

From: Tom Saeger
Date: Tue Jan 24 2023 - 07:55:58 EST


On Tue, Jan 24, 2023 at 05:41:22PM +0530, Naresh Kamboju wrote:
> Hi Tom,
>
> On Tue, 24 Jan 2023 at 01:12, Tom Saeger <tom.saeger@xxxxxxxxxx> wrote:
> >
> > On Mon, Jan 23, 2023 at 01:11:32PM -0600, Tom Saeger wrote:
> > > On Mon, Jan 23, 2023 at 01:39:11PM +0530, Naresh Kamboju wrote:
> > > > On Sun, 22 Jan 2023 at 20:51, Greg Kroah-Hartman
> > > >
> > > > Results from Linaro’s test farm.
> > > >
> > > > Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
> > > >
> > > > * sh, build
> > > > - gcc-8-dreamcast_defconfig
> > > > - gcc-8-microdev_defconfig
> > >
> > > Naresh, any chance you could test again adding the following:
> > >
> > > diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S
> > > index 3161b9ccd2a5..b6276a3521d7 100644
> > > --- a/arch/sh/kernel/vmlinux.lds.S
> > > +++ b/arch/sh/kernel/vmlinux.lds.S
> > > @@ -4,6 +4,7 @@
> > > * Written by Niibe Yutaka and Paul Mundt
> > > */
> > > OUTPUT_ARCH(sh)
> > > +#define RUNTIME_DISCARD_EXIT
> > > #include <asm/thread_info.h>
> > > #include <asm/cache.h>
> > > #include <asm/vmlinux.lds.h>
> > >
> > >
> > > My guess is build environment is using ld < 2.36??
> > > and this is probably similar to:
> > > a494398bde27 ("s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36")
> > > 4b9880dbf3bd ("powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT")
> > >
> > >
> > > Regards,
> > >
> > > --Tom
> > >
> > > >
> > > >
> > > > Build error logs:
> > > > `.exit.text' referenced in section `__bug_table' of crypto/algboss.o:
> > > > defined in discarded section `.exit.text' of crypto/algboss.o
> > > > `.exit.text' referenced in section `__bug_table' of
> > > > drivers/char/hw_random/core.o: defined in discarded section
> > > > `.exit.text' of drivers/char/hw_random/core.o
> > > > make[2]: *** [/builds/linux/scripts/Makefile.vmlinux:34: vmlinux] Error 1
> >
> >
> > This is also occurring in latest upstream:
>
> Right !
> build/gcc-8-dreamcast_defconfig
> build/gcc-8-microdev_defconfig
>
> These build errors started from v6.2-rc2 on the mainline [1] & [2].
>
> >
> > ❯ git describe HEAD
> > v6.2-rc5-13-g2475bf0250de
> >
> > ❯ tuxmake --runtime podman --target-arch sh --toolchain gcc-8 --kconfig microdev_defconfig
> >
> > `.exit.text' referenced in section `__bug_table' of crypto/algboss.o: defined in discarded section `.exit.text' of crypto/algboss.o
> > `.exit.text' referenced in section `__bug_table' of drivers/char/hw_random/core.o: defined in discarded section `.exit.text' of drivers/char/hw_random/core.o
> > make[2]: *** [/home2/tsaeger/linux/linux-upstream/scripts/Makefile.vmlinux:35: vmlinux] Error 1
> > make[2]: Target '__default' not remade because of errors.
> > make[1]: *** [/home2/tsaeger/linux/linux-upstream/Makefile:1264: vmlinux] Error 2
> > make[1]: Target '__all' not remade because of errors.
> > make: *** [Makefile:242: __sub-make] Error 2
> > make: Target '__all' not remade because of errors.
> >
> >
> > FWIW, the above patch resolves this.
> Yes. Tested and confirmed it fixes the reported problem.
>
> > How many more architectures need something similar?
> Now I see it on sh with gcc-8 only on the mainline.
>
> OTOH,
> It was noticed on earlier stable-rc 5.4 for x86, i386, powerpc, sh and s390.
>
> git_describe : v5.4.228-679-g79cbaf4448f3
> kernel_version: 5.4.230-rc1
>
> Regressions found on sh: [1] & [2] mainline and below
> - build/gcc-8-dreamcast_defconfig
> - build/gcc-8-microdev_defconfig
>
> Regressions found on i386: [3]
> - build/gcc-8-i386_defconfig
>
> Regressions found on powerpc: [4]
> - build/gcc-8-mpc83xx_defconfig
> - build/gcc-8-ppc64e_defconfig
> - build/gcc-8-maple_defconfig
> - build/gcc-8-ppc6xx_defconfig
> - build/gcc-8-defconfig
> - build/gcc-8-tqm8xx_defconfig
> - build/gcc-8-cell_defconfig
>
> Regressions found on s390: [5]
> - build/gcc-8-defconfig-fe40093d
>
> Regressions found on x86_64: [6]
> - build/gcc-8-x86_64_defconfig

v5.4 needs:
84d5f77fc2ee ("x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS")

which didn't hit Linus's tree until: v5.7-rc1~164^2~1
This explains why v5.4 blew-up and v5.10 didn't.

I'm testing the following for v5.4

84d5f77fc2ee ("x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS")
This needed a little massaging to apply.

99cb0d917ffa ("arch: fix broken BuildID for arm64 and riscv")
4b9880dbf3bd ("powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT")
07b050f9290e ("powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds")
a494398bde27 ("s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36")
+ the arch/sh patch https://lore.kernel.org/all/9166a8abdc0f979e50377e61780a4bba1dfa2f52.1674518464.git.tom.saeger@xxxxxxxxxx/


I'd be grateful if you could confirm - so I can send this full series to
Greg.

If you'd rather - I can send the patch-series now for testing?

Regards,

--Tom
>
>
> [1] https://qa-reports.linaro.org/lkft/linux-mainline-master/build/v6.2-rc5-20-g7bf70dbb1882/testrun/14340424/suite/build/test/gcc-8-microdev_defconfig/history/?page=3
> [2] https://qa-reports.linaro.org/lkft/linux-mainline-master/build/v6.2-rc5-20-g7bf70dbb1882/testrun/14340393/suite/build/test/gcc-8-dreamcast_defconfig/history/?page=3
>
> [3] https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.4.y/build/v5.4.228-679-g79cbaf4448f3/testrun/14304065/suite/build/test/gcc-8-i386_defconfig/history/
> [4] https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.4.y/build/v5.4.228-679-g79cbaf4448f3/testrun/14304362/suite/build/tests/
> [5] https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.4.y/build/v5.4.228-679-g79cbaf4448f3/testrun/14304530/suite/build/tests/
> [6] https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.4.y/build/v5.4.228-679-g79cbaf4448f3/testrun/14304610/suite/build/test/gcc-8-x86_64_defconfig/history/
>
> stable-rc report on 5.4:
> https://lore.kernel.org/stable/Y85tO%2FmJOxIaWH4c@debian/T/#m6b1fdc9bcfc15944e26e3cdd6b1310c878251999
>
> Best regards
> Naresh Kamboju