* ldfile.c (ldfile_try_open_bfd): Don't crash if we see an empty
archive.
This commit is contained in:
parent
ef7904ee59
commit
a999880517
2 changed files with 19 additions and 9 deletions
|
@ -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>
|
||||
|
||||
* emulparams/elf32mcore.sh: Include "getopt.h".
|
||||
|
|
23
ld/ldfile.c
23
ld/ldfile.c
|
@ -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.
|
||||
|
||||
|
@ -129,15 +131,18 @@ ldfile_try_open_bfd (attempt, entry)
|
|||
else
|
||||
check = entry->the_bfd;
|
||||
|
||||
if (! bfd_check_format (check, bfd_object))
|
||||
return true;
|
||||
if (bfd_arch_get_compatible (check, output_bfd) == NULL)
|
||||
if (check != NULL)
|
||||
{
|
||||
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;
|
||||
if (! bfd_check_format (check, bfd_object))
|
||||
return true;
|
||||
if (bfd_arch_get_compatible (check, output_bfd) == NULL)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue