Re: [PATCH] net/tap: fix build issue with ARM32
From: Ophir Munk <hidden>
Date: 2018-01-31 09:59:47
Hi, Please see comments inline
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jerin Jacob
Sent: Wednesday, January 31, 2018 7:14 AM
To: dev@dpdk.org
Cc: Thomas Monjalon <redacted>; Jerin Jacob
[off-list ref]; Pascal Mazon
[off-list ref]; Jan Viktorin [off-list ref];
Jianbo Liu [off-list ref]
Subject: [dpdk-dev] [PATCH] net/tap: fix build issue with ARM32
arm32 Linux does not support eBPF interface.
Since tap PMD driver has a dependency on eBPF(the symbol __NR_bpf),
disabling it armv7 config.
compilation error log:
In file included from /tmp/dpdk/drivers/net/tap/tap_bpf_api.c:15:0:
/tmp/dpdk/drivers/net/tap/tap_bpf.h:103:4: error: #error __NR_bpf not
defined # error __NR_bpf not defined
^arm architecture is missing is file drivers/tap/tap_bpf.h I suggest adding it, for example # elif defined(__arm__) # define __NR_bpf 386 It should work for you. Can you please try it? If it doesn't work for you, please have a look in this link: https://sourceforge.net/p/predef/wiki/Architectures/ where you can see more arm architecture definitions. You should find the one suitable for you.
quoted hunk ↗ jump to hunk
/tmp/dpdk/drivers/net/tap/tap_bpf_api.c: In function ‘sys_bpf’: /tmp/dpdk/drivers/net/tap/tap_bpf_api.c:92:17: error: ‘__NR_bpf’ undeclared (first use in this function) return syscall(__NR_bpf, cmd, attr, size); ^ /tmp/dpdk/drivers/net/tap/tap_bpf_api.c:92:17: note: each undeclared identifier is reported only once for each function it appears in /tmp/dpdk/drivers/net/tap/tap_bpf_api.c:93:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors Fixes: b02d85e1 ("net/tap: add eBPF API") Cc: Pascal Mazon <redacted> Cc: Jan Viktorin <redacted> Cc: Jianbo Liu <redacted> Signed-off-by: Jerin Jacob <redacted> --- config/defconfig_arm-armv7a-linuxapp-gcc | 1 + 1 file changed, 1 insertion(+)diff --git a/config/defconfig_arm-armv7a-linuxapp-gccb/config/defconfig_arm-armv7a-linuxapp-gcc index a20b7a85f..4a55bb397 100644--- a/config/defconfig_arm-armv7a-linuxapp-gcc +++ b/config/defconfig_arm-armv7a-linuxapp-gcc@@ -80,3 +80,4 @@ CONFIG_RTE_LIBRTE_BNX2X_PMD=nCONFIG_RTE_LIBRTE_QEDE_PMD=n CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n CONFIG_RTE_LIBRTE_AVP_PMD=n +CONFIG_RTE_LIBRTE_PMD_TAP=n --
I suggest fixing the compilation issue by adding the missing architecture system call number (as suggested above) instead of disabling TAP compilation by default
2.16.1