Differences from v4:
Patch 1 is simplified: I realized that since we already use -rdynamic
for nbdkit (after all, we WANT our dlopen()d plugins to be able to
call our nbdkit_* exports), it is only a matter of adding dlopen to
the set of symbols that we export. With that done, there is no
separate shared library needed; our dlopen shim is now part of nbdkit
proper, and we don't have to tweak the wrapper script or install a
separate file.
Patches 2 and 4 had minor rebase churn, patch 3 remains untouched.
Eric Blake (2):
server: Export nbdkit_set_dlopen_prefix function
tests: Add coverage of new nbdkit_set_dlopen_prefix
Richard W.M. Jones (2):
vddk: Delay loading VDDK until config_complete.
vddk: Drive library loading from libdir parameter.
docs/nbdkit-plugin.pod | 14 +++
include/nbdkit-common.h | 2 +
plugins/vddk/nbdkit-vddk-plugin.pod | 39 ++++++--
plugins/vddk/vddk.c | 136 ++++++++++++++++++----------
server/Makefile.am | 3 +-
server/nbdkit.syms | 5 +-
server/shim.c | 97 ++++++++++++++++++++
tests/Makefile.am | 25 +++++
tests/test-dlopen-plugin.c | 106 ++++++++++++++++++++++
tests/test-dlopen.sh | 54 +++++++++++
tests/test-vddk-real.sh | 10 +-
tests/test-vddk.sh | 6 +-
12 files changed, 422 insertions(+), 75 deletions(-)
create mode 100644 server/shim.c
create mode 100644 tests/test-dlopen-plugin.c
create mode 100755 tests/test-dlopen.sh
--
2.24.1