Re: [PATCH v4 00/14] kbuild: yet another series of cleanups (modpost, LTO, MODULE_REL_CRCS, export.h)

From: Masahiro Yamada
Date: Mon May 09 2022 - 00:31:08 EST


On Mon, May 9, 2022 at 4:09 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> This is the third batch of cleanups in this development cycle.
>
> Major changes in v4:
> - Move static EXPORT_SYMBOL check to a script
> - Some refactoring
>
> Major changes in v3:
>
> - Generate symbol CRCs as C code, and remove CONFIG_MODULE_REL_CRCS.
>
> Major changes in v2:
>
> - V1 did not work with CONFIG_MODULE_REL_CRCS.
> I fixed this for v2.
>
> - Reflect some review comments in v1
>
> - Refactor the code more
>
> - Avoid too long argument error

This series is available at
git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
lto-cleanup-v4




>
>
> Masahiro Yamada (14):
> modpost: remove left-over cross_compile declaration
> modpost: change the license of EXPORT_SYMBOL to bool type
> modpost: split the section mismatch checks into section-check.c
> modpost: add sym_find_with_module() helper
> 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/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 | 48 +
> scripts/genksyms/genksyms.c | 18 +-
> scripts/link-vmlinux.sh | 33 +-
> scripts/mod/Makefile | 2 +-
> scripts/mod/modpost.c | 1499 ++++---------------------------
> scripts/mod/modpost.h | 35 +-
> scripts/mod/section-check.c | 1222 +++++++++++++++++++++++++
> 20 files changed, 1551 insertions(+), 1556 deletions(-)
> create mode 100644 include/linux/export-internal.h
> create mode 100755 scripts/check-local-export
> create mode 100644 scripts/mod/section-check.c
>
> --
> 2.32.0
>
> --
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@xxxxxxxxxxxxxxxx.
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20220508190631.2386038-1-masahiroy%40kernel.org.



--
Best Regards
Masahiro Yamada