FreeBSD/contrib/binutils/bfd/elf.c
/* Initialize an ELF linker hash table.  */
Initialize an ELF linker hash table.
Initialize an ELF linker hash table .
bfd_boolean
_bfd_elf_link_hash_table_init
  (struct elf_link_hash_table *table,
   bfd *abfd,
   struct bfd_hash_entry *(*newfunc) (struct bfd_hash_entry *,
				      struct bfd_hash_table *,
				      const char *),
   unsigned int entsize)
{
  bfd_boolean ret;
  int can_refcount = get_elf_backend_data (abfd)->can_refcount;
  memset (table, 0, sizeof * table);
  table->init_got_refcount.refcount = can_refcount - 1;
  table->init_plt_refcount.refcount = can_refcount - 1;
  table->init_got_offset.offset = -(bfd_vma) 1;
  table->init_plt_offset.offset = -(bfd_vma) 1;
  table->dynsymcount = 1;
  ret = _bfd_link_hash_table_init (&table->root, abfd, newfunc, entsize);
  table->root.type = bfd_link_elf_hash_table;
  return ret;
}
bfd_boolean _bfd_elf_link_hash_table_init ( struct elf_link_hash_table * table , bfd * abfd , struct bfd_hash_entry * ( * newfunc ) ( struct bfd_hash_entry * , struct bfd_hash_table * , const char * ) , unsigned int entsize ) { bfd_boolean ret ; int can_refcount = get_elf_backend_data ( abfd ) -> can_refcount ; memset ( table , 0 , sizeof * table ) ; table -> init_got_refcount . refcount = can_refcount - 1 ; table -> init_plt_refcount . refcount = can_refcount - 1 ; table -> init_got_offset . offset = - ( bfd_vma ) 1 ; table -> init_plt_offset . offset = - ( bfd_vma ) 1 ; table -> dynsymcount = 1 ; ret = _bfd_link_hash_table_init ( & table -> root , abfd , newfunc , entsize ) ; table -> root . type = bfd_link_elf_hash_table ; return ret ; }
Initialize an ELF linker hash table.
Initialize an ELF linker hash table .
/* The first dynamic symbol is a dummy.  */