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

Nicolas Schier
2026-04-12T15:46:56Z

[-- Attachment #1: Type: text/plain, Size: 9589 bytes --]

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 <alex@cyberialabs.net>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Bill Wendling <morbo@google.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Dodji Seketeli <dodji@seketeli.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Helge Deller <deller@gmx.de>
Cc: John Moon <john@jmoon.dev>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Josh Poimboeuf <jpoimboe@kernel.org>
Cc: Justin Stitt <justinstitt@google.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <nick.desaulniers+lkml@gmail.com>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Song Liu <song@kernel.org>
Cc: Thomas Weißschuh <linux@weissschuh.net>
Cc: Yonghong Song <yonghong.song@linux.dev>
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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]