[dpdk-dev] [PATCH v2 6/6] mk: reduce scope of whole-archive static linking

Ferruh Yigit ferruh.yigit at intel.com
Fri Jun 10 17:03:58 CEST 2016


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


More information about the dev mailing list