I have real hardware for all these arches in my collection. I use it
for testing the latest kernel and toolchains on as many of the
less-popular arches as possible, exactly to find issues like this one :)
Specifically we support all of these in Gentoo. To double-check this
wasn't a config issue, I asked another user who also runs sparc to try
building 5.19 with his config (not copying mine), and he observed the
same problem. You can reach us in #gentoo-sparc on Libera.
As for testing, I make all this hardware available on an as-needed
basis. So if you can't or don't want to fiddle with qemu, just let me
know (email or IRC, same username on Libera), and I will get you direct
access to my hardware. Thanks!!
-------- Original Message --------
Subject: Re: [PATCH v6 00/10] kbuild: yet another series of cleanups
(modpost, LTO, MODULE_REL_CRCS, export.h)
Date: 2022-08-08 01:54
From: Masahiro Yamada <masahiroy@xxxxxxxxxx>
To: matoro <matoro_mailinglist_kernel@xxxxxxxxx>
Hi Matoro,
Thanks for the report.
I have qemu-system-sparc installed on my Ubuntu machine,
so I think I will be able to test it on sparc, at least.
How did you test these 4 architectures (sparc, alpha, riscv, ia64)?
QEMU?
Thanks
On Sat, Aug 6, 2022 at 8:39 AM matoro
<matoro_mailinglist_kernel@xxxxxxxxx> wrote:
Hi Masahiro, I'm sorry to raise this after release but this seems to be
broken on SOME architectures. So far I have tested:
Affected - sparc, alpha
Unaffected - riscv, ia64
The affected systems are unable to load modules, similar to the
previously reported issue. All module loading fails with "disagrees
about version of symbol module_layout".
Bisect blames 7b4537199a4a8480b8c3ba37a2d44765ce76cd9b, but this does
not revert cleanly. Presumably CONFIG_MODVERSIONS=n would fix, but
this
is a pretty core feature.
Unlike the issue Sedat reported, this is on a GNU toolchain, no clang
involved.
Here are the configs I am using (with make olddefconfig on upgrade to
5.19):
Broken - sparc - https://dpaste.com/5A8F2JD6U
Broken - alpha - https://dpaste.com/FYKK23L9X
Working - riscv - https://dpaste.com/HV6Y4V6NT
Working - ia64 - https://dpaste.com/HDLDNEAK4
Please let me know if there's anything I can do to help track down this
regression.
-------- Original Message --------
Subject: Re: [PATCH v6 00/10] kbuild: yet another series of cleanups
(modpost, LTO, MODULE_REL_CRCS, export.h)
Date: 2022-05-13 08:20
From: Masahiro Yamada <masahiroy@xxxxxxxxxx>
To: Linux Kbuild mailing list <linux-kbuild@xxxxxxxxxxxxxxx>
On Fri, May 13, 2022 at 8:42 PM Masahiro Yamada <masahiroy@xxxxxxxxxx>
wrote:
>
>
> This is the third batch of cleanups in this development cycle.
>
This series is available at
git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
lto-cleanup-v6
>
> Changes in v6:
> - Fix false-positive warnings when CONFIG_TRIM_UNUSED_KSYMS=y
>
> Changes in v5:
> - Fix the build error when CONFIG_DEBUG_INFO_BTF=y (reported by
> Nathan)
> - Clean up arch/m68k/include/asm/export.h (Nick)
> - Keep gen_symversions (and will be removed by a later patch)
> - Add more comments in the script
>
> Changes in v4:
> - Rename .vmlinux-symver.c to .vmlinux.export.c
> because I notice this approach is useful for further cleanups,
> not only for modversioning but also for overall EXPORT_SYMBOL.
> - New patch
> - New.
> Resent of my previous submission.
>
> https://lore.kernel.org/all/20210831074004.3195284-10-masahiroy@xxxxxxxxxx/
> - New
> Resent of my previous submission
>
> https://lore.kernel.org/linux-kbuild/20210831074004.3195284-11-masahiroy@xxxxxxxxxx/
>
> Changes in v3:
> - New patch
>
> Changes in v2:
> - Simplify the implementation (parse .cmd files after ELF)
> - New patch
> - replace the chain of $(if ...) with $(and )
> - New patch
> - New patch
>
> Masahiro Yamada (10):
> modpost: extract symbol versions from *.cmd files
> kbuild: link symbol CRCs at final link, removing
> CONFIG_MODULE_REL_CRCS
> kbuild: stop merging *.symversions
> genksyms: adjust the output format to modpost
> kbuild: do not create *.prelink.o for Clang LTO or IBT
> kbuild: check static EXPORT_SYMBOL* by script instead of modpost
> kbuild: make built-in.a rule robust against too long argument error
> kbuild: make *.mod rule robust against too long argument error
> kbuild: add cmd_and_savecmd macro
> kbuild: rebuild multi-object modules when objtool is updated
>
> arch/m68k/include/asm/Kbuild | 1 +
> arch/m68k/include/asm/export.h | 2 -
> arch/powerpc/Kconfig | 1 -
> arch/s390/Kconfig | 1 -
> arch/um/Kconfig | 1 -
> include/asm-generic/export.h | 22 ++-
> include/linux/export-internal.h | 16 +++
> include/linux/export.h | 30 ++--
> init/Kconfig | 4 -
> kernel/module.c | 10 +-
> scripts/Kbuild.include | 10 +-
> scripts/Makefile.build | 134 ++++++------------
> scripts/Makefile.lib | 7 -
> scripts/Makefile.modfinal | 5 +-
> scripts/Makefile.modpost | 9 +-
> scripts/check-local-export | 64 +++++++++
> scripts/genksyms/genksyms.c | 18 +--
> scripts/link-vmlinux.sh | 33 ++---
> scripts/mod/modpost.c | 236 +++++++++++++++++++++-----------
> 19 files changed, 320 insertions(+), 284 deletions(-)
> delete mode 100644 arch/m68k/include/asm/export.h
> create mode 100644 include/linux/export-internal.h
> create mode 100755 scripts/check-local-export
>
> --
> 2.32.0
>