GDB (xrefs)
|
#include "buildsym.h"
Public Member Functions | |
buildsym_compunit (struct objfile *objfile_, const char *name, const char *comp_dir_, const char *name_for_id, enum language language_, CORE_ADDR last_addr) | |
buildsym_compunit (struct objfile *objfile_, const char *name, const char *comp_dir_, enum language language_, CORE_ADDR last_addr) | |
buildsym_compunit (struct objfile *objfile_, const char *name, const char *comp_dir_, enum language language_, CORE_ADDR last_addr, struct compunit_symtab *cust) | |
~buildsym_compunit () | |
DISABLE_COPY_AND_ASSIGN (buildsym_compunit) | |
void | set_last_source_file (const char *name) |
const char * | get_last_source_file () |
struct macro_table * | get_macro_table () |
struct macro_table * | release_macros () |
void | free_pending_blocks () |
struct block * | finish_block (struct symbol *symbol, struct pending_block *old_blocks, const struct dynamic_prop *static_link, CORE_ADDR start, CORE_ADDR end) |
void | record_block_range (struct block *block, CORE_ADDR start, CORE_ADDR end_inclusive) |
void | start_subfile (const char *name, const char *name_for_id) |
void | start_subfile (const char *name) |
void | patch_subfile_names (struct subfile *subfile, const char *name) |
void | push_subfile () |
const char * | pop_subfile () |
void | record_line (struct subfile *subfile, int line, unrelocated_addr pc, linetable_entry_flags flags) |
struct compunit_symtab * | get_compunit_symtab () |
void | set_last_source_start_addr (CORE_ADDR addr) |
CORE_ADDR | get_last_source_start_addr () |
struct using_direct ** | get_local_using_directives () |
void | set_local_using_directives (struct using_direct *new_local) |
struct using_direct ** | get_global_using_directives () |
bool | outermost_context_p () const |
struct context_stack * | get_current_context_stack () |
int | get_context_stack_depth () const |
struct subfile * | get_current_subfile () |
struct pending ** | get_local_symbols () |
struct pending ** | get_file_symbols () |
struct pending ** | get_global_symbols () |
void | record_debugformat (const char *format) |
void | record_producer (const char *producer) |
struct context_stack * | push_context (int desc, CORE_ADDR valu) |
struct context_stack | pop_context () |
struct block * | end_compunit_symtab_get_static_block (CORE_ADDR end_addr, int expandable, int required) |
struct compunit_symtab * | end_compunit_symtab_from_static_block (struct block *static_block, int expandable) |
struct compunit_symtab * | end_compunit_symtab (CORE_ADDR end_addr) |
struct compunit_symtab * | end_expandable_symtab (CORE_ADDR end_addr) |
void | augment_type_symtab () |
Private Member Functions | |
void | record_pending_block (struct block *block, struct pending_block *opblock) |
struct block * | finish_block_internal (struct symbol *symbol, struct pending **listhead, struct pending_block *old_blocks, const struct dynamic_prop *static_link, CORE_ADDR start, CORE_ADDR end, int is_global, int expandable) |
struct blockvector * | make_blockvector () |
void | watch_main_source_file_lossage () |
struct compunit_symtab * | end_compunit_symtab_with_blockvector (struct block *static_block, int expandable) |
Definition at line 140 of file buildsym.h.
buildsym_compunit::buildsym_compunit | ( | struct objfile * | objfile_, |
const char * | name, | ||
const char * | comp_dir_, | ||
const char * | name_for_id, | ||
enum language | language_, | ||
CORE_ADDR | last_addr ) |
Definition at line 52 of file buildsym.c.
References allocate_compunit_symtab(), m_compunit_symtab, m_current_subfile, m_main_subfile, m_objfile, name, and start_subfile().
|
inline |
Definition at line 157 of file buildsym.h.
|
inline |
Definition at line 167 of file buildsym.h.
buildsym_compunit::~buildsym_compunit | ( | ) |
Definition at line 80 of file buildsym.c.
References free_macro_table(), m_file_symbols, m_global_symbols, m_pending_macros, m_subfiles, subfile::next, pending::next, and xfree().
void buildsym_compunit::augment_type_symtab | ( | ) |
Definition at line 1092 of file buildsym.c.
References compunit_symtab::blockvector(), complaint, blockvector::global_block(), m_compunit_symtab, m_context_stack, m_file_symbols, m_global_symbols, m_have_line_numbers, m_pending_blocks, m_pending_macros, mdict_add_pending(), block::multidict(), set_missing_symtab(), and blockvector::static_block().
Referenced by process_full_type_unit().
buildsym_compunit::DISABLE_COPY_AND_ASSIGN | ( | buildsym_compunit | ) |
struct compunit_symtab * buildsym_compunit::end_compunit_symtab | ( | CORE_ADDR | end_addr | ) |
Definition at line 1046 of file buildsym.c.
References end_compunit_symtab_from_static_block(), and end_compunit_symtab_get_static_block().
Referenced by end_compunit_symtab().
struct compunit_symtab * buildsym_compunit::end_compunit_symtab_from_static_block | ( | struct block * | static_block, |
int | expandable ) |
Definition at line 1002 of file buildsym.c.
References end_compunit_symtab_with_blockvector().
Referenced by end_compunit_symtab(), end_expandable_symtab(), and process_full_comp_unit().
struct block * buildsym_compunit::end_compunit_symtab_get_static_block | ( | CORE_ADDR | end_addr, |
int | expandable, | ||
int | required ) |
Definition at line 760 of file buildsym.c.
References pending_block::block, cleanup_undefined_stabs_types(), complaint, finish_block(), finish_block_internal(), finish_global_stabs(), get_file_symbols(), m_context_stack, m_file_symbols, m_global_symbols, m_global_using_directives, m_have_line_numbers, m_last_source_start_addr, m_objfile, m_pending_blocks, m_pending_macros, context_stack::name, pending_block::next, context_stack::old_blocks, pop_context(), and context_stack::start_addr.
Referenced by end_compunit_symtab(), end_expandable_symtab(), and process_full_comp_unit().
|
private |
Definition at line 851 of file buildsym.c.
References add_compunit_symtab_to_objfile(), allocate_symtab(), blockvector::block(), block::end(), finish_block_internal(), block::function(), get_global_symbols(), blockvector::global_block(), linetable::item, subfile::language, subfile::line_vector_entries, m_comp_dir, m_compunit_symtab, m_debugformat, m_last_source_start_addr, m_main_subfile, m_objfile, m_producer, m_subfiles, make_blockvector(), block::multidict_symbols(), subfile::name, subfile::name_for_id, subfile::next, linetable::nitems, blockvector::num_blocks(), objfile::objfile_obstack, compunit_symtab::primary_filetab(), release_macros(), compunit_symtab::set_blockvector(), block::set_compunit_symtab(), compunit_symtab::set_debugformat(), compunit_symtab::set_dirname(), symtab::set_language(), symtab::set_linetable(), compunit_symtab::set_macro_table(), compunit_symtab::set_primary_filetab(), compunit_symtab::set_producer(), symbol::set_symtab(), objfile::sf, sym_fns::sym_read_linetable, subfile::symtab, symbol::symtab, and watch_main_source_file_lossage().
Referenced by end_compunit_symtab_from_static_block().
struct compunit_symtab * buildsym_compunit::end_expandable_symtab | ( | CORE_ADDR | end_addr | ) |
Definition at line 1058 of file buildsym.c.
References end_compunit_symtab_from_static_block(), and end_compunit_symtab_get_static_block().
Referenced by process_full_type_unit().
struct block * buildsym_compunit::finish_block | ( | struct symbol * | symbol, |
struct pending_block * | old_blocks, | ||
const struct dynamic_prop * | static_link, | ||
CORE_ADDR | start, | ||
CORE_ADDR | end ) |
Definition at line 386 of file buildsym.c.
References finish_block_internal(), and m_local_symbols.
Referenced by end_compunit_symtab_get_static_block(), finish_block(), read_func_scope(), and read_lexical_block_scope().
|
private |
Definition at line 200 of file buildsym.c.
References type::alloc_fields(), objfile::arch(), pending_block::block, complaint, block::end(), type::field(), block::function(), m_global_using_directives, m_language, m_local_using_directives, m_objfile, m_pending_blocks, mdict_add_pending(), mdict_create_hashed(), mdict_create_hashed_expandable(), mdict_create_linear(), block::multidict(), block::multidict_symbols(), pending_block::next, pending::next, type::num_fields(), objfile::objfile_obstack, objfile_register_static_link(), paddress(), general_symbol_info::print_name(), record_pending_block(), SECT_OFF_TEXT, block::set_end(), block::set_function(), field::set_is_artificial(), block::set_multidict(), general_symbol_info::set_section_index(), block::set_start(), block::set_superblock(), field::set_type(), block::set_using(), symbol::set_value_block(), block::start(), block::superblock(), symbol::type(), and xfree().
Referenced by end_compunit_symtab_get_static_block(), end_compunit_symtab_with_blockvector(), and finish_block().
|
inline |
Definition at line 205 of file buildsym.h.
References m_pending_block_obstack, and m_pending_blocks.
Referenced by make_blockvector().
|
inline |
Definition at line 245 of file buildsym.h.
References m_compunit_symtab.
Referenced by dwarf_decode_lines(), dwarf2_cu::start_compunit_symtab(), and start_compunit_symtab().
|
inline |
Definition at line 287 of file buildsym.h.
References m_context_stack.
Referenced by get_context_stack_depth().
|
inline |
|
inline |
Definition at line 292 of file buildsym.h.
References m_current_subfile.
Referenced by dwarf_decode_lines(), dwarf_record_line_p(), get_current_subfile(), lnp_state_machine::handle_set_file(), lnp_state_machine::record_line(), and dwarf2_cu::setup_type_unit_groups().
|
inline |
Definition at line 302 of file buildsym.h.
References m_file_symbols.
Referenced by end_compunit_symtab_get_static_block(), get_file_symbols(), new_symbol(), read_func_scope(), dwarf2_cu::setup_type_unit_groups(), and dwarf2_cu::start_compunit_symtab().
|
inline |
Definition at line 307 of file buildsym.h.
References m_global_symbols.
Referenced by end_compunit_symtab_with_blockvector(), fixup_go_packaging(), get_global_symbols(), and new_symbol().
|
inline |
Definition at line 270 of file buildsym.h.
References m_global_using_directives.
Referenced by using_directives().
|
inline |
Definition at line 189 of file buildsym.h.
References m_last_source_file.
Referenced by get_last_source_file().
|
inline |
Definition at line 255 of file buildsym.h.
References m_last_source_start_addr.
Referenced by get_last_source_start_addr().
|
inline |
Definition at line 297 of file buildsym.h.
References m_local_symbols.
Referenced by get_local_symbols(), read_func_scope(), and read_lexical_block_scope().
|
inline |
Definition at line 260 of file buildsym.h.
References m_local_using_directives.
Referenced by cp_scan_for_anonymous_namespaces(), read_lexical_block_scope(), and using_directives().
struct macro_table * buildsym_compunit::get_macro_table | ( | ) |
Definition at line 111 of file buildsym.c.
References m_compunit_symtab, m_objfile, m_pending_macros, new_macro_table(), objfile::per_bfd, objfile_per_bfd_storage::storage_obstack, and objfile_per_bfd_storage::string_cache.
Referenced by macro_start_file().
|
private |
Definition at line 421 of file buildsym.c.
References blockvector::block(), complaint, free_pending_blocks(), m_objfile, m_pending_addrmap, m_pending_addrmap_interesting, m_pending_blocks, pending_block::next, blockvector::num_blocks(), objfile::objfile_obstack, blockvector::set_block(), blockvector::set_map(), blockvector::set_num_blocks(), and block::start().
Referenced by end_compunit_symtab_with_blockvector().
|
inline |
Definition at line 275 of file buildsym.h.
References m_context_stack.
Referenced by outermost_context_p(), read_func_scope(), and using_directives().
void buildsym_compunit::patch_subfile_names | ( | struct subfile * | subfile, |
const char * | name ) |
Definition at line 566 of file buildsym.c.
References deduce_language_from_filename(), subfile::language, language_unknown, m_comp_dir, name, subfile::name, subfile::name_for_id, subfile::next, and set_last_source_file().
Referenced by patch_subfile_names().
struct context_stack buildsym_compunit::pop_context | ( | ) |
Definition at line 1156 of file buildsym.c.
Referenced by end_compunit_symtab_get_static_block(), pop_context(), read_func_scope(), and read_lexical_block_scope().
const char * buildsym_compunit::pop_subfile | ( | ) |
Definition at line 614 of file buildsym.c.
References m_subfile_stack, and name.
Referenced by pop_subfile().
struct context_stack * buildsym_compunit::push_context | ( | int | desc, |
CORE_ADDR | valu ) |
Definition at line 1134 of file buildsym.c.
References context_stack::depth, context_stack::local_using_directives, context_stack::locals, m_context_stack, m_local_symbols, m_local_using_directives, m_pending_blocks, context_stack::name, context_stack::old_blocks, and context_stack::start_addr.
Referenced by push_context(), read_func_scope(), and read_lexical_block_scope().
void buildsym_compunit::push_subfile | ( | ) |
Definition at line 606 of file buildsym.c.
References m_current_subfile, m_subfile_stack, and subfile::name.
Referenced by push_subfile().
void buildsym_compunit::record_block_range | ( | struct block * | block, |
CORE_ADDR | start, | ||
CORE_ADDR | end_inclusive ) |
Definition at line 404 of file buildsym.c.
References block::end(), m_pending_addrmap, m_pending_addrmap_interesting, addrmap_mutable::set_empty(), and block::start().
Referenced by dwarf2_record_block_ranges().
|
inline |
Definition at line 312 of file buildsym.h.
References m_debugformat.
Referenced by record_debugformat(), and dwarf2_cu::start_compunit_symtab().
void buildsym_compunit::record_line | ( | struct subfile * | subfile, |
int | line, | ||
unrelocated_addr | pc, | ||
linetable_entry_flags | flags ) |
Definition at line 626 of file buildsym.c.
References flags, linetable_entry::is_stmt, LEF_IS_STMT, LEF_PROLOGUE_END, linetable_entry::line, subfile::line_vector_entries, m_have_line_numbers, linetable_entry::prologue_end, linetable_entry::set_unrelocated_pc(), and linetable_entry::unrelocated_pc().
Referenced by dwarf_record_line_1(), and record_line().
|
private |
Definition at line 176 of file buildsym.c.
References pending_block::block, m_pending_block_obstack, m_pending_blocks, and pending_block::next.
Referenced by finish_block_internal().
|
inline |
Definition at line 317 of file buildsym.h.
References m_producer.
Referenced by record_producer(), and dwarf2_cu::start_compunit_symtab().
|
inline |
Definition at line 196 of file buildsym.h.
References m_pending_macros.
Referenced by end_compunit_symtab_with_blockvector().
|
inline |
Definition at line 183 of file buildsym.h.
References m_last_source_file, and name.
Referenced by patch_subfile_names(), and set_last_source_file().
|
inline |
Definition at line 250 of file buildsym.h.
References m_last_source_start_addr.
Referenced by set_last_source_start_addr().
|
inline |
Definition at line 265 of file buildsym.h.
References m_local_using_directives.
Referenced by read_func_scope(), and read_lexical_block_scope().
|
inline |
Definition at line 231 of file buildsym.h.
References name, and start_subfile().
void buildsym_compunit::start_subfile | ( | const char * | name, |
const char * | name_for_id ) |
Definition at line 487 of file buildsym.c.
References deduce_language_from_filename(), subfile::language, language_c, language_cplus, language_fortran, language_unknown, m_current_subfile, m_subfiles, name, subfile::name, subfile::name_for_id, subfile::next, and symtab_create_debug_printf.
Referenced by buildsym_compunit(), dwarf2_start_subfile(), start_subfile(), and start_subfile().
|
private |
Definition at line 684 of file buildsym.c.
References subfile::line_vector_entries, m_main_subfile, m_subfiles, subfile::name, subfile::next, subfile::symtab, and symtab_create_debug_printf.
Referenced by end_compunit_symtab_with_blockvector().
|
private |
Definition at line 374 of file buildsym.h.
Referenced by end_compunit_symtab_with_blockvector(), and patch_subfile_names().
|
private |
Definition at line 385 of file buildsym.h.
Referenced by augment_type_symtab(), buildsym_compunit(), end_compunit_symtab_with_blockvector(), get_compunit_symtab(), and get_macro_table().
|
private |
Definition at line 414 of file buildsym.h.
Referenced by augment_type_symtab(), end_compunit_symtab_get_static_block(), get_context_stack_depth(), get_current_context_stack(), outermost_context_p(), and push_context().
Definition at line 416 of file buildsym.h.
Referenced by buildsym_compunit(), get_current_subfile(), push_subfile(), and start_subfile().
|
private |
Definition at line 382 of file buildsym.h.
Referenced by end_compunit_symtab_with_blockvector(), and record_debugformat().
Definition at line 439 of file buildsym.h.
Referenced by augment_type_symtab(), end_compunit_symtab_get_static_block(), get_file_symbols(), and ~buildsym_compunit().
Definition at line 442 of file buildsym.h.
Referenced by augment_type_symtab(), end_compunit_symtab_get_static_block(), get_global_symbols(), and ~buildsym_compunit().
|
private |
Definition at line 410 of file buildsym.h.
Referenced by end_compunit_symtab_get_static_block(), finish_block_internal(), and get_global_using_directives().
|
private |
Definition at line 396 of file buildsym.h.
Referenced by augment_type_symtab(), end_compunit_symtab_get_static_block(), and record_line().
|
private |
Definition at line 388 of file buildsym.h.
Referenced by finish_block_internal().
|
private |
Definition at line 371 of file buildsym.h.
Referenced by get_last_source_file(), and set_last_source_file().
|
private |
Definition at line 401 of file buildsym.h.
Referenced by end_compunit_symtab_get_static_block(), end_compunit_symtab_with_blockvector(), get_last_source_start_addr(), and set_last_source_start_addr().
Definition at line 445 of file buildsym.h.
Referenced by finish_block(), get_local_symbols(), and push_context().
|
private |
Definition at line 407 of file buildsym.h.
Referenced by finish_block_internal(), get_local_using_directives(), push_context(), and set_local_using_directives().
Definition at line 366 of file buildsym.h.
Referenced by buildsym_compunit(), end_compunit_symtab_with_blockvector(), and watch_main_source_file_lossage().
|
private |
Definition at line 357 of file buildsym.h.
Referenced by buildsym_compunit(), end_compunit_symtab_get_static_block(), end_compunit_symtab_with_blockvector(), finish_block_internal(), get_macro_table(), and make_blockvector().
|
private |
Definition at line 421 of file buildsym.h.
Referenced by make_blockvector(), and record_block_range().
|
private |
Definition at line 427 of file buildsym.h.
Referenced by make_blockvector(), and record_block_range().
|
private |
Definition at line 430 of file buildsym.h.
Referenced by free_pending_blocks(), and record_pending_block().
|
private |
Definition at line 436 of file buildsym.h.
Referenced by augment_type_symtab(), end_compunit_symtab_get_static_block(), finish_block_internal(), free_pending_blocks(), make_blockvector(), push_context(), and record_pending_block().
|
private |
Definition at line 392 of file buildsym.h.
Referenced by augment_type_symtab(), end_compunit_symtab_get_static_block(), get_macro_table(), release_macros(), and ~buildsym_compunit().
|
private |
Definition at line 378 of file buildsym.h.
Referenced by end_compunit_symtab_with_blockvector(), and record_producer().
|
private |
Definition at line 404 of file buildsym.h.
Referenced by pop_subfile(), and push_subfile().
Definition at line 363 of file buildsym.h.
Referenced by end_compunit_symtab_with_blockvector(), start_subfile(), watch_main_source_file_lossage(), and ~buildsym_compunit().