<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Kconfig.include</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>af0121c2 - kbuild: rust: add `CONFIG_RUSTC_LLVM_VERSION`</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#af0121c2</link>
        <description>kbuild: rust: add `CONFIG_RUSTC_LLVM_VERSION`Each version of Rust supports a range of LLVM versions. There are cases wherewe want to gate a config on the LLVM version instead of the Rust version.Normalized cfi integer tags are one example [1].The invocation of rustc-version is being moved from init/Kconfig toscripts/Kconfig.include for consistency with cc-version.Link: https://lore.kernel.org/all/20240925-cfi-norm-kasan-fix-v1-1-0328985cdf33@google.com/ [1]Signed-off-by: Gary Guo &lt;gary@garyguo.net&gt;Link: https://lore.kernel.org/r/20241011114040.3900487-1-gary@garyguo.net[ Added missing `-llvm` to the Usage documentation. - Miguel ]Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Fri, 11 Oct 2024 11:40:33 +0000</pubDate>
        <dc:creator>Gary Guo &lt;gary@garyguo.net&gt;</dc:creator>
    </item>
<item>
        <title>c4229743 - kbuild: rust: Define probing macros for rustc</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#c4229743</link>
        <description>kbuild: rust: Define probing macros for rustcCreates flag probe macro variants for `rustc`. These are helpfulbecause:1. The kernel now supports a minimum `rustc` version rather than a   single version.2. `rustc` links against a range of LLVM revisions, occasionally even   ones without an official release number. Since the availability of   some Rust flags depends on which LLVM it has been linked against,   probing is necessary.Signed-off-by: Matthew Maurer &lt;mmaurer@google.com&gt;Link: https://github.com/Rust-for-Linux/linux/pull/1087Link: https://lore.kernel.org/r/20240820194910.187826-2-mmaurer@google.comSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Tue, 20 Aug 2024 19:48:56 +0000</pubDate>
        <dc:creator>Matthew Maurer &lt;mmaurer@google.com&gt;</dc:creator>
    </item>
<item>
        <title>46916980 - x86/kconfig: Add as-instr64 macro to properly evaluate AS_WRUSS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#46916980</link>
        <description>x86/kconfig: Add as-instr64 macro to properly evaluate AS_WRUSSSome instructions are only available on the 64-bit architecture.Bi-arch compilers that default to -m32 need the explicit -m64 optionto evaluate them properly.Fixes: 18e66b695e78 (&quot;x86/shstk: Add Kconfig option for shadow stack&quot;)Closes: https://lore.kernel.org/all/20240612-as-instr-opt-wrussq-v2-1-bd950f7eead7@gmail.com/Reported-by: Dmitry Safonov &lt;0x7f454c46@gmail.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Signed-off-by: Borislav Petkov (AMD) &lt;bp@alien8.de&gt;Tested-by: Dmitry Safonov &lt;0x7f454c46@gmail.com&gt;Link: https://lore.kernel.org/r/20240612050257.3670768-1-masahiroy@kernel.org

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Wed, 12 Jun 2024 05:02:55 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>0ee695a4 - kbuild: Add -Wa,--fatal-warnings to as-instr invocation</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#0ee695a4</link>
        <description>kbuild: Add -Wa,--fatal-warnings to as-instr invocationCertain assembler instruction tests may only induce warnings from theassembler on an unsupported instruction or option, which causes as-instrto succeed when it was expected to fail. Some tests workaround thislimitation by additionally testing that invalid input fails as expected.However, this is fragile if the assembler is changed to accept theinvalid input, as it will cause the instruction/option to be unavailablelike it was unsupported even when it is.Use &apos;-Wa,--fatal-warnings&apos; in the as-instr macro to turn these warningsinto hard errors, which avoids this fragility and makes tests morerobust and well formed.Cc: stable@vger.kernel.orgSuggested-by: Eric Biggers &lt;ebiggers@kernel.org&gt;Signed-off-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Tested-by: Eric Biggers &lt;ebiggers@google.com&gt;Tested-by: Andy Chiu &lt;andybnac@gmail.com&gt;Reviewed-by: Andy Chiu &lt;andybnac@gmail.com&gt;Tested-by: Conor Dooley &lt;conor.dooley@microchip.com&gt;Reviewed-by: Conor Dooley &lt;conor.dooley@microchip.com&gt;Acked-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Link: https://lore.kernel.org/r/20240125-fix-riscv-option-arch-llvm-18-v1-1-390ac9cc3cd0@kernel.orgSigned-off-by: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Thu, 25 Jan 2024 17:32:11 +0000</pubDate>
        <dc:creator>Nathan Chancellor &lt;nathan@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>d5c8d6e0 - kbuild: Update assembler calls to use proper flags and language target</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#d5c8d6e0</link>
        <description>kbuild: Update assembler calls to use proper flags and language targetas-instr uses KBUILD_AFLAGS, but as-option uses KBUILD_CFLAGS. This cancause as-option to fail unexpectedly when CONFIG_WERROR is set, becauseclang will emit -Werror,-Wunused-command-line-argument for various -mand -f flags in KBUILD_CFLAGS for assembler sources.Callers of as-option and as-instr should be adding flags toKBUILD_AFLAGS / aflags-y, not KBUILD_CFLAGS / cflags-y. UseKBUILD_AFLAGS in all macros to clear up the initial problem.Unfortunately, -Wunused-command-line-argument can still be triggeredwith clang by the presence of warning flags or macro definitions because&apos;-x assembler&apos; is used, instead of &apos;-x assembler-with-cpp&apos;, which willconsume these flags. Switch to &apos;-x assembler-with-cpp&apos; in places where&apos;-x assembler&apos; is used, as the compiler is always used as the driver forout of line assembler sources in the kernel.Finally, add -Werror to these macros so that they behave consistentlywhether or not CONFIG_WERROR is set.[nathan: Reworded and expanded on problems in commit message         Use &apos;-x assembler-with-cpp&apos; in a couple more places]Link: https://github.com/ClangBuiltLinux/linux/issues/1699Suggested-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Signed-off-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Signed-off-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Tested-by: Linux Kernel Functional Testing &lt;lkft@linaro.org&gt;Tested-by: Anders Roxell &lt;anders.roxell@linaro.org&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Thu, 12 Jan 2023 03:05:01 +0000</pubDate>
        <dc:creator>Nick Desaulniers &lt;ndesaulniers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>2f7ab126 - Kbuild: add Rust support</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#2f7ab126</link>
        <description>Kbuild: add Rust supportHaving most of the new files in place, we now enable Rust supportin the build system, including `Kconfig` entries related to Rust,the Rust configuration printer and a few other bits.Reviewed-by: Kees Cook &lt;keescook@chromium.org&gt;Reviewed-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Tested-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;Co-developed-by: Alex Gaynor &lt;alex.gaynor@gmail.com&gt;Signed-off-by: Alex Gaynor &lt;alex.gaynor@gmail.com&gt;Co-developed-by: Finn Behrens &lt;me@kloenk.de&gt;Signed-off-by: Finn Behrens &lt;me@kloenk.de&gt;Co-developed-by: Adam Bratschi-Kaye &lt;ark.email@gmail.com&gt;Signed-off-by: Adam Bratschi-Kaye &lt;ark.email@gmail.com&gt;Co-developed-by: Wedson Almeida Filho &lt;wedsonaf@google.com&gt;Signed-off-by: Wedson Almeida Filho &lt;wedsonaf@google.com&gt;Co-developed-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Co-developed-by: Sven Van Asbroeck &lt;thesven73@gmail.com&gt;Signed-off-by: Sven Van Asbroeck &lt;thesven73@gmail.com&gt;Co-developed-by: Gary Guo &lt;gary@garyguo.net&gt;Signed-off-by: Gary Guo &lt;gary@garyguo.net&gt;Co-developed-by: Boris-Chengbiao Zhou &lt;bobo1239@web.de&gt;Signed-off-by: Boris-Chengbiao Zhou &lt;bobo1239@web.de&gt;Co-developed-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;Co-developed-by: Douglas Su &lt;d0u9.su@outlook.com&gt;Signed-off-by: Douglas Su &lt;d0u9.su@outlook.com&gt;Co-developed-by: Dariusz Sosnowski &lt;dsosnowski@dsosnowski.pl&gt;Signed-off-by: Dariusz Sosnowski &lt;dsosnowski@dsosnowski.pl&gt;Co-developed-by: Antonio Terceiro &lt;antonio.terceiro@linaro.org&gt;Signed-off-by: Antonio Terceiro &lt;antonio.terceiro@linaro.org&gt;Co-developed-by: Daniel Xu &lt;dxu@dxuuu.xyz&gt;Signed-off-by: Daniel Xu &lt;dxu@dxuuu.xyz&gt;Co-developed-by: Bj&#246;rn Roy Baron &lt;bjorn3_gh@protonmail.com&gt;Signed-off-by: Bj&#246;rn Roy Baron &lt;bjorn3_gh@protonmail.com&gt;Co-developed-by: Martin Rodriguez Reboredo &lt;yakoyoku@gmail.com&gt;Signed-off-by: Martin Rodriguez Reboredo &lt;yakoyoku@gmail.com&gt;Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Sat, 03 Jul 2021 14:42:57 +0000</pubDate>
        <dc:creator>Miguel Ojeda &lt;ojeda@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>dd298656 - kbuild: set EXIT trap before creating temporary directory</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#dd298656</link>
        <description>kbuild: set EXIT trap before creating temporary directorySwap the order of &apos;mkdir&apos; and &apos;trap&apos; just in case the subshell isinterrupted between &apos;mkdir&apos; and &apos;trap&apos; although the effect might besubtle.This does not intend to make the cleanup perfect. There are more casesthat miss to remove the tmp directory, for example: - When interrupted, dash does not invoke the EXIT trap (bash does) - &apos;rm&apos; command might be interrupted before removing the directoryI am not addressing all the cases since the tmp directory is harmlessafter all.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Thu, 28 Jul 2022 03:14:33 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>10269fd3 - kconfig: shorten the temporary directory name for cc-option</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#10269fd3</link>
        <description>kconfig: shorten the temporary directory name for cc-optionThe cc-option macro creates the temporary directory, .tmp_$$$$.Shell expands &apos;$$&apos; into its process ID. &apos;$$$$&apos; results in repeated PID.In Makefile, &apos;$$$$&apos; is correct (see TMPOUT in scripts/Malefile.compiler)because &apos;$$&apos; is an escape sequence of &apos;$&apos;. Make expands &apos;$$$$&apos; into &apos;$$&apos;,then shell expands it into the process ID.This does not apply to Kconfig because Kconfig requires variablereferences to be enclosed by curly braces, like ${variable}.The &apos;$&apos; that is not followed by &apos;{&apos; loses its effect.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Tested-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Tue, 19 Jul 2022 02:35:39 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>ba64beb1 - kbuild: check the minimum assembler version in Kconfig</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#ba64beb1</link>
        <description>kbuild: check the minimum assembler version in KconfigDocumentation/process/changes.rst defines the minimum assembler version(binutils version), but we have never checked it in the build time.Kbuild never invokes &apos;as&apos; directly because all assembly files in thekernel tree are *.S, hence must be preprocessed. I do not expectraw assembly source files (*.s) would be added to the kernel tree.Therefore, we always use $(CC) as the assembler driver, and commitaa824e0c962b (&quot;kbuild: remove AS variable&quot;) removed &apos;AS&apos;. However,we are still interested in the version of the assembler acting behind.As usual, the --version option prints the version string.  $ as --version | head -n 1  GNU assembler (GNU Binutils for Ubuntu) 2.35.1But, we do not have $(AS). So, we can add the -Wa prefix so that$(CC) passes --version down to the backing assembler.  $ gcc -Wa,--version | head -n 1  gcc: fatal error: no input files  compilation terminated.OK, we need to input something to satisfy gcc.  $ gcc -Wa,--version -c -x assembler /dev/null -o /dev/null | head -n 1  GNU assembler (GNU Binutils for Ubuntu) 2.35.1The combination of Clang and GNU assembler works in the same way:  $ clang -no-integrated-as -Wa,--version -c -x assembler /dev/null -o /dev/null | head -n 1  GNU assembler (GNU Binutils for Ubuntu) 2.35.1Clang with the integrated assembler fails like this:  $ clang -integrated-as -Wa,--version -c -x assembler /dev/null -o /dev/null | head -n 1  clang: error: unsupported argument &apos;--version&apos; to option &apos;Wa,&apos;For the last case, checking the error message is fragile. If theproposal for -Wa,--version support [1] is accepted, this may not beeven an error in the future.One easy way is to check if -integrated-as is present in the passedarguments. We did not pass -integrated-as to CLANG_FLAGS before, butwe can make it explicit.Nathan pointed out -integrated-as is the default for all of thearchitectures/targets that the kernel cares about, but it goesalong with &quot;explicit is better than implicit&quot; policy. [2]With all this in my mind, I implemented scripts/as-version.sh tocheck the assembler version in Kconfig time.  $ scripts/as-version.sh gcc  GNU 23501  $ scripts/as-version.sh clang -no-integrated-as  GNU 23501  $ scripts/as-version.sh clang -integrated-as  LLVM 0[1]: https://github.com/ClangBuiltLinux/linux/issues/1320[2]: https://lore.kernel.org/linux-kbuild/20210307044253.v3h47ucq6ng25iay@archlinux-ax161/Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nathan Chancellor &lt;nathan@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Mon, 15 Mar 2021 16:12:56 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>02aff859 - kbuild: check the minimum linker version in Kconfig</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#02aff859</link>
        <description>kbuild: check the minimum linker version in KconfigUnify the two scripts/ld-version.sh and scripts/lld-version.sh, andcheck the minimum linker version like scripts/cc-version.sh did.I tested this script for some corner cases reported in the past: - GNU ld version 2.25-15.fc23   as reported by commit 8083013fc320 (&quot;ld-version: Fix it on Fedora&quot;) - GNU ld (GNU Binutils) 2.20.1.20100303   as reported by commit 0d61ed17dd30 (&quot;ld-version: Drop the 4th and   5th version components&quot;)This script show an error message if the linker is too old:  $ make LD=ld.lld-9    SYNC    include/config/auto.conf  ***  *** Linker is too old.  ***   Your LLD version:    9.0.1  ***   Minimum LLD version: 10.0.1  ***  scripts/Kconfig.include:50: Sorry, this linker is not supported.  make[2]: *** [scripts/kconfig/Makefile:71: syncconfig] Error 1  make[1]: *** [Makefile:600: syncconfig] Error 2  make: *** [Makefile:708: include/config/auto.conf] Error 2I also moved the check for gold to this script, so gold is still rejected:  $ make LD=gold    SYNC    include/config/auto.conf  gold linker is not supported as it is not capable of linking the kernel proper.  scripts/Kconfig.include:50: Sorry, this linker is not supported.  make[2]: *** [scripts/kconfig/Makefile:71: syncconfig] Error 1  make[1]: *** [Makefile:600: syncconfig] Error 2  make: *** [Makefile:708: include/config/auto.conf] Error 2Thanks to David Laight for suggesting shell script improvements.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Acked-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Reviewed-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Tested-by: Nathan Chancellor &lt;nathan@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Tue, 16 Feb 2021 03:10:04 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>aec6c60a - kbuild: check the minimum compiler version in Kconfig</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#aec6c60a</link>
        <description>kbuild: check the minimum compiler version in KconfigPaul Gortmaker reported a regression in the GCC version check. [1]If you use GCC 4.8, the build breaks before showing the error message&quot;error Sorry, your version of GCC is too old - please use 4.9 or newer.&quot;I do not want to apply his fix-up since it implies we would not be ableto remove any cc-option test. Anyway, I admit checking the GCC versionin &lt;linux/compiler-gcc.h&gt; is too late.Almost at the same time, Linus also suggested to move the compilerversion error to Kconfig time. [2]I unified the two similar scripts, gcc-version.sh and clang-version.shinto cc-version.sh. The old scripts invoked the compiler multiple times(3 times for gcc-version.sh, 4 times for clang-version.sh). I refactoredthe code so the new one invokes the compiler just once, and also triedmy best to use shell-builtin commands where possible.The new script runs faster.  $ time ./scripts/clang-version.sh clang  120000  real    0m0.029s  user    0m0.012s  sys     0m0.021s  $ time ./scripts/cc-version.sh clang  Clang 120000  real    0m0.009s  user    0m0.006s  sys     0m0.004scc-version.sh also shows an error message if the compiler is too old:  $ make defconfig CC=clang-9  *** Default configuration is based on &apos;x86_64_defconfig&apos;  ***  *** Compiler is too old.  ***   Your Clang version:    9.0.1  ***   Minimum Clang version: 10.0.1  ***  scripts/Kconfig.include:46: Sorry, this compiler is not supported.  make[1]: *** [scripts/kconfig/Makefile:81: defconfig] Error 1  make: *** [Makefile:602: defconfig] Error 2The new script takes care of ICC because we have &lt;linux/compiler-intel.h&gt;although I am not sure if building the kernel with ICC is well-supported.[1]: https://lore.kernel.org/r/20210110190807.134996-1-paul.gortmaker@windriver.com[2]: https://lore.kernel.org/r/CAHk-=wh-+TMHPTFo1qs-MYyK7tZh-OQovA=pP3=e06aCVp6_kA@mail.gmail.comFixes: 87de84c9140e (&quot;kbuild: remove cc-option test of -Werror=date-time&quot;)Reported-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;Suggested-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;Reviewed-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Tested-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Reviewed-by: Nathan Chancellor &lt;natechancellor@gmail.com&gt;Tested-by: Nathan Chancellor &lt;natechancellor@gmail.com&gt;Reviewed-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;Tested-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;Tested-by: Sedat Dilek &lt;sedat.dilek@gmail.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Fri, 15 Jan 2021 23:35:42 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>4d0831e8 - kconfig: unify cc-option and as-option</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#4d0831e8</link>
        <description>kconfig: unify cc-option and as-optioncc-option and as-option are almost the same; both pass the flag to$(CC). The main difference is the cc-option stops before the assemblestage (-S option) whereas as-option stops after (-c option).I chose -S because it is slightly faster, but $(cc-option,-gz=zlib)returns a wrong result (https://lkml.org/lkml/2020/6/9/1529).It has been fixed by commit 7b16994437c7 (&quot;Makefile: Improve compresseddebug info support detection&quot;), but the assembler should always beinvoked for more reliable compiler option tests.However, you cannot simply replace -S with -c because the followingcode in lib/Kconfig.debug would break:    depends on $(cc-option,-gsplit-dwarf)The combination of -c and -gsplit-dwarf does not accept /dev/null asoutput.  $ cat /dev/null | gcc -gsplit-dwarf -S -x c - -o /dev/null  $ echo $?  0  $ cat /dev/null | gcc -gsplit-dwarf -c -x c - -o /dev/null  objcopy: Warning: &apos;/dev/null&apos; is not an ordinary file  $ echo $?  1  $ cat /dev/null | gcc -gsplit-dwarf -c -x c - -o tmp.o  $ echo $?  0There is another flag that creates an separate file based on theobject file path:  $ cat /dev/null | gcc -ftest-coverage -c -x c - -o /dev/null  &lt;stdin&gt;:1: error: cannot open /dev/null.gcnoSo, we cannot use /dev/null to sink the output.Align the cc-option implementation with scripts/Kbuild.include.With -c option used in cc-option, as-option is unneeded.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Acked-by: Will Deacon &lt;will@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Sun, 14 Jun 2020 14:43:41 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>77342a02 - gcc-plugins: drop support for GCC &lt;= 4.7</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#77342a02</link>
        <description>gcc-plugins: drop support for GCC &lt;= 4.7Nobody was opposed to raising minimum GCC version to 4.8 [1]So, we will drop GCC &lt;= 4.7 support sooner or later.We always use C++ compiler for building plugins for GCC &gt;= 4.8.This commit drops the plugin support for GCC &lt;= 4.7 a bit earlier,which allows us to dump lots of code.[1] https://lkml.org/lkml/2020/1/23/545Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Acked-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Sun, 29 Mar 2020 11:08:32 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>c2d920bf - kconfig: Add support for &apos;as-option&apos;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#c2d920bf</link>
        <description>kconfig: Add support for &apos;as-option&apos;Currently kconfig does not have a feature that allows to detect if theused assembler supports a specific compilation option.Introduce &apos;as-option&apos; to serve this purpose in the context of Kconfig:        config X                def_bool $(as-option,...)Signed-off-by: Amit Daniel Kachhap &lt;amit.kachhap@arm.com&gt;Signed-off-by: Vincenzo Frascino &lt;vincenzo.frascino@arm.com&gt;Acked-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Cc: linux-kbuild@vger.kernel.orgCc: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Fri, 13 Mar 2020 09:05:02 +0000</pubDate>
        <dc:creator>Vincenzo Frascino &lt;vincenzo.frascino@arm.com&gt;</dc:creator>
    </item>
<item>
        <title>8cc4fd73 - kconfig: introduce m32-flag and m64-flag</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#8cc4fd73</link>
        <description>kconfig: introduce m32-flag and m64-flagWhen a compiler supports multiple architectures, some compiler featurescan be dependent on the target architecture.This is typical for Clang, which supports multiple LLVM backends.Even for GCC, we need to take care of biarch compiler cases.It is not a problem when we evaluate cc-option in Makefiles becausecc-option is tested against the flag in question + $(KBUILD_CFLAGS).The cc-option in Kconfig, on the other hand, does not accumulatetested flags. Due to this simplification, it could potentially testcc-option against a different target.At first, Kconfig always evaluated cc-option against the hostarchitecture.Since commit e8de12fb7cde (&quot;kbuild: Check for unknown options withcc-option usage in Kconfig and clang&quot;), in case of cross-compilingwith Clang, the target triple is correctly passed to Kconfig.The case with biarch GCC (and native build with Clang) is still nothandled properly. We need to pass some flags to specify the targetmachine bit.Due to the design, all the macros in Kconfig are expanded in theparse stage, where we do not know the target bit size yet.For example, arch/x86/Kconfig allows a user to toggle CONFIG_64BIT.If a compiler flag -foo depends on the machine bit, it must be testedtwice, one with -m32 and the other with -m64.However, -m32/-m64 are not always recognized. So, this commits addsm64-flag and m32-flag macros. They expand to -m32, -m64, respectivelyif supported. Or, they expand to an empty string if unsupported.The typical usage is like this:  config FOO          bool          default $(cc-option,$(m64-flag) -foo) if 64BIT          default $(cc-option,$(m32-flag) -foo)This is clumsy, but there is no elegant way to handle this in thecurrent static macro expansion.There was discussion for static functions vs dynamic functions.The consensus was to go as far as possible with the static functions.(https://lkml.org/lkml/2018/3/2/22)Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Tested-by: George Spelvin &lt;lkml@sdf.org&gt;Reviewed-by: Nathan Chancellor &lt;natechancellor@gmail.com&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Tue, 10 Mar 2020 10:12:49 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>3bed1b7b - kbuild: use -S instead of -E for precise cc-option test in Kconfig</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#3bed1b7b</link>
        <description>kbuild: use -S instead of -E for precise cc-option test in KconfigCurrently, -E (stop after the preprocessing stage) is used to checkwhether the given compiler flag is supported.While it is faster than -S (or -c), it can be false-positive. You needto run the compilation proper to check the flag more precisely.For example, -E and -S disagree about the support of&quot;--param asan-instrument-allocas=1&quot;.$ gcc -Werror --param asan-instrument-allocas=1 -E -x c /dev/null -o /dev/null$ echo $?0$ gcc -Werror --param asan-instrument-allocas=1 -S -x c /dev/null -o /dev/nullcc1: error: invalid --param name &#8216;asan-instrument-allocas&#8217;; did you mean &#8216;asan-instrument-writes&#8217;?$ echo $?1Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Fri, 17 Jan 2020 17:14:35 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>42d519e3 - kbuild: Add support for &apos;as-instr&apos; to be used in Kconfig files</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#42d519e3</link>
        <description>kbuild: Add support for &apos;as-instr&apos; to be used in Kconfig filesSimilar to &apos;cc-option&apos; or &apos;ld-option&apos;, it is occasionally necessary tocheck whether the assembler supports certain ISA extensions. In thearm64 code we currently do this in Makefile with an additional define:lseinstr := $(call as-instr,.arch_extension lse,-DCONFIG_AS_LSE=1)Add the &apos;as-instr&apos; option so that it can be used in Kconfig directly:	def_bool $(as-instr,.arch_extension lse)Acked-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Vladimir Murzin &lt;vladimir.murzin@arm.com&gt;Tested-by: Vladimir Murzin &lt;vladimir.murzin@arm.com&gt;Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Signed-off-by: Will Deacon &lt;will@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Wed, 15 Jan 2020 11:30:07 +0000</pubDate>
        <dc:creator>Catalin Marinas &lt;catalin.marinas@arm.com&gt;</dc:creator>
    </item>
<item>
        <title>75959d44 - kbuild: Fail if gold linker is detected</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#75959d44</link>
        <description>kbuild: Fail if gold linker is detectedThe gold linker has known issues of failing the build both in random and inpredictible ways: - The x86/X32 VDSO build fails with:   arch/x86/entry/vdso/vclock_gettime-x32.o:vclock_gettime.c:function do_hres:   error: relocation overflow: reference to &apos;hvclock_page&apos;   That&apos;s a known issue for years and the usual workaround is to disable   CONFIG_X86_32 - A recent build failure is caused by turning a relocation into an   absolute one for unknown reasons. See link below. - There are a couple of gold workarounds applied already, but reports   about broken builds with ld.gold keep coming in on a regular base and in   most cases the root cause is unclear.In context of the most recent fail H.J. stated:  &quot;Since building a workable kernel for different kernel configurations   isn&apos;t a requirement for gold, I don&apos;t recommend gold for kernel.&quot;So instead of dealing with attempts to duct tape gold support withoutunderstanding the root cause and without support from the gold folks, failthe build when gold is detected.Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Acked-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Link: https://lore.kernel.org/r/CAMe9rOqMqkQ0LNpm25yE_Yt0FKp05WmHOrwc0aRDb53miFKM+w@mail.gmail.comReviewed-by: Nathan Chancellor &lt;natechancellor@gmail.com&gt;Tested-by: Nathan Chancellor &lt;natechancellor@gmail.com&gt;Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Tue, 16 Jul 2019 19:47:27 +0000</pubDate>
        <dc:creator>Thomas Gleixner &lt;tglx@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>e8de12fb - kbuild: Check for unknown options with cc-option usage in Kconfig and clang</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#e8de12fb</link>
        <description>kbuild: Check for unknown options with cc-option usage in Kconfig and clangIf the particular version of clang a user has doesn&apos;t enable-Werror=unknown-warning-option by default, even though it is thedefault[1], then make sure to pass the option to the Kconfig cc-optioncommand so that testing options from Kconfig files works properly.Otherwise, depending on the default values setup in the clang toolchainwe will silently assume options such as -Wmaybe-uninitialized aresupported by clang, when they really aren&apos;t.A compilation issue only started happening for me once commit589834b3a009 (&quot;kbuild: Add -Werror=unknown-warning-option toCLANG_FLAGS&quot;) was applied on top of commit b303c6df80c9 (&quot;kbuild:compute false-positive -Wmaybe-uninitialized cases in Kconfig&quot;). Thisleads kbuild to try and test for the existence of the-Wmaybe-uninitialized flag with the cc-option command inscripts/Kconfig.include, and it doesn&apos;t see an error returned from theoption test so it sets the config value to Y. Then the Makefile tries topass the unknown option on the command line and-Werror=unknown-warning-option catches the invalid option and breaks thebuild. Before commit 589834b3a009 (&quot;kbuild: Add-Werror=unknown-warning-option to CLANG_FLAGS&quot;) the build works fine,but any cc-option test of a warning option in Kconfig files silentlyevaluates to true, even if the warning option flag isn&apos;t supported onclang.Note: This doesn&apos;t change cc-option usages in Makefiles because thoseuse a different rule that includes KBUILD_CFLAGS by default (see the__cc-option command in scripts/Kbuild.incluide). The KBUILD_CFLAGSvariable already has the -Werror=unknown-warning-option flag set. Thanksto Doug for pointing out the different rule.[1] https://clang.llvm.org/docs/DiagnosticsReference.html#wunknown-warning-optionCc: Peter Smith &lt;peter.smith@linaro.org&gt;Cc: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Cc: Douglas Anderson &lt;dianders@chromium.org&gt;Signed-off-by: Stephen Boyd &lt;swboyd@chromium.org&gt;Reviewed-by: Nathan Chancellor &lt;natechancellor@gmail.com&gt;Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Tue, 30 Jul 2019 16:48:03 +0000</pubDate>
        <dc:creator>Stephen Boyd &lt;swboyd@chromium.org&gt;</dc:creator>
    </item>
<item>
        <title>ec8f24b7 - treewide: Add SPDX license identifier - Makefile/Kconfig</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Kconfig.include#ec8f24b7</link>
        <description>treewide: Add SPDX license identifier - Makefile/KconfigAdd SPDX license identifiers to all Make/Kconfig files which: - Have no license information of any formThese files fall under the project license, GPL v2 only. The resulting SPDXlicense identifier is:  GPL-2.0-onlySigned-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/scripts/Kconfig.include</description>
        <pubDate>Sun, 19 May 2019 12:07:45 +0000</pubDate>
        <dc:creator>Thomas Gleixner &lt;tglx@linutronix.de&gt;</dc:creator>
    </item>
</channel>
</rss>
