Message ID | 20220511164514.2741934-1-masahiroy@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | kbuild: yet another series of cleanups (modpost, LTO, MODULE_REL_CRCS, export.h) | expand |
Hi Masahiro, On Thu, May 12, 2022 at 01:45:02AM +0900, Masahiro Yamada wrote: > > This is the third batch of cleanups in this development cycle. > > Major changes in v5: > - Fix build errors > - More cleanups > > 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 > > > > Masahiro Yamada (12): > 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 I applied this series to your latest kbuild branch, built an Arch Linux x86_64 config and Fedora aarch64 config with CONFIG_LTO_CLANG_FULL=y then CONFIG_LTO_CLANG_THIN=y, and boot tested each kernel in QEMU with a full userspace. I did not notice any new warnings/errors and everything appears to work fine. Tested-by: Nathan Chancellor <nathan@kernel.org> Cheers, Nathan
On Thu, May 12, 2022 at 5:04 AM Nathan Chancellor <nathan@kernel.org> wrote: > > Hi Masahiro, > > On Thu, May 12, 2022 at 01:45:02AM +0900, Masahiro Yamada wrote: > > > > This is the third batch of cleanups in this development cycle. > > > > Major changes in v5: > > - Fix build errors > > - More cleanups > > > > 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 > > > > > > > > Masahiro Yamada (12): > > 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 > > I applied this series to your latest kbuild branch, built an Arch > Linux x86_64 config and Fedora aarch64 config with > CONFIG_LTO_CLANG_FULL=y then CONFIG_LTO_CLANG_THIN=y, and boot tested > each kernel in QEMU with a full userspace. I did not notice any new > warnings/errors and everything appears to work fine. > > Tested-by: Nathan Chancellor <nathan@kernel.org> > > Cheers, > Nathan Thanks for your testing. I ended up with v6 due to a build issue of CONFIG_TRIM_UNUSED_KSYMS, but this patch set is getting in good shape. Thanks.
On Fri, May 13, 2022 at 8:18 PM Masahiro Yamada <masahiroy@kernel.org> wrote: > > On Thu, May 12, 2022 at 5:04 AM Nathan Chancellor <nathan@kernel.org> wrote: > > > > Hi Masahiro, > > > > On Thu, May 12, 2022 at 01:45:02AM +0900, Masahiro Yamada wrote: > > > > > > This is the third batch of cleanups in this development cycle. > > > > > > Major changes in v5: > > > - Fix build errors > > > - More cleanups > > > > > > 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 > > > > > > > > > > > > Masahiro Yamada (12): > > > 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 > > The first two applied. I will send v6 for the rest.