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> --- mk/rte.app.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 83314ca..48d5e73 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -76,12 +76,13 @@ _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 -_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += -lrte_acl _LDLIBS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += -lrte_jobstats _LDLIBS-$(CONFIG_RTE_LIBRTE_POWER) += -lrte_power _LDLIBS-y += --whole-archive +# librte_acl needs --whole-archive because of weak functions +_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL) += -lrte_acl _LDLIBS-$(CONFIG_RTE_LIBRTE_TIMER) += -lrte_timer _LDLIBS-$(CONFIG_RTE_LIBRTE_HASH) += -lrte_hash _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lrte_vhost -- 2.4.11