]> git.ipfire.org Git - thirdparty/libvirt.git/commit
build: explicitly link all modules with libvirt.so
authorDaniel P. Berrangé <berrange@redhat.com>
Thu, 25 Jan 2018 09:35:56 +0000 (09:35 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Fri, 9 Feb 2018 11:05:10 +0000 (11:05 +0000)
commit21639744f6371db0bfa1bd0d21fe5c51c6d6878a
tree3605870ecd4ca1cec7e1cff7be10d5f7814564a0
parent7aa0e8c0cb8a6293d0c6f7e3d29c13b96dec2129
build: explicitly link all modules with libvirt.so

The dlopened modules we currently build all use various symbols from
libvirt.so, but don't actually link to it. They rely on the libvirtd
daemon re-exporting the libvirt.so symbols. This means that at the
time the modules are linked, they contain a huge number of undefined
symbols. It also means that these undefined symbols are not versioned,
so despite us providing a LIBVIRT_PRIVATE_XXXX version that
intentionally changes on every release, the loadable modules could
actually be loaded into any libvirtd regardless of version.

This change explicitly links all modules against libvirt.so so
that they don't rely on the re-export behave and can be fully resolved
at build time. This will give us a stronger guarantee modules will
actually be loadable at runtime and that we're using modules from the
matched build.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
src/Makefile.am