Browse Source

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

comparison and replacement of filenames.
binutils-csl-arm-2005q1-branch
Danny Smith 22 years ago
parent
commit
2a08daf3f5
  1. 5
      ld/ChangeLog
  2. 21
      ld/emultempl/pe.em

5
ld/ChangeLog

@ -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

21
ld/emultempl/pe.em

@ -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);

Loading…
Cancel
Save