+2019-06-28 Florian Weimer <fweimer@redhat.com>
+
+ * support/xdlfcn.h (xdlvsym): Declare function.
+ * support/xdlfcn.c (xdlvsym): Define funciton.
+
2019-06-28 Florian Weimer <fweimer@redhat.com>
[BZ #24744]
return sym;
}
+void *
+xdlvsym (void *handle, const char *symbol, const char *version)
+{
+ /* Clear any pending errors. */
+ dlerror ();
+
+ void *sym = dlvsym (handle, symbol, version);
+
+ if (sym == NULL)
+ {
+ const char *error = dlerror ();
+ if (error != NULL)
+ FAIL_EXIT1 ("error: dlvsym: %s\n", error);
+ /* If there was no error, we found a NULL symbol. Return the
+ NULL value in this case. */
+ }
+
+ return sym;
+}
+
void
xdlclose (void *handle)
{
void *xdlopen (const char *filename, int flags);
void *xdlmopen (Lmid_t lmid, const char *filename, int flags);
void *xdlsym (void *handle, const char *symbol);
+void *xdlvsym (void *handle, const char *symbol, const char *version);
void xdlclose (void *handle);
__END_DECLS