Check bfd_target_elf_flavour on input first in ldelf_after_open before
checking elf_tdata.
	* ldelf.c (ldelf_after_open): Check bfd_target_elf_flavour first.
+2020-09-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * ldelf.c (ldelf_after_open): Check bfd_target_elf_flavour first.
+
 2020-09-15  Hans-Peter Nilsson  <hp@axis.com>
 
        PR ld/26589
 
   /* Do not allow executable files to be used as inputs to the link.  */
   for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
     {
-      if (!bfd_input_just_syms (abfd)
+      if (abfd->xvec->flavour == bfd_target_elf_flavour
+         && !bfd_input_just_syms (abfd)
          && elf_tdata (abfd) != NULL
          && elf_tdata (abfd)->elf_header != NULL
          /* FIXME: Maybe check for other non-supportable types as well ?  */