[dpdk-stable] patch 'net/mlx: fix overlinking with meson and glue dlopen' has been queued to stable release 19.11.1

Thomas Monjalon thomas at monjalon.net
Mon Feb 17 19:07:22 CET 2020


17/02/2020 18:50, Luca Boccassi:
> This one required a few extra backports, you can see the end result at:
> 
> https://github.com/bluca/dpdk-stable/blob/19.11/drivers/net/mlx4/meson.build
> https://github.com/bluca/dpdk-stable/blob/19.11/drivers/net/mlx5/meson.build
> 
> I can drop the series of changes to mlx's meson.build alternatively if
> you prefer.

Your backport looks OK, thanks.

There is just a unneeded redundant allow_experimental_apis.


> On Mon, 2020-02-17 at 17:45 +0000, luca.boccassi at gmail.com wrote:
> > Hi,
> > 
> > FYI, your patch has been queued to stable release 19.11.1
> > 
> > Note it hasn't been pushed to 
> > http://dpdk.org/browse/dpdk-stable
> >  yet.
> > It will be pushed if I get no objections before 02/19/20. So please
> > shout if anyone has objections.
> > 
> > Also note that after the patch there's a diff of the upstream commit
> > vs the
> > patch applied to the branch. This will indicate if there was any
> > rebasing
> > needed to apply to the stable branch. If there were code changes for
> > rebasing
> > (ie: not only metadata diffs), please double check that the rebase
> > was
> > correctly done.
> > 
> > Thanks.
> > 
> > Luca Boccassi
> > 
> > ---
> > From 3253622dc4630e11207629aba50293049938ec20 Mon Sep 17 00:00:00
> > 2001
> > From: Thomas Monjalon <
> > thomas at monjalon.net
> > >
> > Date: Wed, 12 Feb 2020 23:07:08 +0100
> > Subject: [PATCH] net/mlx: fix overlinking with meson and glue dlopen
> > 
> > [ upstream commit e21492a5175af31ae568fa5fabef1f4b22706962 ]
> > 
> > If ibverbs_link is dlopen, the PMD and application should not
> > be linked with ibverbs, but the glue library is.
> > Unfortunately the ibverbs dependency was exported in the
> > variable ext_deps, so there were overlinking.
> > 
> > It is fixed by not exporting the dependency in ext_deps,
> > and recreating a limited dependency object for cflags only.
> > 
> > Fixes: 1dd7c7e38c19 ("net/mlx4: support meson build")
> > Fixes: 96d7c62a70c7 ("net/mlx5: support meson build")
> > Cc: 
> > stable at dpdk.org
> > 
> > 
> > Signed-off-by: Thomas Monjalon <
> > thomas at monjalon.net
> > >
> > Acked-by: Bruce Richardson <
> > bruce.richardson at intel.com
> > >
> > ---
> >  drivers/net/mlx4/meson.build | 6 ++++--
> >  drivers/net/mlx5/meson.build | 4 +++-
> >  2 files changed, 7 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/net/mlx4/meson.build
> > b/drivers/net/mlx4/meson.build
> > index 17711f154b..ff7386aee2 100644
> > --- a/drivers/net/mlx4/meson.build
> > +++ b/drivers/net/mlx4/meson.build
> > @@ -31,7 +31,7 @@ foreach libname:libnames
> >  	endif
> >  	if lib.found()
> >  		libs += lib
> > -		if not static_ibverbs
> > +		if not static_ibverbs and not dlopen_ibverbs
> >  			ext_deps += lib
> >  		endif
> >  	else
> > @@ -41,10 +41,12 @@ foreach libname:libnames
> >  endforeach
> >  
> >  if build
> > -	if static_ibverbs
> > +	if static_ibverbs or dlopen_ibverbs
> >  		# Build without adding shared libs to Requires.private
> >  		ibv_cflags = run_command(pkgconf, '--cflags',
> > 'libibverbs').stdout()
> >  		ext_deps += declare_dependency(compile_args:
> > ibv_cflags.split())
> > +	endif
> > +	if static_ibverbs
> >  		# Add static deps ldflags to internal apps and
> > Libs.private
> >  		ibv_ldflags = run_command(ldflags_ibverbs_static,
> > check:true).stdout()
> >  		ext_deps +=
> > declare_dependency(link_args:ibv_ldflags.split())
> > diff --git a/drivers/net/mlx5/meson.build
> > b/drivers/net/mlx5/meson.build
> > index e21f3d8dc8..dab1b83fd3 100644
> > --- a/drivers/net/mlx5/meson.build
> > +++ b/drivers/net/mlx5/meson.build
> > @@ -41,10 +41,12 @@ foreach libname:libnames
> >  endforeach
> >  
> >  if build
> > -	if static_ibverbs
> > +	if static_ibverbs or dlopen_ibverbs
> >  		# Build without adding shared libs to Requires.private
> >  		ibv_cflags = run_command(pkgconf, '--cflags',
> > 'libibverbs').stdout()
> >  		ext_deps += declare_dependency(compile_args:
> > ibv_cflags.split())
> > +	endif
> > +	if static_ibverbs
> >  		# Add static deps ldflags to internal apps and
> > Libs.private
> >  		ibv_ldflags = run_command(ldflags_ibverbs_static,
> > check:true).stdout()
> >  		ext_deps +=
> > declare_dependency(link_args:ibv_ldflags.split())
> > 
> 







More information about the stable mailing list