<?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 Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>5a6b64ad - gcc-plugins: drop -std=gnu++11 to fix GCC 13 build</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#5a6b64ad</link>
        <description>gcc-plugins: drop -std=gnu++11 to fix GCC 13 buildThe latest GCC 13 snapshot (13.0.1 20230129) gives the following:```cc1: error: cannot load plugin ./scripts/gcc-plugins/randomize_layout_plugin.so :./scripts/gcc-plugins/randomize_layout_plugin.so: undefined symbol: tree_code_type```This ends up being because of https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=b0241ce6e37031upstream in GCC which changes the visibility of some types used by the kernel&apos;splugin infrastructure like tree_code_type.After discussion with the GCC folks, we found that the kernel needs to be buildingplugins with the same flags used to build GCC - and GCC defaults to gnu++17right now. The minimum GCC version needed to build the kernel is GCC 5.1and GCC 5.1 already defaults to gnu++14 anyway, so just drop the flag, asall GCCs that could be used to build GCC already default to an acceptableversion which was &gt;= the version we forced via flags until now.Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108634Signed-off-by: Sam James &lt;sam@gentoo.org&gt;Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;Link: https://lore.kernel.org/r/20230201230009.2252783-1-sam@gentoo.org

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Wed, 01 Feb 2023 23:00:09 +0000</pubDate>
        <dc:creator>Sam James &lt;sam@gentoo.org&gt;</dc:creator>
    </item>
<item>
        <title>d37aa2ef - gcc-plugins: use KERNELVERSION for plugin version</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#d37aa2ef</link>
        <description>gcc-plugins: use KERNELVERSION for plugin versionCommit 61f60bac8c05 (&quot;gcc-plugins: Change all version strings matchkernel&quot;) broke parallel builds.Instead of adding the dependency between GCC plugins and utsrelease.h,let&apos;s use KERNELVERSION, which does not require any build artifact.Another reason why I want to avoid utsrelease.h is because it dependson CONFIG_LOCALVERSION(_AUTO) and localversion* files.(include/generated/utsrelease.h depends on include/config/kernel.release,which is generated by scripts/setlocalversion)I want to keep host tools independent of the kernel configuration.There is no good reason to rebuild GCC plugins just because ofCONFIG_LOCALVERSION being changed.We just want to associate the plugin versions with the kernel sourceversion. KERNELVERSION should be enough for our purpose.Fixes: 61f60bac8c05 (&quot;gcc-plugins: Change all version strings match kernel&quot;)Reported-by: kernel test robot &lt;lkp@intel.com&gt;Link: https://lore.kernel.org/linux-mm/202205230239.EZxeZ3Fv-lkp@intel.comReported-by: Guenter Roeck &lt;linux@roeck-us.net&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;Link: https://lore.kernel.org/r/20220524135541.1453693-1-masahiroy@kernel.org

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Tue, 24 May 2022 13:55:41 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>61f60bac - gcc-plugins: Change all version strings match kernel</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#61f60bac</link>
        <description>gcc-plugins: Change all version strings match kernelIt&apos;s not meaningful for the GCC plugins to track their versions separatelyfrom the rest of the kernel. Switch all versions to the kernel version.Fix mismatched indenting while we&apos;re at it.Cc: linux-hardening@vger.kernel.orgSigned-off-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Tue, 10 May 2022 23:25:54 +0000</pubDate>
        <dc:creator>Kees Cook &lt;keescook@chromium.org&gt;</dc:creator>
    </item>
<item>
        <title>be2b34fa - randstruct: Move seed generation into scripts/basic/</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#be2b34fa</link>
        <description>randstruct: Move seed generation into scripts/basic/To enable Clang randstruct support, move the structure layoutrandomization seed generation out of scripts/gcc-plugins/ intoscripts/basic/ so it happens early enough that it can be used by eithercompiler implementation. The gcc-plugin still builds its own header file,but now does so from the common &quot;randstruct.seed&quot; file.Cc: linux-hardening@vger.kernel.orgSigned-off-by: Kees Cook &lt;keescook@chromium.org&gt;Link: https://lore.kernel.org/r/20220503205503.3054173-6-keescook@chromium.org

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Tue, 03 May 2022 20:55:02 +0000</pubDate>
        <dc:creator>Kees Cook &lt;keescook@chromium.org&gt;</dc:creator>
    </item>
<item>
        <title>ce6ed1c4 - kbuild: rebuild GCC plugins when the compiler is upgraded</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#ce6ed1c4</link>
        <description>kbuild: rebuild GCC plugins when the compiler is upgradedLinus reported a build error due to the GCC plugin incompatibilitywhen the compiler is upgraded. [1]GCC plugins are tied to a particular GCC version. So, they must berebuilt when the compiler is upgraded.This seems to be a long-standing flaw since the initial support ofGCC plugins.Extend commit 8b59cd81dc5e (&quot;kbuild: ensure full rebuild when thecompiler is updated&quot;), so that GCC plugins are covered by thecompiler upgrade detection.[1]: https://lore.kernel.org/lkml/CAHk-=wieoN5ttOy7SnsGwZv+Fni3R6m-Ut=oxih6bbZ28G+4dw@mail.gmail.com/Reported-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Thu, 04 Mar 2021 11:37:08 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>67a5a680 - gcc-plugins: fix gcc 11 indigestion with plugins...</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#67a5a680</link>
        <description>gcc-plugins: fix gcc 11 indigestion with plugins...Fedora Rawhide has started including gcc 11,and the g++ compilerthrows a wobbly when it hits scripts/gcc-plugins:  HOSTCXX scripts/gcc-plugins/latent_entropy_plugin.soIn file included from /usr/include/c++/11/type_traits:35,                 from /usr/lib/gcc/x86_64-redhat-linux/11/plugin/include/system.h:244,                 from /usr/lib/gcc/x86_64-redhat-linux/11/plugin/include/gcc-plugin.h:28,                 from scripts/gcc-plugins/gcc-common.h:7,                 from scripts/gcc-plugins/latent_entropy_plugin.c:78:/usr/include/c++/11/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.   32 | #error This file requires compiler and library support \In fact, it works just fine with c++11, which has been in gcc since 4.8,and we now require 4.9 as a minimum.Signed-off-by: Valdis Kletnieks &lt;valdis.kletnieks@vt.edu&gt;Acked-by: Josh Poimboeuf &lt;jpoimboe@redhat.com&gt;Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;Link: https://lore.kernel.org/r/82487.1609006918@turing-police

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Sat, 26 Dec 2020 18:21:58 +0000</pubDate>
        <dc:creator>Valdis Kl&#275;tnieks &lt;valdis.kletnieks@vt.edu&gt;</dc:creator>
    </item>
<item>
        <title>42640b13 - kbuild: move host .so build rules to scripts/gcc-plugins/Makefile</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#42640b13</link>
        <description>kbuild: move host .so build rules to scripts/gcc-plugins/MakefileThe host shared library rules are currently implemented inscripts/Makefile.host, but actually GCC-plugin is the only user ofthem. (The VDSO .so files are built for the target by differentbuild rules) Hence, they do not need to be treewide available.Move all the relevant build rules to scripts/gcc-plugins/Makefile.I also optimized the build steps so *.so is directly built from .cbecause every upstream plugin is compiled from a single source file.I am still keeping the multi-file plugin support, which Kees Cookmentioned might be needed by out-of-tree plugins.(https://lkml.org/lkml/2019/1/11/1107)If the plugin, foo.so, is compiled from two files foo.c and foo2.c,then you can do like follows:  foo-objs := foo.o foo2.oSingle-file plugins do not need the *-objs notation.Signed-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/gcc-plugins/Makefile</description>
        <pubDate>Wed, 29 Jul 2020 03:15:36 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>827365ff - gcc-plugins: remove always-false $(if ...) in Makefile</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#827365ff</link>
        <description>gcc-plugins: remove always-false $(if ...) in MakefileThis is the remnant of commit c17d6179ad5a (&quot;gcc-plugins: remove unusedGCC_PLUGIN_SUBDIR&quot;).The conditional $(if $(findstring /,$(p)),...) is always false becausenone of plugins contains &apos;/&apos; in the file name.Clean up the code.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Sun, 10 May 2020 02:00:44 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>c7527373 - gcc-common.h: Update for GCC 10</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#c7527373</link>
        <description>gcc-common.h: Update for GCC 10Remove &quot;params.h&quot; include, which has been dropped in GCC 10.Remove is_a_helper() macro, which is now defined in gimple.h, as seenwhen running &apos;./scripts/gcc-plugin.sh g++ g++ gcc&apos;:In file included from &lt;stdin&gt;:1:./gcc-plugins/gcc-common.h:852:13: error: redefinition of &#8216;static bool is_a_helper&lt;T&gt;::test(U*) [with U = const gimple; T = const ggoto*]&#8217;  852 | inline bool is_a_helper&lt;const ggoto *&gt;::test(const_gimple gs)      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~In file included from ./gcc-plugins/gcc-common.h:125,                 from &lt;stdin&gt;:1:/usr/lib/gcc/x86_64-redhat-linux/10/plugin/include/gimple.h:1037:1: note: &#8216;static bool is_a_helper&lt;T&gt;::test(U*) [with U = const gimple; T = const ggoto*]&#8217; previously declared here 1037 | is_a_helper &lt;const ggoto *&gt;::test (const gimple *gs)      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~Add -Wno-format-diag to scripts/gcc-plugins/Makefile to avoidmeaningless warnings from error() formats used by plugins:scripts/gcc-plugins/structleak_plugin.c: In function &#8216;int plugin_init(plugin_name_args*, plugin_gcc_version*)&#8217;:scripts/gcc-plugins/structleak_plugin.c:253:12: warning: unquoted sequence of 2 consecutive punctuation characters &#8216;&apos;-&#8217; in format [-Wformat-diag]  253 |   error(G_(&quot;unknown option &apos;-fplugin-arg-%s-%s&apos;&quot;), plugin_name, argv[i].key);      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Signed-off-by: Fr&#233;d&#233;ric Pierret (fepitre) &lt;frederic.pierret@qubes-os.org&gt;Link: https://lore.kernel.org/r/20200407113259.270172-1-frederic.pierret@qubes-os.org[kees: include -Wno-format-diag for plugin builds]Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Tue, 07 Apr 2020 11:32:59 +0000</pubDate>
        <dc:creator>Fr&#233;d&#233;ric Pierret (fepitre) &lt;frederic.pierret@qubes-os.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/gcc-plugins/Makefile#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/gcc-plugins/Makefile</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>735aab1e - kbuild: add -Wall to KBUILD_HOSTCXXFLAGS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#735aab1e</link>
        <description>kbuild: add -Wall to KBUILD_HOSTCXXFLAGSAdd -Wall to catch more warnings for C++ host programs.When I submitted the previous version, the 0-day bot reported-Wc++11-compat warnings for old GCC:  HOSTCXX -fPIC scripts/gcc-plugins/latent_entropy_plugin.oIn file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/plugin/include/tm.h:28:0,                 from scripts/gcc-plugins/gcc-common.h:15,                 from scripts/gcc-plugins/latent_entropy_plugin.c:78:/usr/lib/gcc/x86_64-linux-gnu/4.8/plugin/include/config/elfos.h:102:21: warning: C++11 requires a space between string literal and macro [-Wc++11-compat]    fprintf ((FILE), &quot;%s&quot;HOST_WIDE_INT_PRINT_UNSIGNED&quot;\n&quot;,\                     ^/usr/lib/gcc/x86_64-linux-gnu/4.8/plugin/include/config/elfos.h:170:24: warning: C++11 requires a space between string literal and macro [-Wc++11-compat]       fprintf ((FILE), &quot;,&quot;HOST_WIDE_INT_PRINT_UNSIGNED&quot;,%u\n&quot;,  \                        ^In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/plugin/include/tm.h:42:0,                 from scripts/gcc-plugins/gcc-common.h:15,                 from scripts/gcc-plugins/latent_entropy_plugin.c:78:/usr/lib/gcc/x86_64-linux-gnu/4.8/plugin/include/defaults.h:126:24: warning: C++11 requires a space between string literal and macro [-Wc++11-compat]       fprintf ((FILE), &quot;,&quot;HOST_WIDE_INT_PRINT_UNSIGNED&quot;,%u\n&quot;,  \                        ^The source of the warnings is in the plugin headers, so we have nocontrol of it. I just suppressed them by adding -Wno-c++11-compat toscripts/gcc-plugins/Makefile.Signed-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/gcc-plugins/Makefile</description>
        <pubDate>Wed, 25 Mar 2020 03:14:32 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>5f2fb52f - kbuild: rename hostprogs-y/always to hostprogs/always-y</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#5f2fb52f</link>
        <description>kbuild: rename hostprogs-y/always to hostprogs/always-yIn old days, the &quot;host-progs&quot; syntax was used for specifying hostprograms. It was renamed to the current &quot;hostprogs-y&quot; in 2004.It is typically useful in scripts/Makefile because it allows Kbuild toselectively compile host programs based on the kernel configuration.This commit renames like follows:  always       -&gt;  always-y  hostprogs-y  -&gt;  hostprogsSo, scripts/Makefile will look like this:  always-$(CONFIG_BUILD_BIN2C) += ...  always-$(CONFIG_KALLSYMS)    += ...      ...  hostprogs := $(always-y) $(always-m)I think this makes more sense because a host program is always a hostprogram, irrespective of the kernel configuration. We want to specifywhich ones to compile by CONFIG options, so always-y will be handier.The &quot;always&quot;, &quot;hostprogs-y&quot;, &quot;hostprogs-m&quot; will be kept for backwardcompatibility for a while.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Sat, 01 Feb 2020 16:49:24 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>c17d6179 - gcc-plugins: remove unused GCC_PLUGIN_SUBDIR</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#c17d6179</link>
        <description>gcc-plugins: remove unused GCC_PLUGIN_SUBDIRGCC_PLUGIN_SUBDIR has never been used.  If you really need this inthe future, please re-add it then.For now, the code is unused. Remove.&apos;export HOSTLIBS&apos; is not necessary either.Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Tue, 03 Jul 2018 00:39:12 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;</dc:creator>
    </item>
<item>
        <title>59f53855 - gcc-plugins: test plugin support in Kconfig and clean up Makefile</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#59f53855</link>
        <description>gcc-plugins: test plugin support in Kconfig and clean up MakefileRun scripts/gcc-plugin.sh from Kconfig so that users can enableGCC_PLUGINS only when the compiler supports building plugins.Kconfig defines a new symbol, PLUGIN_HOSTCC.  This will containthe compiler (g++ or gcc) used for building plugins, or emptyif the plugin can not be supported at all.This allows us to remove all ugly testing in Makefile.gcc-plugins.Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;Acked-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Mon, 28 May 2018 09:22:06 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;</dc:creator>
    </item>
<item>
        <title>5aadfdeb - kcov: test compiler capability in Kconfig and correct dependency</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#5aadfdeb</link>
        <description>kcov: test compiler capability in Kconfig and correct dependencyAs Documentation/kbuild/kconfig-language.txt notes, &apos;select&apos; should bebe used with care - it forces a lower limit of another symbol, ignoringthe dependency.  Currently, KCOV can select GCC_PLUGINS even if archdoes not select HAVE_GCC_PLUGINS.  This could cause the unmet directdependency.Now that Kconfig can test compiler capability, let&apos;s handle this in amore sophisticated way.There are two ways to enable KCOV; use the compiler that nativelysupports -fsanitize-coverage=trace-pc, or build the SANCOV plugin ifthe compiler has ability to build GCC plugins.  Hence, the correctdependency for KCOV is:  depends on CC_HAS_SANCOV_TRACE_PC || GCC_PLUGINSYou do not need to build the SANCOV plugin if the compiler alreadysupports -fsanitize-coverage=trace-pc.  Hence, the select should be:  select GCC_PLUGIN_SANCOV if !CC_HAS_SANCOV_TRACE_PCWith this, GCC_PLUGIN_SANCOV is selected only when necessary, soscripts/Makefile.gcc-plugins can be cleaner.I also cleaned up Kconfig and scripts/Makefile.kcov as well.Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;Reviewed-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Mon, 28 May 2018 09:22:04 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;</dc:creator>
    </item>
<item>
        <title>b2441318 - License cleanup: add SPDX GPL-2.0 license identifier to files with no license</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#b2441318</link>
        <description>License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseMany source files in the tree are missing licensing information, whichmakes it harder for compliance tools to determine the correct license.By default all files without license information are under the defaultlicense of the kernel, which is GPL version 2.Update the files which contain no license information with the &apos;GPL-2.0&apos;SPDX license identifier.  The SPDX identifier is a legally bindingshorthand, which can be used instead of the full boiler plate text.This patch is based on work done by Thomas Gleixner and Kate Stewart andPhilippe Ombredanne.How this work was done:Patches were generated and checked against linux-4.14-rc6 for a subset ofthe use cases: - file had no licensing information it it. - file was a */uapi/* one with no licensing information in it, - file was a */uapi/* one with existing licensing information,Further patches will be generated in subsequent months to fix up caseswhere non-standard license headers were used, and references to licensehad to be inferred by heuristics based on keywords.The analysis to determine which SPDX License Identifier to be applied toa file was done in a spreadsheet of side by side results from of theoutput of two independent scanners (ScanCode &amp; Windriver) producing SPDXtag:value files created by Philippe Ombredanne.  Philippe prepared thebase worksheet, and did an initial spot review of a few 1000 files.The 4.13 kernel was the starting point of the analysis with 60,537 filesassessed.  Kate Stewart did a file by file comparison of the scannerresults in the spreadsheet to determine which SPDX license identifier(s)to be applied to the file. She confirmed any determination that was notimmediately clear with lawyers working with the Linux Foundation.Criteria used to select files for SPDX license identifier tagging was: - Files considered eligible had to be source code files. - Make and config files were included as candidates if they contained &gt;5   lines of source - File already had some variant of a license header in it (even if &lt;5   lines).All documentation files were explicitly excluded.The following heuristics were used to determine which SPDX licenseidentifiers to apply. - when both scanners couldn&apos;t find any license traces, file was   considered to have no license information in it, and the top level   COPYING file license applied.   For non */uapi/* files that summary was:   SPDX license identifier                            # files   ---------------------------------------------------|-------   GPL-2.0                                              11139   and resulted in the first patch in this series.   If that file was a */uapi/* path one, it was &quot;GPL-2.0 WITH   Linux-syscall-note&quot; otherwise it was &quot;GPL-2.0&quot;.  Results of that was:   SPDX license identifier                            # files   ---------------------------------------------------|-------   GPL-2.0 WITH Linux-syscall-note                        930   and resulted in the second patch in this series. - if a file had some form of licensing information in it, and was one   of the */uapi/* ones, it was denoted with the Linux-syscall-note if   any GPL family license was found in the file or had no licensing in   it (per prior point).  Results summary:   SPDX license identifier                            # files   ---------------------------------------------------|------   GPL-2.0 WITH Linux-syscall-note                       270   GPL-2.0+ WITH Linux-syscall-note                      169   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause)    21   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)    17   LGPL-2.1+ WITH Linux-syscall-note                      15   GPL-1.0+ WITH Linux-syscall-note                       14   ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause)    5   LGPL-2.0+ WITH Linux-syscall-note                       4   LGPL-2.1 WITH Linux-syscall-note                        3   ((GPL-2.0 WITH Linux-syscall-note) OR MIT)              3   ((GPL-2.0 WITH Linux-syscall-note) AND MIT)             1   and that resulted in the third patch in this series. - when the two scanners agreed on the detected license(s), that became   the concluded license(s). - when there was disagreement between the two scanners (one detected a   license but the other didn&apos;t, or they both detected different   licenses) a manual inspection of the file occurred. - In most cases a manual inspection of the information in the file   resulted in a clear resolution of the license that should apply (and   which scanner probably needed to revisit its heuristics). - When it was not immediately clear, the license identifier was   confirmed with lawyers working with the Linux Foundation. - If there was any question as to the appropriate license identifier,   the file was flagged for further research and to be revisited later   in time.In total, over 70 hours of logged manual review was done on thespreadsheet to determine the SPDX license identifiers to apply to thesource files by Kate, Philippe, Thomas and, in some cases, confirmationby lawyers working with the Linux Foundation.Kate also obtained a third independent scan of the 4.13 code base fromFOSSology, and compared selected files where the other two scannersdisagreed against that SPDX file, to see if there was new insights.  TheWindriver scanner is based on an older version of FOSSology in part, sothey are related.Thomas did random spot checks in about 500 files from the spreadsheetsfor the uapi headers and agreed with SPDX license identifier in thefiles he inspected. For the non-uapi files Thomas did random spot checksin about 15000 files.In initial set of patches against 4.14-rc6, 3 files were found to havecopy/paste license identifier errors, and have been fixed to reflect thecorrect identifier.Additionally Philippe spent 10 hours this week doing a detailed manualinspection and review of the 12,461 patched files from the initial patchversion early this week with: - a full scancode scan run, collecting the matched texts, detected   license ids and scores - reviewing anything where there was a license detected (about 500+   files) to ensure that the applied SPDX license was correct - reviewing anything where there was no detection but the patch license   was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied   SPDX license was correctThis produced a worksheet with 20 files needing minor correction.  Thisworksheet was then exported into 3 different .csv files for thedifferent types of files to be modified.These .csv files were then reviewed by Greg.  Thomas wrote a script toparse the csv files and add the proper SPDX tag to the file, in theformat that the file expected.  This script was further refined by Gregbased on the output to detect more types of files automatically and todistinguish between header and source .c files (which need differentcomment types.)  Finally Greg ran the script using the .csv files togenerate the patches.Reviewed-by: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;Reviewed-by: Philippe Ombredanne &lt;pombredanne@nexb.com&gt;Reviewed-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/gcc-plugins/Makefile</description>
        <pubDate>Wed, 01 Nov 2017 14:07:57 +0000</pubDate>
        <dc:creator>Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;</dc:creator>
    </item>
<item>
        <title>313dd1b6 - gcc-plugins: Add the randstruct plugin</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#313dd1b6</link>
        <description>gcc-plugins: Add the randstruct pluginThis randstruct plugin is modified from Brad Spengler/PaX Team&apos;s codein the last public patch of grsecurity/PaX based on my understandingof the code. Changes or omissions from the original code are mine anddon&apos;t reflect the original grsecurity/PaX code.The randstruct GCC plugin randomizes the layout of selected structuresat compile time, as a probabilistic defense against attacks that need toknow the layout of structures within the kernel. This is most useful for&quot;in-house&quot; kernel builds where neither the randomization seed nor otherbuild artifacts are made available to an attacker. While less useful fordistribution kernels (where the randomization seed must be exposed forthird party kernel module builds), it still has some value there since nowall kernel builds would need to be tracked by an attacker.In more performance sensitive scenarios, GCC_PLUGIN_RANDSTRUCT_PERFORMANCEcan be selected to make a best effort to restrict randomization tocacheline-sized groups of elements, and will not randomize bitfields. Thiscomes at the cost of reduced randomization.Two annotations are defined,__randomize_layout and __no_randomize_layout,which respectively tell the plugin to either randomize or not torandomize instances of the struct in question. Follow-on patches enablethe auto-detection logic for selecting structures for randomizationthat contain only function pointers. It is disabled here to assist withbisection.Since any randomized structs must be initialized using designatedinitializers, __randomize_layout includes the __designated_init annotationeven when the plugin is disabled so that all builds will requirethe needed initialization. (With the plugin enabled, annotations forautomatically chosen structures are marked as well.)The main differences between this implemenation and grsecurity are:- disable automatic struct selection (to be enabled in follow-up patch)- add designated_init attribute at runtime and for manual marking- clarify debugging output to differentiate bad cast warnings- add whitelisting infrastructure- support gcc 7&apos;s DECL_ALIGN and DECL_MODE changes (Laura Abbott)- raise minimum required GCC version to 4.7Earlier versions of this patch series were ported by Michael Leibowitz.Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Sat, 06 May 2017 06:37:45 +0000</pubDate>
        <dc:creator>Kees Cook &lt;keescook@chromium.org&gt;</dc:creator>
    </item>
<item>
        <title>caefd8c9 - gcc-plugins: Add support for plugin subdirectories</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#caefd8c9</link>
        <description>gcc-plugins: Add support for plugin subdirectoriesThis adds support for building more complex gcc plugins that live in asubdirectory instead of just in a single source file.Reported-by: PaX Team &lt;pageexec@freemail.hu&gt;Signed-off-by: Emese Revfy &lt;re.emese@gmail.com&gt;[kees: clarified commit message]Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Sun, 26 Jun 2016 15:38:20 +0000</pubDate>
        <dc:creator>Emese Revfy &lt;re.emese@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7040c83b - gcc-plugins: Automate make rule generation</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#7040c83b</link>
        <description>gcc-plugins: Automate make rule generationThere&apos;s no reason to repeat the same names in the Makefile when the .sofiles have already been listed. The .o list can be generated from them.Reported-by: PaX Team &lt;pageexec@freemail.hu&gt;Signed-off-by: Emese Revfy &lt;re.emese@gmail.com&gt;[kees: clarified commit message]Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Sun, 26 Jun 2016 15:36:43 +0000</pubDate>
        <dc:creator>Emese Revfy &lt;re.emese@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>543c37cb - Add sancov plugin</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/gcc-plugins/Makefile#543c37cb</link>
        <description>Add sancov pluginThe sancov gcc plugin inserts a __sanitizer_cov_trace_pc() callat the start of basic blocks.This plugin is a helper plugin for the kcov feature. It supportsall gcc versions with plugin support (from gcc-4.5 on).It is based on the gcc commit &quot;Add fuzzing coverage support&quot; by Dmitry Vyukov(https://gcc.gnu.org/viewcvs/gcc?limit_changes=0&amp;view=revision&amp;revision=231296).Signed-off-by: Emese Revfy &lt;re.emese@gmail.com&gt;Acked-by: Kees Cook &lt;keescook@chromium.org&gt;Signed-off-by: Michal Marek &lt;mmarek@suse.com&gt;

            List of files:
            /linux-6.15/scripts/gcc-plugins/Makefile</description>
        <pubDate>Mon, 23 May 2016 22:11:37 +0000</pubDate>
        <dc:creator>Emese Revfy &lt;re.emese@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
