]> git.droids-corp.org - dpdk.git/commit
build: hide local symbols in shared libraries
authorThomas Monjalon <thomas@monjalon.net>
Sun, 6 Mar 2022 09:20:23 +0000 (10:20 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 8 Mar 2022 14:22:33 +0000 (15:22 +0100)
commitb403498e14229ee903c8fff9baefcb72894062f3
treebc19b5fffdd4951ecd08f133e5bfaaa3942dcc05
parent89e290eb8ca99af9f7cfc3292d93860f8e672708
build: hide local symbols in shared libraries

The symbols which are not listed in the version script
are exported by default.
Adding a local section with a wildcard make non-listed functions
and variables as hidden, as it should be in all version.map files.

These are the changes done in the shared libraries:
- DF .text  Base          auxiliary_add_device
- DF .text  Base          auxiliary_dev_exists
- DF .text  Base          auxiliary_dev_iterate
- DF .text  Base          auxiliary_insert_device
- DF .text  Base          auxiliary_is_ignored_device
- DF .text  Base          auxiliary_match
- DF .text  Base          auxiliary_on_scan
- DF .text  Base          auxiliary_scan
- DO .bss   Base          auxiliary_bus_logtype
- DO .data  Base          auxiliary_bus
- DO .bss   Base          gpu_logtype

There is no impact on regexdev library.

Because these local symbols were exported as non-internal
in DPDK 21.11, any change in these functions would break the ABI.
Exception rules are added for these experimental libraries,
so the ABI check will skip them until the next ABI version.

A check is added to avoid such miss in future.

Fixes: 1afce3086cf4 ("bus/auxiliary: introduce auxiliary bus")
Fixes: 8b8036a66e3d ("gpudev: introduce GPU device class library")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
devtools/check-symbol-maps.sh
devtools/libabigail.abignore
drivers/bus/auxiliary/version.map
lib/gpudev/version.map
lib/regexdev/version.map