[PATCH] gcc-plugins: Remove TODO_verify_il for GCC >= 16

From: Kees Cook

Date: Sat Sep 20 2025 - 19:45:27 EST


GCC now runs TODO_verify_il automatically[1], so it is no longer exposed to
plugins. Only use the flag on GCC < 16.

Suggested-by: Christopher Fore <csfore@xxxxxxxxxx>
Link: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=9739ae9384dd7cd3bb1c7683d6b80b7a9116eaf8
Signed-off-by: Kees Cook <kees@xxxxxxxxxx>
---
How about like this, so it'll still work on GCC <16?
Cc: <linux-hardening@xxxxxxxxxxxxxxx>
---
scripts/gcc-plugins/gcc-common.h | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/scripts/gcc-plugins/gcc-common.h b/scripts/gcc-plugins/gcc-common.h
index 6cb6d1051815..8f1b3500f8e2 100644
--- a/scripts/gcc-plugins/gcc-common.h
+++ b/scripts/gcc-plugins/gcc-common.h
@@ -173,10 +173,17 @@ static inline opt_pass *get_pass_for_id(int id)
return g->get_passes()->get_pass_for_id(id);
}

+#if BUILDING_GCC_VERSION < 16000
#define TODO_verify_ssa TODO_verify_il
#define TODO_verify_flow TODO_verify_il
#define TODO_verify_stmts TODO_verify_il
#define TODO_verify_rtl_sharing TODO_verify_il
+#else
+#define TODO_verify_ssa 0
+#define TODO_verify_flow 0
+#define TODO_verify_stmts 0
+#define TODO_verify_rtl_sharing 0
+#endif

#define INSN_DELETED_P(insn) (insn)->deleted()

--
2.34.1