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

#include "objfiles.h"

Classes

class  section_iterator
 

Public Types

typedef iterator_range< minimal_symbol_iteratormsymbols_range
 

Public Member Functions

 ~objfile ()
 
void unlink ()
 
 DISABLE_COPY_AND_ASSIGN (objfile)
 
compunit_symtab_range compunits ()
 
msymbols_range msymbols ()
 
separate_debug_range separate_debug_objfiles ()
 
CORE_ADDR text_section_offset () const
 
CORE_ADDR data_section_offset () const
 
const char * intern (const char *str)
 
const char * intern (const std::string &str)
 
struct gdbarcharch () const
 
bool has_partial_symbols ()
 
bool has_unexpanded_symtabs ()
 
struct symtabfind_last_source_symtab ()
 
void forget_cached_source_info ()
 
bool map_symtabs_matching_filename (const char *name, const char *real_path, gdb::function_view< bool(symtab *)> callback)
 
struct compunit_symtablookup_symbol (block_enum kind, const char *name, domain_enum domain)
 
void print_stats (bool print_bcache)
 
void dump ()
 
void expand_symtabs_for_function (const char *func_name)
 
void expand_all_symtabs ()
 
void expand_symtabs_with_fullname (const char *fullname)
 
void expand_matching_symbols (const lookup_name_info &name, domain_enum domain, int global, symbol_compare_ftype *ordered_compare)
 
bool expand_symtabs_matching (gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher, const lookup_name_info *lookup_name, gdb::function_view< expand_symtabs_symbol_matcher_ftype > symbol_matcher, gdb::function_view< expand_symtabs_exp_notify_ftype > expansion_notify, block_search_flags search_flags, domain_enum domain, enum search_domain kind)
 
struct compunit_symtabfind_pc_sect_compunit_symtab (struct bound_minimal_symbol msymbol, CORE_ADDR pc, struct obj_section *section, int warn_if_readin)
 
void map_symbol_filenames (gdb::function_view< symbol_filename_ftype > fun, bool need_fullname)
 
struct compunit_symtabfind_compunit_symtab_by_address (CORE_ADDR address)
 
enum language lookup_global_symbol_language (const char *name, domain_enum domain, bool *symbol_found_p)
 
void require_partial_symbols (bool verbose)
 
CORE_ADDR section_offset (bfd_section *section) const
 
void set_section_offset (bfd_section *section, CORE_ADDR offset)
 
iterator_range< section_iteratorsections ()
 
iterator_range< section_iteratorsections () const
 

Static Public Member Functions

static objfilemake (gdb_bfd_ref_ptr bfd_, const char *name_, objfile_flags flags_, objfile *parent=nullptr)
 

Public Attributes

const char * original_name = nullptr
 
CORE_ADDR addr_low = 0
 
objfile_flags flags
 
struct program_spacepspace
 
struct compunit_symtabcompunit_symtabs = nullptr
 
gdb_bfd_ref_ptr obfd
 
struct objfile_per_bfd_storageper_bfd = nullptr
 
std::unique_ptr< objfile_per_bfd_storageper_bfd_storage
 
long mtime = 0
 
auto_obstack objfile_obstack
 
const struct sym_fnssf = nullptr
 
std::forward_list< quick_symbol_functions_upqf
 
registry< objfileregistry_fields
 
::section_offsets section_offsets
 
int sect_index_text = -1
 
int sect_index_data = -1
 
int sect_index_bss = -1
 
int sect_index_rodata = -1
 
struct obj_sectionsections_start = nullptr
 
struct obj_sectionsections_end = nullptr
 
struct objfileseparate_debug_objfile = nullptr
 
struct objfileseparate_debug_objfile_backlink = nullptr
 
struct objfileseparate_debug_objfile_link = nullptr
 
 OBJSTATS
 
struct symboltemplate_symbols = nullptr
 
htab_up static_links
 
std::unique_ptr< jiter_objfile_datajiter_data = nullptr
 
std::unique_ptr< jited_objfile_datajited_data = nullptr
 
bool skip_jit_symbol_lookup = false
 
bool object_format_has_copy_relocs = false
 

Private Member Functions

 objfile (gdb_bfd_ref_ptr, const char *, objfile_flags)
 
const std::forward_list< quick_symbol_functions_up > & qf_require_partial_symbols ()
 

Detailed Description

Definition at line 421 of file objfiles.h.

Member Typedef Documentation

◆ msymbols_range

Definition at line 459 of file objfiles.h.

Constructor & Destructor Documentation

◆ objfile()

objfile::objfile ( gdb_bfd_ref_ptr bfd_,
const char * name,
objfile_flags flags_ )
private

◆ ~objfile()

objfile::~objfile ( )

Member Function Documentation

◆ arch()

struct gdbarch * objfile::arch ( ) const
inline

Definition at line 507 of file objfiles.h.

References objfile_per_bfd_storage::gdbarch, and per_bfd.

Referenced by ada_lookup_simple_minsym(), add_symbol_overload_list_qualified(), dwarf_expr_context::address_type(), dwarf2_per_objfile::adjust(), amd_dbgapi_insert_breakpoint_callback(), annotate_source_line(), type::arch(), basic_type(), builtin_type(), call_target_sbrk(), checkpoint_command(), coff_read_enum_type(), coff_symtab_read(), create_exception_master_breakpoint_hook(), create_exception_master_breakpoint_probe(), create_longjmp_master_breakpoint_names(), create_longjmp_master_breakpoint_probe(), create_overlay_event_breakpoint(), create_std_terminate_master_breakpoint(), dbx_end_psymtab(), dbx_init_float_type(), decode_base_type(), define_symbol(), dtrace_process_dof(), cooked_index_functions::dump(), dump_msymbols(), dump_psymtab(), dump_symtab_1(), dwarf2_add_field(), dwarf2_build_frame_info(), dwarf2_find_location_expression(), dwarf2_get_symbol_read_needs(), dwarf2_init_complex_target_type(), dwarf2_init_float_type(), dwarf_decode_lines_1(), edit_command(), elf_gnu_ifunc_record_cache(), elf_gnu_ifunc_resolve_by_got(), elf_rel_plt_read(), elf_symtab_read(), enter_line_range(), enter_linenos(), dwarf_expr_context::execute_stack_op(), dwarf_expr_context::fetch_address(), dwarf_expr_context::fetch_result(), filter_overlapping_sections(), finalize_symtab(), compunit_symtab::find_call_site(), find_function_in_inferior(), find_function_start_sal_1(), psymbol_functions::find_pc_sect_compunit_symtab(), dwarf2_base_index_functions::find_pc_sect_compunit_symtab(), buildsym_compunit::finish_block_internal(), block::gdbarch(), dwarf_expr_context::get_base_type(), get_sal_arch(), handle_stap_probe(), info_address_command(), init_entry_point_info(), internalize_unwinds(), linux_infcall_mmap(), linux_infcall_munmap(), list_command(), list_overlays_command(), locexpr_describe_location_1(), locexpr_describe_location_piece(), locexpr_get_symbol_read_needs(), loclist_describe_location(), lookup_global_or_static_symbol(), macho_add_oso_symfile(), maintenance_check_psymtabs(), maintenance_info_psymtabs(), maintenance_print_one_line_table(), mark_common_block_symbol_computed(), mdebug_expand_psymtab(), mi_cmd_symbol_list_lines(), msymbol_is_function(), output_nondebug_symbol(), parse_partial_symbols(), parse_symbol(), print_msymbol_info(), process_one_symbol(), python_free_objfile(), python_new_objfile(), read_addrmap_from_aranges(), read_base_type(), read_call_site_scope(), read_dbx_symtab(), read_debug_names_from_section(), read_enum_type(), read_func_scope(), read_one_struct_field(), read_range_type(), read_tag_pointer_type(), read_tag_string_type(), read_typedef(), record_minimal_symbol(), dwarf2_per_objfile::relocate(), rw_pieced_value(), section_is_mapped(), tui_source_window::set_contents(), simple_overlay_update_1(), simple_read_overlay_table(), skip_prologue_sal(), tui_update_source_windows_with_line(), value_allocate_space_in_inferior(), value_fn_field(), and z80_read_overlay_region_table().

◆ compunits()

compunit_symtab_range objfile::compunits ( )
inline

◆ data_section_offset()

CORE_ADDR objfile::data_section_offset ( ) const
inline

Definition at line 487 of file objfiles.h.

References SECT_OFF_DATA.

Referenced by cooked_index_functions::find_compunit_symtab_by_address().

◆ DISABLE_COPY_AND_ASSIGN()

objfile::DISABLE_COPY_AND_ASSIGN ( objfile )

◆ dump()

void objfile::dump ( )

Definition at line 319 of file symfile-debug.c.

References debug_symfile, gdb_printf(), gdb_stdlog, objfile_debug_name(), and qf.

Referenced by dump_objfile().

◆ expand_all_symtabs()

void objfile::expand_all_symtabs ( )

◆ expand_matching_symbols()

void objfile::expand_matching_symbols ( const lookup_name_info & name,
domain_enum domain,
int global,
symbol_compare_ftype * ordered_compare )

◆ expand_symtabs_for_function()

void objfile::expand_symtabs_for_function ( const char * func_name)

◆ expand_symtabs_matching()

bool objfile::expand_symtabs_matching ( gdb::function_view< expand_symtabs_file_matcher_ftype > file_matcher,
const lookup_name_info * lookup_name,
gdb::function_view< expand_symtabs_symbol_matcher_ftype > symbol_matcher,
gdb::function_view< expand_symtabs_exp_notify_ftype > expansion_notify,
block_search_flags search_flags,
domain_enum domain,
enum search_domain kind )

◆ expand_symtabs_with_fullname()

void objfile::expand_symtabs_with_fullname ( const char * fullname)

◆ find_compunit_symtab_by_address()

struct compunit_symtab * objfile::find_compunit_symtab_by_address ( CORE_ADDR address)

◆ find_last_source_symtab()

struct symtab * objfile::find_last_source_symtab ( )

◆ find_pc_sect_compunit_symtab()

struct compunit_symtab * objfile::find_pc_sect_compunit_symtab ( struct bound_minimal_symbol msymbol,
CORE_ADDR pc,
struct obj_section * section,
int warn_if_readin )

◆ forget_cached_source_info()

void objfile::forget_cached_source_info ( )

◆ has_partial_symbols()

bool objfile::has_partial_symbols ( )

◆ has_unexpanded_symtabs()

bool objfile::has_unexpanded_symtabs ( )

◆ intern() [1/2]

const char * objfile::intern ( const char * str)
inline

◆ intern() [2/2]

const char * objfile::intern ( const std::string & str)
inline

Definition at line 501 of file objfiles.h.

References objfile_per_bfd_storage::intern(), and per_bfd.

◆ lookup_global_symbol_language()

enum language objfile::lookup_global_symbol_language ( const char * name,
domain_enum domain,
bool * symbol_found_p )

Definition at line 514 of file symfile-debug.c.

References language_unknown, name, and qf_require_partial_symbols().

Referenced by find_main_name().

◆ lookup_symbol()

struct compunit_symtab * objfile::lookup_symbol ( block_enum kind,
const char * name,
domain_enum domain )

◆ make()

objfile * objfile::make ( gdb_bfd_ref_ptr bfd_,
const char * name_,
objfile_flags flags_,
objfile * parent = nullptr )
static

◆ map_symbol_filenames()

void objfile::map_symbol_filenames ( gdb::function_view< symbol_filename_ftype > fun,
bool need_fullname )

◆ map_symtabs_matching_filename()

bool objfile::map_symtabs_matching_filename ( const char * name,
const char * real_path,
gdb::function_view< bool(symtab *)> callback )

◆ msymbols()

msymbols_range objfile::msymbols ( )
inline

◆ print_stats()

void objfile::print_stats ( bool print_bcache)

◆ qf_require_partial_symbols()

const std::forward_list< quick_symbol_functions_up > & objfile::qf_require_partial_symbols ( )
inlineprivate

◆ require_partial_symbols()

void objfile::require_partial_symbols ( bool verbose)

◆ section_offset()

CORE_ADDR objfile::section_offset ( bfd_section * section) const
inline

Definition at line 616 of file objfiles.h.

References gdb_bfd_section_index().

Referenced by obj_section::offset().

◆ sections() [1/2]

iterator_range< section_iterator > objfile::sections ( )
inline

◆ sections() [2/2]

iterator_range< section_iterator > objfile::sections ( ) const
inline

Definition at line 692 of file objfiles.h.

References sections_end, and sections_start.

◆ separate_debug_objfiles()

separate_debug_range objfile::separate_debug_objfiles ( )
inline

◆ set_section_offset()

void objfile::set_section_offset ( bfd_section * section,
CORE_ADDR offset )
inline

Definition at line 627 of file objfiles.h.

References gdb_bfd_section_index().

Referenced by obj_section::set_offset().

◆ text_section_offset()

CORE_ADDR objfile::text_section_offset ( ) const
inline

◆ unlink()

void objfile::unlink ( )

Member Data Documentation

◆ addr_low

CORE_ADDR objfile::addr_low = 0

Definition at line 720 of file objfiles.h.

Referenced by solib_read_symbols().

◆ compunit_symtabs

struct compunit_symtab* objfile::compunit_symtabs = nullptr

◆ flags

objfile_flags objfile::flags

◆ jited_data

std::unique_ptr<jited_objfile_data> objfile::jited_data = nullptr

Definition at line 867 of file objfiles.h.

Referenced by add_objfile_entry().

◆ jiter_data

std::unique_ptr<jiter_objfile_data> objfile::jiter_data = nullptr

◆ mtime

long objfile::mtime = 0

Definition at line 755 of file objfiles.h.

Referenced by source_cache::get_plain_source_lines(), objfile(), and reread_symbols().

◆ obfd

gdb_bfd_ref_ptr objfile::obfd

Definition at line 740 of file objfiles.h.

Referenced by add_symbol_file_from_memory_command(), amd64_windows_find_unwind_info(), arm_exidx_new_objfile(), arm_find_exidx_entry(), arm_find_mapping_symbol(), arm_record_special_symbol(), auto_load_objfile_script(), auto_load_section_scripts(), build_objfile_section_table(), build_section_addr_info_from_objfile(), coff_read_enum_type(), coff_read_minsyms(), coff_read_struct_type(), coff_symfile_read(), coff_symtab_read(), coffstab_build_psymtabs(), nto_procfs_target::create_inferior(), cs_to_bfd_section(), cs_to_section(), dbx_expand_psymtab(), dbx_symfile_init(), dbx_symfile_read(), decode_locdesc(), default_symfile_offsets(), dump_objfile(), dwarf2_const_value_attr(), dwarf2_const_value_data(), dwarf2_fetch_constant_bytes(), dwarf2_find_location_expression(), dwarf2_frame_find_fde(), dwarf2_has_info(), dwarf2_ranges_process(), dwarf2_rnglists_process(), dwarf_decode_lines_1(), elf_get_probes(), elf_gnu_ifunc_resolve_by_got(), elf_read_minimal_symbols(), elf_rel_plt_read(), elf_symfile_read(), elf_symfile_read_dwarf2(), elf_symtab_read(), elfmdebug_build_psymtabs(), elfstab_build_psymtabs(), enter_line_range(), find_comp_unit(), find_separate_debug_file_by_buildid(), find_separate_debug_file_by_debuglink(), find_separate_debug_file_in_section(), frv_fdpic_find_canonical_descriptor(), gcore_create_callback(), gdbpy_lookup_objfile(), get_gdb_index_contents_from_cache(), get_mpz(), remote_target::get_offsets(), source_cache::get_plain_source_lines(), dtrace_static_probe_ops::get_probes(), stap_static_probe_ops::get_probes(), get_section_index(), get_symbol_leading_char(), handle_stap_probe(), i386_thiscall_push_dummy_call(), init_entry_point_info(), init_objfile_sect_indices(), internalize_unwinds(), loclist_describe_location(), macho_check_dsym(), macho_resolve_oso_sym_with_minsym(), macho_symfile_offsets(), macho_symfile_read(), macho_symfile_relocate(), macho_symtab_add_minsym(), matching_obj_sections(), mdebug_build_psymtabs(), mipscoff_symfile_read(), dw2_debug_names_iterator::next(), objfile_filename(), objfile_flavour_name(), objfile_name(), objfile_relocate1(), objfpy_get_build_id(), open_source_file(), process_coff_symbol(), process_linenos(), read_addr_index_1(), read_addr_index_from_leb128(), read_addrmap_from_aranges(), read_alphacoff_dynamic_symtab(), read_dbx_symtab(), dwarf2_per_objfile::read_line_string(), dwarf2_per_objfile::read_line_string(), read_loclist_index(), read_ofile_symtab(), read_pe_exported_syms(), read_rnglist_index(), read_str_index(), read_symbol(), read_symbol_lineno(), read_unwind_info(), read_xcoff_symtab(), minimal_symbol_reader::record_full(), record_minimal_symbol(), record_minimal_symbol(), reread_symbols(), scan_xcoff_symtab(), separate_debug_file_exists(), set_comp_unit(), set_objfile_per_bfd(), solib_aix_get_section_offsets(), stabsect_build_psymtabs(), svr4_iterate_over_objfiles_in_search_order(), swap_sym(), symfile_find_segment_sections(), syms_from_objfile_1(), try_open_dwop_file(), update_section_map(), var_decode_location(), xcoff_initial_scan(), xcoff_next_symbol_text(), and xcoff_secnum_to_sections().

◆ object_format_has_copy_relocs

bool objfile::object_format_has_copy_relocs = false

Definition at line 884 of file objfiles.h.

Referenced by elf_symfile_read(), and minimal_symbol::maybe_copied().

◆ objfile_obstack

auto_obstack objfile::objfile_obstack

Definition at line 760 of file objfiles.h.

Referenced by add_ada_export_symbol(), add_pending(), add_variant_property(), alloc_type_instance(), allocate_compunit_symtab(), allocate_symtab(), arm_exidx_new_objfile(), attr_to_dynamic_prop(), basic_type(), build_error_marker_type(), build_objfile_section_table(), coff_read_enum_type(), coff_read_struct_type(), coffstab_build_psymtabs(), common_block_end(), common_block_start(), compile_object_load(), compute_compunit_symtab_includes(), copy_type(), cp_scan_for_anonymous_namespaces(), dbx_end_psymtab(), dbx_symfile_init(), define_symbol(), dwarf2_const_value(), dwarf2_symbol_mark_computed(), elf_gnu_ifunc_record_cache(), elfmdebug_build_psymtabs(), elfstab_build_psymtabs(), buildsym_compunit::end_compunit_symtab_with_blockvector(), finalize_symtab(), buildsym_compunit::finish_block_internal(), fixup_go_packaging(), handle_member_location(), init_stringtab(), make_blockranges(), buildsym_compunit::make_blockvector(), mark_common_block_symbol_computed(), mdebug_build_psymtabs(), mdebug_expand_psymtab(), new_block(), new_psymtab(), new_symbol(), new_symbol(), objfile(), objfile_register_static_link(), parse_partial_symbols(), parse_symbol(), parse_type(), patch_block_stabs(), process_coff_symbol(), process_one_symbol(), process_structure_scope(), process_xcoff_symbol(), quirk_rust_enum(), dwarf2_section_info::read(), read_base_type(), read_call_site_scope(), read_common_block(), read_cpp_abbrev(), read_dbx_symtab(), read_enum_type(), read_func_scope(), read_import_statement(), read_member_functions(), read_namespace(), read_namespace_type(), read_one_struct_field(), read_type(), read_unwind_info(), read_variable(), read_xcoff_symtab(), reread_symbols(), resolve_dynamic_array_or_string(), rs6000_builtin_type(), set_die_type(), dwarf2_cu::setup_type_unit_groups(), stabsect_build_psymtabs(), start_psymtab(), swap_sym(), xcoff_end_psymtab(), xcoff_initial_scan(), and xcoff_start_psymtab().

◆ OBJSTATS

objfile::OBJSTATS

Definition at line 839 of file objfiles.h.

◆ original_name

const char* objfile::original_name = nullptr

◆ per_bfd

struct objfile_per_bfd_storage* objfile::per_bfd = nullptr

◆ per_bfd_storage

std::unique_ptr<objfile_per_bfd_storage> objfile::per_bfd_storage

Definition at line 750 of file objfiles.h.

Referenced by set_objfile_per_bfd().

◆ pspace

struct program_space* objfile::pspace

◆ qf

std::forward_list<quick_symbol_functions_up> objfile::qf

◆ registry_fields

registry<objfile> objfile::registry_fields

Definition at line 776 of file objfiles.h.

Referenced by reread_symbols().

◆ sect_index_bss

int objfile::sect_index_bss = -1

◆ sect_index_data

int objfile::sect_index_data = -1

◆ sect_index_rodata

int objfile::sect_index_rodata = -1

◆ sect_index_text

int objfile::sect_index_text = -1

◆ section_offsets

::section_offsets objfile::section_offsets

◆ sections_end

struct obj_section* objfile::sections_end = nullptr

◆ sections_start

struct obj_section* objfile::sections_start = nullptr

◆ separate_debug_objfile

struct objfile* objfile::separate_debug_objfile = nullptr

◆ separate_debug_objfile_backlink

struct objfile* objfile::separate_debug_objfile_backlink = nullptr

◆ separate_debug_objfile_link

struct objfile* objfile::separate_debug_objfile_link = nullptr

◆ sf

const struct sym_fns* objfile::sf = nullptr

◆ skip_jit_symbol_lookup

bool objfile::skip_jit_symbol_lookup = false

Definition at line 873 of file objfiles.h.

◆ static_links

htab_up objfile::static_links

◆ template_symbols

struct symbol* objfile::template_symbols = nullptr

Definition at line 846 of file objfiles.h.

Referenced by new_symbol(), objfile_relocate1(), and reread_symbols().


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