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 <twied...@redhat.com>
---
 meson.build | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meson.build b/meson.build
index bbdbe4afd8..56c1294e7f 100644
--- a/meson.build
+++ b/meson.build
@@ -497,6 +497,11 @@ libvirt_no_indirect = cc.get_supported_link_arguments([
   '-Wl,--no-copy-dt-needed-entries',
 ])
 
+if get_option('b_sanitize') not in [ '', 'none' ]
+  # sanitizers may add additional symbols
+  libvirt_no_undefined = []
+endif
+
 if host_machine.system() == 'windows'
   version_script_flags = '-Wl,'
 else
-- 
2.26.3

Reply via email to