obj_private_data_t *obj_private;
struct hppa_objfile_private *obj_private;
som_solib_add_solib_objfile (struct so_list *so, char *name, int from_tty,			     CORE_ADDR text_addr){  obj_private_data_t *obj_private;  struct obj_section *s;  so->objfile = symbol_file_add (name, from_tty, NULL, 0, OBJF_SHARED);  so->abfd = so->objfile->obfd;  /* syms_from_objfile has bizarre section offset code,     so I do my own right here.  */  for (s = so->objfile->sections; s < so->objfile->sections_end; s++)    {      flagword aflag = bfd_get_section_flags(so->abfd, s->the_bfd_section);      if (aflag & SEC_CODE)	{	  s->addr    += so->som_solib.text_addr - so->som_solib.text_link_addr;	  s->endaddr += so->som_solib.text_addr - so->som_solib.text_link_addr;	}      else if (aflag & SEC_DATA)	{	  s->addr    += so->som_solib.data_start;	  s->endaddr += so->som_solib.data_start;	}      else	;    }     /* Mark this as a shared library and save private data.   */  so->objfile->flags |= OBJF_SHARED;  if (so->objfile->obj_private == NULL)    {      obj_private = (obj_private_data_t *)	obstack_alloc (&so->objfile->objfile_obstack,		       sizeof (obj_private_data_t));      obj_private->unwind_info = NULL;      obj_private->so_info = NULL;      so->objfile->obj_private = obj_private;    }  obj_private = (obj_private_data_t *) so->objfile->obj_private;  obj_private->so_info = so;  if (!bfd_check_format (so->abfd, bfd_object))    {      error ("\"%s\": not in executable format: %s.",	     name, bfd_errmsg (bfd_get_error ()));    }}