GDB (xrefs)
|
#include "progspace.h"
Public Types | |
using | objfiles_range = unwrapping_objfile_range |
using | objfiles_safe_range = basic_safe_range<objfiles_range> |
Public Member Functions | |
program_space (address_space *aspace) | |
~program_space () | |
objfiles_range | objfiles () |
objfiles_safe_range | objfiles_safe () |
void | add_objfile (std::unique_ptr< objfile > &&objfile, struct objfile *before) |
void | remove_objfile (struct objfile *objfile) |
bool | multi_objfile_p () const |
void | free_all_objfiles () |
struct objfile * | objfile_for_address (CORE_ADDR address) |
so_list_range | solibs () const |
void | exec_close () |
bfd * | exec_bfd () const |
void | set_exec_bfd (gdb_bfd_ref_ptr &&abfd) |
void | clear_solib_cache () |
bool | empty () |
void | remove_target_sections (void *owner) |
void | add_target_sections (void *owner, const target_section_table §ions) |
void | add_target_sections (struct objfile *objfile) |
void | clear_target_sections () |
target_section_table & | target_sections () |
Public Attributes | |
int | num = 0 |
gdb_bfd_ref_ptr | ebfd |
long | ebfd_mtime = 0 |
gdb::unique_xmalloc_ptr< char > | exec_filename |
gdb_bfd_ref_ptr | cbfd |
struct address_space * | aspace = NULL |
int | executing_startup = 0 |
int | breakpoints_not_allowed = 0 |
struct objfile * | symfile_object_file = NULL |
std::list< std::unique_ptr< objfile > > | objfiles_list |
struct so_list * | so_list = NULL |
unsigned int | solib_add_generation = 0 |
std::vector< struct so_list * > | added_solibs |
std::vector< std::string > | deleted_solibs |
registry< program_space > | registry_fields |
Private Attributes | |
target_section_table | m_target_sections |
Definition at line 190 of file progspace.h.
Definition at line 203 of file progspace.h.
using program_space::objfiles_safe_range = basic_safe_range<objfiles_range> |
Definition at line 216 of file progspace.h.
|
explicit |
Definition at line 97 of file progspace.c.
References gdb::observers::new_program_space, and program_spaces.
program_space::~program_space | ( | ) |
Definition at line 107 of file progspace.c.
References aspace, breakpoint_program_space_exit(), clear_symtab_users(), current_program_space, free_all_objfiles(), gdb::observers::free_program_space, gdbarch_has_shared_address_space(), no_shared_libraries(), remove_program_space(), set_current_program_space(), SYMFILE_DEFER_BP_RESET, and target_gdbarch().
Definition at line 144 of file progspace.c.
References objfiles_list.
Referenced by objfile::make().
void program_space::add_target_sections | ( | struct objfile * | objfile | ) |
Definition at line 635 of file exec.c.
References m_target_sections, and objfile::sections().
void program_space::add_target_sections | ( | void * | owner, |
const target_section_table & | sections ) |
Definition at line 602 of file exec.c.
References all_inferiors(), exec_ops, m_target_sections, and switch_to_inferior_no_thread().
Referenced by add_symbol_file_command(), exec_file_attach(), solib_map_sections(), and symbol_file_add_from_memory().
void program_space::clear_solib_cache | ( | ) |
Definition at line 436 of file progspace.c.
References added_solibs, and deleted_solibs.
Referenced by handle_solib_event(), and rocm_solib_target_inferior_created().
|
inline |
Definition at line 301 of file progspace.h.
References m_target_sections.
bool program_space::empty | ( | ) |
Definition at line 259 of file progspace.c.
References find_inferior_for_program_space().
|
inline |
Definition at line 268 of file progspace.h.
References ebfd.
Referenced by add_symbol_file_from_memory_command(), add_vsyscall_page(), compare_sections_command(), core_addr_to_ps_addr(), core_target_open(), nto_procfs_target::create_inferior(), gdbsim_target::create_inferior(), rs6000_nat_target::create_inferior(), darwin_solib_create_inferior_hook(), default_gcore_arch(), default_gcore_target(), default_print_insn(), elf_locate_base(), enable_break(), enable_break(), enable_break2(), exec_file_attach(), exec_read_partial_read_only(), exec_target::files_info(), gdbsim_target::files_info(), find_program_interpreter(), find_program_interpreter(), gdb_print_insn_arm(), gdbarch_update_p(), gdbsim_target_open(), source_cache::get_plain_source_lines(), get_sim_inferior_data(), thread_db_target::get_thread_local_address(), lm_base(), maintenance_info_sections(), objfile_find_memory_regions(), nto_procfs_target::post_attach(), post_create_inferior(), print_section_info(), ps_addr_to_core_addr(), ps_pdmodel(), reopen_exec_file(), rw_common(), svr4_current_sos_direct(), svr4_exec_displacement(), svr4_iterate_over_objfiles_in_search_order(), svr4_relocate_main_executable(), remote_target::trace_set_readonly_regions(), validate_exec_file(), validate_files(), and windows_solib_create_inferior_hook().
void program_space::exec_close | ( | ) |
Definition at line 203 of file progspace.c.
References ebfd, ebfd_mtime, exec_filename, and remove_target_sections().
Referenced by exec_file_attach().
void program_space::free_all_objfiles | ( | ) |
Definition at line 131 of file progspace.c.
References current_program_space, objfiles_list, and solibs().
Referenced by symbol_file_clear(), and ~program_space().
|
inline |
Definition at line 244 of file progspace.h.
References objfiles_list.
Referenced by info_symbol_command(), and maintenance_translate_address().
struct objfile * program_space::objfile_for_address | ( | CORE_ADDR | address | ) |
Definition at line 187 of file progspace.c.
References is_addr_in_objfile(), and objfiles().
Referenced by pspy_objfile_for_address().
|
inline |
Definition at line 209 of file progspace.h.
References objfiles_list.
Referenced by ada_add_global_exceptions(), ada_add_standard_exceptions(), add_nonlocal_symbols(), add_symbol_overload_list_qualified(), basic_lookup_transparent_type(), captured_main_1(), collect_probes(), ada_language::collect_symbol_completion_matches(), count_symtabs_and_blocks(), create_exception_master_breakpoint(), create_longjmp_master_breakpoint(), create_overlay_event_breakpoint(), create_std_terminate_master_breakpoint(), default_collect_symbol_completion_matches_break_on(), default_iterate_over_objfiles_in_search_order(), dwarf2_frame_find_fde(), expand_symtabs_matching(), find_line_symtab(), find_main_name(), find_methods(), find_pc_mapped_section(), find_pc_overlay(), find_pc_sect_compunit_symtab(), find_pretty_printer_from_objfiles(), find_probe_by_pc(), find_solib_trampoline_target(), find_symbol_at_address(), find_unwind_entry(), gcore_create_callback(), gdbpy_get_matching_xmethod_workers(), gdbpy_lookup_static_symbols(), gdbscm_objfiles(), gdbscm_progspace_objfiles(), has_libpthread(), have_full_symbols(), have_minimal_symbols(), have_partial_symbols(), info_classes_command(), info_selectors_command(), info_sources_worker(), info_symbol_command(), iterate_over_all_matching_symtabs(), iterate_over_symtabs(), jit_breakpoint_re_set_internal(), jit_find_objf_with_entry_addr(), jit_inferior_init(), list_overlays_command(), lookup_minimal_symbol(), lookup_minimal_symbol_by_pc_name(), lookup_minimal_symbol_linkage(), lookup_minimal_symbol_text(), maintenance_check_psymtabs(), maintenance_info_sections(), maintenance_print_msymbols(), maintenance_print_psymbols(), maintenance_print_symbols(), maintenance_translate_address(), make_source_files_completion_list(), map_overlay_command(), map_symbol_filenames(), matching_obj_sections(), objfile_find_memory_regions(), objfile_for_address(), overlay_invalidate_all(), parse_probes_in_pspace(), ppscm_find_pretty_printer_from_objfiles(), pspy_get_objfiles(), remove_symbol_file_command(), reread_symbols(), save_gdb_index_command(), global_symbol_searcher::search(), search_minsyms_for_name(), select_source_symtab(), set_can_use_agent(), shared_objfile_contains_address_p(), simple_overlay_update(), solib_read_symbols(), sort_cmp(), svr4_iterate_over_objfiles_in_search_order(), try_thread_db_load_from_pdir(), unmap_overlay_command(), update_section_map(), windows_iterate_over_objfiles_in_search_order(), z80_overlay_update(), and z80_overlay_update_1().
|
inline |
Definition at line 225 of file progspace.h.
References objfiles_list.
Referenced by jit_inferior_exit_hook(), and objfile_purge_solibs().
void program_space::remove_objfile | ( | struct objfile * | objfile | ) |
Definition at line 164 of file progspace.c.
References objfiles_list, reinit_frame_cache(), and symfile_object_file.
Referenced by objfile::unlink().
void program_space::remove_target_sections | ( | void * | owner | ) |
Definition at line 654 of file exec.c.
References all_inferiors(), exec_ops, m_target_sections, and switch_to_inferior_no_thread().
Referenced by clear_solib(), exec_close(), reload_shared_libraries_1(), symfile_free_objfile(), and update_solib_list().
|
inline |
|
inline |
Definition at line 260 of file progspace.h.
Referenced by enable_break(), find_solib_for_objfile(), free_all_objfiles(), frv_fdpic_find_canonical_descriptor(), frv_fdpic_find_global_pointer(), frv_fetch_objfile_link_map(), info_sharedlibrary_command(), mi_cmd_file_list_shared_libraries(), reload_shared_libraries_1(), remove_user_added_objfile(), solib_add(), solib_used(), and svr4_fetch_objfile_link_map().
|
inline |
Definition at line 307 of file progspace.h.
References m_target_sections.
Referenced by default_get_section_table(), exec_on_vfork(), exec_set_section_address(), exec_target::files_info(), gdb_bfd_scan_elf_dyntag(), exec_target::has_memory(), and set_section_command().
std::vector<struct so_list *> program_space::added_solibs |
Definition at line 371 of file progspace.h.
Referenced by solib_catchpoint::check_status(), clear_solib_cache(), print_solib_event(), and update_solib_list().
struct address_space* program_space::aspace = NULL |
Definition at line 339 of file progspace.h.
Referenced by add_inferior_with_spaces(), bp_location_inserted_here_p(), breakpoint_here_p(), ranged_breakpoint::breakpoint_hit(), code_breakpoint::breakpoint_hit(), breakpoint_in_range_p(), breakpoint_inserted_here_p(), breakpoint_location_address_match(), breakpoint_location_address_range_overlap(), breakpoint_locations_match(), clone_inferior_command(), hardware_breakpoint_inserted_here_p(), hardware_watchpoint_inserted_in_range(), initialize_inferiors(), insert_bp_location(), moribund_breakpoint_here_p(), one_breakpoint_xfer_memory(), should_be_inserted(), software_breakpoint_inserted_here_p(), target_dcache_get(), target_dcache_get_or_init(), target_dcache_init_p(), target_dcache_invalidate(), update_address_spaces(), watchpoint_locations_match(), and ~program_space().
int program_space::breakpoints_not_allowed = 0 |
Definition at line 353 of file progspace.h.
Referenced by follow_fork_inferior(), handle_vfork_done(), and should_be_inserted().
gdb_bfd_ref_ptr program_space::cbfd |
Definition at line 328 of file progspace.h.
Referenced by core_target::build_file_mappings(), core_target::clear_core(), core_target_open(), and solib_map_sections().
std::vector<std::string> program_space::deleted_solibs |
Definition at line 375 of file progspace.h.
Referenced by solib_catchpoint::check_status(), clear_solib_cache(), print_solib_event(), and update_solib_list().
gdb_bfd_ref_ptr program_space::ebfd |
Definition at line 319 of file progspace.h.
Referenced by exec_bfd(), exec_close(), exec_file_attach(), and set_exec_bfd().
long program_space::ebfd_mtime = 0 |
Definition at line 321 of file progspace.h.
Referenced by exec_close(), exec_file_attach(), source_cache::get_plain_source_lines(), and reopen_exec_file().
gdb::unique_xmalloc_ptr<char> program_space::exec_filename |
Definition at line 325 of file progspace.h.
Referenced by clone_program_space(), exec_close(), exec_file_attach(), get_exec_file(), print_one_inferior(), and pspy_get_exec_file().
int program_space::executing_startup = 0 |
Definition at line 349 of file progspace.h.
Referenced by add_matching_symbols_to_info(), disable_breakpoints_before_startup(), enable_breakpoints_after_startup(), find_method(), iterate_over_all_matching_symtabs(), linespec_expression_to_pc(), lookup_prefix_sym(), and should_be_inserted().
|
private |
Definition at line 383 of file progspace.h.
Referenced by add_target_sections(), add_target_sections(), clear_target_sections(), remove_target_sections(), and target_sections().
int program_space::num = 0 |
Definition at line 313 of file progspace.h.
Referenced by bp_location_is_less_than(), build_target_command_list(), build_target_condition_list(), force_breakpoint_reinsertion(), ignore_command(), map_breakpoint_numbers(), and valid_program_space_id().
std::list<std::unique_ptr<objfile> > program_space::objfiles_list |
Definition at line 360 of file progspace.h.
Referenced by add_objfile(), free_all_objfiles(), multi_objfile_p(), objfiles(), objfiles_safe(), and remove_objfile().
registry<program_space> program_space::registry_fields |
Definition at line 378 of file progspace.h.
struct so_list* program_space::so_list = NULL |
Definition at line 364 of file progspace.h.
Referenced by clear_solib(), solib_name_from_address(), and update_solib_list().
unsigned int program_space::solib_add_generation = 0 |
Definition at line 367 of file progspace.h.
Referenced by post_create_inferior(), and solib_add().
struct objfile* program_space::symfile_object_file = NULL |
Definition at line 357 of file progspace.h.
Referenced by add_symbol_file_from_memory_command(), clone_program_space(), nto_procfs_target::create_inferior(), darwin_solib_create_inferior_hook(), dsbt_relocate_main_executable(), elf_locate_base(), enable_break(), enable_break(), entry_point_address_query(), finish_new_objfile(), frv_fdpic_find_canonical_descriptor(), frv_fetch_objfile_link_map(), frv_relocate_main_executable(), gdbscm_progspace_filename(), remote_target::get_offsets(), get_symbol_leading_char(), info_target_command(), inside_main_func(), lm_base(), lm_base(), main_got(), open_symbol_file_object(), extended_remote_target::post_attach(), pspy_get_filename(), pspy_get_symbol_file(), psscm_print_pspace_smob(), remove_objfile(), reread_symbols(), scan_file_globals(), solib_aix_solib_create_inferior_hook(), svr4_fetch_objfile_link_map(), svr4_iterate_over_objfiles_in_search_order(), svr4_relocate_main_executable(), symbol_file_clear(), syms_from_objfile_1(), update_solib_list(), and windows_solib_create_inferior_hook().