On 6/10/2016 2:19 PM, Thomas Monjalon wrote: > From: Ferruh Yigit <ferruh.yigit at intel.com> > > The --whole-archive argument is only required for plugins (drivers) > and libraries used by these plugins. > Currently it covers all libraries. > Reducing the scope of this argument slightly reduce final application size > when statically linked. > > Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com> > Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com> > ---
Technically the scope of --whole-archive should be PMDs, wider scope required because of unresolved references, but I think this is not good workaround. If libraries ordered as suggested before: pmd->librte->external, won't need to extend scope of parameter Still some applications will have problem for now, because of cyclic dependency of librte_eal and librte_mempool, which seems targeted to fix. So, instead of adding --whole-archive as workaround that efffects whole binaries, I am for adding workaround for effected application. The be effected this problem, an application should have direct calls to librte_eal, but shouldn't have any calls to librte_mempool, I think this rare case, that is why only a unit test application effected. And when dependency issue removed we can fix this. To be able to apply workaround per application, LDFLAGS should be set in a way to commented previous patch. Thanks, ferruh