> From: Stephen Hemminger <[email protected]>
> Date: Tue, 20 Oct 2026 07:26:42 -0700
> Subject: [PATCH] build: disable GCC string op warnings when unoptimized
> 
> Without optimization GCC's -Wstringop-overflow and -Wstringop-overread
> are flow-insensitive: they check a memcpy() against the object size
> even on paths that are dead for the inlined arguments. This breaks
> debug builds of app/test with -Werror on lib/stack/rte_stack_pile.h,
> and has required local pragma workarounds elsewhere.
> 
> Disable both warnings when optimization is 0. They stay enabled for
> optimized builds, where the analysis is flow-sensitive.
> 
> Bugzilla ID: 2061
> 
> Reported-by: Ali Alnubani <[email protected]>
> Signed-off-by: Stephen Hemminger <[email protected]>
> ---
>  config/meson.build | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/config/meson.build b/config/meson.build
> index 745097e8aa..ac90b9d4fa 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -378,6 +378,12 @@ if cc.has_argument('-Wno-comma')
>      no_comma_cflag = '-Wno-comma'
>  endif
> 
> +# GCC's string/memory access warnings are flow-insensitive without
> +# optimization and produce false positives on dead paths of inlined
> code.
> +if get_option('optimization') == '0' and cc.get_id() == 'gcc'
> +    global_cflags += ['-Wno-stringop-overflow', '-Wno-stringop-
> overread']
> ++endif
> +
>  foreach arg: global_cflags
>      if cc.has_argument(arg)
>          add_project_arguments(arg, language: 'c')
> --
> 2.53.0


Also '-Warray-bounds'?

Consider making it a series, and also remove existing overflow/overread pragmas 
in the code (if viable):
lib/ring/rte_ring_elem_pvt.h
lib/eal/ppc/include/rte_memcpy.h

With or without suggested changes,
Acked-by: Morten Brørup <[email protected]>

Reply via email to