diff options
| author | Bruce Richardson <[email protected]> | 2024-01-10 15:01:03 +0000 |
|---|---|---|
| committer | Thomas Monjalon <[email protected]> | 2024-02-18 18:38:31 +0100 |
| commit | 51c9428dca9fad10bd60ca668ffdf78e4a801e2f (patch) | |
| tree | e9e8d59264557db3ad0af2c31c2784b0ab616385 /config | |
| parent | f2392079bb7edc9e4854c32afff0473362cb2021 (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.build | 3 |
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 |
