[dpdk-dev] [PATCH v2] net/i40e: remove weak symbols

bynes adam adambynes at outlook.com
Thu Jul 21 20:58:12 CEST 2016


On Wed, Jul 20, 2016 at 06:11:16PM +0100, Zoltan Kiss wrote:
Hi, Kiss
> Using weak symbols have a few issues with static linking:
> 
> - normally the linker searches the .o files already linked, if your weak
>   one is there, it won't check if there is a strong version
> - unless the symbol is directly referred, but it's not the right thing to
>   rely on
> - or --whole-archive specified in the command line, which pulls in a lot
>   of unwanted stuff
--whole-archive on the other hand can ensure all the object files are linked,
and the strong symbol will take precedence over weak symbol. So we don't need to
take care of the sequence of the object files in the ar or between ar.
> - whole-archive also makes libtool dropping the library from the command
>   line, which is what should happen with dynamic linking, but not with
>   static (observed on Ubuntu 14.04). This is an important bug if you
>   build a static library depending on DPDK
you mean the libtool bug for --whole-archive?
if it does, you shouldn't using the libtool, 
BTW what's the circumstance you must use the libtool. using you own makefile for
the library or APP.
> 
> This patch merges the two version and make the behaviour rely on the
> config.
> 
> If we can agree in the concept, I can send a series to fix this for the
> other weak functions.
> 
> Signed-off-by: Zoltan Kiss <zoltan.kiss at schaman.hu>
> ---
> 
> Notes:
>     v2: fix commit message
> 
>  drivers/net/i40e/i40e_rxtx.c     | 36 +++++++++++++++++++++++++++++++++++-
>  drivers/net/i40e/i40e_rxtx_vec.c | 36 ------------------------------------
>  2 files changed, 35 insertions(+), 37 deletions(-)
> 
>From the original design, we follow the rule, we don't want the Macro in the file
to seperate the different Rx/Tx path for disabled/enabled vector configuration.
Adam Bynes


More information about the dev mailing list