Since below commit, ACL library is outside the scope of --whole-archive and ACL autotest fails.
RTE>>acl_autotest ACL: allocation of 25166728 bytes on socket 9 for ACL_acl_ctx failed ACL: rte_acl_add_rules(acl_ctx): rule #1 is invalid Line 1584: SSE classify with zero categories failed! Test Failed This is the result of the linker picking weak over non-weak functions. Fixes: 95dc3c3cf31c ("mk: reduce scope of whole-archive static linking") Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy at intel.com> --- v4: - keep order of acl in _LDLIBS and wrap it with --whole-archive v3: - patch version history - carry Acked-by v2: - add comment in makefile mk/rte.app.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mk/rte.app.mk b/mk/rte.app.mk index bf8bcf9..ea22961 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -76,7 +76,10 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += -lrte_ip_frag _LDLIBS-$(CONFIG_RTE_LIBRTE_METER) += -lrte_meter _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrte_sched _LDLIBS-$(CONFIG_RTE_LIBRTE_LPM) += -lrte_lpm +# librte_acl needs --whole-archive because of weak functions +_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += --whole-archive _LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += -lrte_acl +_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += --no-whole-archive _LDLIBS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += -lrte_jobstats _LDLIBS-$(CONFIG_RTE_LIBRTE_POWER) += -lrte_power -- 2.4.11