FreeBSD/contrib/binutils/bfd/elflink.c
/* We need a special top-level link routine to convert got reference counts
   to real got offsets.  */
We need a special top-level link routine to convert got reference counts
to real got offsets.
We need a special top - level link routine to convert got reference counts to real got offsets .
static bfd_boolean
elf_gc_allocate_got_offsets (struct elf_link_hash_entry *h, void *arg)
{
  struct alloc_got_off_arg *gofarg = arg;
  if (h->root.type == bfd_link_hash_warning)
    h = (struct elf_link_hash_entry *) h->root.u.i.link;
  if (h->got.refcount > 0)
    {
      h->got.offset = gofarg->gotoff;
      gofarg->gotoff += gofarg->got_elt_size;
    }
  else
    h->got.offset = (bfd_vma) -1;
  return TRUE;
}
static bfd_boolean elf_gc_allocate_got_offsets ( struct elf_link_hash_entry * h , void * arg ) { struct alloc_got_off_arg * gofarg = arg ; if ( h -> root . type == bfd_link_hash_warning ) h = ( struct elf_link_hash_entry * ) h -> root . u . i . link ; if ( h -> got . refcount > 0 ) { h -> got . offset = gofarg -> gotoff ; gofarg -> gotoff += gofarg -> got_elt_size ; } else h -> got . offset = ( bfd_vma ) - 1 ; return TRUE ; }
We need a special top-level link routine to convert got reference counts
to real got offsets.
We need a special top - level link routine to convert got reference counts to real got offsets .