From c9ced46673941b846e4d0a82997310534085f79b Mon Sep 17 00:00:00 2001 From: Tim Wiederhake Date: Thu, 6 May 2021 17:08:33 +0200 Subject: [PATCH] meson: Allow undefined symbols when sanitizers are enabled When enabling sanitizers, clang adds some function symbols when instrumenting the code. The exact names of those functions are an implementation detail and should therefore not be added to any syms file. This patch prevents build failures due to those symbols not present in the syms file when building with sanitizers enabled. Signed-off-by: Tim Wiederhake Reviewed-by: Pavel Hrdina Reviewed-by: Michal Privoznik --- meson.build | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build index 5849975a72..eba6d9f765 100644 --- a/meson.build +++ b/meson.build @@ -491,9 +491,12 @@ libvirt_nodelete = cc.get_supported_link_arguments([ '-Wl,-z,nodelete', ]) -libvirt_no_undefined = cc.get_supported_link_arguments([ - '-Wl,-z,defs', -]) +libvirt_no_undefined = [] +if get_option('b_sanitize') == 'none' + libvirt_no_undefined += cc.get_supported_link_arguments([ + '-Wl,-z,defs', + ]) +endif libvirt_no_indirect = cc.get_supported_link_arguments([ '-Wl,--no-copy-dt-needed-entries', -- 2.47.2