* 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>
|
2000-03-02 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
* emulparams/elf32mcore.sh: Include "getopt.h".
|
* 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.
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue