From: Mark Brown <broonie@kernel.org>
To: Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nsc@kernel.org>,
KBuild Mailing List <linux-kbuild@vger.kernel.org>
Cc: "Andrew Morton" <akpm@linux-foundation.org>,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
"Linux Next Mailing List" <linux-next@vger.kernel.org>,
"Lorenzo Stoakes" <ljs@kernel.org>,
"Maciej Żenczykowski" <maze@google.com>,
"Wilson Felipe Pereira" <wfelipe@google.com>
Subject: linux-next: manual merge of the kbuild tree with the mm-nonmm-unstable tree
Date: Mon, 5 Oct 2026 12:31:18 +0200 [thread overview]
Message-ID: <asN8duP-cEdNqP5I@sirena.co.uk> (raw)
[-- Attachment #1: Type: text/plain, Size: 9160 bytes --]
Hi all,
Today's linux-next merge of the kbuild tree got a conflict in:
init/Kconfig
between commits:
d514d23689356 ("init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable")
9998f5eea1407 ("init, arch: make CONFIG_COMMAND_LINE_SIZE globally configurable")
from the mm-nonmm-unstable tree and commit:
f85147b291e35 ("kbuild: move the toolchain checks into scripts/Kconfig.toolchain")
from the kbuild tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
diff --combined init/Kconfig
index 914c4c3ed7ee4,352601b44b5ca..0000000000000
--- a/init/Kconfig
+++ b/init/Kconfig
@@@ -1,203 -1,6 +1,6 @@@
# SPDX-License-Identifier: GPL-2.0-only
- config CC_VERSION_TEXT
- string
- default "$(CC_VERSION_TEXT)"
- help
- This is used in unclear ways:
- - Re-run Kconfig when the compiler is updated
- The 'default' property references the environment variable,
- CC_VERSION_TEXT so it is recorded in include/config/auto.conf.cmd.
- When the compiler is updated, Kconfig will be invoked.
-
- - Ensure full rebuild when the compiler is updated
- include/linux/compiler-version.h contains this option in the comment
- line so fixdep adds include/config/CC_VERSION_TEXT into the
- auto-generated dependency. When the compiler is updated, syncconfig
- will touch it and then every file will be rebuilt.
-
- config CC_IS_GCC
- def_bool $(success,test "$(cc-name)" = GCC)
-
- config GCC_VERSION
- int
- default $(cc-version) if CC_IS_GCC
- default 0
-
- config CC_IS_CLANG
- def_bool $(success,test "$(cc-name)" = Clang)
-
- config CLANG_VERSION
- int
- default $(cc-version) if CC_IS_CLANG
- default 0
-
- config AS_IS_GNU
- def_bool $(success,test "$(as-name)" = GNU)
-
- config AS_IS_LLVM
- def_bool $(success,test "$(as-name)" = LLVM)
-
- config AS_VERSION
- int
- # Use clang version if this is the integrated assembler
- default CLANG_VERSION if AS_IS_LLVM
- default $(as-version)
-
- config LD_IS_BFD
- def_bool $(success,test "$(ld-name)" = BFD)
-
- config LD_VERSION
- int
- default $(ld-version) if LD_IS_BFD
- default 0
-
- config LD_IS_LLD
- def_bool $(success,test "$(ld-name)" = LLD)
-
- config LLD_VERSION
- int
- default $(ld-version) if LD_IS_LLD
- default 0
-
- config RUSTC_VERSION
- int
- default $(rustc-version)
- help
- It does not depend on `RUST` since that one may need to use the version
- in a `depends on`.
-
- config RUST_IS_AVAILABLE
- def_bool $(success,$(srctree)/scripts/rust_is_available.sh)
- help
- This shows whether a suitable Rust toolchain is available (found).
-
- Please see Documentation/rust/quick-start.rst for instructions on how
- to satisfy the build requirements of Rust support.
-
- In particular, the Makefile target 'rustavailable' is useful to check
- why the Rust toolchain is not being detected.
-
- config RUSTC_LLVM_VERSION
- int
- default $(rustc-llvm-version)
-
- config RUSTC_LLVM_MAJOR_VERSION
- int
- default $(shell,expr $(rustc-llvm-version) / 10000)
-
- config RUSTC_CLANG_LLVM_COMPATIBLE
- bool
- default y if CC_IS_CLANG && RUSTC_LLVM_MAJOR_VERSION = $(shell,expr $(cc-version) / 10000)
- help
- This indicates whether Rust and Clang use LLVM of the same major
- version.
-
- Operations involving handling LLVM IR or bitcode (e.g. cross-language
- LTO) require the same LLVM major version to work properly. For best
- compatibility it is recommended that the exact same LLVM is used.
-
- config ARCH_HAS_CC_CAN_LINK
- bool
-
- config CC_CAN_LINK
- bool
- default ARCH_CC_CAN_LINK if ARCH_HAS_CC_CAN_LINK
- default $(cc_can_link_user,$(m64-flag)) if 64BIT
- default $(cc_can_link_user,$(m32-flag))
-
- # Fixed in GCC 14, 13.3, 12.4 and 11.5
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113921
- config GCC_ASM_GOTO_OUTPUT_BROKEN
- bool
- depends on CC_IS_GCC
- default y if GCC_VERSION < 110500
- default y if GCC_VERSION >= 120000 && GCC_VERSION < 120400
- default y if GCC_VERSION >= 130000 && GCC_VERSION < 130300
-
- config CC_HAS_ASM_GOTO_OUTPUT
- def_bool y
- depends on !GCC_ASM_GOTO_OUTPUT_BROKEN
- depends on $(success,echo 'int foo(int x) { asm goto ("": "=r"(x) ::: bar); return x; bar: return 0; }' | $(CC) -x c - -c -o /dev/null)
-
- config CC_HAS_ASM_GOTO_TIED_OUTPUT
- depends on CC_HAS_ASM_GOTO_OUTPUT
- # Detect buggy gcc and clang, fixed in gcc-11 clang-14.
- def_bool $(success,echo 'int foo(int *x) { asm goto (".long (%l[bar]) - .": "+m"(*x) ::: bar); return *x; bar: return 0; }' | $CC -x c - -c -o /dev/null)
-
- config TOOLS_SUPPORT_RELR
- def_bool $(success,env "CC=$(CC)" "LD=$(LD)" "NM=$(NM)" "OBJCOPY=$(OBJCOPY)" $(srctree)/scripts/tools-support-relr.sh)
-
- config CC_HAS_ASM_INLINE
- def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null)
-
- config CC_HAS_ASSUME
- bool
- # clang needs to be at least 19.1.0 since the meaning of the assume
- # attribute changed:
- # https://github.com/llvm/llvm-project/commit/c44fa3e8a9a44c2e9a575768a3c185354b9f6c17
- default y if CC_IS_CLANG && CLANG_VERSION >= 190100
- # supported since gcc 13.1.0
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106654
- default y if CC_IS_GCC && GCC_VERSION >= 130100
-
- config CC_HAS_NO_PROFILE_FN_ATTR
- def_bool $(success,echo '__attribute__((no_profile_instrument_function)) int x();' | $(CC) -x c - -c -o /dev/null -Werror)
-
- config CC_HAS_COUNTED_BY
- bool
- # clang needs to be at least 20.1.0 to avoid potential crashes
- # when building structures that contain __counted_by
- # https://github.com/ClangBuiltLinux/linux/issues/2114
- # https://github.com/llvm/llvm-project/commit/160fb1121cdf703c3ef5e61fb26c5659eb581489
- default y if CC_IS_CLANG && CLANG_VERSION >= 200100
- # supported since gcc 15.1.0
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108896
- default y if CC_IS_GCC && GCC_VERSION >= 150100
-
- config CC_HAS_COUNTED_BY_PTR
- bool
- # supported since clang 22
- default y if CC_IS_CLANG && CLANG_VERSION >= 220100
- # supported since gcc 16.0.0
- default y if CC_IS_GCC && GCC_VERSION >= 160000
-
- config CC_HAS_BROKEN_COUNTED_BY_REF
- bool
- # https://github.com/llvm/llvm-project/issues/182575
- default y if CC_IS_CLANG && CLANG_VERSION < 220100
-
- config CC_HAS_ALLOC_TOKEN
- def_bool $(cc-option,-falloc-token-max=123)
-
- config CC_HAS_MULTIDIMENSIONAL_NONSTRING
- def_bool $(success,echo 'char tag[][4] __attribute__((__nonstring__)) = { };' | $(CC) $(CLANG_FLAGS) -x c - -c -o /dev/null -Werror)
-
- config CC_OPT_INLINE_MEMSET
- string
- default "-finline-stringops=memset" if $(cc-option,-finline-stringops=memset)
- default "-mllvm -max-store-memset=4294967294" if $(cc-option,-mllvm -max-store-memset=4294967294)
-
- config LD_CAN_USE_KEEP_IN_OVERLAY
- # ld.lld prior to 21.0.0 did not support KEEP within an overlay description
- # https://github.com/llvm/llvm-project/pull/130661
- def_bool LD_IS_BFD || LLD_VERSION >= 210000
-
- config RUSTC_HAS_UNNECESSARY_TRANSMUTES
- def_bool RUSTC_VERSION >= 108800
-
- config RUSTC_HAS_FILE_WITH_NUL
- def_bool RUSTC_VERSION >= 108900
-
- config RUSTC_HAS_FILE_AS_C_STR
- def_bool RUSTC_VERSION >= 109100
-
- config RUSTC_HAS_SUSPICIOUS_RUNTIME_SYMBOL_DEFINITIONS
- def_bool RUSTC_VERSION >= 109800
-
- config PAHOLE_VERSION
- int
- default "$(PAHOLE_VERSION)"
+ source "scripts/Kconfig.toolchain"
config CONSTRUCTORS
bool
@@@ -233,10 -36,9 +36,10 @@@ config BROKEN_ON_SM
default y
config INIT_ENV_ARG_LIMIT
- int
+ int "Maximum number of kernel command line arguments"
default 32 if !UML
default 128 if UML
+ range 32 4096
help
Maximum of each of the number of arguments and environment
variables passed to init from the kernel command line.
@@@ -1617,22 -1419,6 +1420,22 @@@ config CMDLINE_FROM_BOOTCONFI
If unsure, say N.
+config COMMAND_LINE_SIZE
+ int "Maximum size of kernel command line"
+ default 4096 if S390 || LOONGARCH || MIPS || UML
+ default 2048 if X86 || ARM64 || PPC || SPARC64 || RISCV
+ default 1024 if ARM || PARISC
+ default 256 if ALPHA || ARC || M68K || MICROBLAZE || SPARC32 || XTENSA
+ default 512
+ range 896 1048576 if S390
+ range 256 2048 if ARM || M68K || NIOS2 || PPC
+ range 256 3840 if SUPERH
+ range 256 256 if ALPHA
+ range 256 4096
+ help
+ This allows you to specify the maximum length of the kernel command
+ line.
+
config CMDLINE_LOG_WRAP_IDEAL_LEN
int "Length to try to wrap the cmdline when logged at boot"
default 1021
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next reply other threads:[~2026-10-05 10:31 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-05 10:31 Mark Brown [this message]
2026-10-05 13:07 ` Andrew Morton
2026-10-05 13:14 ` Nathan Chancellor
2026-10-05 13:19 ` Mark Brown
-- strict thread matches above, loose matches on Subject: below --
2026-09-30 11:47 Mark Brown
2026-09-30 12:23 ` Lorenzo Stoakes (ARM)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=asN8duP-cEdNqP5I@sirena.co.uk \
--to=broonie@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=ljs@kernel.org \
--cc=maze@google.com \
--cc=nathan@kernel.org \
--cc=nsc@kernel.org \
--cc=wfelipe@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®