GDB (xrefs)
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
program_space Struct Reference

#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 objfileobjfile_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 &sections)
 
void add_target_sections (struct objfile *objfile)
 
void clear_target_sections ()
 
target_section_tabletarget_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_spaceaspace = NULL
 
int executing_startup = 0
 
int breakpoints_not_allowed = 0
 
struct objfilesymfile_object_file = NULL
 
std::list< std::unique_ptr< objfile > > objfiles_list
 
struct so_listso_list = NULL
 
unsigned int solib_add_generation = 0
 
std::vector< struct so_list * > added_solibs
 
std::vector< std::string > deleted_solibs
 
registry< program_spaceregistry_fields
 

Private Attributes

target_section_table m_target_sections
 

Detailed Description

Definition at line 190 of file progspace.h.

Member Typedef Documentation

◆ objfiles_range

Definition at line 203 of file progspace.h.

◆ objfiles_safe_range

Definition at line 216 of file progspace.h.

Constructor & Destructor Documentation

◆ program_space()

program_space::program_space ( address_space * aspace)
explicit

Definition at line 97 of file progspace.c.

References gdb::observers::new_program_space, and program_spaces.

◆ ~program_space()

program_space::~program_space ( )

Member Function Documentation

◆ add_objfile()

void program_space::add_objfile ( std::unique_ptr< objfile > && objfile,
struct objfile * before )

Definition at line 144 of file progspace.c.

References objfiles_list.

Referenced by objfile::make().

◆ add_target_sections() [1/2]

void program_space::add_target_sections ( struct objfile * objfile)

Definition at line 635 of file exec.c.

References m_target_sections, and objfile::sections().

◆ add_target_sections() [2/2]

void program_space::add_target_sections ( void * owner,
const target_section_table & sections )

◆ clear_solib_cache()

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

◆ clear_target_sections()

void program_space::clear_target_sections ( )
inline

Definition at line 301 of file progspace.h.

References m_target_sections.

◆ empty()

bool program_space::empty ( )

Definition at line 259 of file progspace.c.

References find_inferior_for_program_space().

◆ exec_bfd()

bfd * program_space::exec_bfd ( ) const
inline

◆ exec_close()

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

◆ free_all_objfiles()

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

◆ multi_objfile_p()

bool program_space::multi_objfile_p ( ) const
inline

Definition at line 244 of file progspace.h.

References objfiles_list.

Referenced by info_symbol_command(), and maintenance_translate_address().

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

◆ objfiles()

objfiles_range program_space::objfiles ( )
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().

◆ objfiles_safe()

objfiles_safe_range program_space::objfiles_safe ( )
inline

Definition at line 225 of file progspace.h.

References objfiles_list.

Referenced by jit_inferior_exit_hook(), and objfile_purge_solibs().

◆ remove_objfile()

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

◆ remove_target_sections()

void program_space::remove_target_sections ( void * owner)

◆ set_exec_bfd()

void program_space::set_exec_bfd ( gdb_bfd_ref_ptr && abfd)
inline

Definition at line 274 of file progspace.h.

References ebfd.

Referenced by exec_file_attach().

◆ solibs()

so_list_range program_space::solibs ( ) const
inline

◆ target_sections()

target_section_table & program_space::target_sections ( )
inline

Member Data Documentation

◆ added_solibs

std::vector<struct so_list *> program_space::added_solibs

◆ aspace

struct address_space* program_space::aspace = NULL

◆ breakpoints_not_allowed

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

◆ cbfd

gdb_bfd_ref_ptr program_space::cbfd

◆ deleted_solibs

std::vector<std::string> program_space::deleted_solibs

◆ ebfd

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

◆ ebfd_mtime

long program_space::ebfd_mtime = 0

◆ exec_filename

gdb::unique_xmalloc_ptr<char> program_space::exec_filename

◆ executing_startup

int program_space::executing_startup = 0

◆ m_target_sections

target_section_table program_space::m_target_sections
private

◆ num

int program_space::num = 0

◆ objfiles_list

std::list<std::unique_ptr<objfile> > program_space::objfiles_list

◆ registry_fields

registry<program_space> program_space::registry_fields

Definition at line 378 of file progspace.h.

◆ so_list

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

◆ solib_add_generation

unsigned int program_space::solib_add_generation = 0

Definition at line 367 of file progspace.h.

Referenced by post_create_inferior(), and solib_add().

◆ symfile_object_file

struct objfile* program_space::symfile_object_file = NULL

The documentation for this struct was generated from the following files: