Re: [PATCH v3 1/3] gcc-plugins: Force full rebuild when plugins change

Nicolas Schier
2025-05-07T12:11:18Z

On Wed, 07 May 2025, Nicolas Schier wrote:

> On Sat, 03 May 2025, Kees Cook wrote:
>
> > There was no dependency between the plugins changing and the rest of the
> > kernel being built. This could cause strange behaviors as instrumentation
> > could vary between targets depending on when they were built.
> >
> > Generate a new header file, gcc-plugins.h, any time the GCC plugins
> > change. Include the header file in compiler-version.h when its associated
> > feature name, GCC_PLUGINS, is defined. This will be picked up by fixdep
> > and force rebuilds where needed.
> >
> > Add a generic "touch" kbuild command, which will be used again in
> > a following patch. Add a "normalize_path" string helper to make the
> > "TOUCH" output less ugly.
> >
> > Signed-off-by: Kees Cook <kees@kernel.org>
> > ---
> > Cc: Masahiro Yamada <masahiroy@kernel.org>
> > Cc: Nicolas Schier <nicolas.schier@linux.dev>
> > Cc: Nathan Chancellor <nathan@kernel.org>
> > Cc: <linux-hardening@vger.kernel.org>
> > Cc: <linux-kbuild@vger.kernel.org>
> > ---
> > include/linux/compiler-version.h | 4 ++++
> > scripts/Makefile.gcc-plugins | 2 +-
> > scripts/Makefile.lib | 18 ++++++++++++++++++
> > scripts/gcc-plugins/Makefile | 4 ++++
> > 4 files changed, 27 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/linux/compiler-version.h b/include/linux/compiler-version.h
> > index 573fa85b6c0c..74ea11563ce3 100644
> > --- a/include/linux/compiler-version.h
> > +++ b/include/linux/compiler-version.h
> > @@ -12,3 +12,7 @@
> > * and add dependency on include/config/CC_VERSION_TEXT, which is touched
> > * by Kconfig when the version string from the compiler changes.
> > */
> > +
> > +#ifdef GCC_PLUGINS
>
> Out of curiousity: Why can't we use CONFIG_GCC_PLUGINS here?

... because compiler-version.h is included before kconfig.h (which
includes autoconf.h). Sorry for the noise.