From 0403e9ccae403b8b7bf82eef0536c5295a45a415 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 15 Sep 2020 13:05:04 -0700 Subject: elf: Check bfd_target_elf_flavour on input first 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. --- ld/ChangeLog | 4 ++++ ld/ldelf.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index c65a188..01587d8 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2020-09-15 H.J. Lu + + * ldelf.c (ldelf_after_open): Check bfd_target_elf_flavour first. + 2020-09-15 Hans-Peter Nilsson PR ld/26589 diff --git a/ld/ldelf.c b/ld/ldelf.c index 75c6c01..c37358f 100644 --- a/ld/ldelf.c +++ b/ld/ldelf.c @@ -1043,7 +1043,8 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd, /* 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 ? */ -- cgit v1.1