87 gdb_assert (pspace != NULL);
135 gdb_assert (so->objfile == NULL);
147 if (before ==
nullptr)
152 [=] (
const std::unique_ptr<::objfile> &objf)
154 return objf.get () == before;
173 [=] (
const std::unique_ptr<::objfile> &objf)
175 return objf.get () == objfile;
192 if (iter->separate_debug_objfile_backlink !=
nullptr)
209 ebfd.reset (
nullptr);
248 gdb_assert (pspace != NULL);
274 size_t longest_exec_name = 17;
279 if (requested != -1 && pspace->num != requested)
282 if (pspace->exec_filename !=
nullptr)
283 longest_exec_name = std::max (strlen (pspace->exec_filename.get ()),
290 gdb_assert (count > 0);
303 if (requested != -1 && requested != pspace->num)
315 if (pspace->exec_filename !=
nullptr)
316 uiout->
field_string (
"exec", pspace->exec_filename.get (),
321 if (pspace->cbfd !=
nullptr)
322 uiout->
field_string (
"core", bfd_get_filename (pspace->cbfd.get ()),
338 if (
inf->pspace == pspace)
346 gdb_printf (
"\n\tBound inferiors: ID %d (%s)",
366 if (pspace->num ==
num)
385 error (_(
"program space ID %d not known."), requested);
415 pspace->aspace = aspace;
420 delete pspace->aspace;
428 inf->aspace =
inf->pspace->aspace;
449 _(
"Info about currently known program spaces."),
struct gdbarch * target_gdbarch(void)
void breakpoint_program_space_exit(struct program_space *pspace)
ui_file_style style() const
void field_string(const char *fldname, const char *string, const ui_file_style &style=ui_file_style())
void field_signed(const char *fldname, LONGEST value)
void field_skip(const char *fldname)
void text(const char *string)
void table_header(int width, ui_align align, const std::string &col_name, const std::string &col_hdr)
struct cmd_list_element * maintenanceinfolist
struct cmd_list_element * add_cmd(const char *name, enum command_class theclass, const char *doc, struct cmd_list_element **list)
cli_style_option file_name_style
LONGEST parse_and_eval_long(const char *exp)
void exec_file_attach(const char *filename, int from_tty)
void reinit_frame_cache(void)
int gdbarch_has_shared_address_space(struct gdbarch *gdbarch)
int gdbarch_has_global_solist(struct gdbarch *gdbarch)
struct inferior * find_inferior_for_program_space(struct program_space *pspace)
void switch_to_inferior_no_thread(inferior *inf)
all_inferiors_range all_inferiors(process_stratum_target *proc_target=nullptr)
observable< program_space * > new_program_space
observable< program_space * > free_program_space
bool is_addr_in_objfile(CORE_ADDR addr, const struct objfile *objfile)
const char * objfile_name(const struct objfile *objfile)
struct program_space * current_program_space
static void init_address_spaces(void)
void set_current_program_space(struct program_space *pspace)
static void maintenance_info_program_spaces_command(const char *args, int from_tty)
struct program_space * clone_program_space(struct program_space *dest, struct program_space *src)
static void remove_program_space(program_space *pspace)
static int highest_address_space_num
void initialize_progspace(void)
struct address_space * maybe_new_address_space(void)
static void print_program_space(struct ui_out *uiout, int requested)
void update_address_spaces(void)
static int last_program_space_num
static int valid_program_space_id(int num)
std::vector< struct program_space * > program_spaces
struct program_space * current_program_space
void set_current_program_space(struct program_space *pspace)
std::vector< struct program_space * > program_spaces
void no_shared_libraries(const char *ignored, int from_tty)
void remove_target_sections(void *owner)
objfiles_range objfiles()
void remove_objfile(struct objfile *objfile)
std::vector< std::string > deleted_solibs
std::vector< struct so_list * > added_solibs
void add_objfile(std::unique_ptr< objfile > &&objfile, struct objfile *before)
struct objfile * objfile_for_address(CORE_ADDR address)
struct address_space * aspace
program_space(address_space *aspace)
gdb::unique_xmalloc_ptr< char > exec_filename
struct objfile * symfile_object_file
std::list< std::unique_ptr< objfile > > objfiles_list
so_list_range solibs() const
void symbol_file_add_main(const char *args, symfile_add_flags add_flags)
void clear_symtab_users(symfile_add_flags add_flags)
std::string target_pid_to_str(ptid_t ptid)
void gdb_printf(struct ui_file *stream, const char *format,...)