xmfree (objfile->md, objfile->static_psymbols.list);
xfree (objfile->static_psymbols.list);
free_objfile (struct objfile *objfile){  if (objfile->separate_debug_objfile)    {      free_objfile (objfile->separate_debug_objfile);    }    if (objfile->separate_debug_objfile_backlink)    {      /* We freed the separate debug file, make sure the base objfile	 doesn't reference it.  */      objfile->separate_debug_objfile_backlink->separate_debug_objfile = NULL;    }    /* First do any symbol file specific actions required when we are     finished with a particular symbol file.  Note that if the objfile     is using reusable symbol information (via mmalloc) then each of     these routines is responsible for doing the correct thing, either     freeing things which are valid only during this particular gdb     execution, or leaving them to be reused during the next one. */  if (objfile->sf != NULL)    {      (*objfile->sf->sym_finish) (objfile);    }  /* We always close the bfd. */  if (objfile->obfd != NULL)    {      char *name = bfd_get_filename (objfile->obfd);      if (!bfd_close (objfile->obfd))	warning ("cannot close \"%s\": %s",		 name, bfd_errmsg (bfd_get_error ()));      xfree (name);    }  /* Remove it from the chain of all objfiles. */  unlink_objfile (objfile);  /* If we are going to free the runtime common objfile, mark it     as unallocated.  */  if (objfile == rt_common_objfile)    rt_common_objfile = NULL;  /* Before the symbol table code was redone to make it easier to     selectively load and remove information particular to a specific     linkage unit, gdb used to do these things whenever the monolithic     symbol table was blown away.  How much still needs to be done     is unknown, but we play it safe for now and keep each action until     it is shown to be no longer needed. */  /* I *think* all our callers call clear_symtab_users.  If so, no need     to call this here.  */  clear_pc_function_cache ();  /* The last thing we do is free the objfile struct itself. */  objfile_free_data (objfile);  if (objfile->name != NULL)    {      xmfree (objfile->md, objfile->name);    }  if (objfile->global_psymbols.list)    xmfree (objfile->md, objfile->global_psymbols.list);  if (objfile->static_psymbols.list)    xmfree (objfile->md, objfile->static_psymbols.list);  /* Free the obstacks for non-reusable objfiles */  bcache_xfree (objfile->psymbol_cache);  bcache_xfree (objfile->macro_cache);  if (objfile->demangled_names_hash)    htab_delete (objfile->demangled_names_hash);  obstack_free (&objfile->objfile_obstack, 0);  xmfree (objfile->md, objfile);  objfile = NULL;}