Displaying 3 results from an estimated 3 matches for "lm_id_newlm".
2020 Feb 13
1
[PATCH nbdkit] NOT WORKING vddk: Use dlmopen to isolate VDDK.
...libiconv both exist, both can be installed
diff --git a/plugins/vddk/vddk.c b/plugins/vddk/vddk.c
index c49eebcd..b988946b 100644
--- a/plugins/vddk/vddk.c
+++ b/plugins/vddk/vddk.c
@@ -267,7 +267,11 @@ load_library (void)
exit (EXIT_FAILURE);
}
+#ifdef HAVE_DLMOPEN
+ dl = dlmopen (LM_ID_NEWLM, path, RTLD_NOW);
+#else
dl = dlopen (path, RTLD_NOW);
+#endif
if (dl != NULL)
break;
if (i == 0) {
--
2.25.0
2020 Feb 13
4
[PATCH nbdkit v2 2/3] NOT WORKING: vddk: Drive library loading from libdir parameter.
I couldn't get this to work in the end. This is the latest
non-working version. This email documents what doesn't work for the
permanent record.
The central problem is that VDDK InitEx() appears to dlopen() various
of its own plugins. Although I wasn't able to capture exactly what
dlopen() command it is running, the plugins cannot be loaded because
they rely on the recompiled
2020 Feb 13
1
[nbdkit PATCH v3] vddk: Drive library loading from libdir parameter.
...se dlmopen() to create a new
+ * namespace, where we first load our shim library. Then all
+ * subsequent libraries loaded in that namespace will call our shim
+ * dlopen(), which lets us correct the relative dlopen()s performed
+ * later by VDDK initialization.
+ */
+ shimdl = dlmopen (LM_ID_NEWLM, "libnbdkit-shim-dlopen.so",
+ RTLD_NOW);
+ if (!shimdl) {
+ nbdkit_error("failed to load dlopen shim: %s", dlerror());
+ exit (EXIT_FAILURE);
+ }
+ if (dlinfo(shimdl, RTLD_DI_LMID, &id)) {
+ nbdkit_error("failed to learn dlopen shim id: %...