> From: Stephen Hemminger [mailto:[email protected]]
> Sent: Tuesday, 20 October 2026 16.56
> 
> Without optimization GCC produces warnings for unreachable code paths.
> They check 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..bfac1cd93d 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

I replied in the wrong thread, here it comes again:

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 - You did this already!
lib/eal/ppc/include/rte_memcpy.h

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

Reply via email to