* emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Simplify

comparison and replacement of filenames.
This commit is contained in:
Danny Smith 2004-10-19 20:07:32 +00:00
parent f2cb65cafb
commit 2a08daf3f5
2 changed files with 15 additions and 11 deletions

View file

@ -1,3 +1,8 @@
2004-10-19 Danny Smith <dannysmith@users.sourceforge.net>
* emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Simplify
comparison and replacement of filenames.
2004-10-19 H.J. Lu <hongjiu.lu@intel.com>
PR 459

View file

@ -1078,7 +1078,7 @@ gld_${EMULATION_NAME}_after_open (void)
{
struct bfd_symbol *s;
struct bfd_link_hash_entry * blhe;
bfd *other_bfd;
char *other_bfd_filename;
char *n;
s = (relocs[i]->sym_ptr_ptr)[0];
@ -1095,20 +1095,19 @@ gld_${EMULATION_NAME}_after_open (void)
|| blhe->type != bfd_link_hash_defined)
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))
other_bfd_filename
= blhe->u.def.section->owner->my_archive
? bfd_get_filename (blhe->u.def.section->owner->my_archive)
: bfd_get_filename (blhe->u.def.section->owner);
if (strcmp (bfd_filename (is->the_bfd),
bfd_filename (other_bfd)) == 0)
if (strcmp (bfd_get_filename (is->the_bfd->my_archive),
other_bfd_filename) == 0)
continue;
/* Rename this implib to match the other one. */
n = xmalloc (strlen (bfd_filename (other_bfd)) + 1);
strcpy (n, bfd_filename (other_bfd));
bfd_filename (is->the_bfd) = n;
#undef bfd_filename
n = xmalloc (strlen (other_bfd_filename) + 1);
strcpy (n, other_bfd_filename);
is->the_bfd->my_archive->filename = n;
}
free (relocs);