gcc12.patch

--- src/kernel/sel4/src/arch/x86/kernel/cmdline.c
+++ src/kernel/sel4/src/arch/x86/kernel/cmdline.c
@@ -109,14 +109,20 @@
     /* use BIOS data area to read serial configuration. The BDA is not
      * fully standardized and parts are absolete. See http://wiki.osdev.org/Memory_Map_(x86)#BIOS_Data_Area_.28BDA.29
      * for an explanation */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Warray-bounds"
     const unsigned short *bda_port = (unsigned short *)0x400;
     const unsigned short *bda_equi = (unsigned short *)0x410;
     int const bda_ports_count       = (*bda_equi >> 9) & 0x7;
+#pragma GCC diagnostic pop
 #endif
 
 #ifdef CONFIG_PRINTING
     /* initialise to default or use BDA if available */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Warray-bounds"
     cmdline_opt->console_port = bda_ports_count && *bda_port ? *bda_port : 0x3f8;
+#pragma GCC diagnostic pop
 
     if (parse_opt(cmdline, "console_port", cmdline_val, MAX_CMDLINE_VAL_LEN) != -1) {
         parse_uint16_array(cmdline_val, &cmdline_opt->console_port, 1);
@@ -138,7 +144,10 @@
 
 #ifdef CONFIG_DEBUG_BUILD
     /* initialise to default or use BDA if available */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Warray-bounds"
     cmdline_opt->debug_port = bda_ports_count && *bda_port ? *bda_port : 0x3f8;
+#pragma GCC diagnostic pop
     if (parse_opt(cmdline, "debug_port", cmdline_val, MAX_CMDLINE_VAL_LEN) != -1) {
         parse_uint16_array(cmdline_val, &cmdline_opt->debug_port, 1);
     }
--- src/kernel/sel4/tools/circular_includes.py
+++ src/kernel/sel4/tools/circular_includes.py
@@ -28,7 +28,7 @@
     if ignore_args and len(ignore_args):
         ignore_args = [re.escape(ignore) for ignore in ignore_args]
         ignore_re_string = '(' + '|'.join(ignore_args) + ')'
-        ignore_re = re.compile(r'^# 1 ".*' + ignore_re_string + '"')
+        ignore_re = re.compile(r'^# [01] ".*' + ignore_re_string + '"')
 
     header_re = re.compile(r'^# (\d+) "(.*\..)"')
 
