On Thu, May 14, 2020 at 3:31 PM David Marchand
<david.march...@redhat.com> wrote:
>
> On Thu, May 14, 2020 at 2:39 PM Hemant Agrawal (OSS)
> <hemant.agra...@oss.nxp.com> wrote:
> >
> > [Hemant] this is working fine for pmd_dpaa but not for pmd_dpaa2
> >
> > I removed the filename_exp and introduced function based name=
> > Now the issue is  the following warning
> > SONAME changed from 'librte_pmd_dpaa2.so.20.0' to 
> > 'librte_pmd_dpaa2.so.0.200.2'
> >
> > The  primary reason is that now pmd_dpaa2 has no symbol left for 20.0 
> > section.
> > Following is not helping.
> > [suppress_file]
> >         soname_regexp = ^librte_pmd_dpaa2
> > so, it seems for now, the filename_exp is the only option
>
> That's interesting.
> Because I wondered about this point when reviewing __rte_internal.
> For components providing only internal symbols like components
> providing only experimental symbols, the build framework will select a
> soname with .0.200.x.
>
> Here, your dpaa2 driver was seen as a stable library so far.
> Moving everything to internal changes this and the build framework
> changes the soname to non stable.

Looking at a v19.11 testpmd binary:
$ readelf -d $HOME/abi/v19.11/build-gcc-shared/usr/local/bin/dpdk-testpmd
|grep dpaa
 0x0000000000000001 (NEEDED)             Shared library:
[librte_bus_dpaa.so.20.0]
 0x0000000000000001 (NEEDED)             Shared library:
[librte_common_dpaax.so.20.0]
 0x0000000000000001 (NEEDED)             Shared library:
[librte_mempool_dpaa.so.20.0]
 0x0000000000000001 (NEEDED)             Shared library:
[librte_pmd_dpaa.so.20.0]

Changing the soname would break this.

> You could keep an empty DPDK_20.0 block to avoid this and the soname
> will be kept as is.

We will have to maintain such soname for all dpaa libraries until 20.11.


-- 
David Marchand

Reply via email to