offset = info_ptr - dwarf_info_buffer;
offset = info_ptr - dwarf2_per_objfile->info_buffer;
read_full_die (struct die_info **diep, bfd *abfd, char *info_ptr,	       struct dwarf2_cu *cu, int *has_children){  unsigned int abbrev_number, bytes_read, i, offset;  struct abbrev_info *abbrev;  struct die_info *die;  offset = info_ptr - dwarf_info_buffer;  abbrev_number = read_unsigned_leb128 (abfd, info_ptr, &bytes_read);  info_ptr += bytes_read;  if (!abbrev_number)    {      die = dwarf_alloc_die ();      die->tag = 0;      die->abbrev = abbrev_number;      die->type = NULL;      *diep = die;      *has_children = 0;      return info_ptr;    }  abbrev = dwarf2_lookup_abbrev (abbrev_number, cu);  if (!abbrev)    {      error ("Dwarf Error: could not find abbrev number %d [in module %s]",	     abbrev_number, 	     bfd_get_filename (abfd));    }  die = dwarf_alloc_die ();  die->offset = offset;  die->tag = abbrev->tag;  die->abbrev = abbrev_number;  die->type = NULL;  die->num_attrs = abbrev->num_attrs;  die->attrs = (struct attribute *)    xmalloc (die->num_attrs * sizeof (struct attribute));  for (i = 0; i < abbrev->num_attrs; ++i)    {      info_ptr = read_attribute (&die->attrs[i], &abbrev->attrs[i],				 abfd, info_ptr, cu);    }  *diep = die;  *has_children = abbrev->has_children;  return info_ptr;}