mbox series

[GIT,PULL] Kbuild updates for v6.14-rc1

Message ID CAK7LNAQeyWYm2OZ6p=vWJegs_VZMz5RN+0fze6GG=f-ZGWQ3nA@mail.gmail.com (mailing list archive)
State New
Headers show
Series [GIT,PULL] Kbuild updates for v6.14-rc1 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git tags/kbuild-v6.14

Message

Masahiro Yamada Jan. 31, 2025, 7:44 p.m. UTC
Hello Linus,

Please pull Kbuild updates for v6.14-rc1.
Thank you


The following changes since commit 9d89551994a430b50c4fffcb1e617a057fa76e20:

  Linux 6.13-rc6 (2025-01-05 14:13:40 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
tags/kbuild-v6.14

for you to fetch changes up to 695ed93bb30e03e9f826ee70abdd83f970741a37:

  kbuild: fix Clang LTO with CONFIG_OBJTOOL=n (2025-02-01 04:28:05 +0900)

----------------------------------------------------------------
Kbuild updates for v6.14

 - Support multiple hook locations for maint scripts of Debian package

 - Remove 'cpio' from the build tool requirement

 - Introduce gendwarfksyms tool, which computes CRCs for export symbols
   based on the DWARF information

 - Support CONFIG_MODVERSIONS for Rust

 - Resolve all conflicts in the genksyms parser

 - Fix several syntax errors in genksyms

----------------------------------------------------------------
Ard Biesheuvel (1):
      kbuild: Strip runtime const RELA sections correctly

HONG Yifan (1):
      kheaders: prevent `find` from seeing perl temp files

Johannes Schauer Marin Rodrigues (1):
      kbuild: deb-pkg: allow hooks also in /usr/share/kernel

Masahiro Yamada (36):
      kbuild: deb-pkg: do not include empty hook directories
      kbuild: refactor cross-compiling linux-headers package
      kbuild: suppress stdout from merge_config for silent builds
      kheaders: exclude include/generated/utsversion.h from kheaders_data.tar.xz
      kheaders: avoid unnecessary process forks of grep
      kheaders: rename the 'cpio_dir' variable to 'tmpdir'
      kheaders: use 'tar' instead of 'cpio' for copying files
      module: get symbol CRC back to unsigned
      modpost: zero-pad CRC values in modversion_info array
      genksyms: fix memory leak when the same symbol is added from source
      genksyms: fix memory leak when the same symbol is read from *.symref file
      genksyms: reduce the indentation in the for-loop in __add_symbol()
      genksyms: refactor the return points in the for-loop in __add_symbol()
      genksyms: use generic macros for hash table implementation
      genksyms: use uint32_t instead of unsigned long for calculating CRC
      ARC: migrate to the generic rule for built-in DTB
      genksyms: rename m_abstract_declarator to abstract_declarator
      genksyms: rename cvar_qualifier to type_qualifier
      genksyms: reduce type_qualifier directly to decl_specifier
      genksyms: fix 6 shift/reduce conflicts and 5 reduce/reduce conflicts
      genksyms: fix last 3 shift/reduce conflicts
      genksyms: remove Makefile hack
      genksyms: restrict direct-abstract-declarator to take one
parameter-type-list
      genksyms: restrict direct-declarator to take one parameter-type-list
      genksyms: record attributes consistently for init-declarator
      genksyms: decouple ATTRIBUTE_PHRASE from type-qualifier
      genksyms: fix syntax error for attribute before abstract_declarator
      genksyms: fix syntax error for attribute before nested_declarator
      genksyms: fix syntax error for attribute after abstact_declarator
      genksyms: fix syntax error for attribute after 'struct'
      genksyms: fix syntax error for attribute after 'union'
      genksyms: fix syntax error for builtin (u)int*x*_t types
      genksyms: fix syntax error for attribute before init-declarator
      kconfig: fix file name in warnings when loading KCONFIG_DEFCONFIG_LIST
      kconfig: fix memory leak in sym_warn_unmet_dep()
      kbuild: fix Clang LTO with CONFIG_OBJTOOL=n

Matthew Maurer (4):
      modules: Support extended MODVERSIONS info
      modpost: Produce extended MODVERSIONS information
      modpost: Allow extended modversions without basic MODVERSIONS
      Documentation/kbuild: Document storage of symbol information

Rolf Eike Beer (1):
      kconfig: qconf: use preferred form of QString API

Sami Tolvanen (19):
      tools: Add gendwarfksyms
      gendwarfksyms: Add address matching
      gendwarfksyms: Expand base_type
      gendwarfksyms: Add a cache for processed DIEs
      gendwarfksyms: Expand type modifiers and typedefs
      gendwarfksyms: Expand subroutine_type
      gendwarfksyms: Expand array_type
      gendwarfksyms: Expand structure types
      gendwarfksyms: Limit structure expansion
      gendwarfksyms: Add die_map debugging
      gendwarfksyms: Add symtypes output
      gendwarfksyms: Add symbol versioning
      gendwarfksyms: Add support for kABI rules
      gendwarfksyms: Add support for reserved and ignored fields
      gendwarfksyms: Add support for symbol type pointers
      export: Add __gendwarfksyms_ptr_ references to exported symbols
      kbuild: Add gendwarfksyms as an alternative to genksyms
      Documentation/kbuild: Add DWARF module versioning
      rust: Use gendwarfksyms + extended modversions for CONFIG_MODVERSIONS

Torsten Hilbrich (1):
      kbuild: Fix signing issue for external modules

 Documentation/kbuild/gendwarfksyms.rst     |  308 ++++++++++++
 Documentation/kbuild/index.rst             |    1 +
 Documentation/kbuild/modules.rst           |   20 +
 Documentation/process/changes.rst          |    6 -
 MAINTAINERS                                |    7 +
 arch/arc/Kconfig                           |    7 +-
 arch/arc/Makefile                          |    3 -
 arch/arc/boot/dts/Makefile                 |    9 +-
 arch/arc/configs/axs101_defconfig          |    2 +-
 arch/arc/configs/axs103_defconfig          |    2 +-
 arch/arc/configs/axs103_smp_defconfig      |    2 +-
 arch/arc/configs/haps_hs_defconfig         |    2 +-
 arch/arc/configs/haps_hs_smp_defconfig     |    2 +-
 arch/arc/configs/hsdk_defconfig            |    2 +-
 arch/arc/configs/nsim_700_defconfig        |    2 +-
 arch/arc/configs/nsimosci_defconfig        |    2 +-
 arch/arc/configs/nsimosci_hs_defconfig     |    2 +-
 arch/arc/configs/nsimosci_hs_smp_defconfig |    2 +-
 arch/arc/configs/tb10x_defconfig           |    2 +-
 arch/arc/configs/vdk_hs38_defconfig        |    2 +-
 arch/arc/configs/vdk_hs38_smp_defconfig    |    2 +-
 arch/powerpc/kernel/module_64.c            |   24 +-
 arch/riscv/Makefile.postlink               |    8 +-
 arch/s390/Makefile.postlink                |    6 +-
 arch/x86/Makefile.postlink                 |    6 +-
 include/linux/export.h                     |   15 +
 include/linux/module.h                     |    4 +-
 init/Kconfig                               |    3 +-
 kernel/gen_kheaders.sh                     |   42 +-
 kernel/module/Kconfig                      |   55 +++
 kernel/module/internal.h                   |   21 +-
 kernel/module/main.c                       |   94 +++-
 kernel/module/version.c                    |   47 +-
 rust/Makefile                              |   34 +-
 scripts/Makefile                           |    3 +-
 scripts/Makefile.build                     |   37 +-
 scripts/Makefile.defconf                   |   13 +-
 scripts/Makefile.lib                       |   13 +-
 scripts/Makefile.modinst                   |    2 +-
 scripts/Makefile.modpost                   |    2 +
 scripts/gendwarfksyms/.gitignore           |    2 +
 scripts/gendwarfksyms/Makefile             |   12 +
 scripts/gendwarfksyms/cache.c              |   51 ++
 scripts/gendwarfksyms/die.c                |  166 +++++++
 scripts/gendwarfksyms/dwarf.c              | 1159
++++++++++++++++++++++++++++++++++++++++++++++
 scripts/gendwarfksyms/examples/kabi.h      |  157 +++++++
 scripts/gendwarfksyms/examples/kabi_ex.c   |   30 ++
 scripts/gendwarfksyms/examples/kabi_ex.h   |  263 +++++++++++
 scripts/gendwarfksyms/examples/symbolptr.c |   33 ++
 scripts/gendwarfksyms/gendwarfksyms.c      |  187 ++++++++
 scripts/gendwarfksyms/gendwarfksyms.h      |  296 ++++++++++++
 scripts/gendwarfksyms/kabi.c               |  336 ++++++++++++++
 scripts/gendwarfksyms/symbols.c            |  341 ++++++++++++++
 scripts/gendwarfksyms/types.c              |  481 +++++++++++++++++++
 scripts/genksyms/Makefile                  |   18 -
 scripts/genksyms/genksyms.c                |  107 ++---
 scripts/genksyms/genksyms.h                |    9 +-
 scripts/genksyms/lex.l                     |   17 +-
 scripts/genksyms/parse.y                   |  168 ++++---
 scripts/kconfig/Makefile                   |    4 +-
 scripts/kconfig/confdata.c                 |    6 +-
 scripts/kconfig/qconf.cc                   |    8 +-
 scripts/kconfig/symbol.c                   |    1 +
 scripts/mod/modpost.c                      |   71 ++-
 scripts/package/PKGBUILD                   |    1 -
 scripts/package/builddeb                   |   24 +-
 scripts/package/install-extmod-build       |   33 +-
 scripts/package/mkdebian                   |    2 +-
 68 files changed, 4492 insertions(+), 307 deletions(-)
 create mode 100644 Documentation/kbuild/gendwarfksyms.rst
 create mode 100644 scripts/gendwarfksyms/.gitignore
 create mode 100644 scripts/gendwarfksyms/Makefile
 create mode 100644 scripts/gendwarfksyms/cache.c
 create mode 100644 scripts/gendwarfksyms/die.c
 create mode 100644 scripts/gendwarfksyms/dwarf.c
 create mode 100644 scripts/gendwarfksyms/examples/kabi.h
 create mode 100644 scripts/gendwarfksyms/examples/kabi_ex.c
 create mode 100644 scripts/gendwarfksyms/examples/kabi_ex.h
 create mode 100644 scripts/gendwarfksyms/examples/symbolptr.c
 create mode 100644 scripts/gendwarfksyms/gendwarfksyms.c
 create mode 100644 scripts/gendwarfksyms/gendwarfksyms.h
 create mode 100644 scripts/gendwarfksyms/kabi.c
 create mode 100644 scripts/gendwarfksyms/symbols.c
 create mode 100644 scripts/gendwarfksyms/types.c

Comments

Linus Torvalds Jan. 31, 2025, 8:15 p.m. UTC | #1
On Fri, 31 Jan 2025 at 11:45, Masahiro Yamada <masahiroy@kernel.org> wrote:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
> tags/kbuild-v6.14

Hmm. I was expecting the CONFIG_TRIM_UNUSED_KSYMS fix to come in from
you too. IOW, this:

  https://lore.kernel.org/all/20241214105726.92557-1-masahiroy@kernel.org/

which fixes the "load_utf8() ->symbol_request() -> symbol_get()
returns NULL" case when CONFIG_TRIM_UNUSED_KSYMS is enabled.

Obviously I can apply that patch directly, but the reason I _didn't_
do so was that I was just expecting it to come through the normal
Kbuild tree... Pls advice,

                Linus
pr-tracker-bot@kernel.org Jan. 31, 2025, 8:27 p.m. UTC | #2
The pull request you sent on Sat, 1 Feb 2025 04:44:38 +0900:

> git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git tags/kbuild-v6.14

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/fd8c09ad0d87783b9b6a27900d66293be45b7bad

Thank you!
Masahiro Yamada Feb. 1, 2025, 9:30 a.m. UTC | #3
Hi Linus,

On Sat, Feb 1, 2025 at 5:16 AM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> On Fri, 31 Jan 2025 at 11:45, Masahiro Yamada <masahiroy@kernel.org> wrote:
> >
> >   git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
> > tags/kbuild-v6.14
>
> Hmm. I was expecting the CONFIG_TRIM_UNUSED_KSYMS fix to come in from
> you too. IOW, this:
>
>   https://lore.kernel.org/all/20241214105726.92557-1-masahiroy@kernel.org/
>
> which fixes the "load_utf8() ->symbol_request() -> symbol_get()
> returns NULL" case when CONFIG_TRIM_UNUSED_KSYMS is enabled.
>
> Obviously I can apply that patch directly, but the reason I _didn't_
> do so was that I was just expecting it to come through the normal
> Kbuild tree... Pls advice,

Sorry, I noticed a case where that patch does not work.

For example, when both consumer and provider of a symbol
are modules,v2 does not solve the issue.

I need to send v3.




>
>                 Linus