diff options
author | Mingli Yu <mingli.yu@windriver.com> | 2021-06-10 15:00:36 +0800 |
---|---|---|
committer | Anuj Mittal <anuj.mittal@intel.com> | 2021-06-10 16:24:12 +0800 |
commit | e73b8ba6a6ea6e987a3a67456b6951c717633396 (patch) | |
tree | 87e82fe398672816ed7a95d42ee31839283489cc | |
parent | c011004a49ffb1304f376f0fdc65066913102d5f (diff) | |
download | meta-dpdk-e73b8ba6a6ea6e987a3a67456b6951c717633396.tar.gz |
dpdk: fix build with GCC 11
Fixes:
| In function 'memset',
| inlined from 'test_table_stub' at test_table_tables.c:151:4:
| /buildarea/tmp/work/intel_x86_64-wrs-linux/dpdk/19.11.5-r0/recipe-sysroot/usr/include/bits/string_fortified.h:59:10: error: '__builtin_memset' offset [0, 31] is out of the bounds [0, 0] [-Werror=array-bounds]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-rw-r--r-- | recipes-extended/dpdk/dpdk/0001-test-table-fix-build-with-GCC-11.patch | 56 | ||||
-rw-r--r-- | recipes-extended/dpdk/dpdk_19.11.5.bb | 3 |
2 files changed, 58 insertions, 1 deletions
diff --git a/recipes-extended/dpdk/dpdk/0001-test-table-fix-build-with-GCC-11.patch b/recipes-extended/dpdk/dpdk/0001-test-table-fix-build-with-GCC-11.patch new file mode 100644 index 0000000..4f76290 --- /dev/null +++ b/recipes-extended/dpdk/dpdk/0001-test-table-fix-build-with-GCC-11.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | From 33c12ac5ba5f09727c6de807e71403dd260a7bbc Mon Sep 17 00:00:00 2001 | ||
2 | From: Ferruh Yigit <ferruh.yigit@intel.com> | ||
3 | Date: Mon, 17 May 2021 16:57:39 +0100 | ||
4 | Subject: [PATCH] test/table: fix build with GCC 11 | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Build error: | ||
10 | ../app/test/test_table_tables.c: In function ‘test_table_stub’: | ||
11 | ../app/test/test_table_tables.c:31:9: | ||
12 | warning: ‘memset’ offset [0, 31] is out of the bounds [0, 0] | ||
13 | [-Warray-bounds] | ||
14 | memset((uint8_t *)mbuf + sizeof(struct rte_mbuf) + 32, 0, 32); \ | ||
15 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
16 | ../app/test/test_table_tables.c:151:25: | ||
17 | note: in expansion of macro ‘PREPARE_PACKET’ | ||
18 | 151 | PREPARE_PACKET(mbufs[i], 0xadadadad); | ||
19 | | ^~~~~~~~~~~~~~ | ||
20 | |||
21 | 'key' points to mbuf header + 32 bytes, and memset clears next 32 bytes | ||
22 | of 'key', so overall there needs to be 64 bytes after mbuf header. | ||
23 | Adding a mbuf size check before memset. | ||
24 | |||
25 | The original code has an assumption that mbuf data buffer follows mbuf | ||
26 | header, this patch accepts same assumption. | ||
27 | |||
28 | Bugzilla ID: 677 | ||
29 | Fixes: 5205954791cb ("app/test: packet framework unit tests") | ||
30 | Cc: stable@dpdk.org | ||
31 | |||
32 | Upstream-Status: Backport [https://github.com/DPDK/dpdk/commit/33c12ac5ba5f09727c6de807e71403dd260a7bbc] | ||
33 | |||
34 | Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> | ||
35 | Signed-off-by: Mingli Yu <mingli.yu@windriver.com> | ||
36 | --- | ||
37 | app/test/test_table_tables.c | 3 ++- | ||
38 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
39 | |||
40 | diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c | ||
41 | index 1aa269f95..4ff6ab16a 100644 | ||
42 | --- a/app/test/test_table_tables.c | ||
43 | +++ b/app/test/test_table_tables.c | ||
44 | @@ -28,7 +28,8 @@ table_test table_tests[] = { | ||
45 | APP_METADATA_OFFSET(0)); \ | ||
46 | key = RTE_MBUF_METADATA_UINT8_PTR(mbuf, \ | ||
47 | APP_METADATA_OFFSET(32)); \ | ||
48 | - memset(key, 0, 32); \ | ||
49 | + if (mbuf->priv_size + mbuf->buf_len >= 64) \ | ||
50 | + memset(key, 0, 32); \ | ||
51 | k32 = (uint32_t *) key; \ | ||
52 | k32[0] = (value); \ | ||
53 | *signature = pipeline_test_hash(key, NULL, 0, 0); \ | ||
54 | -- | ||
55 | 2.17.1 | ||
56 | |||
diff --git a/recipes-extended/dpdk/dpdk_19.11.5.bb b/recipes-extended/dpdk/dpdk_19.11.5.bb index 8410c8a..2ae9b43 100644 --- a/recipes-extended/dpdk/dpdk_19.11.5.bb +++ b/recipes-extended/dpdk/dpdk_19.11.5.bb | |||
@@ -4,7 +4,8 @@ SRC_URI += " \ | |||
4 | file://dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \ | 4 | file://dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \ |
5 | file://dpdk-16.07-add-sysroot-option-within-app-makefile.patch \ | 5 | file://dpdk-16.07-add-sysroot-option-within-app-makefile.patch \ |
6 | file://0001-Starting-from-Linux-5.9-get_user_pages_remote-API-do.patch \ | 6 | file://0001-Starting-from-Linux-5.9-get_user_pages_remote-API-do.patch \ |
7 | file://usertools-devbind-fix-binding-for-built-in-kernel-dr.patch" | 7 | file://usertools-devbind-fix-binding-for-built-in-kernel-dr.patch \ |
8 | file://0001-test-table-fix-build-with-GCC-11.patch" | ||
8 | 9 | ||
9 | 10 | ||
10 | STABLE = "-stable" | 11 | STABLE = "-stable" |