GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
mdebugread.c File Reference
#include "defs.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "gdbcore.h"
#include "filenames.h"
#include "objfiles.h"
#include "gdbsupport/gdb_obstack.h"
#include "buildsym-legacy.h"
#include "stabsread.h"
#include "complaints.h"
#include "demangle.h"
#include "gdb-demangle.h"
#include "block.h"
#include "dictionary.h"
#include "mdebugread.h"
#include <sys/stat.h>
#include "psymtab.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"
#include <algorithm>

Go to the source code of this file.

Classes

struct  md_symloc
 
struct  pst_map
 
struct  parse_stack
 
struct  mdebug_pending
 

Macros

#define ECOFF_IN_ELF(bfd)
 
#define PST_PRIVATE(p)   ((struct md_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

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, const char *)
 
static void parse_partial_symbols (minimal_symbol_reader &, psymtab_storage *, struct objfile *)
 
static int has_opaque_xref (FDR *, SYMR *)
 
static int cross_ref (int, union aux_ext *, struct type **, enum type_code, const char **, int, const char *)
 
static struct symbolnew_symbol (const char *)
 
static struct typenew_type (char *)
 
static struct blocknew_block (struct objfile *objfile, enum block_type, enum language)
 
static struct compunit_symtabnew_symtab (const char *, int, struct objfile *)
 
static struct linetablenew_linetable (int)
 
static struct blockvectornew_bvect (int)
 
static struct typeparse_type (int, union aux_ext *, unsigned int, int *, int, const char *)
 
static struct symbolmylookup_symbol (const char *, const struct block *, domain_enum, enum address_class)
 
static void sort_blocks (struct symtab *)
 
static legacy_psymtabnew_psymtab (const char *, psymtab_storage *, struct objfile *)
 
static void mdebug_expand_psymtab (legacy_psymtab *pst, struct objfile *objfile)
 
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 linetableshrink_linetable (struct linetable *)
 
static void handle_psymbol_enumerators (struct objfile *, psymtab_storage *, partial_symtab *, FDR *, int, CORE_ADDR)
 
static const char * mdebug_next_symbol_text (struct objfile *)
 
static void mdebug_read_symtab (legacy_psymtab *self, struct objfile *objfile)
 
static FDR * get_rfd (int cf, int rf)
 
static const char * fdr_name (FDR *f)
 
void mdebug_build_psymtabs (minimal_symbol_reader &reader, 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_pendingis_pending_symbol (FDR *fh, char *sh)
 
static void add_pending (FDR *fh, char *sh, struct type *t)
 
static void reg_value_complaint (int regnum, int num_regs, const char *sym)
 
static int mdebug_reg_to_regnum (struct symbol *sym, struct gdbarch *gdbarch)
 
static void add_data_symbol (SYMR *sh, union aux_ext *ax, int bigend, struct symbol *s, int aclass_index, struct block *b, struct objfile *objfile, const char *name)
 
static int parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend, const section_offsets &section_offsets, struct objfile *objfile)
 
static struct typebasic_type (int bt, struct objfile *objfile)
 
static void parse_procedure (PDR *pr, struct compunit_symtab *search_symtab, legacy_psymtab *pst)
 
static void parse_external (EXTR *es, int bigend, const section_offsets &section_offsets, struct objfile *objfile)
 
static void parse_lines (FDR *fh, PDR *pr, struct linetable *lt, int maxlines, CORE_ADDR lowest_pdr_addr)
 
static void function_outside_compilation_unit_complaint (const char *arg1)
 
static void record_minimal_symbol (minimal_symbol_reader &reader, const char *name, const unrelocated_addr address, enum minimal_symbol_type ms_type, int storage_class, struct objfile *objfile)
 
static bool block_is_less_than (const struct block *b1, const struct block *b2)
 
void elfmdebug_build_psymtabs (struct objfile *objfile, const struct ecoff_debug_swap *swap, asection *sec)
 
void _initialize_mdebugread ()
 

Variables

static struct objfilemdebugread_objfile
 
static enum language psymtab_language = language_unknown
 
static bfd * cur_bfd
 
static const 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_stacktop_stack
 
static struct mdebug_pending ** pending_list
 
static const struct symbol_register_ops mdebug_register_funcs
 
static int mdebug_register_index
 
static int mdebug_regparm_index
 
static const registry< objfile >::key< struct type *, gdb::noop_deleter< struct type * > > basic_type_data
 

Macro Definition Documentation

◆ compare_glevel

#define compare_glevel ( a,
b )
Value:
(((a) == GLEVEL_3) ? ((b) < GLEVEL_3) : \
((b) == GLEVEL_3) ? -1 : (int)((b) - (a)))

Definition at line 170 of file mdebugread.c.

Referenced by mdebug_build_psymtabs().

◆ CUR_BFD

#define CUR_BFD ( p)    (PST_PRIVATE(p)->cur_bfd)

Definition at line 107 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), new_psymtab(), and parse_partial_symbols().

◆ DEBUG_INFO

#define DEBUG_INFO ( p)    (PST_PRIVATE(p)->debug_info)

Definition at line 109 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), new_psymtab(), and parse_partial_symbols().

◆ DEBUG_SWAP

#define DEBUG_SWAP ( p)    (PST_PRIVATE(p)->debug_swap)

Definition at line 108 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), new_psymtab(), and parse_partial_symbols().

◆ ECOFF_IN_ELF

#define ECOFF_IN_ELF ( bfd)
Value:
(bfd_get_flavour (bfd) == bfd_target_elf_flavour \
&& bfd_get_section_by_name (bfd, ".mdebug") != NULL)

Definition at line 77 of file mdebugread.c.

Referenced by parse_partial_symbols().

◆ FDR_IDX

#define FDR_IDX ( p)    (PST_PRIVATE(p)->fdr_idx)

Definition at line 106 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), and parse_partial_symbols().

◆ MIN_GLEVEL

#define MIN_GLEVEL   GLEVEL_0

Definition at line 169 of file mdebugread.c.

Referenced by parse_partial_symbols().

◆ PARSE_TQ

#define PARSE_TQ ( tq)
Value:
if (t->tq != tqNil) \
ax += upgrade_type(fd, &tp, t->tq, ax, bigend, sym_name); \
else \
break;
static int upgrade_type(int, struct type **, int, union aux_ext *, int, const char *)

◆ PENDING_LIST

#define PENDING_LIST ( p)    (PST_PRIVATE(p)->pending_list)

Definition at line 110 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), new_psymtab(), and parse_partial_symbols().

◆ PST_PRIVATE

#define PST_PRIVATE ( p)    ((struct md_symloc *)(p)->read_symtab_private)

Definition at line 105 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), and parse_partial_symbols().

◆ SC_IS_BSS

#define SC_IS_BSS ( sc)    ((sc) == scBss)

Definition at line 122 of file mdebugread.c.

Referenced by parse_partial_symbols().

◆ SC_IS_COMMON

#define SC_IS_COMMON ( sc)    ((sc) == scCommon || (sc) == scSCommon)

Definition at line 121 of file mdebugread.c.

Referenced by cross_ref(), parse_external(), parse_partial_symbols(), and parse_symbol().

◆ SC_IS_DATA

#define SC_IS_DATA ( sc)
Value:
((sc) == scData \
|| (sc) == scSData \
|| (sc) == scRData \
|| (sc) == scPData \
|| (sc) == scXData)

Definition at line 116 of file mdebugread.c.

Referenced by parse_partial_symbols().

◆ SC_IS_SBSS

#define SC_IS_SBSS ( sc)    ((sc) == scSBss)

Definition at line 123 of file mdebugread.c.

Referenced by parse_partial_symbols().

◆ SC_IS_TEXT

#define SC_IS_TEXT ( sc)
Value:
((sc) == scText \
|| (sc) == scRConst \
|| (sc) == scInit \
|| (sc) == scFini)

Definition at line 112 of file mdebugread.c.

Referenced by parse_partial_symbols().

◆ SC_IS_UNDEF

#define SC_IS_UNDEF ( sc)    ((sc) == scUndefined || (sc) == scSUndefined)

Definition at line 124 of file mdebugread.c.

Referenced by add_data_symbol(), parse_external(), parse_partial_symbols(), and parse_symbol().

Enumeration Type Documentation

◆ block_type

enum block_type
Enumerator
FUNCTION_BLOCK 
NON_FUNCTION_BLOCK 

Definition at line 237 of file mdebugread.c.

Function Documentation

◆ _initialize_mdebugread()

void _initialize_mdebugread ( )

Definition at line 4795 of file mdebugread.c.

Referenced by initialize_all_files().

◆ add_block()

static void add_block ( struct block * b,
struct symtab * s )
static

◆ add_data_symbol()

static void add_data_symbol ( SYMR * sh,
union aux_ext * ax,
int bigend,
struct symbol * s,
int aclass_index,
struct block * b,
struct objfile * objfile,
const char * name )
static

◆ add_line()

static int add_line ( struct linetable * lt,
int lineno,
CORE_ADDR adr,
int last )
static

Definition at line 4532 of file mdebugread.c.

References lt.

Referenced by parse_lines().

◆ add_pending()

static void add_pending ( FDR * fh,
char * sh,
struct type * t )
static

◆ add_symbol()

static void add_symbol ( struct symbol * s,
struct symtab * symtab,
struct block * b )
static

◆ bad_rfd_entry_complaint()

static void bad_rfd_entry_complaint ( const char * arg1,
int arg2,
int arg3 )
static

Definition at line 153 of file mdebugread.c.

References complaint.

Referenced by cross_ref().

◆ bad_tag_guess_complaint()

static void bad_tag_guess_complaint ( const char * arg1)
static

Definition at line 147 of file mdebugread.c.

References complaint.

Referenced by parse_type().

◆ basic_type()

static struct type * basic_type ( int bt,
struct objfile * objfile )
static

◆ basic_type_complaint()

static void basic_type_complaint ( int arg1,
const char * arg2 )
static

Definition at line 140 of file mdebugread.c.

References complaint.

Referenced by parse_type().

◆ block_is_less_than()

static bool block_is_less_than ( const struct block * b1,
const struct block * b2 )
static

Definition at line 4554 of file mdebugread.c.

References block::end(), and block::start().

Referenced by sort_blocks().

◆ cross_ref()

static int cross_ref ( int fd,
union aux_ext * ax,
struct type ** tpp,
enum type_code type_code ,
const char ** pname,
int bigend,
const char * sym_name )
static

◆ elfmdebug_build_psymtabs()

void elfmdebug_build_psymtabs ( struct objfile * objfile,
const struct ecoff_debug_swap * swap,
asection * sec )

◆ fdr_name()

static const char * fdr_name ( FDR * f)
static

Definition at line 320 of file mdebugread.c.

References debug_info, and f().

Referenced by parse_external(), parse_lines(), and parse_partial_symbols().

◆ function_outside_compilation_unit_complaint()

static void function_outside_compilation_unit_complaint ( const char * arg1)
static

Definition at line 2222 of file mdebugread.c.

References complaint.

Referenced by parse_partial_symbols().

◆ get_rfd()

static FDR * get_rfd ( int cf,
int rf )
static

Definition at line 298 of file mdebugread.c.

References cur_bfd, debug_info, debug_swap, and f().

Referenced by cross_ref(), parse_type(), and upgrade_type().

◆ handle_psymbol_enumerators()

static void handle_psymbol_enumerators ( struct objfile * objfile,
psymtab_storage * partial_symtabs,
partial_symtab * pst,
FDR * fh,
int stype,
CORE_ADDR svalue )
static

◆ has_opaque_xref()

static int has_opaque_xref ( FDR * fh,
SYMR * sh )
static

Definition at line 4233 of file mdebugread.c.

References debug_info, and debug_swap.

Referenced by parse_partial_symbols(), and parse_symbol().

◆ index_complaint()

static void index_complaint ( const char * arg1)
static

Definition at line 128 of file mdebugread.c.

References complaint.

Referenced by parse_partial_symbols(), and parse_type().

◆ is_pending_symbol()

static struct mdebug_pending * is_pending_symbol ( FDR * fh,
char * sh )
static

Definition at line 484 of file mdebugread.c.

References debug_info, mdebug_pending::next, pending_list, and mdebug_pending::s.

Referenced by add_pending(), cross_ref(), and parse_symbol().

◆ mdebug_build_psymtabs()

void mdebug_build_psymtabs ( minimal_symbol_reader & reader,
struct objfile * objfile,
const struct ecoff_debug_swap * swap,
struct ecoff_debug_info * info )

◆ mdebug_expand_psymtab()

static void mdebug_expand_psymtab ( legacy_psymtab * pst,
struct objfile * objfile )
static

Definition at line 3853 of file mdebugread.c.

References add_symbol_to_list(), objfile::arch(), parse_stack::blocktype, compunit_symtab::blockvector(), complaint, symtab::compunit(), standard_psymtab::compunit_symtab, CUR_BFD, cur_bfd, parse_stack::cur_block, cur_fd, cur_fdr, cur_sdx, parse_stack::cur_st, parse_stack::cur_type, DEBUG_INFO, debug_info, DEBUG_SWAP, debug_swap, partial_symtab::empty(), end_compunit_symtab(), end_stabs(), partial_symtab::expand_dependencies(), FDR_IDX, partial_symtab::filename, found_ecoff_debugging_info, gdb_printf(), gdbarch_addr_bits_remove(), get_current_subfile(), get_last_source_file(), get_local_symbols(), blockvector::global_block(), info_verbose, linetable::item, LABEL_DOMAIN, symtab::language(), symtab::linetable(), LOC_CONST, MDEBUG_EFI_SYMBOL_NAME, mdebugread_objfile, n_undef_labels, n_undef_procs, n_undef_symbols, n_undef_vars, name, new_symbol(), new_symtab(), linetable::nitems, parse_stack::numargs, objfile::objfile_obstack, parse_external(), parse_lines(), parse_procedure(), parse_symbol(), mdebug_extra_func_info::pdr, PENDING_LIST, pending_list, pop_parse_stack(), previous_stab_code, compunit_symtab::primary_filetab(), parse_stack::procadr, process_one_symbol(), processing_gcc_compilation, PST_PRIVATE, psymtab_language, push_parse_stack(), standard_psymtab::readin, record_line(), SECT_OFF_TEXT, objfile::section_offsets, symbol::set_aclass_index(), symbol::set_domain(), block::set_end(), symtab::set_language(), symtab::set_linetable(), block::set_start(), symbol::set_type(), symbol::set_value_bytes(), shrink_linetable(), size, sort_blocks(), stabs_symbol, blockvector::static_block(), symtab_to_filename_for_display(), partial_symtab::text_high(), partial_symtab::text_high_valid, partial_symtab::text_low(), partial_symtab::text_low_valid, top_stack, and xfree().

Referenced by new_psymtab(), and parse_partial_symbols().

◆ mdebug_next_symbol_text()

static const char * mdebug_next_symbol_text ( struct objfile * objfile)
static

Definition at line 3829 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().

◆ mdebug_read_symtab()

static void mdebug_read_symtab ( legacy_psymtab * self,
struct objfile * objfile )
static

◆ mdebug_reg_to_regnum()

static int mdebug_reg_to_regnum ( struct symbol * sym,
struct gdbarch * gdbarch )
static

◆ mylookup_symbol()

static struct symbol * mylookup_symbol ( const char * name,
const struct block * block,
domain_enum domain,
enum address_class theclass )
static

Definition at line 4464 of file mdebugread.c.

References symbol::domain(), mylookup_symbol(), name, and block::superblock().

Referenced by mylookup_symbol(), and parse_procedure().

◆ new_block()

static struct block * new_block ( struct objfile * objfile,
enum block_type type,
enum language language  )
static

◆ new_bvect()

static struct blockvector * new_bvect ( int nblocks)
static

Definition at line 4707 of file mdebugread.c.

References blockvector::set_num_blocks(), and size.

Referenced by new_symtab().

◆ new_linetable()

static struct linetable * new_linetable ( int size)
static

Definition at line 4677 of file mdebugread.c.

References linetable::item, linetable::nitems, size, and xmalloc().

Referenced by arrange_linetable(), and new_symtab().

◆ new_psymtab()

static legacy_psymtab * new_psymtab ( const char * name,
psymtab_storage * partial_symtabs,
struct objfile * objfile )
static

◆ new_symbol()

static struct symbol * new_symbol ( const char * name)
static

◆ new_symtab()

static struct compunit_symtab * new_symtab ( const char * name,
int maxlines,
struct objfile * objfile )
static

◆ new_type()

static struct type * new_type ( char * name)
static

◆ parse_external()

static void parse_external ( EXTR * es,
int bigend,
const section_offsets & section_offsets,
struct objfile * objfile )
static

◆ parse_lines()

static void parse_lines ( FDR * fh,
PDR * pr,
struct linetable * lt,
int maxlines,
CORE_ADDR lowest_pdr_addr )
static

Definition at line 2157 of file mdebugread.c.

References add_line(), complaint, debug_info, fdr_name(), and lt.

Referenced by mdebug_expand_psymtab().

◆ parse_partial_symbols()

static void parse_partial_symbols ( minimal_symbol_reader & reader,
psymtab_storage * partial_symtabs,
struct objfile * objfile )
static

Definition at line 2297 of file mdebugread.c.

References partial_symtab::add_psymbol(), psymtab_storage::allocate_dependencies(), objfile::arch(), complaint, CUR_BFD, cur_bfd, cur_fdr, cur_sdx, dbx_end_psymtab(), DEBUG_INFO, debug_info, DEBUG_SWAP, debug_swap, deduce_language_from_filename(), partial_symtab::dependencies, psymtab_storage::discard_psymtab(), ECOFF_IN_ELF, partial_symtab::empty(), FDR_IDX, fdr_name(), partial_symtab::filename, function_outside_compilation_unit_complaint(), gdbarch_sofun_address_maybe_missing(), get_section_index(), GLOBAL, pst_map::globals_offset, handle_psymbol_enumerators(), has_opaque_xref(), index_complaint(), language_c, language_cplus, language_unknown, legacy_psymtab::legacy_expand_psymtab, legacy_psymtab::legacy_read_symtab, LOC_BLOCK, LOC_CONST, LOC_LABEL, LOC_STATIC, LOC_TYPEDEF, max_gdbinfo, max_glevel, mdebug_expand_psymtab(), mdebug_next_symbol_text(), mdebug_read_symtab(), MIN_GLEVEL, mst_abs, mst_bss, mst_data, mst_file_bss, mst_file_data, mst_file_text, mst_text, mst_unknown, pst_map::n_globals, name, new_psymtab(), partial_symtab::next, next_symbol_text, next_symbol_text_func, partial_symtab::number_of_dependencies, objfile::objfile_obstack, PENDING_LIST, pending_list, objfile::per_bfd, processing_gcc_compilation, pst_map::pst, PST_PRIVATE, psymtab_language, psymtab_storage::psymtabs, legacy_psymtab::read_symtab_private, record_minimal_symbol(), minimal_symbol_reader::record_with_info(), 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, set_last_source_file(), partial_symtab::set_text_high(), partial_symtab::set_text_low(), stabs_symbol, STATIC, STRUCT_DOMAIN, symnum, partial_symtab::text_low_valid, unknown_ext_complaint(), partial_symtab::unrelocated_text_high(), partial_symtab::unrelocated_text_low(), VAR_DOMAIN, xmalloc(), and xrealloc().

Referenced by mdebug_build_psymtabs().

◆ parse_procedure()

static void parse_procedure ( PDR * pr,
struct compunit_symtab * search_symtab,
legacy_psymtab * pst )
static

◆ parse_symbol()

static int parse_symbol ( SYMR * sh,
union aux_ext * ax,
char * ext_sh,
int bigend,
const section_offsets & section_offsets,
struct objfile * objfile )
static

Definition at line 580 of file mdebugread.c.

References add_block(), add_data_symbol(), add_pending(), add_symbol(), type::alloc_fields(), objfile::arch(), field::bitsize(), blockvector::blocks(), parse_stack::blocktype, compunit_symtab::blockvector(), builtin_type::builtin_int, builtin_type(), type::code(), complaint, symtab::compunit(), 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, block::end(), f(), type::field(), type::fields(), found_ecoff_debugging_info, FUNCTION_BLOCK, gdbarch_int_bit(), blockvector::global_block(), global_sym_chain, has_opaque_xref(), hashname(), is_cplus_marker(), is_pending_symbol(), LABEL_DOMAIN, general_symbol_info::language(), language_cplus, type::length(), general_symbol_info::linkage_name(), 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, mdebugread_objfile, name, type::name(), new_block(), new_symbol(), new_type(), NON_FUNCTION_BLOCK, type::num_fields(), parse_stack::numargs, mdebug_extra_func_info::numargs, objfile::objfile_obstack, parse_type, mdebug_extra_func_info::pdr, pop_parse_stack(), parse_stack::procadr, psymtab_language, push_parse_stack(), SC_IS_COMMON, SC_IS_UNDEF, SECT_OFF_BSS, SECT_OFF_DATA, SECT_OFF_TEXT, symbol::set_aclass_index(), type::set_code(), symbol::set_domain(), block::set_end(), block::set_function(), symbol::set_is_argument(), field::set_is_artificial(), type::set_is_prototyped(), type::set_is_stub(), type::set_is_unsigned(), type::set_length(), general_symbol_info::set_linkage_name(), type::set_name(), general_symbol_info::set_section_index(), block::set_start(), block::set_superblock(), field::set_type(), symbol::set_type(), symbol::set_value_address(), symbol::set_value_block(), symbol::set_value_bytes(), symbol::set_value_chain(), symbol::set_value_longest(), block::start(), blockvector::static_block(), STRUCT_DOMAIN, mdebug_pending::t, top_stack, symbol::type(), TYPE_CODE_UNDEF, symbol::value_longest(), and VAR_DOMAIN.

Referenced by mdebug_expand_psymtab(), and parse_external().

◆ parse_type()

static struct type * parse_type ( int fd,
union aux_ext * ax,
unsigned int aux_index,
int * bs,
int bigend,
const char * sym_name )
static

◆ pop_parse_stack()

static void pop_parse_stack ( void )
static

Definition at line 452 of file mdebugread.c.

References parse_stack::next, and top_stack.

Referenced by mdebug_expand_psymtab(), and parse_symbol().

◆ push_parse_stack()

static void push_parse_stack ( void )
static

Definition at line 427 of file mdebugread.c.

References parse_stack::next, parse_stack::prev, and top_stack.

Referenced by mdebug_expand_psymtab(), and parse_symbol().

◆ record_minimal_symbol()

static void record_minimal_symbol ( minimal_symbol_reader & reader,
const char * name,
const unrelocated_addr address,
enum minimal_symbol_type ms_type,
int storage_class,
struct objfile * objfile )
static

◆ reg_value_complaint()

static void reg_value_complaint ( int regnum,
int num_regs,
const char * sym )
static

Definition at line 519 of file mdebugread.c.

References complaint, and regnum.

Referenced by mdebug_reg_to_regnum().

◆ shrink_linetable()

static struct linetable * shrink_linetable ( struct linetable * lt)
static

Definition at line 4696 of file mdebugread.c.

References lt, and xrealloc().

Referenced by mdebug_expand_psymtab().

◆ sort_blocks()

static void sort_blocks ( struct symtab * s)
static

◆ unexpected_type_code_complaint()

static void unexpected_type_code_complaint ( const char * arg1)
static

Definition at line 160 of file mdebugread.c.

References complaint.

Referenced by parse_type().

◆ unknown_ext_complaint()

static void unknown_ext_complaint ( const char * arg1)
static

Definition at line 134 of file mdebugread.c.

References complaint.

Referenced by parse_partial_symbols().

◆ upgrade_type()

static int upgrade_type ( int fd,
struct type ** tpp,
int tq,
union aux_ext * ax,
int bigend,
const char * sym_name )
static

Variable Documentation

◆ basic_type_data

const registry<objfile>::key<struct type *, gdb::noop_deleter<struct type *> > basic_type_data
static

Definition at line 1363 of file mdebugread.c.

Referenced by basic_type().

◆ cur_bfd

bfd* cur_bfd
static

◆ cur_fd

int cur_fd
static

Definition at line 195 of file mdebugread.c.

Referenced by add_data_symbol(), mdebug_expand_psymtab(), parse_external(), and parse_symbol().

◆ cur_fdr

FDR* cur_fdr
static

◆ cur_sdx

int cur_sdx
static

◆ debug_info

struct ecoff_debug_info* debug_info
static

◆ debug_swap

const struct ecoff_debug_swap* debug_swap
static

◆ found_ecoff_debugging_info

int found_ecoff_debugging_info
static

Definition at line 217 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), parse_procedure(), and parse_symbol().

◆ max_gdbinfo

int max_gdbinfo
static

Definition at line 204 of file mdebugread.c.

Referenced by mdebug_build_psymtabs(), parse_partial_symbols(), and parse_symbol().

◆ max_glevel

int max_glevel
static

Definition at line 205 of file mdebugread.c.

Referenced by mdebug_build_psymtabs(), and parse_partial_symbols().

◆ mdebug_register_funcs

const struct symbol_register_ops mdebug_register_funcs
static
Initial value:
= {
}
static int mdebug_reg_to_regnum(struct symbol *sym, struct gdbarch *gdbarch)
Definition mdebugread.c:535

Definition at line 550 of file mdebugread.c.

◆ mdebug_register_index

int mdebug_register_index
static

Definition at line 556 of file mdebugread.c.

Referenced by parse_symbol().

◆ mdebug_regparm_index

int mdebug_regparm_index
static

Definition at line 557 of file mdebugread.c.

Referenced by parse_symbol().

◆ mdebugread_objfile

struct objfile* mdebugread_objfile
static

◆ n_undef_labels

int n_undef_labels
static

Definition at line 209 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), and parse_external().

◆ n_undef_procs

int n_undef_procs
static

Definition at line 209 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), and parse_external().

◆ n_undef_symbols

int n_undef_symbols
static

Definition at line 209 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), and parse_external().

◆ n_undef_vars

int n_undef_vars
static

Definition at line 209 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), and parse_external().

◆ pending_list

struct mdebug_pending** pending_list
static

◆ psymtab_language

enum language psymtab_language = language_unknown
static

◆ stabs_symbol

char stabs_symbol[] = STABS_SYMBOL
static

Definition at line 213 of file mdebugread.c.

Referenced by mdebug_expand_psymtab(), and parse_partial_symbols().

◆ top_stack

struct parse_stack * top_stack
static