* config/obj-elf.c (elf_frob_symbol): Report S_SET_SIZE symbol
[deliverable/binutils-gdb.git] / ld / ldfile.c
index 701b3803cad1b2fd8eade09993f18d14e0cc3e20..5bbe1d8447e020d5b384e03d33fa726d45d55a32 100644 (file)
@@ -312,7 +312,8 @@ success:
      bfd_object that it sets the bfd's arch and mach, which
      will be needed when and if we want to bfd_create a new
      one using this one as a template.  */
-  if (bfd_check_format (entry->the_bfd, bfd_object))
+  if (bfd_check_format (entry->the_bfd, bfd_object)
+      && plugin_active_plugins_p ())
     {
       int fd = open (attempt, O_RDONLY | O_BINARY);
       if (fd >= 0)
@@ -329,7 +330,9 @@ success:
          file.handle = plugin_get_ir_dummy_bfd (attempt, entry->the_bfd);
          if (plugin_call_claim_file (&file, &claimed))
            einfo (_("%P%F: %s: plugin reported error claiming file\n"),
-             plugin_error_plugin ());
+                  plugin_error_plugin ());
+         /* fd belongs to us, not the plugin; but we don't need it.  */
+         close (fd);
          if (claimed)
            {
              /* Discard the real file's BFD and substitute the dummy one.  */
@@ -340,10 +343,9 @@ success:
            }
          else
            {
-             /* If plugin didn't claim the file, we don't need the fd or the
-                dummy bfd.  Can't avoid speculatively creating it, alas.  */
+             /* If plugin didn't claim the file, we don't need the dummy
+                bfd.  Can't avoid speculatively creating it, alas.  */
              bfd_close_all_done (file.handle);
-             close (fd);
              entry->claimed = FALSE;
            }
        }
@@ -368,7 +370,7 @@ ldfile_open_file_search (const char *arch,
 
   /* If this is not an archive, try to open it in the current
      directory first.  */
-  if (! entry->is_archive)
+  if (! entry->maybe_archive)
     {
       if (entry->sysrooted && IS_ABSOLUTE_PATH (entry->filename))
        {
@@ -405,7 +407,7 @@ ldfile_open_file_search (const char *arch,
            }
        }
 
-      if (entry->is_archive)
+      if (entry->maybe_archive)
        string = concat (search->name, slash, lib, entry->filename,
                         arch, suffix, (const char *) NULL);
       else
@@ -441,7 +443,7 @@ ldfile_open_file (lang_input_statement_type *entry)
       if (ldfile_try_open_bfd (entry->filename, entry))
        return;
 
-      if (strcmp (entry->filename, entry->local_sym_name) != 0)
+      if (filename_cmp (entry->filename, entry->local_sym_name) != 0)
        einfo (_("%P: cannot find %s (%s): %E\n"),
               entry->filename, entry->local_sym_name);
       else
This page took 0.024696 seconds and 4 git commands to generate.