47 lines
2.2 KiB
Diff
47 lines
2.2 KiB
Diff
From 2889419e10a68fad89df35350a1ea5e41e4cbf35 Mon Sep 17 00:00:00 2001
|
|
From: j00660176 <jiangheng14@huawei.com>
|
|
Date: Wed, 12 Jul 2023 16:39:56 +0800
|
|
Subject: [PATCH] example/l3fwd: masking wrong warning array subscript [0] is
|
|
partly outside array bounds
|
|
|
|
GCC 12 raises the following warning:
|
|
In file included from ../examples/l3fwd/l3fwd_lpm_neon.h:11,
|
|
from ../examples/l3fwd/l3fwd_lpm.c:135:
|
|
../examples/l3fwd/l3fwd_neon.h: In function 'port_groupx4':
|
|
../examples/l3fwd/l3fwd_neon.h:95:21: error: array subscript 'union <anonymous>[0]' is partly outside array bounds of 'uint16_t[5]' {aka 'short unsigned int[5]'} [-Werror=array-bounds]
|
|
95 | pnum->u64 = gptbl[v].pnum;
|
|
| ^~
|
|
../examples/l3fwd/l3fwd_neon.h:74:23: note: object 'pn' of size [0, 10]
|
|
74 | port_groupx4(uint16_t pn[FWDSTEP + 1], uint16_t *lp, uint16x8_t dp1,
|
|
| ~~~~~~~~~^~~~~~~~~~~~~~~
|
|
../examples/l3fwd/l3fwd_neon.h:96:21: error: array subscript 'union <anonymous>[0]' is partly outside array bounds of 'uint16_t[5]' {aka 'short unsigned int[5]'} [-Werror=array-bounds]
|
|
96 | pnum->u16[FWDSTEP] = 1;
|
|
| ^~
|
|
../examples/l3fwd/l3fwd_neon.h:74:23: note: object 'pn' of size [0, 10]
|
|
74 | port_groupx4(uint16_t pn[FWDSTEP + 1], uint16_t *lp, uint16x8_t dp1,
|
|
| ~~~~~~~~~^~~~~~~~~~~~~~~
|
|
cc1: all warnings being treated as errors
|
|
|
|
according to the code review, this is a wrong warning:
|
|
pnum's size is uint16_t * 5 = 10, FWDSTEP is 4, line 96 access pnum->[4]; lin95 access accesses a 64-bit value, taking up the first four elements of a number.
|
|
due to patch 0002-dpdk-add-secure-compile-option-and-fPIC-option.patch, it treats warnings as errors. so the l3fwd compilation fails.
|
|
---
|
|
examples/l3fwd/meson.build | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
diff --git a/examples/l3fwd/meson.build b/examples/l3fwd/meson.build
|
|
index 0830b3e..827206e 100644
|
|
--- a/examples/l3fwd/meson.build
|
|
+++ b/examples/l3fwd/meson.build
|
|
@@ -7,6 +7,8 @@
|
|
# DPDK instance, use 'make'
|
|
|
|
allow_experimental_apis = true
|
|
+cflags += ['-Wno-array-bounds']
|
|
+
|
|
deps += ['hash', 'lpm', 'fib', 'eventdev']
|
|
sources = files(
|
|
'l3fwd_em.c',
|
|
--
|
|
2.33.0
|