GDB (xrefs)

Functions | Variables
/tmp/gdb-8.1/gdb/progspace.c File Reference
`#include "defs.h"`
`#include "gdbcmd.h"`
`#include "objfiles.h"`
`#include "arch-utils.h"`
`#include "gdbcore.h"`
`#include "solib.h"`
`#include "gdbthread.h"`

Go to the source code of this file.

## Functions
struct address_space * | new_address_space (void)
struct address_space * | maybe_new_address_space (void)
static void | free_address_space (struct address_space *aspace)
int | address_space_num (struct address_space *aspace)
static void | init_address_spaces (void)
struct program_space * | add_program_space (struct address_space *aspace)
static void | release_program_space (struct program_space *pspace)
struct program_space * | clone_program_space (struct program_space *dest, struct program_space *src)
void | set_current_program_space (struct program_space *pspace)
int | program_space_empty_p (struct program_space *pspace)
void | delete_program_space (struct program_space *pspace)
static void | print_program_space (struct ui_out *uiout, int requested)
static int | valid_program_space_id (int num)
static void | maintenance_info_program_spaces_command (const char *args, int from_tty)
int | number_of_program_spaces (void)
void | update_address_spaces (void)
void | clear_program_space_solib_cache (struct program_space *pspace)
void | initialize_progspace (void)

## Variables
int | last_program_space_num = 0
struct program_space * | program_spaces
struct program_space * | current_program_space
static int | highest_address_space_num

## Function Documentation

## ◆ add_program_space()

struct program_space* add_program_space | ( | struct address_space * | aspace | ) |

Definition at line 113 of file progspace.c.

References program_space::aspace, last_program_space_num, program_space::next, program_space::num, program_spaces, and XCNEW.

Referenced by add_inferior_with_spaces(), clone_inferior_command(), follow_fork_inferior(), handle_vfork_child_exec_or_exit(), and initialize_progspace().

## ◆ address_space_num()

int address_space_num | ( | struct address_space * | aspace | ) |

Definition at line 94 of file progspace.c.

References address_space::num.

## ◆ clear_program_space_solib_cache()

void clear_program_space_solib_cache | ( | struct program_space * | pspace | ) |

Definition at line 411 of file progspace.c.

References free_char_ptr_vec(), and VEC_free.

Referenced by handle_solib_event(), and release_program_space().

## ◆ clone_program_space()

struct program_space* clone_program_space | ( | struct program_space * | dest,
|  | struct program_space * | src
| ) |  |

Definition at line 170 of file progspace.c.

References exec_file_attach(), objfile_name(), program_space::pspace_exec_filename, set_current_program_space(), symbol_file_add_main(), and program_space::symfile_object_file.

Referenced by clone_inferior_command(), follow_fork_inferior(), and handle_vfork_child_exec_or_exit().

## ◆ delete_program_space()

void delete_program_space | ( | struct program_space * | pspace | ) |

Definition at line 218 of file progspace.c.

References current_program_space, gdb_assert, program_space::next, program_spaces, and release_program_space().

Referenced by delete_inferior().

## ◆ free_address_space()

static void free_address_space | ( | struct address_space * | aspace | ) |
| static

Definition at line 87 of file progspace.c.

References xfree().

Referenced by release_program_space(), and update_address_spaces().

## ◆ init_address_spaces()

static void init_address_spaces | ( | void |  | ) |
| static

Definition at line 102 of file progspace.c.

References highest_address_space_num.

Referenced by update_address_spaces().

## ◆ initialize_progspace()

void initialize_progspace | ( | void |  | ) |

Definition at line 422 of file progspace.c.

References _, add_cmd(), add_program_space(), class_maintenance, current_program_space, maintenance_info_program_spaces_command(), maintenanceinfolist, and new_address_space().

Referenced by gdb_init().

## ◆ maintenance_info_program_spaces_command()

static void maintenance_info_program_spaces_command | ( | const char * | args,
|  | int | from_tty
| ) |  |
| static

Definition at line 336 of file progspace.c.

References _, current_uiout, error(), parse_and_eval_long(), print_program_space(), and valid_program_space_id().

Referenced by initialize_progspace().

## ◆ maybe_new_address_space()

struct address_space* maybe_new_address_space | ( | void |  | ) |

Definition at line 73 of file progspace.c.

References program_space::aspace, gdbarch_has_shared_address_space(), new_address_space(), program_spaces, and target_gdbarch().

Referenced by add_inferior_with_spaces(), clone_inferior_command(), handle_vfork_child_exec_or_exit(), remote_add_inferior(), and update_address_spaces().

## ◆ new_address_space()

struct address_space* new_address_space | ( | void |  | ) |

Definition at line 57 of file progspace.c.

References highest_address_space_num, address_space::num, and XCNEW.

Referenced by follow_fork_inferior(), initialize_progspace(), maybe_new_address_space(), and update_address_spaces().

## ◆ number_of_program_spaces()

int number_of_program_spaces | ( | void |  | ) |

Definition at line 353 of file progspace.c.

References ALL_PSPACES.

Referenced by print_one_breakpoint_location().

## ◆ print_program_space()

static void print_program_space | ( | struct ui_out * | uiout,
|  | int | requested
| ) |  |
| static

Definition at line 246 of file progspace.c.

References ALL_PSPACES, current_program_space, ui_out::field_int(), ui_out::field_skip(), ui_out::field_string(), gdb_assert, arm-linux::inf, inferior_list, program_space::num, inf::pid, pid_to_ptid(), printf_filtered(), inferior::pspace, program_space::pspace_exec_filename, ui_out::table_body(), ui_out::table_header(), target_pid_to_str(), ui_out::text(), and ui_left.

Referenced by maintenance_info_program_spaces_command().

## ◆ program_space_empty_p()

int program_space_empty_p | ( | struct program_space * | pspace | ) |

Definition at line 206 of file progspace.c.

References find_inferior_for_program_space().

Referenced by delete_inferior().

## ◆ release_program_space()

static void release_program_space | ( | struct program_space * | pspace | ) |
| static

Definition at line 145 of file progspace.c.

References program_space::aspace, breakpoint_program_space_exit(), clear_program_space_solib_cache(), clear_section_table(), current_program_space, exec_close(), free_address_space(), free_all_objfiles(), gdb_assert, gdbarch_has_shared_address_space(), no_shared_libraries(), set_current_program_space(), target_gdbarch(), program_space::target_sections, and xfree().

Referenced by delete_program_space().

## ◆ set_current_program_space()

void set_current_program_space | ( | struct program_space * | pspace | ) |

Definition at line 190 of file progspace.c.

References current_program_space, gdb_assert, and reinit_frame_cache().

Referenced by add_inferior_command(), add_matching_symbols_to_info(), clone_program_space(), convert_linespec_to_sals(), create_longjmp_master_breakpoint(), create_sals_line_offset(), create_std_terminate_master_breakpoint(), decode_digits_list_mode(), decode_digits_ordinary(), exec_close_1(), find_method(), follow_exec(), follow_fork_inferior(), handle_inferior_event_1(), handle_vfork_child_exec_or_exit(), inferior_command(), iterate_over_all_matching_symtabs(), mi_cmd_execute(), mi_cmd_remove_inferior(), print_breakpoint_location(), print_sal_location(), ps_pglobal_lookup(), release_program_space(), run_one_inferior(), search_minsyms_for_name(), switch_to_program_space_and_thread(), switch_to_thread_no_regs(), VEC(), and scoped_restore_current_program_space::~scoped_restore_current_program_space().

## ◆ update_address_spaces()

void update_address_spaces | ( | void |  | ) |

Definition at line 376 of file progspace.c.

References ALL_PSPACES, program_space::aspace, current_program_space, free_address_space(), gdbarch_has_global_solist(), gdbarch_has_shared_address_space(), arm-linux::inf, inferior_list, init_address_spaces(), maybe_new_address_space(), new_address_space(), and target_gdbarch().

Referenced by remote_start_remote().

## ◆ valid_program_space_id()

static int valid_program_space_id | ( | int | num | ) |
| static

Definition at line 320 of file progspace.c.

References ALL_PSPACES, and program_space::num.

Referenced by maintenance_info_program_spaces_command().

## Variable Documentation

## ◆ current_program_space

struct program_space* current_program_space

Definition at line 35 of file progspace.c.

Referenced by ada_clear_symbol_cache(), ada_get_tcb_types_info(), auto_load_info_scripts(), auto_load_objfile_script_1(), bpfinishpy_init(), breakpoint_init_inferior(), breakpoint_re_set_default(), breakpoint_re_set_thread(), cache_symbol(), call_function_by_hand_dummy(), check_status_catch_solib(), clear_section_scripts(), count_symtabs_and_blocks(), create_breakpoint(), create_clear_objfiles_event_object(), create_internal_breakpoint(), create_new_frame(), delete_program_space(), disable_breakpoints_before_startup(), disable_breakpoints_in_shlibs(), display_command(), do_one_display(), elf_gnu_ifunc_resolve_by_cache(), elf_gnu_ifunc_resolve_by_got(), elf_gnu_ifunc_resolver_return_stop(), enable_breakpoints_after_startup(), filter_sals(), find_entry(), find_function_start_sal(), find_pc_sect_line(), find_pc_section(), find_pretty_printer_from_progspace(), follow_exec(), func_command(), gdbpy_get_current_progspace(), gdbpy_get_matching_xmethod_workers(), gdbpy_solib_name(), gdbscm_current_progspace(), get_current_frame(), get_darwin_info(), get_dsbt_info(), get_jit_program_space_data(), get_main_info(), get_remote_exec_file(), get_svr4_info(), handle_vfork_child_exec_or_exit(), info_line_command(), init_catchpoint(), initialize_inferiors(), initialize_progspace(), linespec_expression_to_pc(), linespec_state_constructor(), lookup_global_symbol(), lookup_static_symbol(), mark_breakpoints_out(), minsym_found(), objfiles_changed(), one_breakpoint_xfer_memory(), post_create_inferior(), ppscm_find_pretty_printer_from_progspace(), print_program_space(), print_solib_event(), ptid_from_atcb_common(), re_set_exception_catchpoint(), read_atcb(), read_known_tasks_list(), release_program_space(), remote_add_inferior(), remove_jit_event_breakpoints(), remove_solib_event_breakpoints(), remove_solib_event_breakpoints_at_next_stop(), remove_symbol_file_command(), select_source_symtab(), set_breakpoint_location_function(), set_current_program_space(), set_longjmp_breakpoint(), set_longjmp_breakpoint_for_call_dummy(), set_remote_exec_file(), set_std_terminate_breakpoint(), solib_add(), source_section_scripts(), svr4_handle_solib_event(), symtab_new_objfile_observer(), target_dcache_get(), target_dcache_get_or_init(), target_dcache_init_p(), target_dcache_invalidate(), tui_set_disassem_content(), update_address_spaces(), update_breakpoints_after_exec(), update_solib_list(), watch_command_1(), and watchpoint_in_thread_scope().

## ◆ highest_address_space_num

int highest_address_space_num
| static

Definition at line 38 of file progspace.c.

Referenced by init_address_spaces(), and new_address_space().

## ◆ last_program_space_num

int last_program_space_num = 0

Definition at line 29 of file progspace.c.

Referenced by add_program_space().

## ◆ program_spaces

struct program_space* program_spaces

Definition at line 32 of file progspace.c.

Referenced by ada_tasks_new_objfile_observer(), add_program_space(), delete_program_space(), and maybe_new_address_space().