On Wed, 6 May 2020 19:21:23 +0200 Gaëtan Rivet <gr...@u256.net> wrote:
> On 06/05/20 14:43 +0200, David Marchand wrote: > > Internal symbols do not need the rte_ prefix. > > Some symbols do not need to be exposed in the private header and have > > been made static. > > > > Fixes: c752998b5e2e ("pci: introduce library and driver") > > > > Signed-off-by: David Marchand <david.march...@redhat.com> > > For this patch, I would like to understand why we are having this > policy. Symbols that are emitted for later linking will be present in > archives generated by the framework. Am I wrong to think they can > conflict with user app symbols? > > If that is correct, we should use pci_* prefix for static symbols, > rte_* for everything else, even "internal" symbols -- in the sense > that they are meant to be opaque to the user, but will still be linked > in static build. > > If I'm wrong in thinking this, then ok with this policy and let's go > forward to align naming in PCI bus. > Agree that all symbols need a prefix. Any symbol that is not static is visible to the application if static linking. There is some pre-linking magic can be done but DPDK isn't doing it.