printf (_(" <%d><%x>: Abbrev Number: %lu (%s)\n"), level, tags - section_begin - bytes_read,
printf (_(" <%d><%lx>: Abbrev Number: %lu (%s)\n"), level, (unsigned long) (tags - section_begin - bytes_read),
display_debug_info (section, start, file)     Elf32_Internal_Shdr * section;     unsigned char *       start;     FILE *                file;{  unsigned char * end = start + section->sh_size;  unsigned char * section_begin = start;  printf (_("The section %s contains:\n\n"), SECTION_NAME (section));  while (start < end)    {      DWARF2_External_CompUnit * external;      DWARF2_Internal_CompUnit   compunit;      unsigned char *            tags;      int                        i;      int			 level;      external = (DWARF2_External_CompUnit *) start;      compunit.cu_length        = BYTE_GET (external->cu_length);      compunit.cu_version       = BYTE_GET (external->cu_version);      compunit.cu_abbrev_offset = BYTE_GET (external->cu_abbrev_offset);      compunit.cu_pointer_size  = BYTE_GET (external->cu_pointer_size);      tags = start + sizeof (* external);      start += compunit.cu_length + sizeof (external->cu_length);      if (compunit.cu_version != 2)	{	  warn (_("Only version 2 DWARF debug information is currently supported.\n"));	  continue;	}      printf (_("  Compilation Unit:\n"));      printf (_("   Length:        %ld\n"), compunit.cu_length);      printf (_("   Version:       %d\n"), compunit.cu_version);      printf (_("   Abbrev Offset: %ld\n"), compunit.cu_abbrev_offset);      printf (_("   Pointer Size:  %d\n"), compunit.cu_pointer_size);      if (first_abbrev != NULL)	free_abbrevs ();      /* Read in the abbrevs used by this compilation unit.  */      {	Elf32_Internal_Shdr * sec;	unsigned char *       begin;	/* Locate the .debug_abbrev section and process it.  */	for (i = 0, sec = section_headers;	     i < elf_header.e_shnum;	     i ++, sec ++)	  if (strcmp (SECTION_NAME (sec), ".debug_abbrev") == 0)	    break;	if (i == -1 || sec->sh_size == 0)	  {	    warn (_("Unable to locate .debug_abbrev section!\n"));	    return 0;	  }	GET_DATA_ALLOC (sec->sh_offset, sec->sh_size, begin, unsigned char *,			"debug_abbrev section data");	process_abbrev_section (begin + compunit.cu_abbrev_offset,				begin + sec->sh_size);	free (begin);      }      level = 0;      while (tags < start)	{	  int            bytes_read;	  unsigned long  abbrev_number;	  abbrev_entry * entry;	  abbrev_attr  * attr;	  abbrev_number = read_leb128 (tags, & bytes_read, 0);	  tags += bytes_read;	  /* A null DIE marks the end of a list of children.  */	  if (abbrev_number == 0)	    {	      --level;	      continue;	    }	  /* Scan through the abbreviation list until we reach the	     correct entry.  */	  for (entry = first_abbrev;	       entry && entry->entry != abbrev_number;	       entry = entry->next)	    continue;	  if (entry == NULL)	    {	      warn (_("Unable to locate entry %lu in the abbreviation table\n"),		    abbrev_number);	      return 0;	    }	  printf (_(" <%d><%x>: Abbrev Number: %lu (%s)\n"),		  level, tags - section_begin - bytes_read,		  abbrev_number,		  get_TAG_name (entry->tag));	  for (attr = entry->first_attr; attr; attr = attr->next)	    tags = read_and_display_attr (attr->attribute,					  attr->form,					  tags,					  compunit.cu_pointer_size);	  if (entry->children)	    ++level;	}    }  printf ("\n");  return 1;}