Re: [PATCH 2/2] gcc-plugins: disable plugins when gmp.h is unavailable

From: Kees Cook
Date: Tue Mar 12 2024 - 17:53:58 EST


On Tue, Mar 12, 2024 at 04:03:30PM +0100, Thomas Weißschuh wrote:
> The header gmp.h is meant to be picked up from the host system.
>
> When it is unavailable the plugin build fails:
>
> In file included from ../crosstools/gcc-13.2.0-nolibc/i386-linux/bin/../lib/gcc/i386-linux/13.2.0/plugin/include/gcc-plugin.h:28,
> from ../scripts/gcc-plugins/gcc-common.h:7,
> from ../scripts/gcc-plugins/stackleak_plugin.c:30:
> ../crosstools/gcc-13.2.0-nolibc/i386-linux/bin/../lib/gcc/i386-linux/13.2.0/plugin/include/system.h:703:10: fatal error: gmp.h: No such file or directory
> 703 | #include <gmp.h>
> | ^~~~~~~
>
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>
> ---
> scripts/gcc-plugins/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/scripts/gcc-plugins/Kconfig b/scripts/gcc-plugins/Kconfig
> index e383cda05367..a664fb5cdde5 100644
> --- a/scripts/gcc-plugins/Kconfig
> +++ b/scripts/gcc-plugins/Kconfig
> @@ -10,6 +10,7 @@ menuconfig GCC_PLUGINS
> depends on HAVE_GCC_PLUGINS
> depends on CC_IS_GCC
> depends on $(success,test -e $(shell,$(CC) -print-file-name=plugin)/include/plugin-version.h)
> + depends on $(host-cc-option,-include gmp.h)

Why does the prior depends not fail? That's where plugin detection is
happening.

--
Kees Cook