Commit d37aa2ef authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Kees Cook

gcc-plugins: use KERNELVERSION for plugin version

Commit 61f60bac ("gcc-plugins: Change all version strings match
kernel") broke parallel builds.

Instead of adding the dependency between GCC plugins and utsrelease.h,
let's use KERNELVERSION, which does not require any build artifact.

Another reason why I want to avoid utsrelease.h is because it depends
on 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 of
CONFIG_LOCALVERSION being changed.

We just want to associate the plugin versions with the kernel source
version. KERNELVERSION should be enough for our purpose.

Fixes: 61f60bac ("gcc-plugins: Change all version strings match kernel")
Reported-by: default avatarkernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/linux-mm/202205230239.EZxeZ3Fv-lkp@intel.comReported-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220524135541.1453693-1-masahiroy@kernel.org
parent ed5edd5a
...@@ -28,7 +28,7 @@ GCC_PLUGINS_DIR = $(shell $(CC) -print-file-name=plugin) ...@@ -28,7 +28,7 @@ GCC_PLUGINS_DIR = $(shell $(CC) -print-file-name=plugin)
plugin_cxxflags = -Wp,-MMD,$(depfile) $(KBUILD_HOSTCXXFLAGS) -fPIC \ plugin_cxxflags = -Wp,-MMD,$(depfile) $(KBUILD_HOSTCXXFLAGS) -fPIC \
-include $(srctree)/include/linux/compiler-version.h \ -include $(srctree)/include/linux/compiler-version.h \
-include $(objtree)/include/generated/utsrelease.h \ -DPLUGIN_VERSION=$(call stringify,$(KERNELVERSION)) \
-I $(GCC_PLUGINS_DIR)/include -I $(obj) -std=gnu++11 \ -I $(GCC_PLUGINS_DIR)/include -I $(obj) -std=gnu++11 \
-fno-rtti -fno-exceptions -fasynchronous-unwind-tables \ -fno-rtti -fno-exceptions -fasynchronous-unwind-tables \
-ggdb -Wno-narrowing -Wno-unused-variable \ -ggdb -Wno-narrowing -Wno-unused-variable \
......
...@@ -82,7 +82,7 @@ __visible int plugin_is_GPL_compatible; ...@@ -82,7 +82,7 @@ __visible int plugin_is_GPL_compatible;
static GTY(()) tree latent_entropy_decl; static GTY(()) tree latent_entropy_decl;
static struct plugin_info latent_entropy_plugin_info = { static struct plugin_info latent_entropy_plugin_info = {
.version = UTS_RELEASE, .version = PLUGIN_VERSION,
.help = "disable\tturn off latent entropy instrumentation\n", .help = "disable\tturn off latent entropy instrumentation\n",
}; };
......
...@@ -34,7 +34,7 @@ __visible int plugin_is_GPL_compatible; ...@@ -34,7 +34,7 @@ __visible int plugin_is_GPL_compatible;
static int performance_mode; static int performance_mode;
static struct plugin_info randomize_layout_plugin_info = { static struct plugin_info randomize_layout_plugin_info = {
.version = UTS_RELEASE, .version = PLUGIN_VERSION,
.help = "disable\t\t\tdo not activate plugin\n" .help = "disable\t\t\tdo not activate plugin\n"
"performance-mode\tenable cacheline-aware layout randomization\n" "performance-mode\tenable cacheline-aware layout randomization\n"
}; };
......
...@@ -26,7 +26,7 @@ __visible int plugin_is_GPL_compatible; ...@@ -26,7 +26,7 @@ __visible int plugin_is_GPL_compatible;
tree sancov_fndecl; tree sancov_fndecl;
static struct plugin_info sancov_plugin_info = { static struct plugin_info sancov_plugin_info = {
.version = UTS_RELEASE, .version = PLUGIN_VERSION,
.help = "sancov plugin\n", .help = "sancov plugin\n",
}; };
......
...@@ -44,7 +44,7 @@ static bool verbose = false; ...@@ -44,7 +44,7 @@ static bool verbose = false;
static GTY(()) tree track_function_decl; static GTY(()) tree track_function_decl;
static struct plugin_info stackleak_plugin_info = { static struct plugin_info stackleak_plugin_info = {
.version = UTS_RELEASE, .version = PLUGIN_VERSION,
.help = "track-min-size=nn\ttrack stack for functions with a stack frame size >= nn bytes\n" .help = "track-min-size=nn\ttrack stack for functions with a stack frame size >= nn bytes\n"
"arch=target_arch\tspecify target build arch\n" "arch=target_arch\tspecify target build arch\n"
"disable\t\tdo not activate the plugin\n" "disable\t\tdo not activate the plugin\n"
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
__visible int plugin_is_GPL_compatible; __visible int plugin_is_GPL_compatible;
static struct plugin_info structleak_plugin_info = { static struct plugin_info structleak_plugin_info = {
.version = UTS_RELEASE, .version = PLUGIN_VERSION,
.help = "disable\tdo not activate plugin\n" .help = "disable\tdo not activate plugin\n"
"byref\tinit structs passed by reference\n" "byref\tinit structs passed by reference\n"
"byref-all\tinit anything passed by reference\n" "byref-all\tinit anything passed by reference\n"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment