On 30/06/2016 12:38, Thomas Monjalon wrote: > 2016-06-30 12:10, Sergio Gonzalez Monroy: >> 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> > Please could you detail which symbol is missing?
It is not missing a symbol, it is picking weak over non-weak symbol. It just happens that the only other using weak symbols are PMDs and they are under the scope of --whole-archive already. > Does it need to be commented in rte.app.mk? > The other libs are in whole-archive to support dlopen of drivers. > But the problem here is not because of a driver use. There seem to be a bunch of libraries under --whole-archive scope that are not PMDs, ie. cfgfile, cmdline... What is the criteria?