+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
{
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];
|| 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);