gcc-plugins: Reorganize gimple includes for GCC 13

Message ID 20230118202355.never.520-kees@kernel.org
State New
Headers
Series gcc-plugins: Reorganize gimple includes for GCC 13 |

Commit Message

Kees Cook Jan. 18, 2023, 8:24 p.m. UTC
  The gimple-iterator.h header must be included before gimple-fold.h
starting with GCC 13. Reorganize gimple headers to work for all GCC
versions.

Reported-by: Palmer Dabbelt <palmer@rivosinc.com>
Link: https://lore.kernel.org/all/20230113173033.4380-1-palmer@rivosinc.com/
Cc: linux-hardening@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 scripts/gcc-plugins/gcc-common.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Palmer Dabbelt Jan. 18, 2023, 8:25 p.m. UTC | #1
On Wed, 18 Jan 2023 12:24:02 PST (-0800), keescook@chromium.org wrote:
> The gimple-iterator.h header must be included before gimple-fold.h
> starting with GCC 13. Reorganize gimple headers to work for all GCC
> versions.
>
> Reported-by: Palmer Dabbelt <palmer@rivosinc.com>
> Link: https://lore.kernel.org/all/20230113173033.4380-1-palmer@rivosinc.com/
> Cc: linux-hardening@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>
> ---
>  scripts/gcc-plugins/gcc-common.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/gcc-plugins/gcc-common.h b/scripts/gcc-plugins/gcc-common.h
> index 9a1895747b15..84c730da36dd 100644
> --- a/scripts/gcc-plugins/gcc-common.h
> +++ b/scripts/gcc-plugins/gcc-common.h
> @@ -71,7 +71,9 @@
>  #include "varasm.h"
>  #include "stor-layout.h"
>  #include "internal-fn.h"
> +#include "gimple.h"
>  #include "gimple-expr.h"
> +#include "gimple-iterator.h"
>  #include "gimple-fold.h"
>  #include "context.h"
>  #include "tree-ssa-alias.h"
> @@ -85,10 +87,8 @@
>  #include "tree-eh.h"
>  #include "stmt.h"
>  #include "gimplify.h"
> -#include "gimple.h"
>  #include "tree-phinodes.h"
>  #include "tree-cfg.h"
> -#include "gimple-iterator.h"
>  #include "gimple-ssa.h"
>  #include "ssa-iterators.h"

Thanks, not sure how I missed it the first round.  My testing box is 
tied up, but I'v egot the same diff lying around somewhere so

Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
  

Patch

diff --git a/scripts/gcc-plugins/gcc-common.h b/scripts/gcc-plugins/gcc-common.h
index 9a1895747b15..84c730da36dd 100644
--- a/scripts/gcc-plugins/gcc-common.h
+++ b/scripts/gcc-plugins/gcc-common.h
@@ -71,7 +71,9 @@ 
 #include "varasm.h"
 #include "stor-layout.h"
 #include "internal-fn.h"
+#include "gimple.h"
 #include "gimple-expr.h"
+#include "gimple-iterator.h"
 #include "gimple-fold.h"
 #include "context.h"
 #include "tree-ssa-alias.h"
@@ -85,10 +87,8 @@ 
 #include "tree-eh.h"
 #include "stmt.h"
 #include "gimplify.h"
-#include "gimple.h"
 #include "tree-phinodes.h"
 #include "tree-cfg.h"
-#include "gimple-iterator.h"
 #include "gimple-ssa.h"
 #include "ssa-iterators.h"