On Wed, 6 May 2020 19:21:23 +0200
Gaëtan Rivet <[email protected]> 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 <[email protected]>
>
> 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.