Merge tag 'kbuild-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild updates from Masahiro Yamada:

 - Add generic support for built-in boot DTB files

 - Enable TAB cycling for dialog buttons in nconfig

 - Fix issues in streamline_config.pl

 - Refactor Kconfig

 - Add support for Clang's AutoFDO (Automatic Feedback-Directed
   Optimization)

 - Add support for Clang's Propeller, a profile-guided optimization.

 - Change the working directory to the external module directory for M=
   builds

 - Support building external modules in a separate output directory

 - Enable objtool for *.mod.o and additional kernel objects

 - Use lz4 instead of deprecated lz4c

 - Work around a performance issue with "git describe"

 - Refactor modpost

* tag 'kbuild-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (85 commits)
  kbuild: rename .tmp_vmlinux.kallsyms0.syms to .tmp_vmlinux0.syms
  gitignore: Don't ignore 'tags' directory
  kbuild: add dependency from vmlinux to resolve_btfids
  modpost: replace tdb_hash() with hash_str()
  kbuild: deb-pkg: add python3:native to build dependency
  genksyms: reduce indentation in export_symbol()
  modpost: improve error messages in device_id_check()
  modpost: rename alias symbol for MODULE_DEVICE_TABLE()
  modpost: rename variables in handle_moddevtable()
  modpost: move strstarts() to modpost.h
  modpost: convert do_usb_table() to a generic handler
  modpost: convert do_of_table() to a generic handler
  modpost: convert do_pnp_device_entry() to a generic handler
  modpost: convert do_pnp_card_entries() to a generic handler
  modpost: call module_alias_printf() from all do_*_entry() functions
  modpost: pass (struct module *) to do_*_entry() functions
  modpost: remove DEF_FIELD_ADDR_VAR() macro
  modpost: deduplicate MODULE_ALIAS() for all drivers
  modpost: introduce module_alias_printf() helper
  modpost: remove unnecessary check in do_acpi_entry()
  ...
This commit is contained in:
Linus Torvalds
2024-11-30 13:41:50 -08:00
73 changed files with 1478 additions and 1017 deletions

View File

@@ -812,6 +812,45 @@ config LTO_CLANG_THIN
If unsure, say Y.
endchoice
config ARCH_SUPPORTS_AUTOFDO_CLANG
bool
config AUTOFDO_CLANG
bool "Enable Clang's AutoFDO build (EXPERIMENTAL)"
depends on ARCH_SUPPORTS_AUTOFDO_CLANG
depends on CC_IS_CLANG && CLANG_VERSION >= 170000
help
This option enables Clangs AutoFDO build. When
an AutoFDO profile is specified in variable
CLANG_AUTOFDO_PROFILE during the build process,
Clang uses the profile to optimize the kernel.
If no profile is specified, AutoFDO options are
still passed to Clang to facilitate the collection
of perf data for creating an AutoFDO profile in
subsequent builds.
If unsure, say N.
config ARCH_SUPPORTS_PROPELLER_CLANG
bool
config PROPELLER_CLANG
bool "Enable Clang's Propeller build"
depends on ARCH_SUPPORTS_PROPELLER_CLANG
depends on CC_IS_CLANG && CLANG_VERSION >= 190000
help
This option enables Clangs Propeller build. When the Propeller
profiles is specified in variable CLANG_PROPELLER_PROFILE_PREFIX
during the build process, Clang uses the profiles to optimize
the kernel.
If no profile is specified, Propeller options are still passed
to Clang to facilitate the collection of perf data for creating
the Propeller profiles in subsequent builds.
If unsure, say N.
config ARCH_SUPPORTS_CFI_CLANG
bool
help