GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
symfile.h File Reference
#include "symtab.h"
#include "probe.h"
#include "symfile-add-flags.h"
#include "objfile-flags.h"
#include "gdb_bfd.h"
#include "gdbsupport/function-view.h"
#include "target-section.h"
#include "quick-symbol.h"

Go to the source code of this file.

Classes

struct  other_sections
 
struct  symfile_segment_data
 
struct  symfile_segment_data::segment
 
struct  sym_probe_fns
 
struct  sym_fns
 

Typedefs

typedef std::vector< other_sectionssection_addr_info
 
using symfile_segment_data_up = std::unique_ptr<symfile_segment_data>
 

Enumerations

enum  overlay_debugging_state { ovly_off , ovly_on , ovly_auto }
 

Functions

section_addr_info build_section_addr_info_from_objfile (const struct objfile *objfile)
 
void relative_addr_info_to_section_offsets (section_offsets &section_offsets, const section_addr_info &addrs)
 
void addr_info_make_relative (section_addr_info *addrs, bfd *abfd)
 
void default_symfile_offsets (struct objfile *objfile, const section_addr_info &)
 
symfile_segment_data_up default_symfile_segments (bfd *abfd)
 
bfd_byte * default_symfile_relocate (struct objfile *objfile, asection *sectp, bfd_byte *buf)
 
struct symtaballocate_symtab (struct compunit_symtab *cust, const char *filename, const char *id) ATTRIBUTE_NONNULL(1)
 
static struct symtaballocate_symtab (struct compunit_symtab *cust, const char *filename)
 
struct compunit_symtaballocate_compunit_symtab (struct objfile *, const char *) ATTRIBUTE_NONNULL(1)
 
void add_compunit_symtab_to_objfile (struct compunit_symtab *cu)
 
void add_symtab_fns (enum bfd_flavour flavour, const struct sym_fns *)
 
void clear_symtab_users (symfile_add_flags add_flags)
 
enum language deduce_language_from_filename (const char *)
 
void add_filename_language (const char *ext, enum language lang)
 
struct objfilesymbol_file_add (const char *, symfile_add_flags, section_addr_info *, objfile_flags)
 
struct objfilesymbol_file_add_from_bfd (const gdb_bfd_ref_ptr &, const char *, symfile_add_flags, section_addr_info *, objfile_flags, struct objfile *parent)
 
void symbol_file_add_separate (const gdb_bfd_ref_ptr &, const char *, symfile_add_flags, struct objfile *)
 
std::string find_separate_debug_file_by_debuglink (struct objfile *objfile, deferred_warnings *warnings)
 
section_addr_info build_section_addr_info_from_section_table (const target_section_table &table)
 
void set_initial_language (void)
 
gdb_bfd_ref_ptr symfile_bfd_open (const char *)
 
gdb_bfd_ref_ptr symfile_bfd_open_no_error (const char *) noexcept
 
int get_section_index (struct objfile *, const char *)
 
int print_symbol_loading_p (int from_tty, int mainline, int full)
 
struct obj_sectionfind_pc_mapped_section (CORE_ADDR)
 
struct obj_sectionfind_pc_overlay (CORE_ADDR)
 
int section_is_overlay (struct obj_section *)
 
int section_is_mapped (struct obj_section *)
 
bool pc_in_mapped_range (CORE_ADDR, struct obj_section *)
 
bool pc_in_unmapped_range (CORE_ADDR, struct obj_section *)
 
CORE_ADDR overlay_mapped_address (CORE_ADDR, struct obj_section *)
 
CORE_ADDR overlay_unmapped_address (CORE_ADDR, struct obj_section *)
 
CORE_ADDR symbol_overlayed_address (CORE_ADDR, struct obj_section *)
 
void symbol_file_add_main (const char *args, symfile_add_flags add_flags)
 
void symbol_file_clear (int from_tty)
 
void simple_overlay_update (struct obj_section *)
 
bfd_byte * symfile_relocate_debug_section (struct objfile *, asection *, bfd_byte *)
 
int symfile_map_offsets_to_segments (bfd *, const struct symfile_segment_data *, section_offsets &, int, const CORE_ADDR *)
 
symfile_segment_data_up get_symfile_segment_data (bfd *abfd)
 
scoped_restore_tmpl< int > increment_reading_symtab (void)
 
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, enum search_domain kind)
 
void map_symbol_filenames (gdb::function_view< symbol_filename_ftype > fun, bool need_fullname)
 
void generic_load (const char *args, int from_tty)
 
gdb_bfd_ref_ptr find_separate_debug_file_in_section (struct objfile *)
 

Variables

bool auto_solib_add
 
enum overlay_debugging_state overlay_debugging
 
int overlay_cache_invalid
 
bool separate_debug_file_debug
 
int readnow_symbol_files
 
int readnever_symbol_files
 

Typedef Documentation

◆ section_addr_info

typedef std::vector<other_sections> section_addr_info

Definition at line 74 of file symfile.h.

◆ symfile_segment_data_up

Definition at line 104 of file symfile.h.

Enumeration Type Documentation

◆ overlay_debugging_state

Enumerator
ovly_off 
ovly_on 
ovly_auto 

Definition at line 292 of file symfile.h.

Function Documentation

◆ add_compunit_symtab_to_objfile()

void add_compunit_symtab_to_objfile ( struct compunit_symtab * cu)
extern

◆ add_filename_language()

void add_filename_language ( const char * ext,
enum language lang )
extern

Definition at line 2715 of file symfile.c.

References filename_language_table.

Referenced by add_set_language_command(), and set_ext_lang_command().

◆ add_symtab_fns()

void add_symtab_fns ( enum bfd_flavour flavour,
const struct sym_fns * sf )
extern

Definition at line 1804 of file symfile.c.

References symtab_fns.

Referenced by _initialize_machoread(), and _initialize_xcoffread().

◆ addr_info_make_relative()

void addr_info_make_relative ( section_addr_info * addrs,
bfd * abfd )
extern

◆ allocate_compunit_symtab()

struct compunit_symtab * allocate_compunit_symtab ( struct objfile * objfile,
const char * name )
extern

◆ allocate_symtab() [1/2]

static struct symtab * allocate_symtab ( struct compunit_symtab * cust,
const char * filename )
inlinestatic

Definition at line 211 of file symfile.h.

References allocate_symtab(), and symtab::filename.

◆ allocate_symtab() [2/2]

struct symtab * allocate_symtab ( struct compunit_symtab * cust,
const char * filename,
const char * id )
extern

◆ build_section_addr_info_from_objfile()

section_addr_info build_section_addr_info_from_objfile ( const struct objfile * objfile)
extern

◆ build_section_addr_info_from_section_table()

section_addr_info build_section_addr_info_from_section_table ( const target_section_table & table)
extern

Definition at line 218 of file symfile.c.

References gdb_bfd_section_index().

Referenced by solib_read_symbols().

◆ clear_symtab_users()

void clear_symtab_users ( symfile_add_flags add_flags)
extern

◆ deduce_language_from_filename()

enum language deduce_language_from_filename ( const char * filename)
extern

◆ default_symfile_offsets()

void default_symfile_offsets ( struct objfile * objfile,
const section_addr_info & addrs )
extern

◆ default_symfile_relocate()

bfd_byte * default_symfile_relocate ( struct objfile * objfile,
asection * sectp,
bfd_byte * buf )
extern

Definition at line 3595 of file symfile.c.

References gdb_bfd_sections().

◆ default_symfile_segments()

symfile_segment_data_up default_symfile_segments ( bfd * abfd)
extern

Definition at line 711 of file symfile.c.

◆ expand_symtabs_matching()

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,
enum search_domain kind )

◆ find_pc_mapped_section()

struct obj_section * find_pc_mapped_section ( CORE_ADDR pc)
extern

◆ find_pc_overlay()

struct obj_section * find_pc_overlay ( CORE_ADDR pc)
extern

◆ find_separate_debug_file_by_debuglink()

std::string find_separate_debug_file_by_debuglink ( struct objfile * objfile,
deferred_warnings * warnings )
extern

◆ find_separate_debug_file_in_section()

gdb_bfd_ref_ptr find_separate_debug_file_in_section ( struct objfile * objfile)
extern

Definition at line 226 of file minidebug.c.

References gdb_bfd_openr_iovec(), registry< T >::get(), gnutarget, objfile::obfd, and objfile_name().

Referenced by read_symbols().

◆ generic_load()

void generic_load ( const char * args,
int from_tty )
extern

◆ get_section_index()

int get_section_index ( struct objfile * objfile,
const char * section_name )
extern

Definition at line 1787 of file symfile.c.

References objfile::obfd.

Referenced by parse_partial_symbols(), and record_minimal_symbol().

◆ get_symfile_segment_data()

symfile_segment_data_up get_symfile_segment_data ( bfd * abfd)

◆ increment_reading_symtab()

scoped_restore_tmpl< int > increment_reading_symtab ( void )
extern

Definition at line 185 of file symfile.c.

References currently_reading_symtab.

Referenced by dw2_instantiate_symtab(), and psymtab_to_symtab().

◆ map_symbol_filenames()

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

◆ overlay_mapped_address()

CORE_ADDR overlay_mapped_address ( CORE_ADDR pc,
struct obj_section * section )
extern

◆ overlay_unmapped_address()

CORE_ADDR overlay_unmapped_address ( CORE_ADDR pc,
struct obj_section * section )
extern

◆ pc_in_mapped_range()

bool pc_in_mapped_range ( CORE_ADDR pc,
struct obj_section * section )
extern

◆ pc_in_unmapped_range()

bool pc_in_unmapped_range ( CORE_ADDR pc,
struct obj_section * section )
extern

◆ print_symbol_loading_p()

int print_symbol_loading_p ( int from_tty,
int mainline,
int full )
extern

◆ relative_addr_info_to_section_offsets()

void relative_addr_info_to_section_offsets ( section_offsets & section_offsets,
const section_addr_info & addrs )
extern

Definition at line 404 of file symfile.c.

References other_sections::addr, and other_sections::sectindex.

Referenced by default_symfile_offsets(), and objfile_relocate().

◆ section_is_mapped()

int section_is_mapped ( struct obj_section * osect)
extern

◆ section_is_overlay()

int section_is_overlay ( struct obj_section * section)
extern

◆ set_initial_language()

void set_initial_language ( void )
extern

◆ simple_overlay_update()

void simple_overlay_update ( struct obj_section * osect)
extern

◆ symbol_file_add()

struct objfile * symbol_file_add ( const char * name,
symfile_add_flags add_flags,
section_addr_info * addrs,
objfile_flags flags )
extern

◆ symbol_file_add_from_bfd()

struct objfile * symbol_file_add_from_bfd ( const gdb_bfd_ref_ptr & abfd,
const char * name,
symfile_add_flags add_flags,
section_addr_info * addrs,
objfile_flags flags,
struct objfile * parent )
extern

◆ symbol_file_add_main()

void symbol_file_add_main ( const char * args,
symfile_add_flags add_flags )
extern

◆ symbol_file_add_separate()

void symbol_file_add_separate ( const gdb_bfd_ref_ptr & bfd,
const char * name,
symfile_add_flags symfile_flags,
struct objfile * objfile )
extern

◆ symbol_file_clear()

void symbol_file_clear ( int from_tty)
extern

◆ symbol_overlayed_address()

CORE_ADDR symbol_overlayed_address ( CORE_ADDR address,
struct obj_section * section )
extern

Definition at line 3144 of file symfile.c.

◆ symfile_bfd_open()

gdb_bfd_ref_ptr symfile_bfd_open ( const char * name)
extern

◆ symfile_bfd_open_no_error()

gdb_bfd_ref_ptr symfile_bfd_open_no_error ( const char * name)
externnoexcept

Definition at line 1769 of file symfile.c.

References err, name, and symfile_bfd_open().

Referenced by elf_symfile_read_dwarf2().

◆ symfile_map_offsets_to_segments()

int symfile_map_offsets_to_segments ( bfd * abfd,
const struct symfile_segment_data * data,
section_offsets & offsets,
int num_segment_bases,
const CORE_ADDR * segment_bases )
extern

◆ symfile_relocate_debug_section()

bfd_byte * symfile_relocate_debug_section ( struct objfile * objfile,
asection * sectp,
bfd_byte * buf )
extern

Variable Documentation

◆ auto_solib_add

bool auto_solib_add
extern

◆ overlay_cache_invalid

int overlay_cache_invalid
extern

◆ overlay_debugging

enum overlay_debugging_state overlay_debugging

◆ readnever_symbol_files

int readnever_symbol_files
extern

◆ readnow_symbol_files

int readnow_symbol_files
extern

◆ separate_debug_file_debug

bool separate_debug_file_debug
extern