Hi Linus, please pull these changes to Kbuild and Kconfig for v7.1. Please let me know if anything is incorrect and not matching your standards. All changes have been in -next, most for several cycles without reported problems. Thanks and kind regards, Nicolas --- The following changes since commit 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f: Linux 7.0-rc1 (2026-02-22 13:18:59 -0800) are available in the Git repository at: ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/kbuild/linux.git tags/kbuild-7.1-1 for you to fetch changes up to 404927758daac5ec4594071e033c1fa6ee9ca9b6: kbuild: expand inlining hints with -fdiagnostics-show-inlining-chain (2026-04-07 21:48:44 +0200) ---------------------------------------------------------------- Kbuild/Kconfig updates for 7.1 Kbuild changes ============== * tools/build: Reject unexpected values for LLVM= * kbuild: uapi: remove usage of toolchain headers * kbuild: Switch from '-fms-extensions' to '-fms-anonymous-structs' when available (currently: clang >= 23.0.0) * kbuild: Reduce the number of compiler-generated suffixes for clang thin-lto build * kbuild: reduce output spam ("GEN Makefile") when building out of tree * check-uapi: improve portability for testing headers * uapi: also test UAPI headers against C++ compilers * kbuild: vdso_install: drop build ID architecture allow-list * checksyscalls: only run when necessary * Documentation: kbuild: Update the debug information notes in reproducible-builds.rst * kconfig: forbid multiple entries with the same symbol in a choice * kbuild: expand inlining hints with -fdiagnostics-show-inlining-chain Kconfig changes =============== * kconfig: Error out on duplicated kconfig inclusion Cc: Alexander Coffin Cc: Ard Biesheuvel Cc: Arnd Bergmann Cc: Bill Wendling Cc: David Howells Cc: Dodji Seketeli Cc: H. Peter Anvin Cc: Helge Deller Cc: John Moon Cc: Jonathan Corbet Cc: Josh Poimboeuf Cc: Justin Stitt Cc: Kees Cook Cc: Masahiro Yamada Cc: Nathan Chancellor Cc: Nick Desaulniers Cc: Shuah Khan Cc: Song Liu Cc: Thomas Weißschuh Cc: Yonghong Song Cc: kernel-team@fb.com Cc: linux-arm-kernel@lists.infradead.org Cc: linux-efi@vger.kernel.org Cc: linux-hexagon@vger.kernel.org Cc: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-parisc@vger.kernel.org Cc: linux-s390@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: llvm@lists.linux.dev Cc: loongarch@lists.linux.dev ---------------------------------------------------------------- Arnd Bergmann (3): check-uapi: link into shared objects check-uapi: honor ${CROSS_COMPILE} setting check-uapi: use dummy libc includes Justin Stitt (1): kbuild: expand inlining hints with -fdiagnostics-show-inlining-chain Masahiro Yamada (1): kconfig: forbid multiple entries with the same symbol in a choice Nathan Chancellor (3): kbuild: Consolidate C dialect options kbuild: Use '-fms-anonymous-structs' if it is available Documentation: kbuild: Update the debug information notes in reproducible-builds.rst Nicolas Schier (1): kconfig: Error out on duplicated kconfig inclusion Thomas Weißschuh (25): Documentation/llvm: drop note about LLVM=0 tools/build: Reject unexpected values for LLVM= hexagon: uapi: Fix structure alignment attribute kbuild: uapi: test linux/bpf_perf_event.h on powerpc kbuild: uapi: deduplicate linux/bpf_perf_event.h exclusions kbuild: uapi: completely exclude linux/bpf_perf_event.h on nios2 kbuild: uapi: only use dummy-include for headers which use libc kbuild: uapi: provide stub includes for some libc headers kbuild: uapi: use custom stub headers instead of libc ones kbuild: uapi: simplify libc dependency logic kbuild: uapi: remove now unneeded guard headers kbuild: reduce output spam when building out of tree kbuild: uapi: move some compiler arguments out of the command definition kbuild: uapi: move all include path flags together kbuild: uapi: handle UML in architecture-specific exclusion lists kbuild: uapi: provide a C++ compatible dummy definition of NULL kbuild: uapi: also test UAPI headers against C++ compilers kbuild: vdso_install: split out the readelf invocation kbuild: vdso_install: hide readelf warnings kbuild: vdso_install: gracefully handle images without build ID kbuild: vdso_install: drop build ID architecture allow-list checksyscalls: move path to reference table to a variable checksyscalls: fail on all intermediate errors checksyscalls: only run when necessary checksyscalls: move instance functionality into generic code Yonghong Song (1): kbuild: Reduce the number of compiler-generated suffixes for clang thin-lto build Documentation/kbuild/llvm.rst | 4 -- Documentation/kbuild/reproducible-builds.rst | 7 ++- Kbuild | 14 +++-- Makefile | 35 +++++++++--- arch/arm64/kernel/vdso32/Makefile | 3 +- arch/hexagon/include/uapi/asm/sigcontext.h | 2 +- arch/loongarch/vdso/Makefile | 2 +- arch/mips/Makefile | 6 +- arch/parisc/boot/compressed/Makefile | 2 +- arch/powerpc/boot/Makefile | 3 +- arch/s390/Makefile | 3 +- arch/s390/purgatory/Makefile | 3 +- arch/x86/Makefile | 6 +- arch/x86/boot/compressed/Makefile | 6 +- drivers/firmware/efi/libstub/Makefile | 3 +- init/Kconfig | 5 ++ scripts/Makefile.vdsoinst | 7 ++- scripts/Makefile.warn | 5 -- scripts/check-uapi.sh | 19 ++++--- scripts/checksyscalls.sh | 11 +++- scripts/kconfig/lexer.l | 4 +- scripts/kconfig/lkc.h | 3 +- scripts/kconfig/parser.y | 15 ++--- scripts/kconfig/tests/err_repeated_inc/Kconfig | 3 + .../kconfig/tests/err_repeated_inc/Kconfig.inc1 | 4 ++ .../kconfig/tests/err_repeated_inc/Kconfig.inc2 | 3 + .../kconfig/tests/err_repeated_inc/Kconfig.inc3 | 1 + scripts/kconfig/tests/err_repeated_inc/__init__.py | 10 ++++ .../kconfig/tests/err_repeated_inc/expected_stderr | 2 + scripts/kconfig/util.c | 31 ++++++++++- tools/scripts/Makefile.include | 2 + usr/dummy-include/endian.h | 0 usr/dummy-include/limits.h | 8 +++ usr/dummy-include/netinet/if_ether.h | 0 usr/dummy-include/netinet/in.h | 0 usr/dummy-include/stdbool.h | 7 --- usr/dummy-include/stddef.h | 13 +++++ usr/dummy-include/stdint.h | 17 ++++++ usr/dummy-include/stdlib.h | 7 --- usr/dummy-include/string.h | 12 ++++ usr/dummy-include/sys/ioctl.h | 0 usr/dummy-include/sys/socket.h | 12 ++++ usr/dummy-include/sys/time.h | 3 + usr/dummy-include/sys/types.h | 0 usr/dummy-include/time.h | 0 usr/dummy-include/unistd.h | 0 usr/include/Makefile | 65 ++++++++++++++-------- 47 files changed, 251 insertions(+), 117 deletions(-) create mode 100644 scripts/kconfig/tests/err_repeated_inc/Kconfig create mode 100644 scripts/kconfig/tests/err_repeated_inc/Kconfig.inc1 create mode 100644 scripts/kconfig/tests/err_repeated_inc/Kconfig.inc2 create mode 100644 scripts/kconfig/tests/err_repeated_inc/Kconfig.inc3 create mode 100644 scripts/kconfig/tests/err_repeated_inc/__init__.py create mode 100644 scripts/kconfig/tests/err_repeated_inc/expected_stderr create mode 100644 usr/dummy-include/endian.h create mode 100644 usr/dummy-include/limits.h create mode 100644 usr/dummy-include/netinet/if_ether.h create mode 100644 usr/dummy-include/netinet/in.h delete mode 100644 usr/dummy-include/stdbool.h create mode 100644 usr/dummy-include/stddef.h create mode 100644 usr/dummy-include/stdint.h delete mode 100644 usr/dummy-include/stdlib.h create mode 100644 usr/dummy-include/string.h create mode 100644 usr/dummy-include/sys/ioctl.h create mode 100644 usr/dummy-include/sys/socket.h create mode 100644 usr/dummy-include/sys/time.h create mode 100644 usr/dummy-include/sys/types.h create mode 100644 usr/dummy-include/time.h create mode 100644 usr/dummy-include/unistd.h -- Nicolas