summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorBruce Richardson <[email protected]>2024-01-10 15:01:03 +0000
committerThomas Monjalon <[email protected]>2024-02-18 18:38:31 +0100
commit51c9428dca9fad10bd60ca668ffdf78e4a801e2f (patch)
treee9e8d59264557db3ad0af2c31c2784b0ab616385 /config
parentf2392079bb7edc9e4854c32afff0473362cb2021 (diff)
build: fix linker warnings about undefined symbols
The default behaviour of "ld.lld" has changed, so it now prints out warnings about entries in the version.map file which don't exist in the current build. Since we use our version.map file simply to filter out the functions we don't want made public, we include in it all functions across all OS's and builds that we want public if present. This causes these ld warnings to be emitted, e.g. on BSD, which is missing functionality found on Linux. For example: * hpet functions in EAL * regexdev enqueue and dequeue burst * eventdev event_timer functions Easiest solution, without major rework of how we use our version.map files, and without dynamically generating them per-build, is to pass the --undefined-version flag to the linker, to restore the old behaviour. Cc: [email protected] Signed-off-by: Bruce Richardson <[email protected]>
Diffstat (limited to 'config')
-rw-r--r--config/meson.build3
1 files changed, 3 insertions, 0 deletions
diff --git a/config/meson.build b/config/meson.build
index a9ccd56deb..65662c5de3 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -188,6 +188,9 @@ dpdk_conf.set('RTE_ARCH_32', cc.sizeof('void *') == 4)
if not is_windows
add_project_link_arguments('-Wl,--no-as-needed', language: 'c')
+ if cc.has_link_argument('-Wl,--undefined-version')
+ add_project_link_arguments('-Wl,--undefined-version', language: 'c')
+ endif
endif
# use pthreads if available for the platform