{ bfd_set_error (bfd_error_no_memory); return -1; }
return -1;
sunos_canonicalize_dynamic_reloc (abfd, storage, syms)     bfd *abfd;     arelent **storage;     asymbol **syms;{  struct sunos_dynamic_info *info;  unsigned long i;  /* Get the general dynamic information.  */  if (obj_aout_dynamic_info (abfd) == (PTR) NULL)    {      if (! sunos_read_dynamic_info (abfd))	return -1;    }  info = (struct sunos_dynamic_info *) obj_aout_dynamic_info (abfd);  if (! info->valid)    {      bfd_set_error (bfd_error_no_symbols);      return -1;    }  /* Get the dynamic reloc information.  */  if (info->dynrel == NULL)    {      info->dynrel = (PTR) bfd_alloc (abfd,				      (info->dynrel_count				       * obj_reloc_entry_size (abfd)));      if (info->dynrel == NULL && info->dynrel_count != 0)	{	  bfd_set_error (bfd_error_no_memory);	  return -1;	}      if (bfd_seek (abfd, info->dyninfo.ld_rel, SEEK_SET) != 0	  || (bfd_read ((PTR) info->dynrel, info->dynrel_count,			obj_reloc_entry_size (abfd), abfd)	      != info->dynrel_count * obj_reloc_entry_size (abfd)))	{	  if (info->dynrel != NULL)	    {	      bfd_release (abfd, info->dynrel);	      info->dynrel = NULL;	    }	  return -1;	}    }  /* Get the arelent structures corresponding to the dynamic reloc     information.  */  if (info->canonical_dynrel == (arelent *) NULL)    {      arelent *to;      info->canonical_dynrel = ((arelent *)				bfd_alloc (abfd,					   (info->dynrel_count					    * sizeof (arelent))));      if (info->canonical_dynrel == NULL && info->dynrel_count != 0)	{	  bfd_set_error (bfd_error_no_memory);	  return -1;	}            to = info->canonical_dynrel;      if (obj_reloc_entry_size (abfd) == RELOC_EXT_SIZE)	{	  register struct reloc_ext_external *p;	  struct reloc_ext_external *pend;	  p = (struct reloc_ext_external *) info->dynrel;	  pend = p + info->dynrel_count;	  for (; p < pend; p++, to++)	    NAME(aout,swap_ext_reloc_in) (abfd, p, to, syms,					  info->dynsym_count);	}      else	{	  register struct reloc_std_external *p;	  struct reloc_std_external *pend;	  p = (struct reloc_std_external *) info->dynrel;	  pend = p + info->dynrel_count;	  for (; p < pend; p++, to++)	    NAME(aout,swap_std_reloc_in) (abfd, p, to, syms,					  info->dynsym_count);	}    }  /* Return pointers to the dynamic arelent structures.  */  for (i = 0; i < info->dynrel_count; i++)    *storage++ = info->canonical_dynrel + i;  *storage = NULL;  return info->dynrel_count;}