[dpdk-dev] [PATCH v3 01/12] common/dpaax: move internal symbols into INTERNAL section
David Marchand
david.marchand at redhat.com
Thu May 14 18:28:50 CEST 2020
On Thu, May 14, 2020 at 3:31 PM David Marchand
<david.marchand at redhat.com> wrote:
>
> On Thu, May 14, 2020 at 2:39 PM Hemant Agrawal (OSS)
> <hemant.agrawal at 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
More information about the dev
mailing list