On Mon, May 03, 2021 at 12:01:42PM +0200, Tim Wiederhake wrote: > 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 <twiederh@xxxxxxxxxx> > --- > 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 Same as in the previous patch no need to check for empty string. Overwriting libvirt_no_undefined = [] at a different place then it is defined looks wrong to me. How about this: libvirt_no_undefined = [] if get_option('b_sanitize') == 'none': libvirt_no_undefined = cc.get_supported_link_arguments([ '-Wl,-z,defs', ]) endif This makes it cleaner IMHO as the complete logic is at a single place and also we will save one check for supported link arguments if we now that we don't want to use it. Pavel > if host_machine.system() == 'windows' > version_script_flags = '-Wl,' > else > -- > 2.26.3 >
Attachment:
signature.asc
Description: PGP signature