plugin.c (try_init_one_plugin): passes RTLD_GLOBAL to dlopen.
2009-07-09 Basile Starynkevitch <basile@starynkevitch.net> * gcc/plugin.c (try_init_one_plugin): passes RTLD_GLOBAL to dlopen. From-SVN: r149424
This commit is contained in:
parent
8be2c87161
commit
8d4cf6d7c3
@ -1,3 +1,8 @@
|
||||
|
||||
2009-07-09 Basile Starynkevitch <basile@starynkevitch.net>
|
||||
|
||||
* plugin.c (try_init_one_plugin): passes RTLD_GLOBAL to dlopen.
|
||||
|
||||
2009-07-09 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/40692
|
||||
|
@ -592,7 +592,11 @@ try_init_one_plugin (struct plugin_name_args *plugin)
|
||||
char *err;
|
||||
PTR_UNION_TYPE (plugin_init_func) plugin_init_union;
|
||||
|
||||
dl_handle = dlopen (plugin->full_name, RTLD_NOW);
|
||||
/* We use RTLD_NOW to accelerate binding and detect any mismatch
|
||||
between the API expected by the plugin and the GCC API; we use
|
||||
RTLD_GLOBAL which is useful to plugins which themselves call
|
||||
dlopen. */
|
||||
dl_handle = dlopen (plugin->full_name, RTLD_NOW | RTLD_GLOBAL);
|
||||
if (!dl_handle)
|
||||
{
|
||||
error ("Cannot load plugin %s\n%s", plugin->full_name, dlerror ());
|
||||
|
Loading…
Reference in New Issue
Block a user