diff options
author | Fabian Groffen <grobian@gentoo.org> | 2017-06-07 14:37:27 +0200 |
---|---|---|
committer | Daiki Ueno <ueno@gnu.org> | 2017-06-27 13:10:32 +0200 |
commit | 9dd50249b597109c5956a531e44d46dc344daea5 (patch) | |
tree | e721eceb421bed015c95507c40e97675f8db99f9 /common/compat.h | |
parent | 20b9df53cf07c0693257f5f01fa1ff945b4cae4a (diff) |
common: always use p11_dl_close wrapper
Solaris doesn't like it when dlclose is referenced using a define,
resulting in a linker error looking for a symbol version. Simply
calling the function in a normal way (instead of storing its address)
solves this linking error.
The error message seen by GNU ld is:
dlclose: invalid version 7 (max 0)
Diffstat (limited to 'common/compat.h')
-rw-r--r-- | common/compat.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/common/compat.h b/common/compat.h index 15b3106..b021494 100644 --- a/common/compat.h +++ b/common/compat.h @@ -91,6 +91,8 @@ char * mkdtemp (char *template); char * strdup_path_mangle (const char *template); +void p11_dl_close (void * dl); + /* ----------------------------------------------------------------------------- * WIN32 */ @@ -147,8 +149,6 @@ typedef HMODULE dl_module_t; char * p11_dl_error (void); -void p11_dl_close (void * dl); - #define p11_sleep_ms(ms) \ (Sleep (ms)) @@ -206,8 +206,6 @@ typedef void * dl_module_t; #define p11_dl_open(f) \ (dlopen ((f), RTLD_LOCAL | RTLD_NOW)) -#define p11_dl_close \ - dlclose #define p11_dl_symbol(d, s) \ (dlsym ((d), (s))) |