FreeBSD/contrib/binutils/bfd/elf.c
/* Return the name of the group signature symbol.  Why isn't the
   signature just a string?  */
Return the name of the group signature symbol.
Return the name of the group signature symbol .
static const char *
group_signature (bfd *abfd, Elf_Internal_Shdr *ghdr)
{
  Elf_Internal_Shdr *hdr;
  unsigned char esym[sizeof (Elf64_External_Sym)];
  Elf_External_Sym_Shndx eshndx;
  Elf_Internal_Sym isym;
  hdr = elf_elfsections (abfd) [ghdr->sh_link];
  if (hdr->sh_type != SHT_SYMTAB
      || ! bfd_section_from_shdr (abfd, ghdr->sh_link))
    return NULL;
  hdr = &elf_tdata (abfd)->symtab_hdr;
  if (bfd_elf_get_elf_syms (abfd, hdr, 1, ghdr->sh_info,
			    &isym, esym, &eshndx) == NULL)
    return NULL;
  return bfd_elf_sym_name (abfd, hdr, &isym, NULL);
}
static const char * group_signature ( bfd * abfd , Elf_Internal_Shdr * ghdr ) { Elf_Internal_Shdr * hdr ; unsigned char esym [ sizeof ( Elf64_External_Sym ) ] ; Elf_External_Sym_Shndx eshndx ; Elf_Internal_Sym isym ; hdr = elf_elfsections ( abfd ) [ ghdr -> sh_link ] ; if ( hdr -> sh_type != SHT_SYMTAB || ! bfd_section_from_shdr ( abfd , ghdr -> sh_link ) ) return NULL ; hdr = & elf_tdata ( abfd ) -> symtab_hdr ; if ( bfd_elf_get_elf_syms ( abfd , hdr , 1 , ghdr -> sh_info , & isym , esym , & eshndx ) == NULL ) return NULL ; return bfd_elf_sym_name ( abfd , hdr , & isym , NULL ) ; }
Return the name of the group signature symbol.
Return the name of the group signature symbol .
/* First we need to ensure the symbol table is available.  Make sure
     that it is a symbol table section.  */ /* Go read the symbol.  */