GDB (xrefs)

Classes | Macros | Typedefs | Functions | Variables
/tmp/gdb-8.1/gdb/progspace.h File Reference
`#include "target.h"`
`#include "vec.h"`
`#include "gdb_vecs.h"`
`#include "registry.h"`

Go to the source code of this file.

## Classes
struct | program_space
struct | address_space
class | scoped_restore_current_program_space

## Macros
#define | symfile_objfile current_program_space->symfile_object_file
#define | object_files current_program_space->objfiles
#define | current_target_sections (&current_program_space->target_sections)
#define | ALL_PSPACES(pspace) for ((pspace) = program_spaces; (pspace) != NULL; (pspace) = (pspace)->next)

## Typedefs
typedef struct so_list * | so_list_ptr

## Functions
| DEF_VEC_P (so_list_ptr)
struct program_space * | add_program_space (struct address_space *aspace)
void | delete_program_space (struct program_space *pspace)
int | number_of_program_spaces (void)
int | program_space_empty_p (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)
struct address_space * | new_address_space (void)
struct address_space * | maybe_new_address_space (void)
int | address_space_num (struct address_space *aspace)
void | update_address_spaces (void)
void | clear_program_space_solib_cache (struct program_space *)
| DECLARE_REGISTRY (program_space)
| DECLARE_REGISTRY (address_space)

## Variables
struct program_space * | program_spaces
struct program_space * | current_program_space

## Macro Definition Documentation

## ◆ ALL_PSPACES

#define ALL_PSPACES | ( |  | pspace | ) | for ((pspace) = program_spaces; (pspace) != NULL; (pspace) = (pspace)->next)

Definition at line 243 of file progspace.h.

Referenced by create_longjmp_master_breakpoint(), create_std_terminate_master_breakpoint(), exec_close_1(), forget_cached_source_info(), gdbpy_progspaces(), gdbscm_progspaces(), iterate_over_all_matching_symtabs(), maintenance_check_symtabs(), maintenance_expand_symtabs(), maintenance_flush_symbol_cache(), maintenance_info_line_tables(), maintenance_info_psymtabs(), maintenance_info_symtabs(), maintenance_print_objfiles(), maintenance_print_symbol_cache(), maintenance_print_symbol_cache_statistics(), number_of_program_spaces(), parse_probes(), print_objfile_statistics(), print_program_space(), print_symbol_bcache_statistics(), remove_target_sections(), search_minsyms_for_name(), set_debug_symfile(), set_symbol_cache_size(), update_address_spaces(), and valid_program_space_id().

## ◆ current_target_sections

#define current_target_sections (&current_program_space->target_sections)

Definition at line 235 of file progspace.h.

Referenced by add_target_sections(), add_target_sections_of_objfile(), exec_close_1(), exec_files_info(), exec_get_section_table(), exec_has_memory(), exec_set_section_address(), remove_target_sections(), scan_dyntag(), and set_section_command().

## ◆ object_files

#define object_files current_program_space->objfiles

Definition at line 231 of file progspace.h.

Referenced by lookup_minimal_symbol(), lookup_minimal_symbol_by_pc_name(), lookup_minimal_symbol_solib_trampoline(), lookup_minimal_symbol_text(), objfile::objfile(), put_objfile_before(), reread_symbols(), and unlink_objfile().

## ◆ symfile_objfile

#define symfile_objfile current_program_space->symfile_object_file

Definition at line 227 of file progspace.h.

Referenced by add_symbol_file_from_memory_command(), darwin_solib_create_inferior_hook(), dsbt_relocate_main_executable(), elf_locate_base(), elf_lookup_lib_symbol(), enable_break(), entry_point_address_query(), extended_remote_post_attach(), finish_new_objfile(), frv_fdpic_find_canonical_descriptor(), frv_fetch_objfile_link_map(), frv_relocate_main_executable(), get_offsets(), get_symbol_leading_char(), info_target_command(), inside_main_func(), lm_base(), main_got(), open_symbol_file_object(), procfs_create_inferior(), remote_start_remote(), reread_symbols(), scan_file_globals(), solib_aix_solib_create_inferior_hook(), spu_catch_start(), spu_gdbarch_id(), spu_relocate_main_executable(), svr4_fetch_objfile_link_map(), svr4_relocate_main_executable(), symbol_file_clear(), syms_from_objfile_1(), update_solib_list(), and objfile::~objfile().

## Typedef Documentation

## ◆ so_list_ptr

typedef struct so_list* so_list_ptr

Definition at line 38 of file progspace.h.

## 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 * |  | ) |

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().

## ◆ DECLARE_REGISTRY() [1/2]

DECLARE_REGISTRY | ( | program_space |  | ) |

## ◆ DECLARE_REGISTRY() [2/2]

DECLARE_REGISTRY | ( | address_space |  | ) |

## ◆ DEF_VEC_P()

DEF_VEC_P | ( | so_list_ptr |  | ) |

## ◆ 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().

## ◆ 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().

## ◆ 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().

## ◆ 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().

## 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().

## ◆ 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().