All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] Kbuild / Kconfig updates for 7.4
@ 2026-10-18  3:58 Nathan Chancellor
  0 siblings, 0 replies; only message in thread
From: Nathan Chancellor @ 2026-10-18  3:58 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, Nicolas Schier, linux-kbuild

Hi Linus,

Please pull the following Kbuild and Kconfig updates for 7.4, with
full details available in the signed tag.

You will see an immediate conflict in init/Kconfig between

  eb13a1ff271b ("random: vDSO: avoid call to memset() when zeroing reserved parameter")

that went into 7.3-rc6 and

  f85147b291e3 ("kbuild: move the toolchain checks into scripts/Kconfig.toolchain")

in my tree. The solution in init/Kconfig should be obvious but make sure
to reapply eb13a1ff271b in scripts/Kconfig.toolchain, which I have been
doing in -next easily with:

  $ git show eb13a1ff271b init/Kconfig | sed 's;init/Kconfig;scripts/Kconfig.toolchain;g' | git apply -3v

My latest merge is at

  https://git.kernel.org/kbuild/c/2a5a1c2fab91358d44198eb16bf83e4989f73333

for reference if necessary.

There are a few other conflicts that I have been notified about in
-next, which all appear to be minor.

  - Makefile from the rust tree:
    https://lore.kernel.org/asl8rgrKtHW3_-Yc@sirena.co.uk/

  - drivers/firmware/efi/libstub/Makefile from the efi tree:
    https://lore.kernel.org/aslflbcgByI1rH2_@sirena.co.uk/

  - scripts/kallsyms.c from the -mm tree:
    https://lore.kernel.org/arz2wQWcnS9499di@sirena.org.uk/

  - scripts/remove-stale-files from the rust tree:
    https://lore.kernel.org/asN8ejNILKW2YWep@sirena.co.uk/

If there are any issues or concerns, please let me know.

Cheers,
Nathan

The following changes since commit 59351365ac271b5e0eb180f211c531476a36221f:

  scripts/mksysmap: fix escape of '$' in the __pi_ pattern (2026-09-12 20:01:19 +0200)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/kbuild/linux.git tags/kbuild-7.4-1

for you to fetch changes up to 997208ce9f43f01febac956cf9aeffe89945e3c1:

  Merge branch 'kbuild-next-speedups' into kbuild-next (2026-10-17 15:20:23 -0700)

----------------------------------------------------------------
Kbuild / Kconfig updates for 7.4

Kbuild:

- Suppress compiler flags in debug info for external module builds

- Use '-fmacro-prefix-map' in more places in the build

- Merge initial set of changes from Lorenzo's speed up series, along
  with some fixes found through testing

  - Avoid allocating .modinfo in vmlinux

  - Speed up kallsyms by indexing symbols by token and outputting binary
    data to disk directly then including in assembly via .incbin

  - Don't sort $(NM) output when unnecessary

  - Only emit relocations on the final vmlinx link

  - Reimplement mksysmap in C

  - Move many cc-option and ld-option calls into the Kconfig stage to
    cache their results

  - Use pigz for gzip compression when available

- Move gen_init_cpio and gen_initramfs.sh from usr/ to scripts/

- Add a TOML configuration to scripts/container and update documentation
  accordingly

- Add a generic, opt-in mechanism for checking that headers can compile
  standalone

- Update machine function splitting argument for LLVM 24 rename in
  AutoFDO build

- Miscellaneous minor clean ups, fixes, and hardening, mostly
  found/fixed via LLMs

Kconfig:

- Turn recursive ranges into an error

- Fix savedefconfig for defaults that were adjusted for being out of
  range and revert a previously applied workaround

- Improvements and hardening around integer and hexadecimal values

- Emit a warning when selecting or implying a choice symbol, which has no
  effect

- Emit a warning when KCONFIG_PROBABILITY is malformed

- Introduce def_string / def_int / def_hex to mirror the existing
  def_bool / def_tristate to succinctly set a value and type at the same
  time.

- Add cc-option-str and ld-option-str macros to act like Kbuild's
  cc-option and ld-option, returning the string when the option is
  supported, allowing many checks to be moved into Kconfig

- Minor usability improvements to Kconfig tests

Signed-off-by: Nathan Chancellor <nathan@kernel.org>

----------------------------------------------------------------
Aaron Tomlin (1):
      localmodconfig: Explicitly report boolean configs during integrity check

Aayansh Ranjan (1):
      kbuild: fix grammar in output Makefile .gitignore generation comment

Bhaskar Chowdhury (1):
      scripts/mkcompile_h: Update LINUX_COMPILE_HOST command substitution syntax

Brigham Campbell (1):
      .gitignore: ignore pacman package signatures

Dmitrii Tulnov (1):
      kconfig: warn about malformed KCONFIG_PROBABILITY values

Erkan Erdem (1):
      docs: kconfig: fix shell function syntax in caveats

Guillaume Tucker (3):
      scripts: add TOML config to container tool
      Documentation: dev-tools: update container.rst with config file
      Documentation: dev-tools: refer to user ID rather than id

Hemanth Selam (1):
      kbuild: fix typo "funtions" in comment

Jaihind Yadav (1):
      scripts/gcc-plugins: suppress recorded GCC switches for extmod builds

Jan Stancek (1):
      .gitignore: drop Module.markers

Jani Nikula (1):
      kbuild: add header check facility as a manually run static analyzer

Julian Braha (9):
      kconfig: error out for recursive range
      kconfig: fix extra output from savedefconfig on out-of-range defaults
      kconfig: promote invalid numeric reference from warning to error
      kconfig: check for out-of-bounds numeric constants
      kconfig: check for hex and int mismatches
      kconfig: prevent out-of-bounds user input for numeric options
      kconfig: use unsigned integers for hex range checks
      tee: remove TZMEM_MODE_GENERIC
      kconfig: cleanup stale comment about 'keys' array

Kees Cook (5):
      kconfig: Add "def_string", "def_int" and "def_hex"
      kconfig: Replace "cc-option-bit" with "cc-option-str"
      kconfig: Add "ld-option-str"
      kbuild: Mark the gzip recipes as recursive
      kbuild: Mark the initcall ordering recipe as recursive

Leizhen Zhang (3):
      gen_init_cpio: stop parsing on lines with a missing argument list
      kconfig: fix infinite loop in conf_choice() when no choice value is visible
      kconfig: use the value argument in sym_get_near_range_bound()

Lorenzo Stoakes (ARM) (11):
      kbuild: do not allocate .modinfo in vmlinux
      kallsyms: index symbols by token to speed up table compression
      kallsyms: output binary data to speed output and kallsyms assembly
      sorttable: parse nm output correctly
      kbuild: do not sort nm output where the order is irrelevant
      kbuild: only emit vmlinux relocations when required
      elf-parse: add section flags, symbol binding and mapping helpers
      kallsyms: reimplement mksysmap in C
      kbuild: move the toolchain checks into scripts/Kconfig.toolchain
      kbuild: avoid re-running compiler and linker probes
      kbuild: compress the kernel with pigz if available

Nathan Chancellor (8):
      erofs: Revert "Fix EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS default logic"
      Merge tag 'kbuild-tzmem-kconfig-7.4' into kbuild-next
      Merge tag 'kbuild-fixes-7.3-1' into kbuild-next
      kbuild: Remove alignment on .modinfo section
      scripts/Kconfig.toolchain: Drop compiler symbols from dependencies
      kconfig: Improve ergonomics around disabling warnings with cc-option
      kbuild: AutoFDO: Update split machine function argument for upstream rename
      Merge branch 'kbuild-next-speedups' into kbuild-next

Nicolas Schier (7):
      kconfig: Warn on dead select or imply for choice values
      kbuild: Mark usr_gen_init_cpio as no-dot-config-target
      kbuild: Move gen_init_cpio and gen_initramfs.sh to scripts/
      kconfig: tests: Reset all KCONFIG_* env variables by default
      kconfig: tests: Provide defconfig outfile for savedefconfig
      kconfig: tests: warn_changed_input: Simplify by reusing the extra env
      kconfig: tests: {old,save}defconfig: Forward dynamic keyword arguments

Sasha Levin (1):
      kbuild: keep .modinfo when vmlinux is linked with --gc-sections

Thomas Weißschuh (1):
      kbuild: use prefix-map for host and user progs

Ting-Han Hou (3):
      checkkconfigsymbols.py: Parse Git status output line by line
      clang-tools: Import os for broken pipe handling
      scripts/make_fit: Ignore schema checks when decomposing DTBs

Yuntao Wang (1):
      setlocalversion: make tag local to try_tag()

 .gitignore                                         |   3 +-
 Documentation/dev-tools/container.rst              | 118 ++++++-
 .../early-userspace/early_userspace_support.rst    |  16 +-
 .../filesystems/ramfs-rootfs-initramfs.rst         |  10 +-
 Documentation/kbuild/kbuild.rst                    |  17 +
 Documentation/kbuild/kconfig-language.rst          |  13 +-
 Documentation/kbuild/kconfig-macro-language.rst    |   8 +-
 Documentation/kbuild/makefiles.rst                 |   7 +-
 Documentation/process/changes.rst                  |   8 +
 MAINTAINERS                                        |   2 +
 Makefile                                           |  76 +++--
 arch/alpha/boot/Makefile                           |   4 +-
 arch/arc/boot/Makefile                             |   2 +-
 arch/arm/boot/compressed/Makefile                  |   2 +-
 arch/arm64/boot/Makefile                           |   2 +-
 arch/arm64/kernel/pi/Makefile                      |   2 +-
 arch/csky/boot/Makefile                            |   2 +-
 arch/microblaze/boot/Makefile                      |   2 +-
 arch/mips/boot/Makefile                            |   2 +-
 arch/mips/boot/compressed/Makefile                 |   2 +-
 arch/nios2/boot/Makefile                           |   2 +-
 arch/parisc/boot/compressed/Makefile               |   2 +-
 arch/riscv/boot/Makefile                           |   2 +-
 arch/riscv/kernel/pi/Makefile                      |   2 +-
 arch/s390/boot/Makefile                            |   2 +-
 arch/sh/boot/Makefile                              |   2 +-
 arch/sh/boot/compressed/Makefile                   |   2 +-
 arch/sparc/boot/Makefile                           |   4 +-
 arch/x86/Kconfig                                   |  17 +
 arch/x86/Makefile                                  |  12 +-
 arch/x86/boot/Makefile                             |   2 +-
 arch/x86/boot/compressed/Makefile                  |   4 +-
 arch/xtensa/boot/Makefile                          |   2 +-
 drivers/firmware/efi/libstub/Makefile              |   2 +-
 drivers/firmware/efi/libstub/Makefile.zboot        |   2 +-
 drivers/firmware/qcom/Kconfig                      |  26 +-
 drivers/firmware/qcom/qcom_tzmem.c                 |   4 +-
 fs/erofs/Kconfig                                   |   8 +-
 include/asm-generic/vmlinux.lds.h                  |   2 +-
 init/Kconfig                                       | 197 +----------
 kernel/Makefile                                    |   6 +-
 scripts/.gitignore                                 |   1 +
 scripts/Kconfig.include                            |  29 +-
 scripts/Kconfig.toolchain                          | 272 +++++++++++++++
 scripts/Makefile                                   |   8 +-
 scripts/Makefile.autofdo                           |   2 +-
 scripts/Makefile.build                             |  21 ++
 scripts/Makefile.gcc-plugins                       |   4 +
 scripts/Makefile.lib                               |   4 +-
 scripts/Makefile.package                           |   2 +-
 scripts/Makefile.vmlinux                           |  20 +-
 scripts/Makefile.vmlinux_o                         |   2 +-
 scripts/Makefile.warn                              |  28 +-
 scripts/check-function-names.sh                    |   3 +-
 scripts/checkkconfigsymbols.py                     |   2 +-
 scripts/clang-tools/run-clang-tools.py             |   1 +
 scripts/container                                  |  86 ++++-
 scripts/elf-parse.c                                | 103 +++++-
 scripts/elf-parse.h                                |  54 +++
 {usr => scripts}/gen_init_cpio.c                   |   1 +
 {usr => scripts}/gen_initramfs.sh                  |   4 +-
 scripts/jobserver-exec                             |   3 +-
 scripts/kallsyms-sysmap.c                          | 248 ++++++++++++++
 scripts/kallsyms.c                                 | 379 +++++++++++++++------
 scripts/kallsyms.h                                 |  44 +++
 scripts/kconfig/conf.c                             |  19 +-
 scripts/kconfig/confdata.c                         |   6 +
 scripts/kconfig/kconfig-sym-check.pl               |   2 +-
 scripts/kconfig/lexer.l                            |   3 +
 scripts/kconfig/lkc.h                              |   2 +-
 scripts/kconfig/lkc_proto.h                        |   1 +
 scripts/kconfig/lxdialog/textbox.c                 |   2 -
 scripts/kconfig/menu.c                             |  66 +++-
 scripts/kconfig/parser.y                           |   8 +-
 scripts/kconfig/streamline_config.pl               |  20 +-
 scripts/kconfig/symbol.c                           | 106 ++++--
 scripts/kconfig/tests/conftest.py                  |  27 +-
 scripts/kconfig/tests/def_type/Kconfig             |  28 ++
 scripts/kconfig/tests/def_type/__init__.py         |  18 +
 scripts/kconfig/tests/def_type/expected_guard_n    |   9 +
 scripts/kconfig/tests/def_type/expected_guard_y    |  11 +
 scripts/kconfig/tests/def_type/guard_n.config      |   1 +
 scripts/kconfig/tests/def_type/guard_y.config      |   1 +
 scripts/kconfig/tests/err_num_bounds/Kconfig       |  79 +++++
 scripts/kconfig/tests/err_num_bounds/__init__.py   |  12 +
 .../kconfig/tests/err_num_bounds/expected_stderr   |  10 +
 scripts/kconfig/tests/err_num_mismatch/Kconfig     |  38 +++
 scripts/kconfig/tests/err_num_mismatch/__init__.py |   9 +
 .../kconfig/tests/err_num_mismatch/expected_stderr |   4 +
 .../kconfig/tests/err_num_non_numeric_ref/Kconfig  |  75 ++++
 .../tests/err_num_non_numeric_ref/__init__.py      |   9 +
 .../tests/err_num_non_numeric_ref/expected_stderr  |  16 +
 scripts/kconfig/tests/err_recursive_dep/Kconfig    |  24 ++
 .../tests/err_recursive_dep/expected_stderr        |  13 +
 .../kconfig/tests/randconfig_probability/Kconfig   |  12 +
 .../tests/randconfig_probability/__init__.py       | 130 +++++++
 scripts/kconfig/tests/savedefconfig_range/Kconfig  |  67 ++++
 .../kconfig/tests/savedefconfig_range/__init__.py  |   8 +
 scripts/kconfig/tests/savedefconfig_range/config   |   8 +
 .../tests/savedefconfig_range/expected_defconfig   |   0
 scripts/kconfig/tests/warn_changed_input/Kconfig   |   5 +
 .../kconfig/tests/warn_changed_input/__init__.py   |  21 +-
 .../tests/warn_changed_input/expected_config       |   1 +
 scripts/kconfig/tests/warn_num_bounds/Kconfig      |  24 ++
 scripts/kconfig/tests/warn_num_bounds/__init__.py  |  25 ++
 scripts/kconfig/tests/warn_num_bounds/config       |   7 +
 .../kconfig/tests/warn_num_bounds/expected_config  |  11 +
 .../tests/warn_num_bounds/expected_config_stderr   |   3 +
 .../tests/warn_num_bounds/expected_frontend_config |  11 +
 .../tests/warn_num_bounds/expected_frontend_stderr |   0
 scripts/link-vmlinux.sh                            |  24 +-
 scripts/make_fit.py                                |   3 +-
 scripts/mkcompile_h                                |   2 +-
 scripts/mksysmap                                   |  94 -----
 scripts/remove-stale-files                         |   2 +
 .../sbom/tests/cmd_graph/test_savedcmd_parser.py   |   2 +-
 scripts/setlocalversion                            |   3 +-
 scripts/sorttable.c                                |  15 +-
 scripts/ver_linux                                  |   1 +
 tools/lib/python/jobserver.py                      |  13 +
 tools/testing/selftests/kho/vmtest.sh              |   2 +-
 tools/testing/selftests/liveupdate/vmtest.sh       |   4 +-
 tools/testing/selftests/nolibc/Makefile.nolibc     |   2 +-
 usr/.gitignore                                     |   4 +-
 usr/Kconfig                                        |   2 +-
 usr/Makefile                                       |   6 +-
 126 files changed, 2374 insertions(+), 678 deletions(-)
 create mode 100644 scripts/Kconfig.toolchain
 rename {usr => scripts}/gen_init_cpio.c (99%)
 rename {usr => scripts}/gen_initramfs.sh (97%)
 create mode 100644 scripts/kallsyms-sysmap.c
 create mode 100644 scripts/kallsyms.h
 create mode 100644 scripts/kconfig/tests/def_type/Kconfig
 create mode 100644 scripts/kconfig/tests/def_type/__init__.py
 create mode 100644 scripts/kconfig/tests/def_type/expected_guard_n
 create mode 100644 scripts/kconfig/tests/def_type/expected_guard_y
 create mode 100644 scripts/kconfig/tests/def_type/guard_n.config
 create mode 100644 scripts/kconfig/tests/def_type/guard_y.config
 create mode 100644 scripts/kconfig/tests/err_num_bounds/Kconfig
 create mode 100644 scripts/kconfig/tests/err_num_bounds/__init__.py
 create mode 100644 scripts/kconfig/tests/err_num_bounds/expected_stderr
 create mode 100644 scripts/kconfig/tests/err_num_mismatch/Kconfig
 create mode 100644 scripts/kconfig/tests/err_num_mismatch/__init__.py
 create mode 100644 scripts/kconfig/tests/err_num_mismatch/expected_stderr
 create mode 100644 scripts/kconfig/tests/err_num_non_numeric_ref/Kconfig
 create mode 100644 scripts/kconfig/tests/err_num_non_numeric_ref/__init__.py
 create mode 100644 scripts/kconfig/tests/err_num_non_numeric_ref/expected_stderr
 create mode 100644 scripts/kconfig/tests/randconfig_probability/Kconfig
 create mode 100644 scripts/kconfig/tests/randconfig_probability/__init__.py
 create mode 100644 scripts/kconfig/tests/savedefconfig_range/Kconfig
 create mode 100644 scripts/kconfig/tests/savedefconfig_range/__init__.py
 create mode 100644 scripts/kconfig/tests/savedefconfig_range/config
 create mode 100644 scripts/kconfig/tests/savedefconfig_range/expected_defconfig
 create mode 100644 scripts/kconfig/tests/warn_num_bounds/Kconfig
 create mode 100644 scripts/kconfig/tests/warn_num_bounds/__init__.py
 create mode 100644 scripts/kconfig/tests/warn_num_bounds/config
 create mode 100644 scripts/kconfig/tests/warn_num_bounds/expected_config
 create mode 100644 scripts/kconfig/tests/warn_num_bounds/expected_config_stderr
 create mode 100644 scripts/kconfig/tests/warn_num_bounds/expected_frontend_config
 create mode 100644 scripts/kconfig/tests/warn_num_bounds/expected_frontend_stderr
 delete mode 100755 scripts/mksysmap

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-18  3:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-18  3:58 [GIT PULL] Kbuild / Kconfig updates for 7.4 Nathan Chancellor

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.