diff --git a/src/basic/dlfcn-util.h b/src/basic/dlfcn-util.h index 2c94ed51f3..e0944f3aaf 100644 --- a/src/basic/dlfcn-util.h +++ b/src/basic/dlfcn-util.h @@ -8,3 +8,9 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(void*, dlclose); int dlsym_many_and_warn(void *dl, int level, ...); + +/* Macro useful for putting together variable/symbol name pairs when calling dlsym_many_and_warn(). Assumes + * that each library symbol to resolve will be placed in a variable with the "sym_" prefix, i.e. a symbol + * "foobar" is loaded into a variable "sym_foobar". */ +#define DLSYM_ARG(arg) \ + &sym_##arg, STRINGIFY(arg)