ret->elf_link_hash_flags = 0;
ret->elf_link_hash_flags = ELF_LINK_NON_ELF;
_bfd_elf_link_hash_newfunc (entry, table, string)     struct bfd_hash_entry *entry;     struct bfd_hash_table *table;     const char *string;{  struct elf_link_hash_entry *ret = (struct elf_link_hash_entry *) entry;  /* Allocate the structure if it has not already been allocated by a     subclass.  */  if (ret == (struct elf_link_hash_entry *) NULL)    ret = ((struct elf_link_hash_entry *)	   bfd_hash_allocate (table, sizeof (struct elf_link_hash_entry)));  if (ret == (struct elf_link_hash_entry *) NULL)    {      bfd_set_error (bfd_error_no_memory);      return (struct bfd_hash_entry *) ret;    }  /* Call the allocation method of the superclass.  */  ret = ((struct elf_link_hash_entry *)	 _bfd_link_hash_newfunc ((struct bfd_hash_entry *) ret,				 table, string));  if (ret != (struct elf_link_hash_entry *) NULL)    {      /* Set local fields.  */      ret->indx = -1;      ret->size = 0;      ret->dynindx = -1;      ret->dynstr_index = 0;      ret->weakdef = NULL;      ret->got_offset = (bfd_vma) -1;      ret->plt_offset = (bfd_vma) -1;      ret->type = STT_NOTYPE;      ret->elf_link_hash_flags = 0;    }  return (struct bfd_hash_entry *) ret;}