For ARM64 platform, libdpdk.a includes the librte_pmd_octeontx_ssovf.a, which requires the libatomic.a support.The atomic lib is built-in in the gcc toolchain, but for clang it has to be explicitly linked. For more details, please refer to https://clang.llvm.org/docs/Toolchain.html
~/dpdk/build/lib/librte_pmd_octeontx_ssovf.a(timvf_worker.o): In function `timvf_timer_cancel_burst': timvf_worker.c:(.text+0x80): undefined reference to `__atomic_fetch_add_8' /home/gavin/arm_repo/dpdk/build/lib/librte_pmd_octeontx_ssovf.a(timvf_worker.o): In function `timvf_timer_arm_burst_sp': timvf_worker.c:(.text+0x200): undefined reference to `__atomic_fetch_add_8' timvf_worker.c:(.text+0x244): undefined reference to `__atomic_store_2' timvf_worker.c:(.text+0x278): undefined reference to `__atomic_fetch_add_4' timvf_worker.c:(.text+0x30c): undefined reference to `__atomic_store_2' Signed-off-by: Gavin Hu <gavin...@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com> --- mk/rte.app.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 438f99d..bca8325 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -51,6 +51,7 @@ endif # Link only the libraries used in the application LDFLAGS += --as-needed +LDFLAGS += -latomic # default path for libs _LDLIBS-y += -L$(RTE_SDK_BIN)/lib -- 2.1.4