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 <[email protected]>
---
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)
default y
help
GCC plugins are loadable modules that provide extra features to the
--
2.44.0
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 <[email protected]>
> ---
> 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
On Wed, Mar 13, 2024 at 6:53 AM Kees Cook <[email protected]> wrote:
>
> 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/132.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 <[email protected]>
> > ---
> > 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
>
This patch set should be rejected.
It was already discussed in the past.
Just install a proper package, then gcc-plugin will work.
https://lore.kernel.org/all/CAHk-=wjjiYjCp61gdAMpDOsUBU-A2hFFKJoVx5VAC7yV4K6WYg@mail.gmail.com/
--
Best Regards
Masahiro Yamada
On Wed, Mar 13, 2024 at 12:47:59PM +0900, Masahiro Yamada wrote:
> On Wed, Mar 13, 2024 at 6:53 AM Kees Cook <[email protected]> wrote:
> >
> > 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 <[email protected]>
> > > ---
> > > 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
>
> This patch set should be rejected.
>
>
> It was already discussed in the past.
> Just install a proper package, then gcc-plugin will work.
>
> https://lore.kernel.org/all/CAHk-=wjjiYjCp61gdAMpDOsUBU-A2hFFKJoVx5VAC7yV4K6WYg@mail.gmail.com/
Thanks for the pointer.
As there is already consensus I agree that the patches should not be used.
Thomas