Do not assume that either bfd is an archive

This commit is contained in:
Nick Clifton 2004-08-27 07:39:19 +00:00
parent 62e88f3c0c
commit c034e3e0ec
2 changed files with 13 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2004-08-27 Nick Clifton <nickc@redhat.com>
* emultempl/pe.em (after_open): Do not assume that either bfd is
an archive.
2004-08-26 Alan Modra <amodra@bigpond.net.au>
* ldlang.c (lang_init): Don't compare with TRUE.

View File

@ -1096,17 +1096,19 @@ gld_${EMULATION_NAME}_after_open (void)
continue;
other_bfd = blhe->u.def.section->owner;
#define bfd_filename(bfd) ((bfd)->my_archive ? bfd_get_filename ((bfd)->my_archive) : bfd_get_filename (bfd))
if (strcmp (is->the_bfd->my_archive->filename,
other_bfd->my_archive->filename) == 0)
if (strcmp (bfd_filename (is->the_bfd),
bfd_filename (other_bfd)) == 0)
continue;
/* Rename this implib to match the other. */
n = (char *) xmalloc (strlen (other_bfd->my_archive->filename) + 1);
/* Rename this implib to match the other one. */
n = xmalloc (strlen (bfd_filename (other_bfd)) + 1);
strcpy (n, other_bfd->my_archive->filename);
strcpy (n, bfd_filename (other_bfd));
is->the_bfd->my_archive->filename = n;
bfd_filename (is->the_bfd) = n;
#undef bfd_filename
}
free (relocs);