Simplify is_ir_dummy_bfd test
authorAlan Modra <amodra@gmail.com>
Thu, 14 Aug 2014 01:13:41 +0000 (10:43 +0930)
committerAlan Modra <amodra@gmail.com>
Thu, 14 Aug 2014 04:09:40 +0000 (13:39 +0930)
is_ir_dummy_bfd started life before BFD_PLUGIN was invented.

* plugin.c (is_ir_dummy_bfd): Test BFD_PLUGIN flag rather than
flags.claimed.

ld/ChangeLog
ld/plugin.c

index fa7cab6..791bc74 100644 (file)
@@ -1,3 +1,8 @@
+2014-08-14  Alan Modra  <amodra@gmail.com>
+
+       * plugin.c (is_ir_dummy_bfd): Test BFD_PLUGIN flag rather than
+       flags.claimed.
+
 2014-08-13  Yaakov Selkowitz  <yselkowi@redhat.com>
 
        * pe-dll.c (autofilter_entry_type autofilter_symbollist_i386): Add
index 652cde1..f02a97f 100644 (file)
@@ -271,17 +271,12 @@ plugin_get_ir_dummy_bfd (const char *name, bfd *srctemplate)
 }
 
 /* Check if the BFD passed in is an IR dummy object file.  */
-static bfd_boolean
+static inline bfd_boolean
 is_ir_dummy_bfd (const bfd *abfd)
 {
   /* ABFD can sometimes legitimately be NULL, e.g. when called from one
-     of the linker callbacks for a symbol in the *ABS* or *UND* sections.
-     Likewise, the usrdata field may be NULL if ABFD was added by the
-     backend without a corresponding input statement, as happens e.g.
-     when processing DT_NEEDED dependencies.  */
-  return (abfd
-         && abfd->usrdata
-         && ((lang_input_statement_type *)(abfd->usrdata))->flags.claimed);
+     of the linker callbacks for a symbol in the *ABS* or *UND* sections.  */
+  return abfd != NULL && (abfd->flags & BFD_PLUGIN) != 0;
 }
 
 /* Helpers to convert between BFD and GOLD symbol formats.  */