[GIT PULL] Kbuild and Kconfig changes for v7.1

From: Nicolas Schier

Date: Sun Apr 12 2026 - 11:48:54 EST


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@xxxxxxxxxxxxxxxxxxx/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 <alex@xxxxxxxxxxxxxxx>
Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Bill Wendling <morbo@xxxxxxxxxx>
Cc: David Howells <dhowells@xxxxxxxxxx>
Cc: Dodji Seketeli <dodji@xxxxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Helge Deller <deller@xxxxxx>
Cc: John Moon <john@xxxxxxxxx>
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Cc: Justin Stitt <justinstitt@xxxxxxxxxx>
Cc: Kees Cook <kees@xxxxxxxxxx>
Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx>
Cc: Nathan Chancellor <nathan@xxxxxxxxxx>
Cc: Nick Desaulniers <nick.desaulniers+lkml@xxxxxxxxx>
Cc: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
Cc: Song Liu <song@xxxxxxxxxx>
Cc: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
Cc: Yonghong Song <yonghong.song@xxxxxxxxx>
Cc: kernel-team@xxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-efi@xxxxxxxxxxxxxxx
Cc: linux-hexagon@xxxxxxxxxxxxxxx
Cc: linux-kbuild@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-parisc@xxxxxxxxxxxxxxx
Cc: linux-s390@xxxxxxxxxxxxxxx
Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
Cc: llvm@xxxxxxxxxxxxxxx
Cc: loongarch@xxxxxxxxxxxxxxx

----------------------------------------------------------------
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

Attachment: signature.asc
Description: PGP signature