* xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Do the regular

archive search before looking for stripped dynamic objects.
PR 10187.
This commit is contained in:
Ian Lance Taylor 1996-07-30 17:39:33 +00:00
parent 368f1e773b
commit fb4dc1eb5f
2 changed files with 21 additions and 12 deletions

View File

@ -1,3 +1,8 @@
Tue Jul 30 13:31:27 1996 Ian Lance Taylor <ian@cygnus.com>
* xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Do the regular
archive search before looking for stripped dynamic objects.
Fri Jul 26 17:51:39 1996 Ian Lance Taylor <ian@cygnus.com>
* xcofflink.c (xcoff_build_ldsyms): Make exporting an undefined

View File

@ -1061,12 +1061,21 @@ _bfd_xcoff_bfd_link_add_symbols (abfd, info)
{
case bfd_object:
return xcoff_link_add_object_symbols (abfd, info);
case bfd_archive:
/* We need to look through the archive for stripped dynamic
objects, because they will not appear in the archive map even
though they should, perhaps, be included. Also, if the
linker has no map, we just consider each object file in turn,
since that apparently is what the AIX native linker does. */
/* If the archive has a map, do the usual search. We then need
to check the archive for stripped dynamic objects, because
they will not appear in the archive map even though they
should, perhaps, be included. If the archive has no map, we
just consider each object file in turn, since that apparently
is what the AIX native linker does. */
if (bfd_has_map (abfd))
{
if (! (_bfd_generic_link_add_archive_symbols
(abfd, info, xcoff_link_check_archive_element)))
return false;
}
{
bfd *member;
@ -1087,15 +1096,10 @@ _bfd_xcoff_bfd_link_add_symbols (abfd, info)
}
member = bfd_openr_next_archived_file (abfd, member);
}
if (! bfd_has_map (abfd))
return true;
/* Now do the usual search. */
return (_bfd_generic_link_add_archive_symbols
(abfd, info, xcoff_link_check_archive_element));
}
return true;
default:
bfd_set_error (bfd_error_wrong_format);
return false;