[libvirt] [PATCH 05/10] Replace RTLD_LOCAL with RTLD_GLOBAL
Daniel P. Berrange
berrange at redhat.com
Mon May 21 19:59:13 UTC 2012
From: "Daniel P. Berrange" <berrange at redhat.com>
Since we have drivers which depend on each other (ie QEMU/LXC
depend on the network driver APIs), we need to use RTLD_GLOBAL
instead of RTLD_LOCAL. While this pollutes the calling binary
with many more symbols, this is no worse than if we directly
link to the drivers, and this only applies to libvirtd
* src/driver.c: s/RTLD_LOCAL/RTLD_GLOBAL/
Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
src/driver.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/driver.c b/src/driver.c
index 5034277..fb162e0 100644
--- a/src/driver.c
+++ b/src/driver.c
@@ -59,7 +59,7 @@ virDriverLoadModule(const char *name)
goto cleanup;
}
- handle = dlopen(modfile, RTLD_NOW | RTLD_LOCAL);
+ handle = dlopen(modfile, RTLD_NOW | RTLD_GLOBAL);
if (!handle) {
VIR_ERROR(_("failed to load module %s %s"), modfile, dlerror());
goto cleanup;
--
1.7.7.6
More information about the libvir-list
mailing list