* ldfile.c (ldfile_try_open_bfd): Don't crash if we see an empty

archive.
This commit is contained in:
Ian Lance Taylor 2000-03-06 18:08:38 +00:00
parent ef7904ee59
commit a999880517
2 changed files with 19 additions and 9 deletions

View file

@ -1,3 +1,8 @@
2000-03-06 Ian Lance Taylor <ian@zembu.com>
* ldfile.c (ldfile_try_open_bfd): Don't crash if we see an empty
archive.
2000-03-02 H.J. Lu <hjl@gnu.org> 2000-03-02 H.J. Lu <hjl@gnu.org>
* emulparams/elf32mcore.sh: Include "getopt.h". * emulparams/elf32mcore.sh: Include "getopt.h".

View file

@ -1,4 +1,6 @@
/* Copyright (C) 1991, 92, 93, 94, 95, 98, 99, 2000 Free Software Foundation, Inc. /* Linker file opening and searching.
Copyright (C) 1991, 92, 93, 94, 95, 98, 99, 2000
Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker. This file is part of GLD, the Gnu Linker.
@ -129,15 +131,18 @@ ldfile_try_open_bfd (attempt, entry)
else else
check = entry->the_bfd; check = entry->the_bfd;
if (! bfd_check_format (check, bfd_object)) if (check != NULL)
return true;
if (bfd_arch_get_compatible (check, output_bfd) == NULL)
{ {
einfo (_("%P: skipping incompatible %s when searching for %s"), if (! bfd_check_format (check, bfd_object))
attempt, entry->local_sym_name); return true;
bfd_close (entry->the_bfd); if (bfd_arch_get_compatible (check, output_bfd) == NULL)
entry->the_bfd = NULL; {
return false; einfo (_("%P: skipping incompatible %s when searching for %s"),
attempt, entry->local_sym_name);
bfd_close (entry->the_bfd);
entry->the_bfd = NULL;
return false;
}
} }
} }