GDB (xrefs)
|
#include "defs.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "gdbcore.h"
#include "filenames.h"
#include "objfiles.h"
#include "gdb_obstack.h"
#include "buildsym.h"
#include "stabsread.h"
#include "complaints.h"
#include "demangle.h"
#include "gdb-demangle.h"
#include "gdb_assert.h"
#include "block.h"
#include "dictionary.h"
#include "mdebugread.h"
#include "gdb_stat.h"
#include "gdb_string.h"
#include "psympriv.h"
#include "source.h"
#include "bfd.h"
#include "coff/ecoff.h"
#include "libaout.h"
#include "aout/aout64.h"
#include "aout/stab_gnu.h"
#include "expression.h"
Go to the source code of this file.
Classes | |
struct | symloc |
struct | pst_map |
struct | parse_stack |
struct | mdebug_pending |
Defines | |
#define | ECOFF_IN_ELF(bfd) |
#define | PST_PRIVATE(p) ((struct symloc *)(p)->read_symtab_private) |
#define | FDR_IDX(p) (PST_PRIVATE(p)->fdr_idx) |
#define | CUR_BFD(p) (PST_PRIVATE(p)->cur_bfd) |
#define | DEBUG_SWAP(p) (PST_PRIVATE(p)->debug_swap) |
#define | DEBUG_INFO(p) (PST_PRIVATE(p)->debug_info) |
#define | PENDING_LIST(p) (PST_PRIVATE(p)->pending_list) |
#define | SC_IS_TEXT(sc) |
#define | SC_IS_DATA(sc) |
#define | SC_IS_COMMON(sc) ((sc) == scCommon || (sc) == scSCommon) |
#define | SC_IS_BSS(sc) ((sc) == scBss) |
#define | SC_IS_SBSS(sc) ((sc) == scSBss) |
#define | SC_IS_UNDEF(sc) ((sc) == scUndefined || (sc) == scSUndefined) |
#define | MIN_GLEVEL GLEVEL_0 |
#define | compare_glevel(a, b) |
#define | PARSE_TQ(tq) |
Enumerations | |
enum | block_type { FUNCTION_BLOCK, NON_FUNCTION_BLOCK } |
Functions | |
void | _initialize_mdebugread (void) |
static void | index_complaint (const char *arg1) |
static void | unknown_ext_complaint (const char *arg1) |
static void | basic_type_complaint (int arg1, const char *arg2) |
static void | bad_tag_guess_complaint (const char *arg1) |
static void | bad_rfd_entry_complaint (const char *arg1, int arg2, int arg3) |
static void | unexpected_type_code_complaint (const char *arg1) |
static int | upgrade_type (int, struct type **, int, union aux_ext *, int, char *) |
static void | parse_partial_symbols (struct objfile *) |
static int | has_opaque_xref (FDR *, SYMR *) |
static int | cross_ref (int, union aux_ext *, struct type **, enum type_code, char **, int, char *) |
static struct symbol * | new_symbol (char *) |
static struct type * | new_type (char *) |
static struct block * | new_block (enum block_type) |
static struct symtab * | new_symtab (const char *, int, struct objfile *) |
static struct linetable * | new_linetable (int) |
static struct blockvector * | new_bvect (int) |
static struct type * | parse_type (int, union aux_ext *, unsigned int, int *, int, char *) |
static struct symbol * | mylookup_symbol (char *, struct block *, domain_enum, enum address_class) |
static void | sort_blocks (struct symtab *) |
static struct partial_symtab * | new_psymtab (char *, struct objfile *) |
static void | psymtab_to_symtab_1 (struct objfile *objfile, struct partial_symtab *, const char *) |
static void | add_block (struct block *, struct symtab *) |
static void | add_symbol (struct symbol *, struct symtab *, struct block *) |
static int | add_line (struct linetable *, int, CORE_ADDR, int) |
static struct linetable * | shrink_linetable (struct linetable *) |
static void | handle_psymbol_enumerators (struct objfile *, FDR *, int, CORE_ADDR) |
static char * | mdebug_next_symbol_text (struct objfile *) |
static void | mdebug_read_symtab (struct partial_symtab *self, struct objfile *objfile) |
static FDR * | get_rfd (int cf, int rf) |
static char * | fdr_name (FDR *f) |
void | mdebug_build_psymtabs (struct objfile *objfile, const struct ecoff_debug_swap *swap, struct ecoff_debug_info *info) |
static void | push_parse_stack (void) |
static void | pop_parse_stack (void) |
static struct mdebug_pending * | is_pending_symbol (FDR *fh, char *sh) |
static void | add_pending (FDR *fh, char *sh, struct type *t) |
static int | mdebug_reg_to_regnum (struct symbol *sym, struct gdbarch *gdbarch) |
static int | parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend, struct section_offsets *section_offsets, struct objfile *objfile) |
static struct type * | basic_type (int bt, struct objfile *objfile) |
static void | parse_procedure (PDR *, struct symtab *, struct partial_symtab *) |
static void | parse_external (EXTR *, int, struct section_offsets *, struct objfile *) |
static void | parse_lines (FDR *, PDR *, struct linetable *, int, struct partial_symtab *, CORE_ADDR) |
static void | function_outside_compilation_unit_complaint (const char *arg1) |
static void | record_minimal_symbol (const char *name, const CORE_ADDR address, enum minimal_symbol_type ms_type, int storage_class, struct objfile *objfile) |
static int | compare_blocks (const void *arg1, const void *arg2) |
void | elfmdebug_build_psymtabs (struct objfile *objfile, const struct ecoff_debug_swap *swap, asection *sec) |
Variables | |
static struct objfile * | mdebugread_objfile |
static enum language | psymtab_language = language_unknown |
static bfd * | cur_bfd |
static struct ecoff_debug_swap * | debug_swap |
static struct ecoff_debug_info * | debug_info |
static FDR * | cur_fdr |
static int | cur_fd |
static int | cur_sdx |
static int | max_gdbinfo |
static int | max_glevel |
static int | n_undef_symbols |
static int | n_undef_labels |
static int | n_undef_vars |
static int | n_undef_procs |
static char | stabs_symbol [] = STABS_SYMBOL |
static int | found_ecoff_debugging_info |
static struct parse_stack * | top_stack |
static struct mdebug_pending ** | pending_list |
static struct symbol_register_ops | mdebug_register_funcs |
static int | mdebug_register_index |
static int | mdebug_regparm_index |
static struct objfile_data * | basic_type_data |
#define compare_glevel | ( | a, | |
b | |||
) |
(((a) == GLEVEL_3) ? ((b) < GLEVEL_3) : \ ((b) == GLEVEL_3) ? -1 : (int)((b) - (a)))
Definition at line 173 of file mdebugread.c.
Referenced by mdebug_build_psymtabs().
#define CUR_BFD | ( | p | ) | (PST_PRIVATE(p)->cur_bfd) |
Definition at line 109 of file mdebugread.c.
Referenced by new_psymtab(), parse_partial_symbols(), and psymtab_to_symtab_1().
#define DEBUG_INFO | ( | p | ) | (PST_PRIVATE(p)->debug_info) |
Definition at line 111 of file mdebugread.c.
Referenced by new_psymtab(), parse_partial_symbols(), and psymtab_to_symtab_1().
#define DEBUG_SWAP | ( | p | ) | (PST_PRIVATE(p)->debug_swap) |
Definition at line 110 of file mdebugread.c.
Referenced by new_psymtab(), parse_partial_symbols(), and psymtab_to_symtab_1().
#define ECOFF_IN_ELF | ( | bfd | ) |
(bfd_get_flavour (bfd) == bfd_target_elf_flavour \
&& bfd_get_section_by_name (bfd, ".mdebug") != NULL)
Definition at line 79 of file mdebugread.c.
Referenced by parse_partial_symbols().
#define FDR_IDX | ( | p | ) | (PST_PRIVATE(p)->fdr_idx) |
Definition at line 108 of file mdebugread.c.
Referenced by parse_partial_symbols(), and psymtab_to_symtab_1().
#define MIN_GLEVEL GLEVEL_0 |
Definition at line 172 of file mdebugread.c.
Referenced by parse_partial_symbols().
#define PARSE_TQ | ( | tq | ) |
if (t->tq != tqNil) \ ax += upgrade_type(fd, &tp, t->tq, ax, bigend, sym_name); \ else \ break;
Referenced by parse_type().
#define PENDING_LIST | ( | p | ) | (PST_PRIVATE(p)->pending_list) |
Definition at line 112 of file mdebugread.c.
Referenced by new_psymtab(), parse_partial_symbols(), and psymtab_to_symtab_1().
#define PST_PRIVATE | ( | p | ) | ((struct symloc *)(p)->read_symtab_private) |
Definition at line 107 of file mdebugread.c.
Referenced by parse_partial_symbols(), and psymtab_to_symtab_1().
#define SC_IS_BSS | ( | sc | ) | ((sc) == scBss) |
Definition at line 124 of file mdebugread.c.
Referenced by parse_partial_symbols().
#define SC_IS_COMMON | ( | sc | ) | ((sc) == scCommon || (sc) == scSCommon) |
Definition at line 123 of file mdebugread.c.
Referenced by parse_external(), parse_partial_symbols(), and parse_symbol().
#define SC_IS_DATA | ( | sc | ) |
((sc) == scData \ || (sc) == scSData \ || (sc) == scRData \ || (sc) == scPData \ || (sc) == scXData)
Definition at line 118 of file mdebugread.c.
Referenced by parse_partial_symbols().
#define SC_IS_SBSS | ( | sc | ) | ((sc) == scSBss) |
Definition at line 125 of file mdebugread.c.
Referenced by parse_partial_symbols().
#define SC_IS_TEXT | ( | sc | ) |
Definition at line 114 of file mdebugread.c.
Referenced by parse_partial_symbols().
#define SC_IS_UNDEF | ( | sc | ) | ((sc) == scUndefined || (sc) == scSUndefined) |
Definition at line 126 of file mdebugread.c.
Referenced by parse_external(), parse_partial_symbols(), and parse_symbol().
enum block_type |
Definition at line 238 of file mdebugread.c.
void _initialize_mdebugread | ( | void | ) |
Definition at line 4623 of file mdebugread.c.
References blockvector::block, BLOCKVECTOR, BLOCKVECTOR_BLOCK, and xrealloc().
Referenced by parse_procedure(), and parse_symbol().
Definition at line 4653 of file mdebugread.c.
References linetable::item, linetable_entry::line, linetable::nitems, and linetable_entry::pc.
Referenced by parse_lines().
static void add_pending | ( | FDR * | fh, |
char * | sh, | ||
struct type * | t | ||
) | [static] |
Definition at line 505 of file mdebugread.c.
References debug_info, is_pending_symbol(), mdebug_pending::next, objfile::objfile_obstack, p, mdebug_pending::s, and mdebug_pending::t.
Referenced by parse_symbol().
static void add_symbol | ( | struct symbol * | s, |
struct symtab * | symtab, | ||
struct block * | b | ||
) | [static] |
Definition at line 4614 of file mdebugread.c.
References BLOCK_DICT, dict_add_symbol(), SYMBOL_SYMTAB, and symbol::symtab.
Referenced by dict_add_symbol(), parse_procedure(), and parse_symbol().
static void bad_rfd_entry_complaint | ( | const char * | arg1, |
int | arg2, | ||
int | arg3 | ||
) | [static] |
Definition at line 156 of file mdebugread.c.
References _, complaint(), and symfile_complaints.
static void bad_tag_guess_complaint | ( | const char * | arg1 | ) | [static] |
Definition at line 149 of file mdebugread.c.
References _, complaint(), and symfile_complaints.
Referenced by parse_type().
static struct type* basic_type | ( | int | bt, |
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 1348 of file mdebugread.c.
References basic_type_data, objfile_type::builtin_void, gdbarch_double_bit(), gdbarch_float_bit(), gdbarch_int_bit(), get_objfile_arch(), init_type(), objfile::objfile_obstack, objfile_type(), OBSTACK_CALLOC, TYPE_CODE_COMPLEX, TYPE_CODE_ERROR, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_STRING, TYPE_FLAG_UNSIGNED, and TYPE_TARGET_TYPE.
Referenced by parse_type().
static void basic_type_complaint | ( | int | arg1, |
const char * | arg2 | ||
) | [static] |
Definition at line 142 of file mdebugread.c.
References _, complaint(), and symfile_complaints.
Referenced by parse_type().
static int compare_blocks | ( | const void * | arg1, |
const void * | arg2 | ||
) | [static] |
Definition at line 4675 of file mdebugread.c.
References BLOCK_END, BLOCK_START, and LONGEST.
Referenced by sort_blocks().
static int cross_ref | ( | int | fd, |
union aux_ext * | ax, | ||
struct type ** | tpp, | ||
enum type_code type_code | , | ||
char ** | pname, | ||
int | bigend, | ||
char * | sym_name | ||
) | [static] |
Referenced by parse_type().
void elfmdebug_build_psymtabs | ( | struct objfile * | objfile, |
const struct ecoff_debug_swap * | swap, | ||
asection * | sec | ||
) |
Definition at line 4889 of file mdebugread.c.
References _, do_cleanups(), error(), init_minimal_symbol_collection(), install_minimal_symbols(), make_cleanup_discard_minimal_symbols(), mdebug_build_psymtabs(), objfile::obfd, and objfile::objfile_obstack.
Referenced by elf_symfile_read().
static char* fdr_name | ( | FDR * | f | ) | [static] |
Definition at line 327 of file mdebugread.c.
References debug_info.
Referenced by parse_external(), parse_lines(), and parse_partial_symbols().
static void function_outside_compilation_unit_complaint | ( | const char * | arg1 | ) | [static] |
Definition at line 2242 of file mdebugread.c.
References _, complaint(), and symfile_complaints.
Referenced by parse_partial_symbols().
Definition at line 305 of file mdebugread.c.
References cur_bfd, debug_info, and debug_swap.
Referenced by parse_type(), and upgrade_type().
static void handle_psymbol_enumerators | ( | struct objfile * | objfile, |
FDR * | fh, | ||
int | stype, | ||
CORE_ADDR | svalue | ||
) | [static] |
Definition at line 3849 of file mdebugread.c.
References add_psymbol_to_list(), cur_bfd, cur_fdr, cur_sdx, debug_info, debug_swap, LOC_CONST, name, psymtab_language, objfile::static_psymbols, and VAR_DOMAIN.
Referenced by parse_partial_symbols().
static int has_opaque_xref | ( | FDR * | fh, |
SYMR * | sh | ||
) | [static] |
Definition at line 4354 of file mdebugread.c.
References debug_info, and debug_swap.
Referenced by parse_partial_symbols(), and parse_symbol().
static void index_complaint | ( | const char * | arg1 | ) | [static] |
Definition at line 130 of file mdebugread.c.
References _, complaint(), and symfile_complaints.
Referenced by parse_partial_symbols(), and parse_type().
static struct mdebug_pending* is_pending_symbol | ( | FDR * | fh, |
char * | sh | ||
) | [static, read] |
Definition at line 490 of file mdebugread.c.
References debug_info, mdebug_pending::next, p, and mdebug_pending::s.
Referenced by add_pending(), and parse_symbol().
void mdebug_build_psymtabs | ( | struct objfile * | objfile, |
const struct ecoff_debug_swap * | swap, | ||
struct ecoff_debug_info * | info | ||
) |
Definition at line 341 of file mdebugread.c.
References _, buildsym_new_init(), compare_glevel, cur_bfd, debug_info, debug_swap, free_header_files(), gdb_flush(), gdb_stdout, init_header_files(), max_gdbinfo, max_glevel, objfile::obfd, objfile::objfile_obstack, parse_partial_symbols(), printf_unfiltered(), and stabsread_new_init().
Referenced by elfmdebug_build_psymtabs(), and mipscoff_symfile_read().
static char * mdebug_next_symbol_text | ( | struct objfile * | objfile | ) | [static] |
Definition at line 3916 of file mdebugread.c.
References cur_bfd, cur_fdr, cur_sdx, debug_info, and debug_swap.
Referenced by mdebug_read_symtab(), and parse_partial_symbols().
static void mdebug_read_symtab | ( | struct partial_symtab * | self, |
struct objfile * | objfile | ||
) | [static] |
Definition at line 280 of file mdebugread.c.
References _, gdb_flush(), gdb_stdout, info_verbose, mdebug_next_symbol_text(), next_symbol_text_func, printf_filtered(), psymtab_to_symtab_1(), and scan_file_globals().
Referenced by new_psymtab(), and parse_partial_symbols().
static int mdebug_reg_to_regnum | ( | struct symbol * | sym, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 536 of file mdebugread.c.
References gdbarch_ecoff_reg_to_regnum(), and SYMBOL_VALUE.
static struct symbol * mylookup_symbol | ( | char * | name, |
struct block * | block, | ||
domain_enum | domain, | ||
enum address_class | class | ||
) | [static, read] |
Definition at line 4587 of file mdebugread.c.
References ALL_BLOCK_SYMBOLS, BLOCK_SUPERBLOCK, SYMBOL_CLASS, SYMBOL_DOMAIN, and SYMBOL_LINKAGE_NAME.
Referenced by parse_procedure().
static struct block * new_block | ( | enum block_type | type | ) | [static, read] |
Definition at line 4842 of file mdebugread.c.
References BLOCK_DICT, dict_create_hashed_expandable(), dict_create_linear_expandable(), FUNCTION_BLOCK, and xzalloc().
Referenced by block_starting_point_at(), finalize_symtab(), new_symtab(), parse_procedure(), and parse_symbol().
static struct blockvector * new_bvect | ( | int | nblocks | ) | [static, read] |
Definition at line 4823 of file mdebugread.c.
References BLOCKVECTOR_NBLOCKS, blockvector::nblocks, size, and xzalloc().
Referenced by new_symtab().
static struct linetable * new_linetable | ( | int | size | ) | [static, read] |
Definition at line 4793 of file mdebugread.c.
References linetable::item, linetable::nitems, size, and xmalloc().
Referenced by new_symtab().
static struct partial_symtab * new_psymtab | ( | char * | name, |
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 4765 of file mdebugread.c.
References allocate_psymtab(), CUR_BFD, cur_bfd, DEBUG_INFO, debug_info, DEBUG_SWAP, debug_swap, mdebug_read_symtab(), memset(), objfile::objfile_obstack, PENDING_LIST, pending_list, partial_symtab::read_symtab, partial_symtab::read_symtab_private, partial_symtab::section_offsets, and objfile::section_offsets.
Referenced by parse_partial_symbols().
static struct symbol * new_symbol | ( | char * | name | ) | [static, read] |
Definition at line 4860 of file mdebugread.c.
References allocate_symbol(), objfile::objfile_obstack, psymtab_language, SYMBOL_SET_LANGUAGE, and SYMBOL_SET_NAMES.
Referenced by parse_procedure(), parse_symbol(), and psymtab_to_symtab_1().
static struct symtab * new_symtab | ( | const char * | name, |
int | maxlines, | ||
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 4743 of file mdebugread.c.
References allocate_symtab(), BLOCK_SUPERBLOCK, BLOCKVECTOR, BLOCKVECTOR_BLOCK, symtab::debugformat, GLOBAL_BLOCK, LINETABLE, new_block(), new_bvect(), new_linetable(), NON_FUNCTION_BLOCK, and STATIC_BLOCK.
Referenced by psymtab_to_symtab_1().
Definition at line 4873 of file mdebugread.c.
References alloc_type(), INIT_CPLUS_SPECIFIC, name, and TYPE_NAME.
Referenced by constrained_packed_array_type(), copy_type(), copy_type_recursive(), insert_bp_location(), parse_symbol(), quirk_gcc_member_function_pointer(), read_tag_ptr_to_member_type(), template_to_static_fixed_type(), update_type_if_necessary(), value_of_root(), and VEC().
static void parse_external | ( | EXTR * | es, |
int | bigend, | ||
struct section_offsets * | section_offsets, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 2082 of file mdebugread.c.
References _, cur_fd, cur_fdr, debug_info, fdr_name(), info_verbose, n_undef_labels, n_undef_procs, n_undef_symbols, n_undef_vars, parse_symbol(), printf_filtered(), SC_IS_COMMON, and SC_IS_UNDEF.
Referenced by psymtab_to_symtab_1().
static void parse_lines | ( | FDR * | fh, |
PDR * | pr, | ||
struct linetable * | lt, | ||
int | maxlines, | ||
struct partial_symtab * | pst, | ||
CORE_ADDR | lowest_pdr_addr | ||
) | [static] |
Definition at line 2176 of file mdebugread.c.
References _, add_line(), complaint(), debug_info, fdr_name(), linetable::nitems, symfile_complaints, and partial_symtab::textlow.
Referenced by psymtab_to_symtab_1().
static void parse_partial_symbols | ( | struct objfile * | objfile | ) | [static] |
Definition at line 2318 of file mdebugread.c.
References _, add_psymbol_to_list(), ALL_OBJFILE_PSYMTABS, ANOFFSET, complaint(), CUR_BFD, cur_bfd, cur_fdr, cur_sdx, DEBUG_INFO, debug_info, DEBUG_SWAP, debug_swap, deduce_language_from_filename(), do_cleanups(), ECOFF_IN_ELF, end_psymtab(), FDR_IDX, fdr_name(), objfile::flags, function_outside_compilation_unit_complaint(), gdbarch_sofun_address_maybe_missing(), gdbarch_static_transform_name(), gdbarch_static_transform_name_p(), get_objfile_arch(), get_section_index(), objfile::global_psymbols, handle_psymbol_enumerators(), has_opaque_xref(), hex_string(), index_complaint(), internal_error(), language_c, language_cplus, language_unknown, len, LOC_BLOCK, LOC_CONST, LOC_LABEL, LOC_STATIC, LOC_TYPEDEF, make_cleanup(), max_gdbinfo, max_glevel, mdebug_next_symbol_text(), mdebug_read_symtab(), memcpy(), memset(), MIN_GLEVEL, mst_abs, mst_bss, mst_data, mst_file_bss, mst_file_data, mst_file_text, mst_text, mst_unknown, partial_symtab::n_global_syms, partial_symtab::n_static_syms, name, new_psymtab(), psymbol_allocation_list::next, partial_symtab::next, next_symbol_text, next_symbol_text_func, partial_symtab::number_of_dependencies, OBJF_REORDERED, objfile::objfile_obstack, p, PENDING_LIST, pending_list, prim_record_minimal_symbol_and_info(), processing_gcc_compilation, PST_PRIVATE, psymtab_language, objfile::psymtabs, record_minimal_symbol(), SC_IS_BSS, SC_IS_COMMON, SC_IS_DATA, SC_IS_SBSS, SC_IS_TEXT, SC_IS_UNDEF, objfile::sect_index_bss, objfile::sect_index_data, objfile::sect_index_text, SECT_OFF_BSS, SECT_OFF_DATA, SECT_OFF_TEXT, objfile::section_offsets, set_last_source_file(), stabs_symbol, start_psymtab_common(), objfile::static_psymbols, strchr(), STRUCT_DOMAIN, symfile_complaints, symnum, partial_symtab::texthigh, partial_symtab::textlow, unknown_ext_complaint(), VAR_DOMAIN, xfree(), xmalloc(), xrealloc(), and xzalloc().
Referenced by mdebug_build_psymtabs().
static void parse_procedure | ( | PDR * | pr, |
struct symtab * | search_symtab, | ||
struct partial_symtab * | pst | ||
) | [static] |
Definition at line 1927 of file mdebugread.c.
References _, add_block(), add_symbol(), BLOCK_END, BLOCK_FUNCTION, BLOCK_START, BLOCK_SUPERBLOCK, BLOCKVECTOR, BLOCKVECTOR_BLOCK, objfile_type::builtin_int, complaint(), cur_bfd, parse_stack::cur_block, cur_fdr, parse_stack::cur_st, debug_info, debug_swap, found_ecoff_debugging_info, LABEL_DOMAIN, LOC_BLOCK, LOC_CONST, lookup_function_type(), lookup_symbol(), MDEBUG_EFI_SYMBOL_NAME, mylookup_symbol(), new_block(), new_symbol(), objfile_type::nodebug_text_symbol, objfile_type(), mdebug_extra_func_info::pdr, processing_gcc_compilation, STATIC_BLOCK, SYMBOL_BLOCK_VALUE, SYMBOL_CLASS, SYMBOL_DOMAIN, SYMBOL_TYPE, SYMBOL_VALUE_BYTES, symfile_complaints, top_stack, TYPE_CODE, TYPE_CODE_VOID, TYPE_TARGET_TYPE, and VAR_DOMAIN.
Referenced by psymtab_to_symtab_1().
static int parse_symbol | ( | SYMR * | sh, |
union aux_ext * | ax, | ||
char * | ext_sh, | ||
int | bigend, | ||
struct section_offsets * | section_offsets, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 551 of file mdebugread.c.
References _, add_block(), add_pending(), add_symbol(), ALL_BLOCK_SYMBOLS, allocate_symbol(), ANOFFSET, BLOCK_END, BLOCK_FUNCTION, BLOCK_START, BLOCK_SUPERBLOCK, parse_stack::blocktype, BLOCKVECTOR, BLOCKVECTOR_BLOCK, BLOCKVECTOR_NBLOCKS, objfile_type::builtin_int, objfile_type::builtin_void, complaint(), cur_bfd, parse_stack::cur_block, cur_fd, cur_fdr, parse_stack::cur_field, parse_stack::cur_st, parse_stack::cur_type, debug_info, debug_swap, FIELD_BITSIZE, FIELD_NAME, FIELD_TYPE, found_ecoff_debugging_info, FUNCTION_BLOCK, gdbarch_int_bit(), get_objfile_arch(), GLOBAL_BLOCK, global_sym_chain, has_opaque_xref(), hashname(), HOST_CHAR_BIT, is_cplus_marker(), is_pending_symbol(), LABEL_DOMAIN, language_cplus, LOC_ARG, LOC_BLOCK, LOC_CONST, LOC_LABEL, LOC_LOCAL, LOC_REF_ARG, LOC_STATIC, LOC_TYPEDEF, lookup_function_type(), make_pointer_type(), max_gdbinfo, MDEBUG_EFI_SYMBOL_NAME, mdebug_register_index, mdebug_regparm_index, memset(), name, new_block(), new_symbol(), new_type(), objfile_type::nodebug_data_symbol, NON_FUNCTION_BLOCK, mdebug_extra_func_info::numargs, parse_stack::numargs, obconcat(), objfile::objfile_obstack, objfile_type(), parse_type(), mdebug_extra_func_info::pdr, pop_parse_stack(), parse_stack::procadr, push_parse_stack(), SC_IS_COMMON, SC_IS_UNDEF, SECT_OFF_BSS, SECT_OFF_DATA, SECT_OFF_TEXT, SET_FIELD_BITPOS, SET_FIELD_ENUMVAL, STATIC_BLOCK, STRUCT_DOMAIN, SYMBOL_ACLASS_INDEX, SYMBOL_BLOCK_VALUE, SYMBOL_DOMAIN, SYMBOL_IS_ARGUMENT, SYMBOL_LANGUAGE, SYMBOL_LINKAGE_NAME, SYMBOL_SET_LINKAGE_NAME, SYMBOL_TYPE, SYMBOL_VALUE, SYMBOL_VALUE_ADDRESS, SYMBOL_VALUE_BYTES, SYMBOL_VALUE_CHAIN, symfile_complaints, top_stack, TYPE_ALLOC, TYPE_CODE, TYPE_CODE_ENUM, TYPE_CODE_FUNC, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNDEF, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_FIELD_ARTIFICIAL, TYPE_FIELD_TYPE, TYPE_FIELDS, TYPE_LENGTH, TYPE_NAME, TYPE_NFIELDS, TYPE_PROTOTYPED, TYPE_STUB, TYPE_TAG_NAME, TYPE_UNSIGNED, and VAR_DOMAIN.
Referenced by parse_external(), and psymtab_to_symtab_1().
static struct type * parse_type | ( | int | fd, |
union aux_ext * | ax, | ||
unsigned int | aux_index, | ||
int * | bs, | ||
int | bigend, | ||
char * | sym_name | ||
) | [static, read] |
Definition at line 1522 of file mdebugread.c.
References _, bad_tag_guess_complaint(), basic_type(), basic_type_complaint(), complaint(), cross_ref(), debug_info, debug_swap, get_rfd(), index_complaint(), init_type(), name, objfile::objfile_obstack, PARSE_TQ, symfile_complaints, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_ENUM, TYPE_CODE_ERROR, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_SET, TYPE_CODE_STRUCT, TYPE_CODE_UNDEF, TYPE_CODE_UNION, TYPE_HIGH_BOUND, TYPE_LOW_BOUND, TYPE_NAME, TYPE_NFIELDS, TYPE_RANGE_DATA, TYPE_TAG_NAME, TYPE_TARGET_TYPE, TYPE_ZALLOC, and unexpected_type_code_complaint().
Referenced by parse_symbol(), and upgrade_type().
static void pop_parse_stack | ( | void | ) | [static] |
Definition at line 458 of file mdebugread.c.
References parse_stack::next, and top_stack.
Referenced by parse_symbol(), and psymtab_to_symtab_1().
static void psymtab_to_symtab_1 | ( | struct objfile * | objfile, |
struct partial_symtab * | pst, | ||
const char * | filename | ||
) | [static] |
Definition at line 3940 of file mdebugread.c.
References _, add_symbol_to_list(), ANOFFSET, BLOCK_END, BLOCK_START, parse_stack::blocktype, BLOCKVECTOR, BLOCKVECTOR_BLOCK, objfile_type::builtin_void, complaint(), CUR_BFD, cur_bfd, parse_stack::cur_block, cur_fd, cur_fdr, cur_sdx, parse_stack::cur_st, parse_stack::cur_type, current_subfile, DEBUG_INFO, debug_info, DEBUG_SWAP, debug_swap, partial_symtab::dependencies, do_cleanups(), end_stabs(), end_symtab(), FDR_IDX, partial_symtab::filename, found_ecoff_debugging_info, fputs_filtered(), gdb_flush(), gdb_stdout, gdbarch_addr_bits_remove(), get_last_source_file(), get_objfile_arch(), GLOBAL_BLOCK, info_verbose, linetable::item, LABEL_DOMAIN, symtab::language, LINETABLE, LOC_CONST, local_symbols, make_cleanup(), MDEBUG_EFI_SYMBOL_NAME, memset(), partial_symtab::n_global_syms, partial_symtab::n_static_syms, n_undef_labels, n_undef_procs, n_undef_symbols, n_undef_vars, name, new_symbol(), new_symtab(), linetable::nitems, parse_stack::numargs, partial_symtab::number_of_dependencies, objfile::objfile_obstack, objfile_type(), parse_external(), parse_lines(), parse_procedure(), parse_symbol(), mdebug_extra_func_info::pdr, PENDING_LIST, pop_parse_stack(), previous_stab_code, symtab::primary, printf_filtered(), parse_stack::procadr, process_one_symbol(), processing_gcc_compilation, PST_PRIVATE, psymtab_language, push_parse_stack(), partial_symtab::readin, record_line(), SECT_OFF_TEXT, partial_symtab::section_offsets, shrink_linetable(), size, sort_blocks(), stabs_symbol, STATIC_BLOCK, SYMBOL_ACLASS_INDEX, SYMBOL_DOMAIN, SYMBOL_TYPE, SYMBOL_VALUE_BYTES, symfile_complaints, partial_symtab::symtab, symtab_to_filename_for_display(), partial_symtab::texthigh, partial_symtab::textlow, top_stack, wrap_here(), xfree(), and xmalloc().
Referenced by mdebug_read_symtab().
static void push_parse_stack | ( | void | ) | [static] |
Definition at line 433 of file mdebugread.c.
References parse_stack::next, parse_stack::prev, top_stack, and xzalloc().
Referenced by parse_symbol(), and psymtab_to_symtab_1().
static void record_minimal_symbol | ( | const char * | name, |
const CORE_ADDR | address, | ||
enum minimal_symbol_type | ms_type, | ||
int | storage_class, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 2254 of file mdebugread.c.
References get_section_index(), prim_record_minimal_symbol_and_info(), SECT_OFF_BSS, SECT_OFF_DATA, and SECT_OFF_TEXT.
Referenced by parse_partial_symbols().
static struct linetable * shrink_linetable | ( | struct linetable * | lt | ) | [static, read] |
Definition at line 4812 of file mdebugread.c.
References xrealloc().
Referenced by psymtab_to_symtab_1().
static void sort_blocks | ( | struct symtab * | s | ) | [static] |
Definition at line 4692 of file mdebugread.c.
References BLOCK_END, BLOCK_START, BLOCKVECTOR, BLOCKVECTOR_BLOCK, BLOCKVECTOR_NBLOCKS, compare_blocks(), FIRST_LOCAL_BLOCK, GLOBAL_BLOCK, qsort, and STATIC_BLOCK.
Referenced by psymtab_to_symtab_1().
static void unexpected_type_code_complaint | ( | const char * | arg1 | ) | [static] |
Definition at line 163 of file mdebugread.c.
References _, complaint(), and symfile_complaints.
Referenced by parse_type().
static void unknown_ext_complaint | ( | const char * | arg1 | ) | [static] |
Definition at line 136 of file mdebugread.c.
References _, complaint(), and symfile_complaints.
Referenced by parse_partial_symbols().
static int upgrade_type | ( | int | fd, |
struct type ** | tpp, | ||
int | tq, | ||
union aux_ext * | ax, | ||
int | bigend, | ||
char * | sym_name | ||
) | [static] |
Definition at line 1809 of file mdebugread.c.
References _, objfile_type::builtin_int, complaint(), create_array_type(), create_range_type(), debug_info, debug_swap, get_rfd(), lookup_function_type(), lookup_pointer_type(), objfile_type(), parse_type(), range, symfile_complaints, TYPE_CODE, TYPE_CODE_INT, TYPE_LENGTH, and TYPE_TARGET_STUB.
struct objfile_data* basic_type_data [static] |
Definition at line 1345 of file mdebugread.c.
Referenced by basic_type().
bfd* cur_bfd [static] |
Definition at line 185 of file mdebugread.c.
Referenced by get_rfd(), handle_psymbol_enumerators(), mdebug_build_psymtabs(), mdebug_next_symbol_text(), new_psymtab(), parse_partial_symbols(), parse_procedure(), parse_symbol(), and psymtab_to_symtab_1().
Definition at line 198 of file mdebugread.c.
Referenced by parse_external(), parse_symbol(), and psymtab_to_symtab_1().
FDR* cur_fdr [static] |
Definition at line 197 of file mdebugread.c.
Referenced by handle_psymbol_enumerators(), mdebug_next_symbol_text(), parse_external(), parse_partial_symbols(), parse_procedure(), parse_symbol(), and psymtab_to_symtab_1().
Definition at line 202 of file mdebugread.c.
Referenced by handle_psymbol_enumerators(), mdebug_next_symbol_text(), parse_partial_symbols(), and psymtab_to_symtab_1().
struct ecoff_debug_info* debug_info [static] |
Definition at line 193 of file mdebugread.c.
Referenced by add_pending(), fdr_name(), get_rfd(), handle_psymbol_enumerators(), has_opaque_xref(), is_pending_symbol(), mdebug_build_psymtabs(), mdebug_next_symbol_text(), mipscoff_symfile_read(), new_psymtab(), parse_external(), parse_lines(), parse_partial_symbols(), parse_procedure(), parse_symbol(), parse_type(), psymtab_to_symtab_1(), and upgrade_type().
struct ecoff_debug_swap* debug_swap [static] |
Definition at line 189 of file mdebugread.c.
Referenced by get_rfd(), handle_psymbol_enumerators(), has_opaque_xref(), mdebug_build_psymtabs(), mdebug_next_symbol_text(), mipscoff_symfile_read(), new_psymtab(), parse_partial_symbols(), parse_procedure(), parse_symbol(), parse_type(), psymtab_to_symtab_1(), and upgrade_type().
int found_ecoff_debugging_info [static] |
Definition at line 220 of file mdebugread.c.
Referenced by parse_procedure(), parse_symbol(), and psymtab_to_symtab_1().
int max_gdbinfo [static] |
Definition at line 207 of file mdebugread.c.
Referenced by mdebug_build_psymtabs(), parse_partial_symbols(), and parse_symbol().
int max_glevel [static] |
Definition at line 208 of file mdebugread.c.
Referenced by mdebug_build_psymtabs(), and parse_partial_symbols().
struct symbol_register_ops mdebug_register_funcs [static] |
Definition at line 541 of file mdebugread.c.
int mdebug_register_index [static] |
Definition at line 547 of file mdebugread.c.
Referenced by parse_symbol().
int mdebug_regparm_index [static] |
Definition at line 548 of file mdebugread.c.
Referenced by parse_symbol().
struct objfile* mdebugread_objfile [static] |
Definition at line 84 of file mdebugread.c.
int n_undef_labels [static] |
Definition at line 212 of file mdebugread.c.
Referenced by parse_external(), and psymtab_to_symtab_1().
int n_undef_procs [static] |
Definition at line 212 of file mdebugread.c.
Referenced by parse_external(), and psymtab_to_symtab_1().
int n_undef_symbols [static] |
Definition at line 212 of file mdebugread.c.
Referenced by parse_external(), and psymtab_to_symtab_1().
int n_undef_vars [static] |
Definition at line 212 of file mdebugread.c.
Referenced by parse_external(), and psymtab_to_symtab_1().
struct mdebug_pending** pending_list [static] |
Definition at line 485 of file mdebugread.c.
Referenced by new_psymtab(), and parse_partial_symbols().
enum language psymtab_language = language_unknown [static] |
Definition at line 181 of file mdebugread.c.
Referenced by handle_psymbol_enumerators(), new_symbol(), parse_partial_symbols(), and psymtab_to_symtab_1().
char stabs_symbol[] = STABS_SYMBOL [static] |
Definition at line 216 of file mdebugread.c.
Referenced by parse_partial_symbols(), and psymtab_to_symtab_1().
struct parse_stack
* top_stack [static] |
Referenced by parse_procedure(), parse_symbol(), pop_parse_stack(), psymtab_to_symtab_1(), and push_parse_stack().