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