https://sourceware.org/bugzilla/show_bug.cgi?id=23460

Nick Clifton <nickc at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
   Last reconfirmed|                            |2018-08-21
         Resolution|FIXED                       |---
     Ever confirmed|0                           |1

--- Comment #22 from Nick Clifton <nickc at redhat dot com> ---
(In reply to zenith432 from comment #21)

Hi Zenith,

> Attached is a patch that implements algorithm suggested in comment 18.

I am confused by this part of the patch:

  for (plugin_list_iter = plugin_list;
       plugin_list_iter != NULL;
       plugin_list_iter = plugin_list_iter->next)
    {
      if (plugin_handle == plugin_list_iter->handle)
        {
          dlclose (plugin_handle);
          if (!plugin_list_iter->claim_file)
            return 0;
          register_claim_file (plugin_list_iter->claim_file);
          goto have_claim_file;
        }
    }

If I am reading this correctly, this says that if we are attempting to 
load a plugin that was previously loaded, then we call dlclose() on it,
and then, if the plugin has a file claim function, we register this 
function as the global file claimant, despite the plugin having been closed...
Is that right ?

Also  - it seems to me that if we have a list of loaded plugins, then
we no longer need the claim_file global variable, and the try_claim() 
function should walk the list of plugins, trying each in turn.

Cheers
  Nick

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to