This patch is a follow-on to commit 43d3932e "kexec-tools: Perform run-time linking of libxenctrl.so". This patch addresses feedback from Daniel Kiper. This patch implements Daniel's suggestion to make the xc_dlhandle variable static. Signed-off-by: Eric DeVolder <eric.devolder@xxxxxxxxxx> --- v1: 23jan2018 - Implemented feedback from Daniel Kiper v2: 23jan2018 - Implemented feedback from Daniel Kiper - Broke patch into two --- kexec/kexec-xen.c | 9 ++++++++- kexec/kexec-xen.h | 9 ++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/kexec/kexec-xen.c b/kexec/kexec-xen.c index 75f8758..960fa16 100644 --- a/kexec/kexec-xen.c +++ b/kexec/kexec-xen.c @@ -15,8 +15,15 @@ #include "crashdump.h" #ifdef CONFIG_LIBXENCTRL_DL -void *xc_dlhandle; +/* The handle from dlopen(), needed by dlsym(), dlclose() */ +static void *xc_dlhandle; xc_hypercall_buffer_t XC__HYPERCALL_BUFFER_NAME(HYPERCALL_BUFFER_NULL); + +void *__xc_dlsym(const char *symbol) +{ + return dlsym(xc_dlhandle, symbol); +} + xc_interface *__xc_interface_open(xentoollog_logger *logger, xentoollog_logger *dombuild_logger, unsigned open_flags) diff --git a/kexec/kexec-xen.h b/kexec/kexec-xen.h index ffb8743..8955334 100644 --- a/kexec/kexec-xen.h +++ b/kexec/kexec-xen.h @@ -6,9 +6,8 @@ #ifdef CONFIG_LIBXENCTRL_DL #include <dlfcn.h> - -/* The handle from dlopen(), needed by dlsym(), dlclose() */ -extern void *xc_dlhandle; +/* Lookup symbols in libxenctrl.so */ +void *__xc_dlsym(const char *symbol); /* Wrappers around xc_interface_open/close() to insert dlopen/dlclose() */ xc_interface *__xc_interface_open(xentoollog_logger *logger, @@ -21,13 +20,13 @@ int __xc_interface_close(xc_interface *xch); ( \ { dtype value; \ typedef dtype (*func_t)(xc_interface *, ...); \ - func_t func = dlsym(xc_dlhandle, #name); \ + func_t func = __xc_dlsym(#name); \ value = func(args); \ value; } \ ) #define __xc_data(dtype, name) \ ( \ - { dtype *value = (dtype *)dlsym(xc_dlhandle, #name); value; } \ + { dtype *value = (dtype *)__xc_dlsym(#name); value; } \ ) /* The wrappers around utilized xenctrl.h functions */ -- 2.7.4 _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec