fix undefined reference to bfd_link_plugin_object_p during link
authorJoel Brobecker <brobecker@adacore.com>
Fri, 24 Jun 2016 16:16:24 +0000 (12:16 -0400)
committerJoel Brobecker <brobecker@adacore.com>
Fri, 24 Jun 2016 17:02:39 +0000 (13:02 -0400)
When configured with the default options, GDB currently fails to link,
due to an undefined reference to bfd_link_plugin_object_p, coming from
elflink.c:

    #ifdef BFD_SUPPORTS_PLUGINS
           || (abfd->plugin_format == bfd_plugin_unknown
              && bfd_link_plugin_object_p (abfd))
    #endif

This is because BFD_SUPPORTS_PLUGINS is always defined. It is its value
that determines whether plugin support is enabled or not.

bfd/ChangeLog:

        * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
        than its existance.

bfd/elflink.c

index bb83854..ad8493b 100644 (file)
@@ -28,7 +28,7 @@
 #include "safe-ctype.h"
 #include "libiberty.h"
 #include "objalloc.h"
-#ifdef BFD_SUPPORTS_PLUGINS
+#if BFD_SUPPORTS_PLUGINS
 #include "plugin.h"
 #endif
 
@@ -3134,7 +3134,7 @@ elf_link_is_defined_archive_symbol (bfd * abfd, carsym * symdef)
      object file is an IR object, give linker LTO plugin a chance to
      get the correct symbol table.  */
   if (abfd->plugin_format == bfd_plugin_yes
-#ifdef BFD_SUPPORTS_PLUGINS
+#if BFD_SUPPORTS_PLUGINS
       || (abfd->plugin_format == bfd_plugin_unknown
          && bfd_link_plugin_object_p (abfd))
 #endif