| From foo@baz Sun Jun 17 12:07:34 CEST 2018 |
| From: Masahiro Yamada <yamada.masahiro@socionext.com> |
| Date: Fri, 13 Apr 2018 14:06:10 +0900 |
| Subject: gcc-plugins: fix build condition of SANCOV plugin |
| |
| From: Masahiro Yamada <yamada.masahiro@socionext.com> |
| |
| [ Upstream commit 642ef99be932c4071274b28eaf3d3d85bbb6e78c ] |
| |
| Since commit d677a4d60193 ("Makefile: support flag |
| -fsanitizer-coverage=trace-cmp"), you miss to build the SANCOV |
| plugin under some circumstances. |
| |
| CONFIG_KCOV=y |
| CONFIG_KCOV_ENABLE_COMPARISONS=y |
| Your compiler does not support -fsanitize-coverage=trace-pc |
| Your compiler does not support -fsanitize-coverage=trace-cmp |
| |
| Under this condition, $(CFLAGS_KCOV) is not empty but contains a |
| space, so the following ifeq-conditional is false. |
| |
| ifeq ($(CFLAGS_KCOV),) |
| |
| Then, scripts/Makefile.gcc-plugins misses to add sancov_plugin.so to |
| gcc-plugin-y while the SANCOV plugin is necessary as an alternative |
| means. |
| |
| Fixes: d677a4d60193 ("Makefile: support flag -fsanitizer-coverage=trace-cmp") |
| Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
| Acked-by: Kees Cook <keescook@chromium.org> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| scripts/Makefile.gcc-plugins | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/scripts/Makefile.gcc-plugins |
| +++ b/scripts/Makefile.gcc-plugins |
| @@ -14,7 +14,7 @@ ifdef CONFIG_GCC_PLUGINS |
| endif |
| |
| ifdef CONFIG_GCC_PLUGIN_SANCOV |
| - ifeq ($(CFLAGS_KCOV),) |
| + ifeq ($(strip $(CFLAGS_KCOV)),) |
| # It is needed because of the gcc-plugin.sh and gcc version checks. |
| gcc-plugin-$(CONFIG_GCC_PLUGIN_SANCOV) += sancov_plugin.so |
| |