25/02/2022 19:01, Ferruh Yigit: > On 2/24/2022 11:25 PM, Michael Baum wrote: > > The functions which are not explicitly marked as internal > > were exported because the local catch-all rule was missing in the > > version script. > > After adding the missing rule, all local functions are hidden. > > The function mlx5_get_device_guid is used in another library, > > so it needs to be exported (as internal). > > > > Because the local functions were exported as non-internal > > in DPDK 21.11, any change in these functions would break the ABI. > > An ABI exception is added for this library, considering that all > > functions are either local or internal. > > > > When a function is not listed explicitly in .map file, it shouldn't > be exported at all.
It seems we need local:* to achieve this behaviour. Few other libs are missing it. I plan to send a patch for them. > So I am not sure if this exception is required, did you get > warning for tool, or is this theoretical? It is not theoritical, you can check with objdump: objdump -T build/lib/librte_common_mlx5.so | sed -rn 's,^[[:xdigit:]]* g *(D[^0]*)[^ ]* *,\1,p' I did not check the ABI tool without the exception.