plugin-loader: Don't prevent dynamic linking in addition to static constructors
When built with static plugins and constructors, we might still want to
be able to load external plugins.
Fixes: d860c26e95 ("plugin-loader: Properly support compilation without dlopen()/dlsym() etc.")
This commit is contained in:
@@ -46,6 +46,9 @@ typedef struct plugin_entry_t plugin_entry_t;
|
||||
* Statically registered constructors
|
||||
*/
|
||||
static hashtable_t *plugin_constructors = NULL;
|
||||
|
||||
#elif !defined(HAVE_DLADDR)
|
||||
#error Neither dynamic linking nor static plugin constructors are supported!
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -373,13 +376,12 @@ static status_t create_plugin(private_plugin_loader_t *this, void *handle,
|
||||
{
|
||||
constructor = plugin_constructors->get(plugin_constructors, name);
|
||||
}
|
||||
#elif defined(HAVE_DLADDR)
|
||||
#endif
|
||||
#ifdef HAVE_DLADDR
|
||||
if (!constructor)
|
||||
{
|
||||
constructor = dlsym(handle, create);
|
||||
}
|
||||
#else
|
||||
#error Neither dynamic linking nor static plugin constructors are supported!
|
||||
#endif
|
||||
if (!constructor)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user