From: Palmer Dabbelt <[email protected]>
The upcoming GCC release has refactored the gimple plugin interface a
bit and unless gimple-iterator.h is included before gimple-fold.h I end
up with a bunch of missing declarations when building the stack
protector plugin.
Link: https://inbox.sourceware.org/gcc-patches/CAFiYyc2q%2Bc-0uZb-zAskmR_U%2BM%[email protected]/
Signed-off-by: Palmer Dabbelt <[email protected]>
---
scripts/gcc-plugins/gcc-common.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/gcc-plugins/gcc-common.h b/scripts/gcc-plugins/gcc-common.h
index 9a1895747b15..2c3a3079128a 100644
--- a/scripts/gcc-plugins/gcc-common.h
+++ b/scripts/gcc-plugins/gcc-common.h
@@ -72,6 +72,7 @@
#include "stor-layout.h"
#include "internal-fn.h"
#include "gimple-expr.h"
+#include "gimple-iterator.h"
#include "gimple-fold.h"
#include "context.h"
#include "tree-ssa-alias.h"
@@ -88,7 +89,6 @@
#include "gimple.h"
#include "tree-phinodes.h"
#include "tree-cfg.h"
-#include "gimple-iterator.h"
#include "gimple-ssa.h"
#include "ssa-iterators.h"
--
2.39.0
On Fri, Jan 13, 2023 at 09:30:33AM -0800, Palmer Dabbelt wrote:
> From: Palmer Dabbelt <[email protected]>
>
> The upcoming GCC release has refactored the gimple plugin interface a
> bit and unless gimple-iterator.h is included before gimple-fold.h I end
> up with a bunch of missing declarations when building the stack
> protector plugin.
>
> Link: https://inbox.sourceware.org/gcc-patches/CAFiYyc2q%2Bc-0uZb-zAskmR_U%2BM%[email protected]/
> Signed-off-by: Palmer Dabbelt <[email protected]>
Eek, actually, I've unapplied this. It breaks on GCC 12.
--
Kees Cook
On Fri, 13 Jan 2023 09:30:33 -0800, Palmer Dabbelt wrote:
> From: Palmer Dabbelt <[email protected]>
>
> The upcoming GCC release has refactored the gimple plugin interface a
> bit and unless gimple-iterator.h is included before gimple-fold.h I end
> up with a bunch of missing declarations when building the stack
> protector plugin.
>
> [...]
Applied to for-next/hardening, thanks!
[1/1] gcc-plugins: Fix build for upcoming GCC release
https://git.kernel.org/kees/c/6d778f2045c7
--
Kees Cook
On Fri, Jan 13, 2023 at 09:30:33AM -0800, Palmer Dabbelt wrote:
> From: Palmer Dabbelt <[email protected]>
>
> The upcoming GCC release has refactored the gimple plugin interface a
> bit and unless gimple-iterator.h is included before gimple-fold.h I end
> up with a bunch of missing declarations when building the stack
> protector plugin.
>
> Link: https://inbox.sourceware.org/gcc-patches/CAFiYyc2q%2Bc-0uZb-zAskmR_U%2BM%[email protected]/
> Signed-off-by: Palmer Dabbelt <[email protected]>
> ---
> scripts/gcc-plugins/gcc-common.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Does this work for you?
diff --git a/scripts/gcc-plugins/gcc-common.h b/scripts/gcc-plugins/gcc-common.h
index 9a1895747b15..309b39cee275 100644
--- a/scripts/gcc-plugins/gcc-common.h
+++ b/scripts/gcc-plugins/gcc-common.h
@@ -72,6 +72,9 @@
#include "stor-layout.h"
#include "internal-fn.h"
#include "gimple-expr.h"
+#if BUILDING_GCC_VERSION >= 13000
+#include "gimple-iterator.h"
+#endif
#include "gimple-fold.h"
#include "context.h"
#include "tree-ssa-alias.h"
@@ -88,7 +91,9 @@
#include "gimple.h"
#include "tree-phinodes.h"
#include "tree-cfg.h"
+#if BUILDING_GCC_VERSION < 13000
#include "gimple-iterator.h"
+#endif
#include "gimple-ssa.h"
#include "ssa-iterators.h"
>
> diff --git a/scripts/gcc-plugins/gcc-common.h b/scripts/gcc-plugins/gcc-common.h
> index 9a1895747b15..2c3a3079128a 100644
> --- a/scripts/gcc-plugins/gcc-common.h
> +++ b/scripts/gcc-plugins/gcc-common.h
> @@ -72,6 +72,7 @@
> #include "stor-layout.h"
> #include "internal-fn.h"
> #include "gimple-expr.h"
> +#include "gimple-iterator.h"
> #include "gimple-fold.h"
> #include "context.h"
> #include "tree-ssa-alias.h"
> @@ -88,7 +89,6 @@
> #include "gimple.h"
> #include "tree-phinodes.h"
> #include "tree-cfg.h"
> -#include "gimple-iterator.h"
> #include "gimple-ssa.h"
> #include "ssa-iterators.h"
>
> --
> 2.39.0
>
--
Kees Cook