> -----Original Message----- > From: David Marchand <david.march...@redhat.com> > Sent: Thursday, June 27, 2024 3:37 PM > To: Ali Alnubani <alia...@nvidia.com> > Cc: dev@dpdk.org; NBU-Contact-Thomas Monjalon (EXTERNAL) > <tho...@monjalon.net>; sta...@dpdk.org; Bruce Richardson > <bruce.richard...@intel.com>; Mingjin Ye <mingjinx...@intel.com> > Subject: Re: [PATCH] buildtools: fix build with clang 17 > > On Wed, Mar 20, 2024 at 5:30 PM David Marchand > <david.march...@redhat.com> wrote: > > > > Hello Ali, Thomas, > > > > On Wed, Mar 20, 2024 at 5:01 PM Ali Alnubani <alia...@nvidia.com> wrote: > > > > > > On Fedora 39 with Clang 17.0.3 and ASan enabled, > > > RTE_PMD_EXPORT_NAME seems to be done twice for a single > > > lib, which results in load_drivers() returning a list > > > consisting of 2 drivers (e.g., ['mlx5_common_pci', '']). > > > image.find_by_prefix("this_pmd_name") returns 2 symbols in this case, > > > "mlx5_common_pci" and an empty string ''. This didn't reproduce > > > with clang version 16.0.6. > > > > > > This patch ensures that a symbol with an empty string_value doesn't > > > cause an addition to the list of drivers. > > > > I suppose this comes from ASan instrumenting the code: > > # nm /root/dpdk/build-clang/drivers/libtmp_rte_common_mlx5.a | grep > this_pmd > > 0000000000000000 r this_pmd_name3 > > 0000000000000000 n this_pmd_name3.e5676185d74e2e1a9de646deebca963f > > 0000000000000000 r this_pmd_name3 > > 0000000000000000 n this_pmd_name3.a2533baf7a46959f41383725087d4086 > > > > The name of the symbols this script should look for has a clear > > format, which is this_pmd_name[0-9]+. > > Filtering with this pattern, there would be no need to go and > > interpret a symbol content. > > Ali, can you send a v2? >
Hi David, Apologies for the delay, will continue working on this as soon as possible. Regards, Ali