<?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 gcc</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>1bfaa37f - kbuild: dummy-tools: pretend we understand -fpatchable-function-entry</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/dummy-tools/gcc#1bfaa37f</link>
        <description>kbuild: dummy-tools: pretend we understand -fpatchable-function-entryCommit 0f71dcfb4aef (&quot;powerpc/ftrace: Add support for-fpatchable-function-entry&quot;) added a script to check for-fpatchable-function-entry compiler support. The script expects compilerto emit the section __patchable_function_entries and few nops after afunction entry.If the compiler understands and emits the above,CONFIG_ARCH_USING_PATCHABLE_FUNCTION_ENTRY is set.So teach dummy-tools&apos; gcc about this.Signed-off-by: Jiri Slaby (SUSE) &lt;jirislaby@kernel.org&gt;Reviewed-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/dummy-tools/gcc</description>
        <pubDate>Mon, 30 Oct 2023 11:34:16 +0000</pubDate>
        <dc:creator>Jiri Slaby (SUSE) &lt;jirislaby@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>bfb41e46 - kbuild: dummy-tools: make MPROFILE_KERNEL checks work on BE</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/dummy-tools/gcc#bfb41e46</link>
        <description>kbuild: dummy-tools: make MPROFILE_KERNEL checks work on BECommit 2eab791f940b (&quot;kbuild: dummy-tools: support MPROFILE_KERNELchecks for ppc&quot;) added support for ppc64le&apos;s checks for-mprofile-kernel.Now, commit aec0ba7472a7 (&quot;powerpc/64: Use -mprofile-kernel for bigendian ELFv2 kernels&quot;) added support for -mprofile-kernel even onbig-endian ppc.So lift the check in gcc-check-mprofile-kernel.sh to support big-endian too.Fixes: aec0ba7472a7 (&quot;powerpc/64: Use -mprofile-kernel for big endian ELFv2 kernels&quot;)Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/dummy-tools/gcc</description>
        <pubDate>Tue, 29 Aug 2023 10:51:06 +0000</pubDate>
        <dc:creator>Jiri Slaby &lt;jslaby@suse.cz&gt;</dc:creator>
    </item>
<item>
        <title>0df499ea - kbuild: dummy-tools: pretend we understand __LONG_DOUBLE_128__</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/dummy-tools/gcc#0df499ea</link>
        <description>kbuild: dummy-tools: pretend we understand __LONG_DOUBLE_128__There is a test in powerpc&apos;s Kconfig which checks __LONG_DOUBLE_128__and sets CONFIG_PPC_LONG_DOUBLE_128 if it is understood by the compiler.We currently don&apos;t handle it, so this results in PPC_LONG_DOUBLE_128 notbeing in super-config generated by dummy-tools. So take this intoaccount in the gcc script and preprocess __LONG_DOUBLE_128__ as &quot;1&quot;.Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/dummy-tools/gcc</description>
        <pubDate>Wed, 10 Aug 2022 09:26:03 +0000</pubDate>
        <dc:creator>Jiri Slaby &lt;jslaby@suse.cz&gt;</dc:creator>
    </item>
<item>
        <title>aac28965 - kbuild: dummy-tools: avoid tmpdir leak in dummy gcc</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/dummy-tools/gcc#aac28965</link>
        <description>kbuild: dummy-tools: avoid tmpdir leak in dummy gccWhen passed -print-file-name=plugin, the dummy gcc script creates atemporary directory that is never cleaned up. To avoid cluttering$TMPDIR, instead use a static directory included in the source tree.Fixes: 76426e238834 (&quot;kbuild: add dummy toolchains to enable all cc-option etc. in Kconfig&quot;)Signed-off-by: Ondrej Mosnacek &lt;omosnace@redhat.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/dummy-tools/gcc</description>
        <pubDate>Mon, 11 Jul 2022 12:09:23 +0000</pubDate>
        <dc:creator>Ondrej Mosnacek &lt;omosnace@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>c93db682 - kbuild: dummy-tools: adjust to stricter stackprotector check</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/dummy-tools/gcc#c93db682</link>
        <description>kbuild: dummy-tools: adjust to stricter stackprotector checkCommit 3fb0fdb3bbe7 (&quot;x86/stackprotector/32: Make the canary into a regularpercpu variable&quot;) modified the stackprotector check on 32-bit x86 to checkif gcc supports using %fs as canary. Adjust dummy-tools gcc script to passthis new test by returning &quot;%fs&quot; rather than &quot;%gs&quot; if it detects-mstack-protector-guard-reg=fs on command line.Fixes: 3fb0fdb3bbe7 (&quot;x86/stackprotector/32: Make the canary into a regular percpu variable&quot;)Signed-off-by: Michal Kubecek &lt;mkubecek@suse.cz&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/dummy-tools/gcc</description>
        <pubDate>Sat, 15 May 2021 10:11:13 +0000</pubDate>
        <dc:creator>Michal Kubecek &lt;mkubecek@suse.cz&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/dummy-tools/gcc#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/dummy-tools/gcc</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>f9bc754b - kbuild: dummy-tools: adjust to scripts/cc-version.sh</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/dummy-tools/gcc#f9bc754b</link>
        <description>kbuild: dummy-tools: adjust to scripts/cc-version.shCommit aec6c60a01d3 (&quot;kbuild: check the minimum compiler version inKconfig&quot;) changed how the script detects the compiler version.Get &apos;make CROSS_COMPILE=scripts/dummy-tools/&apos; back working again.Fixes: aec6c60a01d3 (&quot;kbuild: check the minimum compiler version in Kconfig&quot;)Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Tested-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Acked-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/dummy-tools/gcc</description>
        <pubDate>Tue, 09 Mar 2021 16:25:45 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>2eab791f - kbuild: dummy-tools: support MPROFILE_KERNEL checks for ppc</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/dummy-tools/gcc#2eab791f</link>
        <description>kbuild: dummy-tools: support MPROFILE_KERNEL checks for ppcppc64le checks for -mprofile-kernel to define MPROFILE_KERNEL Kconfig.Kconfig calls arch/powerpc/tools/gcc-check-mprofile-kernel.sh for thatpurpose. This script performs two checks:1) build with -mprofile-kernel should contain &quot;_mcount&quot;2) build with -mprofile-kernel with a function marked as &quot;notrace&quot;   should not produce &quot;_mcount&quot;So support this in dummy-tools&apos; gcc, so that we have MPROFILE_KERNELalways true.Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/dummy-tools/gcc</description>
        <pubDate>Mon, 08 Mar 2021 06:28:20 +0000</pubDate>
        <dc:creator>Jiri Slaby &lt;jslaby@suse.cz&gt;</dc:creator>
    </item>
<item>
        <title>b3d9fc14 - kbuild: dummy-tools: fix inverted tests for gcc</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/dummy-tools/gcc#b3d9fc14</link>
        <description>kbuild: dummy-tools: fix inverted tests for gccThere is a test in Kconfig which takes inverted value of a compilercheck:* config CC_HAS_INT128        def_bool !$(cc-option,$(m64-flag) -D__SIZEOF_INT128__=0)This results in CC_HAS_INT128 not being in super-config generated bydummy-tools. So take this into account in the gcc script.Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/dummy-tools/gcc</description>
        <pubDate>Wed, 03 Mar 2021 10:43:14 +0000</pubDate>
        <dc:creator>Jiri Slaby &lt;jslaby@suse.cz&gt;</dc:creator>
    </item>
<item>
        <title>f4c3b83b - kbuild: simplify GCC_PLUGINS enablement in dummy-tools/gcc</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/dummy-tools/gcc#f4c3b83b</link>
        <description>kbuild: simplify GCC_PLUGINS enablement in dummy-tools/gccWith commit 1e860048c53e (&quot;gcc-plugins: simplify GCC plugin-devcapability test&quot;) applied, this hunk can be way simplified becausenow scripts/gcc-plugins/Kconfig only checks plugin-version.hSigned-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/dummy-tools/gcc</description>
        <pubDate>Sat, 23 Jan 2021 09:16:30 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>76426e23 - kbuild: add dummy toolchains to enable all cc-option etc. in Kconfig</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/dummy-tools/gcc#76426e23</link>
        <description>kbuild: add dummy toolchains to enable all cc-option etc. in KconfigStaring v4.18, Kconfig evaluates compiler capabilities, and hides CONFIGoptions your compiler does not support. This works well if you configureand build the kernel on the same host machine.It is inconvenient if you prepare the .config that is carried to adifferent build environment (typically this happens when you packagethe kernel for distros) because using a different compiler potentiallyproduces different CONFIG options than the real build environment.So, you probably want to make as many options visible as possible.In other words, you need to create a super-set of CONFIG options thatcover any build environment. If some of the CONFIG options turned outto be unsupported on the build machine, they are automatically disabledby the nature of Kconfig.However, it is not feasible to get a full-featured compiler for everyarch.This issue was discussed here:  https://lkml.org/lkml/2019/12/9/620Other than distros, savedefconfig is also a problem. Some arch sub-systemsperiodically resync defconfig files. If you use a less-capable compilerfor savedefconfig, options that do not meet &apos;depends on $(cc-option,...)&apos;will be forcibly disabled. So, &apos;make defconfig &amp;&amp; make savedefconfig&apos;may silently change the behavior.This commit adds a set of dummy toolchains that pretend to support anyfeature.Most of compiler features are tested by cc-option, which simply checksthe exit code of $(CC). The dummy tools are shell scripts that alwaysexit with 0. So, $(cc-option, ...) is evaluated as &apos;y&apos;.There are more complicated checks such as:  scripts/gcc-x86_{32,64}-has-stack-protector.sh  scripts/gcc-plugin.sh  scripts/tools-support-relr.shscripts/dummy-tools/gcc passes all checks.From the top directory of the source tree, you can do:   $ make CROSS_COMPILE=scripts/dummy-tools/ oldconfigSigned-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Philipp Rudo &lt;prudo@linux.ibm.com&gt;Tested-by: Jeremy Cline &lt;jcline@redhat.com&gt;

            List of files:
            /linux-6.15/scripts/dummy-tools/gcc</description>
        <pubDate>Tue, 07 Apr 2020 15:53:52 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
