Message ID | CAK7LNATT_+Z6x0kBy9fkTTucM5NTv0XiG9TYKNDOwL2M9y3WhA@mail.gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [GIT,PULL] Kbuild updates for v6.15-rc1 | expand |
The pull request you sent on Sun, 6 Apr 2025 07:04:27 +0900:
> git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git tags/kbuild-v6.15
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/f4d2ef48250ad057e4f00087967b5ff366da9f39
Thank you!
On Sun, 06. Apr 07:04, Masahiro Yamada wrote: > Hello Linus, > > Please pull Kbuild updates for v6.15-rc1. > > You will get a merge conflict in rust/Makefile. > You can find the resolution in linux-next. > > Thank you > > > > The following changes since commit 80e54e84911a923c40d7bee33a34c1b4be148d7a: > > Linux 6.14-rc6 (2025-03-09 13:45:25 -1000) > > are available in the Git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git > tags/kbuild-v6.15 > > for you to fetch changes up to a7c699d090a1f3795c3271c2b399230e182db06e: > > kbuild: rpm-pkg: build a debuginfo RPM (2025-04-06 06:22:01 +0900) > > ---------------------------------------------------------------- > Kbuild updates for v6.15 > > - Improve performance in gendwarfksyms > > - Remove deprecated EXTRA_*FLAGS and KBUILD_ENABLE_EXTRA_GCC_CHECKS > > - Support CONFIG_HEADERS_INSTALL for ARCH=um > > - Use more relative paths to sources files for better reproducibility > > - Support the loong64 Debian architecture > > - Add Kbuild bash completion > > - Introduce intermediate vmlinux.unstripped for architectures that need > static relocations to be stripped from the final vmlinux > > - Fix versioning in Debian packages for -rc releases > > - Treat missing MODULE_DESCRIPTION() as an error > > - Convert Nios2 Makefiles to use the generic rule for built-in DTB > > - Add debuginfo support to the RPM package > > ---------------------------------------------------------------- > Alexandru Gagniuc (1): > kbuild: deb-pkg: don't set KBUILD_BUILD_VERSION unconditionally > > Ard Biesheuvel (4): > kbuild: link-vmlinux.sh: Make output file name configurable > kbuild: Introduce Kconfig symbol for linking vmlinux with relocations > kbuild: Create intermediate vmlinux build with relocations preserved > x86: Get rid of Makefile.postlink > > Daniel Gomez (1): > kconfig: merge_config: use an empty file as initfile > > Jeff Johnson (1): > modpost: require a MODULE_DESCRIPTION() > > Kefan Liu (1): > Documentation/kbuild: Fix indentation in modules.rst example > > Kris Van Hees (1): > kbuild: exclude .rodata.(cst|str)* when building ranges > > Krzysztof Kozlowski (1): > docs: kconfig: Mention IS_REACHABLE as way for optional dependency > > Masahiro Yamada (17): > kbuild: remove EXTRA_*FLAGS support > gen_compile_commands.py: remove code for '\#' replacement > genksyms: factor out APP for the ST_NORMAL state > kconfig: do not clear SYMBOL_VALID when reading include/config/auto.conf > kconfig: remove unnecessary cast in sym_get_string() > modpost: introduce get_basename() helper > modpost: use strstarts() to clean up parse_source_files() > kbuild: move -fzero-init-padding-bits=all to the top-level Makefile > kbuild: remove KBUILD_ENABLE_EXTRA_GCC_CHECKS support > kbuild: add Kbuild bash completion > Revert "kheaders: Ignore silly-rename files" > kbuild: do not generate .tmp_vmlinux*.map when CONFIG_VMLINUX_MAP=y > kbuild: deb-pkg: fix versioning for -rc releases > kbuild: deb-pkg: remove "version" variable in mkdebian > kbuild: deb-pkg: add comment about future removal of KDEB_COMPRESS > kbuild: pacman-pkg: hardcode module installation path > nios2: migrate to the generic rule for built-in DTB > > Miguel Ojeda (2): > kbuild: rust: add rustc-min-version support function > rust: kbuild: skip `--remap-path-prefix` for `rustdoc` > > Sami Tolvanen (1): > gendwarfksyms: Add a separate pass to resolve FQNs > > Seyediman Seyedarab (1): > kbuild: fix argument parsing in scripts/config > > Thomas Wei�schuh (4): > kbuild: implement CONFIG_HEADERS_INSTALL for Usermode Linux > kbuild, rust: use -fremap-path-prefix to make paths relative > x86: drop unnecessary prefix map configuration > kbuild: make all file references relative to source root > > Uday Shankar (2): > scripts: make python shebangs specific about desired version > kbuild: rpm-pkg: build a debuginfo RPM > > WangYuli (1): > kbuild: deb-pkg: add debarch for ARCH=loongarch64 > > Xi Ruoyao (1): > kbuild: add dependency from vmlinux to sorttable > > Xin Li (Intel) (1): > kbuild: Add a help message for "headers" > > .gitignore | 1 + > Documentation/dev-tools/checkpatch.rst | 18 -- > Documentation/kbuild/bash-completion.rst | 65 ++++ > Documentation/kbuild/index.rst | 2 + > Documentation/kbuild/kconfig-language.rst | 29 +- > Documentation/kbuild/makefiles.rst | 17 +- > Documentation/kbuild/modules.rst | 2 +- > Documentation/kbuild/reproducible-builds.rst | 17 -- > MAINTAINERS | 1 + > Makefile | 23 +- > arch/Kconfig | 7 + > arch/arm64/Makefile | 2 +- > arch/mips/Kconfig | 1 + > arch/mips/Makefile | 4 - > arch/mips/Makefile.postlink | 2 +- > arch/nios2/Kbuild | 2 +- > arch/nios2/boot/dts/Makefile | 4 +- > arch/nios2/kernel/prom.c | 2 +- > arch/nios2/platform/Kconfig.platform | 11 +- > arch/riscv/Kconfig | 1 + > arch/riscv/Makefile | 2 +- > arch/riscv/Makefile.postlink | 11 +- > arch/riscv/boot/Makefile | 5 +- > arch/s390/Kconfig | 1 + > arch/s390/Makefile | 2 +- > arch/s390/Makefile.postlink | 4 +- > arch/x86/Kconfig | 1 + > arch/x86/Makefile | 6 - > arch/x86/Makefile.postlink | 40 --- > arch/x86/boot/Makefile | 1 - > arch/x86/boot/compressed/Makefile | 10 +- > kernel/gen_kheaders.sh | 1 - > lib/Kconfig.debug | 7 +- > rust/Makefile | 8 +- > scripts/Makefile.build | 4 - > scripts/Makefile.compiler | 4 + > scripts/Makefile.extrawarn | 3 - > scripts/Makefile.lib | 8 - > scripts/Makefile.vmlinux | 34 ++- > scripts/bash-completion/make | 451 ++++++++++++++++++++++++++++ > scripts/checkpatch.pl | 14 - > scripts/clang-tools/gen_compile_commands.py | 8 +- > scripts/config | 26 +- > scripts/gendwarfksyms/die.c | 2 +- > scripts/gendwarfksyms/dwarf.c | 154 +++++----- > scripts/gendwarfksyms/gendwarfksyms.h | 2 + > scripts/gendwarfksyms/types.c | 2 +- > scripts/generate_builtin_ranges.awk | 5 + > scripts/genksyms/lex.l | 6 +- > scripts/kconfig/confdata.c | 19 +- > scripts/kconfig/merge_config.sh | 4 +- > scripts/kconfig/symbol.c | 2 +- > scripts/link-vmlinux.sh | 24 +- > scripts/mod/modpost.c | 45 ++- > scripts/mod/modpost.h | 1 + > scripts/mod/sumversion.c | 17 +- > scripts/package/PKGBUILD | 6 +- > scripts/package/debian/rules | 10 +- > scripts/package/kernel.spec | 46 ++- > scripts/package/mkdebian | 23 +- > scripts/package/mkspec | 10 + > scripts/show_delta | 2 +- > scripts/tracing/draw_functrace.py | 2 +- > 63 files changed, 892 insertions(+), 352 deletions(-) > create mode 100644 Documentation/kbuild/bash-completion.rst > delete mode 100644 arch/x86/Makefile.postlink > create mode 100644 scripts/bash-completion/make > > > > -- > Best Regards > Masahiro Yamada Hi together, i got the following error after this pull request. MODPOST Module.symvers ERROR: modpost: missing MODULE_DESCRIPTION() in lib/tests/slub_kunit.o make[3]: *** [/home/damian/kernel/linux/scripts/Makefile.modpost:147: Module.symvers] Error 1 make[2]: *** [/home/damian/kernel/linux/Makefile:1956: modpost] Error 2 make[1]: *** [/home/damian/kernel/linux/Makefile:248: __sub-make] Error 2 make[1]: Leaving directory '/home/damian/kernel/build' make: *** [Makefile:248: __sub-make] Error 2
On Sat, 5 Apr 2025 at 22:43, Damian Tometzki <damian@riscv-rocks.de> wrote: > > i got the following error after this pull request. > > MODPOST Module.symvers > ERROR: modpost: missing MODULE_DESCRIPTION() in lib/tests/slub_kunit.o > make[3]: *** [/home/damian/kernel/linux/scripts/Makefile.modpost:147: Module.symvers] Error 1 > make[2]: *** [/home/damian/kernel/linux/Makefile:1956: modpost] Error 2 > make[1]: *** [/home/damian/kernel/linux/Makefile:248: __sub-make] Error 2 > make[1]: Leaving directory '/home/damian/kernel/build' > make: *** [Makefile:248: __sub-make] Error 2 Bah. And the reason it doesn't show up in my normal build tests is that my 'allmodconfig' tests end up picking up SLUB_TINY - which disables a lot of slub cases, including this test. And my normal non-allmodconfig tests don't enable SLUB_KUNIT_TEST. That said, I'm not sure if making it a hard error was a good idea in the first place. It *used* to be just a warning, and it used to be enabled only with 'extra_warn'. So switching it on to always warn was probably a good idea, but then also making it a hard error may have been a bit excessive. In related news - I also wonder whether SLUB_TINY should just be turned off for COMPILE_TEST. It's not a very interesting config option to test for, and it disables much more code than it enables [*]. Testing this without SLUB_TINY, I see that it *also* triggers this one: ERROR: modpost: missing MODULE_DESCRIPTION() in mm/kasan/kasan_test.o so the claim in commit 6c6c1fc09de3 ("modpost: require a MODULE_DESCRIPTION()") that "all known instances of this issue have been fixed" is clearly wrong. For all we know, there are lots of other cases like this that just never got tested with W=1 at all. I think I'll downgrade the error() to a warn() again, and make SLUB_TINY depend on !COMPILE_TEST. And I'm not even convinced we should require module descriptions for silly test modules, but whatever. We'll see if something else pops up, but making the lack of a module description a fatal error was clearly not right as-is. Linus [*] In fact, I'm not convinced SLUB_TINYT ever makes sense at all, but that may be too unrelated to this to worry about.
Hi Linus, On Sun, 6 Apr 2025 09:50:05 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote: > > On Sat, 5 Apr 2025 at 22:43, Damian Tometzki <damian@riscv-rocks.de> wrote: > > > > i got the following error after this pull request. > > > > MODPOST Module.symvers > > ERROR: modpost: missing MODULE_DESCRIPTION() in lib/tests/slub_kunit.o > > make[3]: *** [/home/damian/kernel/linux/scripts/Makefile.modpost:147: Module.symvers] Error 1 > > make[2]: *** [/home/damian/kernel/linux/Makefile:1956: modpost] Error 2 > > make[1]: *** [/home/damian/kernel/linux/Makefile:248: __sub-make] Error 2 > > make[1]: Leaving directory '/home/damian/kernel/build' > > make: *** [Makefile:248: __sub-make] Error 2 > > Bah. And the reason it doesn't show up in my normal build tests is > that my 'allmodconfig' tests end up picking up SLUB_TINY - which > disables a lot of slub cases, including this test. > > And my normal non-allmodconfig tests don't enable SLUB_KUNIT_TEST. > > That said, I'm not sure if making it a hard error was a good idea in > the first place. It *used* to be just a warning, and it used to be > enabled only with 'extra_warn'. > > So switching it on to always warn was probably a good idea, but then > also making it a hard error may have been a bit excessive. > > In related news - I also wonder whether SLUB_TINY should just be > turned off for COMPILE_TEST. It's not a very interesting config option > to test for, and it disables much more code than it enables [*]. > > Testing this without SLUB_TINY, I see that it *also* triggers this one: > > ERROR: modpost: missing MODULE_DESCRIPTION() in mm/kasan/kasan_test.o > > so the claim in commit 6c6c1fc09de3 ("modpost: require a > MODULE_DESCRIPTION()") that "all known instances of this issue have > been fixed" is clearly wrong. > > For all we know, there are lots of other cases like this that just > never got tested with W=1 at all. > > I think I'll downgrade the error() to a warn() again, and make > SLUB_TINY depend on !COMPILE_TEST. > > And I'm not even convinced we should require module descriptions for > silly test modules, but whatever. > > We'll see if something else pops up, but making the lack of a module > description a fatal error was clearly not right as-is. https://lore.kernel.org/lkml/20250324103048.3d8230f9@canb.auug.org.au/
On 4/6/25 18:50, Linus Torvalds wrote: > On Sat, 5 Apr 2025 at 22:43, Damian Tometzki <damian@riscv-rocks.de> wrote: >> >> i got the following error after this pull request. >> >> MODPOST Module.symvers >> ERROR: modpost: missing MODULE_DESCRIPTION() in lib/tests/slub_kunit.o >> make[3]: *** [/home/damian/kernel/linux/scripts/Makefile.modpost:147: Module.symvers] Error 1 >> make[2]: *** [/home/damian/kernel/linux/Makefile:1956: modpost] Error 2 >> make[1]: *** [/home/damian/kernel/linux/Makefile:248: __sub-make] Error 2 >> make[1]: Leaving directory '/home/damian/kernel/build' >> make: *** [Makefile:248: __sub-make] Error 2 > > I think I'll downgrade the error() to a warn() again, and make > SLUB_TINY depend on !COMPILE_TEST. Ack, thanks. > And I'm not even convinced we should require module descriptions for > silly test modules, but whatever. > > We'll see if something else pops up, but making the lack of a module > description a fatal error was clearly not right as-is. > > Linus > > [*] In fact, I'm not convinced SLUB_TINYT ever makes sense at all, but > that may be too unrelated to this to worry about. Back when it was introduced, it allowed removing SLAB without breaking some particular small systems, so I'd say it was worth it :) But since the savings are mostly coming from not allocating for performance rather than the disabled code size, we could probably easily turn it to a non-intrusive boot option and not regress anyone.