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+) "(.*\..)"')