return (_bfd_generic_link_add_archive_symbols (abfd, info, xcoff_link_check_archive_element));
{ bfd *member;  member = bfd_openr_next_archived_file (abfd, (bfd *) NULL); while (member != NULL) { if (bfd_check_format (member, bfd_object) && (! bfd_has_map (abfd) || ((member->flags & DYNAMIC) != 0 && (member->flags & HAS_SYMS) == 0))) { boolean needed;  if (! xcoff_link_check_archive_element (member, info, &needed)) return false; if (needed) member->archive_pass = -1; } member = bfd_openr_next_archived_file (abfd, member); }  if (! bfd_has_map (abfd)) return true;   return (_bfd_generic_link_add_archive_symbols (abfd, info, xcoff_link_check_archive_element)); }
_bfd_xcoff_bfd_link_add_symbols (abfd, info)     bfd *abfd;     struct bfd_link_info *info;{  switch (bfd_get_format (abfd))    {    case bfd_object:      return xcoff_link_add_object_symbols (abfd, info);    case bfd_archive:      return (_bfd_generic_link_add_archive_symbols	      (abfd, info, xcoff_link_check_archive_element));    default:      bfd_set_error (bfd_error_wrong_format);      return false;    }}