GDB (xrefs)
|
#include "defs.h"
#include "gdb_string.h"
#include "bfd.h"
#include "gdb_obstack.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "expression.h"
#include "symfile.h"
#include "objfiles.h"
#include "aout/stab_gnu.h"
#include "libaout.h"
#include "aout/aout64.h"
#include "gdb-stabs.h"
#include "buildsym.h"
#include "complaints.h"
#include "demangle.h"
#include "gdb-demangle.h"
#include "language.h"
#include "doublest.h"
#include "cp-abi.h"
#include "cp-support.h"
#include "gdb_assert.h"
#include <ctype.h>
#include "stabsread.h"
Go to the source code of this file.
Classes | |
struct | field_info |
struct | field_info::nextfield |
struct | field_info::next_fnfieldlist |
struct | nat |
struct | ref_map |
Defines | |
#define | EXTERN |
#define | STABS_CONTINUE(pp, objfile) |
#define | INITIAL_TYPE_VECTOR_LENGTH 160 |
#define | VISIBILITY_PRIVATE '0' /* Stabs character for private field */ |
#define | VISIBILITY_PROTECTED '1' /* Stabs character for protected fld */ |
#define | VISIBILITY_PUBLIC '2' /* Stabs character for public field */ |
#define | VISIBILITY_IGNORE '9' /* Optimized out or zero length */ |
#define | MAX_CHUNK_REFS 100 |
#define | REF_CHUNK_SIZE (MAX_CHUNK_REFS * sizeof (struct ref_map)) |
#define | REF_MAP_SIZE(ref_chunk) ((ref_chunk) * REF_CHUNK_SIZE) |
#define | NUMBER_RECOGNIZED 34 |
Functions | |
void | _initialize_stabsread (void) |
static void | read_one_struct_field (struct field_info *, char **, char *, struct type *, struct objfile *) |
static struct type * | dbx_alloc_type (int[2], struct objfile *) |
static long | read_huge_number (char **, int, int *, int) |
static struct type * | error_type (char **, struct objfile *) |
static void | patch_block_stabs (struct pending *, struct pending_stabs *, struct objfile *) |
static void | fix_common_block (struct symbol *, CORE_ADDR) |
static int | read_type_number (char **, int *) |
static struct type * | read_type (char **, struct objfile *) |
static struct type * | read_range_type (char **, int[2], int, struct objfile *) |
static struct type * | read_sun_builtin_type (char **, int[2], struct objfile *) |
static struct type * | read_sun_floating_type (char **, int[2], struct objfile *) |
static struct type * | read_enum_type (char **, struct type *, struct objfile *) |
static struct type * | rs6000_builtin_type (int, struct objfile *) |
static int | read_member_functions (struct field_info *, char **, struct type *, struct objfile *) |
static int | read_struct_fields (struct field_info *, char **, struct type *, struct objfile *) |
static int | read_baseclasses (struct field_info *, char **, struct type *, struct objfile *) |
static int | read_tilde_fields (struct field_info *, char **, struct type *, struct objfile *) |
static int | attach_fn_fields_to_type (struct field_info *, struct type *) |
static int | attach_fields_to_type (struct field_info *, struct type *, struct objfile *) |
static struct type * | read_struct_type (char **, struct type *, enum type_code, struct objfile *) |
static struct type * | read_array_type (char **, struct type *, struct objfile *) |
static struct field * | read_args (char **, int, struct objfile *, int *, int *) |
static void | add_undefined_type (struct type *, int[2]) |
static int | read_cpp_abbrev (struct field_info *, char **, struct type *, struct objfile *) |
static char * | find_name_end (char *name) |
static int | process_reference (char **string) |
void | stabsread_clear_cache (void) |
static void | invalid_cpp_abbrev_complaint (const char *arg1) |
static void | reg_value_complaint (int regnum, int num_regs, const char *sym) |
static void | stabs_general_complaint (const char *arg1) |
static struct type ** | dbx_lookup_type (int typenums[2], struct objfile *objfile) |
void | ref_add (int refnum, struct symbol *sym, char *stabs, CORE_ADDR value) |
struct symbol * | ref_search (int refnum) |
int | symbol_reference_defined (char **string) |
static int | stab_reg_to_regnum (struct symbol *sym, struct gdbarch *gdbarch) |
struct symbol * | define_symbol (CORE_ADDR valu, char *string, int desc, int type, struct objfile *objfile) |
static char * | stabs_method_name_from_physname (const char *physname) |
static void | complain_about_struct_wipeout (struct type *type) |
static void | set_length_in_type_chain (struct type *type) |
void | common_block_start (char *name, struct objfile *objfile) |
void | common_block_end (struct objfile *objfile) |
static void | add_undefined_type_noname (struct type *type, int typenums[2]) |
static void | add_undefined_type_1 (struct type *type) |
static void | cleanup_undefined_types_noname (struct objfile *objfile) |
static void | cleanup_undefined_types_1 (void) |
void | cleanup_undefined_stabs_types (struct objfile *objfile) |
void | scan_file_globals (struct objfile *objfile) |
void | stabsread_init (void) |
void | stabsread_new_init (void) |
void | start_stabs (void) |
void | end_stabs (void) |
void | finish_global_stabs (struct objfile *objfile) |
Variables | |
static const char | vptr_name [] = "_vptr$" |
static const char | vb_name [] = "_vb$" |
static struct type ** | undef_types |
static int | undef_types_allocated |
static int | undef_types_length |
static struct symbol * | current_symbol = NULL |
static struct nat * | noname_undefs |
static int | noname_undefs_allocated |
static int | noname_undefs_length |
static struct type ** | type_vector |
static int | type_vector_length |
static struct ref_map * | ref_map |
static int | ref_count = 0 |
static int | ref_chunk = 0 |
static struct symbol_register_ops | stab_register_funcs |
static int | stab_register_index |
static int | stab_regparm_index |
static struct objfile_data * | rs6000_builtin_type_data |
static struct pending * | common_block |
static int | common_block_i |
static char * | common_block_name |
#define EXTERN |
Definition at line 52 of file stabsread.c.
#define INITIAL_TYPE_VECTOR_LENGTH 160 |
Definition at line 226 of file stabsread.c.
Referenced by dbx_lookup_type().
#define MAX_CHUNK_REFS 100 |
Definition at line 487 of file stabsread.c.
Referenced by ref_add().
#define NUMBER_RECOGNIZED 34 |
Referenced by rs6000_builtin_type().
#define REF_CHUNK_SIZE (MAX_CHUNK_REFS * sizeof (struct ref_map)) |
Definition at line 488 of file stabsread.c.
Referenced by ref_add().
#define REF_MAP_SIZE | ( | ref_chunk | ) | ((ref_chunk) * REF_CHUNK_SIZE) |
Definition at line 489 of file stabsread.c.
Referenced by ref_add().
#define STABS_CONTINUE | ( | pp, | |
objfile | |||
) |
do { \ if (**(pp) == '\\' || (**(pp) == '?' && (*(pp))[1] == '\0')) \ *(pp) = next_symbol_text (objfile); \ } while (0)
Definition at line 205 of file stabsread.c.
Referenced by read_args(), read_baseclasses(), read_enum_type(), read_member_functions(), read_struct_fields(), and read_tilde_fields().
#define VISIBILITY_IGNORE '9' /* Optimized out or zero length */ |
Definition at line 475 of file stabsread.c.
Referenced by attach_fields_to_type(), and read_one_struct_field().
#define VISIBILITY_PRIVATE '0' /* Stabs character for private field */ |
Definition at line 472 of file stabsread.c.
Referenced by attach_fields_to_type(), read_baseclasses(), read_cpp_abbrev(), and read_member_functions().
#define VISIBILITY_PROTECTED '1' /* Stabs character for protected fld */ |
Definition at line 473 of file stabsread.c.
Referenced by attach_fields_to_type(), read_baseclasses(), and read_member_functions().
#define VISIBILITY_PUBLIC '2' /* Stabs character for public field */ |
Definition at line 474 of file stabsread.c.
Referenced by attach_fields_to_type(), read_baseclasses(), and read_one_struct_field().
void _initialize_stabsread | ( | void | ) |
static void add_undefined_type | ( | struct type * | type, |
int | typenums[2] | ||
) | [static] |
Definition at line 4464 of file stabsread.c.
References add_undefined_type_1(), add_undefined_type_noname(), and TYPE_TAG_NAME.
Referenced by read_type().
static void add_undefined_type_1 | ( | struct type * | type | ) | [static] |
Definition at line 4438 of file stabsread.c.
References type, undef_types, undef_types_allocated, undef_types_length, and xrealloc().
Referenced by add_undefined_type().
static void add_undefined_type_noname | ( | struct type * | type, |
int | typenums[2] | ||
) | [static] |
Definition at line 4416 of file stabsread.c.
References noname_undefs, noname_undefs_allocated, noname_undefs_length, type, nat::type, nat::typenums, and xrealloc().
Referenced by add_undefined_type().
static int attach_fields_to_type | ( | struct field_info * | fip, |
struct type * | type, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 3320 of file stabsread.c.
References _, ALLOCATE_CPLUS_STRUCT_TYPE, B_BYTES, B_CLRALL, B_TYPE, complaint(), field_info::nextfield::field, field_info::list, memset(), field_info::nextfield::next, scan(), SET_TYPE_FIELD_IGNORE, SET_TYPE_FIELD_PRIVATE, SET_TYPE_FIELD_PROTECTED, symfile_complaints, TYPE_ALLOC, TYPE_FIELD, TYPE_FIELD_IGNORE_BITS, TYPE_FIELD_PRIVATE_BITS, TYPE_FIELD_PROTECTED_BITS, TYPE_FIELDS, TYPE_NFIELDS, field_info::nextfield::visibility, VISIBILITY_IGNORE, VISIBILITY_PRIVATE, VISIBILITY_PROTECTED, and VISIBILITY_PUBLIC.
static int attach_fn_fields_to_type | ( | struct field_info * | fip, |
struct type * | type | ||
) | [static] |
Definition at line 3301 of file stabsread.c.
References field_info::next_fnfieldlist::fn_fieldlist, field_info::fnlist, field_info::next_fnfieldlist::next, TYPE_FN_FIELDLISTS, and TYPE_NFN_FIELDS.
void cleanup_undefined_stabs_types | ( | struct objfile * | objfile | ) |
Definition at line 4597 of file stabsread.c.
References cleanup_undefined_types_1(), and cleanup_undefined_types_noname().
Referenced by end_symtab_get_static_block().
static void cleanup_undefined_types_1 | ( | void | ) | [static] |
Definition at line 4510 of file stabsread.c.
References _, complaint(), file_symbols, LOC_TYPEDEF, pending::next, pending::nsyms, replace_type(), STRUCT_DOMAIN, pending::symbol, SYMBOL_CLASS, SYMBOL_DOMAIN, SYMBOL_LINKAGE_NAME, SYMBOL_TYPE, symfile_complaints, type, TYPE_CODE, TYPE_CODE_ENUM, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_INSTANCE_FLAGS, TYPE_STUB, TYPE_TAG_NAME, and undef_types_length.
Referenced by cleanup_undefined_stabs_types().
static void cleanup_undefined_types_noname | ( | struct objfile * | objfile | ) | [static] |
Definition at line 4475 of file stabsread.c.
References dbx_lookup_type(), noname_undefs_length, replace_type(), type, nat::type, TYPE_CODE, TYPE_CODE_UNDEF, TYPE_INSTANCE_FLAGS, and nat::typenums.
Referenced by cleanup_undefined_stabs_types().
void common_block_end | ( | struct objfile * | objfile | ) |
Definition at line 4338 of file stabsread.c.
References _, add_symbol_to_list(), allocate_symbol(), common_block, complaint(), global_sym_chain, hashname(), LOC_BLOCK, local_symbols, pending::next, pending::nsyms, pending::symbol, SYMBOL_ACLASS_INDEX, SYMBOL_LINKAGE_NAME, SYMBOL_SET_LINKAGE_NAME, SYMBOL_TYPE, SYMBOL_VALUE_CHAIN, and symfile_complaints.
Referenced by process_one_symbol(), and process_xcoff_symbol().
void common_block_start | ( | char * | name, |
struct objfile * | objfile | ||
) |
Definition at line 4322 of file stabsread.c.
References _, complaint(), local_symbols, pending::nsyms, objfile::objfile_obstack, and symfile_complaints.
Referenced by process_one_symbol(), and process_xcoff_symbol().
static void complain_about_struct_wipeout | ( | struct type * | type | ) | [static] |
Definition at line 3410 of file stabsread.c.
References _, complaint(), name, symfile_complaints, TYPE_CODE, TYPE_CODE_ENUM, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_NAME, and TYPE_TAG_NAME.
Referenced by set_length_in_type_chain().
static struct type * dbx_alloc_type | ( | int | typenums[2], |
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 336 of file stabsread.c.
References alloc_type(), and dbx_lookup_type().
Referenced by read_type().
static struct type** dbx_lookup_type | ( | int | typenums[2], |
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 237 of file stabsread.c.
References _, objfile_type::builtin_error, complaint(), HEADER_FILES, INITIAL_TYPE_VECTOR_LENGTH, header_file::length, memset(), N_HEADER_FILES, n_this_object_header_files, objfile_type(), rs6000_builtin_type(), symfile_complaints, symnum, this_object_header_files, type_vector, type_vector_length, header_file::vector, warning(), xmalloc(), and xrealloc().
Referenced by cleanup_undefined_types_noname(), dbx_alloc_type(), read_range_type(), and read_type().
struct symbol* define_symbol | ( | CORE_ADDR | valu, |
char * | string, | ||
int | desc, | ||
int | type, | ||
struct objfile * | objfile | ||
) | [read] |
Definition at line 626 of file stabsread.c.
References _, add_symbol_to_list(), allocate_symbol(), atof(), objfile_type::builtin_char, objfile_type::builtin_double, objfile_type::builtin_int, objfile_type::builtin_long, objfile_type::builtin_unsigned_int, complaint(), cp_canonicalize_string(), cp_scan_for_anonymous_namespaces(), create_array_type(), create_range_type(), current_subfile, error_type(), file_symbols, find_name_end(), gdbarch_believe_pcc_promotion(), gdbarch_byte_order(), gdbarch_int_bit(), gdbarch_stabs_argument_has_addr(), gdbarch_static_transform_name(), gdbarch_static_transform_name_p(), get_objfile_arch(), global_sym_chain, global_symbols, hashname(), is_cplus_marker(), subfile::language, language_ada, language_cplus, language_pascal, LOC_ARG, LOC_BLOCK, LOC_CONST, LOC_CONST_BYTES, LOC_LABEL, LOC_LOCAL, LOC_REF_ARG, LOC_REGISTER, LOC_REGPARM_ADDR, LOC_STATIC, LOC_TYPEDEF, local_symbols, lookup_function_type(), lookup_minimal_symbol(), lookup_pointer_type(), memcpy(), name, pending::nsyms, obconcat(), objfile::objfile_obstack, objfile_type(), p, processing_gcc_compilation, read_type(), stab_register_index, stab_regparm_index, store_typed_floating(), strchr(), string, STRUCT_DOMAIN, pending::symbol, SYMBOL_ACLASS_INDEX, SYMBOL_CLASS, SYMBOL_DOMAIN, SYMBOL_IS_ARGUMENT, SYMBOL_LANGUAGE, SYMBOL_LINE, SYMBOL_LINKAGE_NAME, SYMBOL_SET_LANGUAGE, SYMBOL_SET_LINKAGE_NAME, SYMBOL_SET_NAMES, SYMBOL_TYPE, SYMBOL_VALUE, SYMBOL_VALUE_ADDRESS, SYMBOL_VALUE_BYTES, SYMBOL_VALUE_CHAIN, symfile_complaints, TYPE_ALLOC, TYPE_BASECLASS, TYPE_BASECLASS_NAME, TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_FIELD_ARTIFICIAL, TYPE_FIELD_TYPE, TYPE_FIELDS, TYPE_LENGTH, TYPE_N_BASECLASSES, TYPE_NAME, type_name_no_tag(), TYPE_NFIELDS, TYPE_PROTOTYPED, TYPE_TAG_NAME, TYPE_UNSIGNED, VAR_DOMAIN, vtbl_ptr_name, within_function, and xfree().
Referenced by process_one_symbol(), process_xcoff_symbol(), and read_xcoff_symtab().
void end_stabs | ( | void | ) |
Definition at line 4780 of file stabsread.c.
References previous_stab_code, type_vector_length, and xfree().
Referenced by process_one_symbol(), psymtab_to_symtab_1(), read_ofile_symtab(), and read_xcoff_symtab().
static struct type * error_type | ( | char ** | pp, |
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 1471 of file stabsread.c.
References _, objfile_type::builtin_error, complaint(), next_symbol_text, objfile_type(), and symfile_complaints.
Referenced by define_symbol(), read_array_type(), read_enum_type(), read_range_type(), read_sun_builtin_type(), read_sun_floating_type(), and read_type().
static char * find_name_end | ( | char * | name | ) | [static] |
Definition at line 4805 of file stabsread.c.
References _, error(), name, and strchr().
Referenced by define_symbol().
void finish_global_stabs | ( | struct objfile * | objfile | ) |
Definition at line 4792 of file stabsread.c.
References global_stabs, global_symbols, patch_block_stabs(), and xfree().
Referenced by end_symtab_get_static_block().
static void fix_common_block | ( | struct symbol * | sym, |
CORE_ADDR | valu | ||
) | [static] |
Definition at line 4397 of file stabsread.c.
References pending::next, pending::nsyms, pending::symbol, SYMBOL_TYPE, and SYMBOL_VALUE_ADDRESS.
Referenced by scan_file_globals().
static void invalid_cpp_abbrev_complaint | ( | const char * | arg1 | ) | [static] |
Definition at line 164 of file stabsread.c.
References _, complaint(), and symfile_complaints.
Referenced by read_cpp_abbrev().
static void patch_block_stabs | ( | struct pending * | symbols, |
struct pending_stabs * | stabs, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 362 of file stabsread.c.
References add_symbol_to_list(), allocate_symbol(), pending_stabs::count, find_symbol_in_list(), gdb_assert, global_symbols, LOC_OPTIMIZED_OUT, lookup_function_type(), name, objfile::objfile_obstack, read_type(), pending_stabs::stab, strchr(), SYMBOL_ACLASS_INDEX, SYMBOL_DOMAIN, SYMBOL_SET_LINKAGE_NAME, SYMBOL_TYPE, and VAR_DOMAIN.
Referenced by finish_global_stabs().
static int process_reference | ( | char ** | string | ) | [static] |
static struct field * read_args | ( | char ** | pp, |
int | end, | ||
struct objfile * | objfile, | ||
int * | nargsp, | ||
int * | varargsp | ||
) | [static, read] |
Definition at line 4257 of file stabsread.c.
References _, complaint(), memset(), read_type(), STABS_CONTINUE, symfile_complaints, TYPE_CODE, TYPE_CODE_VOID, and xmalloc().
Referenced by read_type().
static struct type * read_array_type | ( | char ** | pp, |
struct type * | type, | ||
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 3567 of file stabsread.c.
References create_array_type(), create_range_type(), error_type(), read_huge_number(), read_type(), and type.
Referenced by read_type().
static int read_baseclasses | ( | struct field_info * | fip, |
char ** | pp, | ||
struct type * | type, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 3091 of file stabsread.c.
References _, ALLOCATE_CPLUS_STRUCT_TYPE, B_BYTES, B_CLRALL, B_TYPE, complaint(), FIELD_BITSIZE, field_info::list, make_cleanup(), memset(), read_huge_number(), read_type(), SET_FIELD_BITPOS, SET_TYPE_FIELD_VIRTUAL, STABS_CONTINUE, symfile_complaints, TYPE_ALLOC, TYPE_FIELD_VIRTUAL_BITS, TYPE_N_BASECLASSES, type_name_no_tag(), VISIBILITY_PRIVATE, VISIBILITY_PROTECTED, VISIBILITY_PUBLIC, xfree(), and xmalloc().
static int read_cpp_abbrev | ( | struct field_info * | fip, |
char ** | pp, | ||
struct type * | type, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 2754 of file stabsread.c.
References _, complaint(), field_info::nextfield::field, FIELD_BITSIZE, invalid_cpp_abbrev_complaint(), field_info::list, name, obconcat(), objfile::objfile_obstack, p, read_huge_number(), read_type(), SET_FIELD_BITPOS, symfile_complaints, symnum, type_name_no_tag(), vb_name, field_info::nextfield::visibility, VISIBILITY_PRIVATE, and vptr_name.
Referenced by read_struct_fields().
static struct type * read_enum_type | ( | char ** | pp, |
struct type * | type, | ||
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 3630 of file stabsread.c.
References add_symbol_to_list(), allocate_symbol(), current_subfile, error_type(), file_symbols, gdbarch_int_bit(), get_objfile_arch(), HOST_CHAR_BIT, subfile::language, LOC_CONST, local_symbols, memset(), name, pending::next, pending::nsyms, objfile::objfile_obstack, p, read_huge_number(), SET_FIELD_ENUMVAL, set_length_in_type_chain(), STABS_CONTINUE, pending::symbol, SYMBOL_ACLASS_INDEX, SYMBOL_DOMAIN, SYMBOL_LINKAGE_NAME, SYMBOL_SET_LANGUAGE, SYMBOL_SET_LINKAGE_NAME, SYMBOL_TYPE, SYMBOL_VALUE, type, TYPE_ALLOC, TYPE_CODE, TYPE_CODE_ENUM, TYPE_FIELD, TYPE_FIELD_BITSIZE, TYPE_FIELD_NAME, TYPE_FIELDS, TYPE_LENGTH, TYPE_NFIELDS, TYPE_STUB, TYPE_UNSIGNED, VAR_DOMAIN, and within_function.
Referenced by read_type().
static long read_huge_number | ( | char ** | pp, |
int | end, | ||
int * | bits, | ||
int | twos_complement_bits | ||
) | [static] |
Definition at line 3876 of file stabsread.c.
Referenced by read_array_type(), read_baseclasses(), read_cpp_abbrev(), read_enum_type(), read_member_functions(), read_one_struct_field(), read_range_type(), read_sun_builtin_type(), read_sun_floating_type(), and read_type_number().
static int read_member_functions | ( | struct field_info * | fip, |
char ** | pp, | ||
struct type * | type, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 2267 of file stabsread.c.
References _, ALLOCATE_CPLUS_STRUCT_TYPE, complaint(), field_info::fnlist, is_cplus_marker(), is_destructor_name(), type::length, make_cleanup(), memset(), obconcat(), objfile::objfile_obstack, p, read_huge_number(), read_type(), savestring(), STABS_CONTINUE, stabs_method_name_from_physname(), strcmp_iw(), symfile_complaints, type, TYPE_ALLOC, TYPE_DOMAIN_TYPE, TYPE_FN_FIELDLISTS, TYPE_NFN_FIELDS, TYPE_STUB, VISIBILITY_PRIVATE, VISIBILITY_PROTECTED, VOFFSET_STATIC, xfree(), and xmalloc().
static void read_one_struct_field | ( | struct field_info * | fip, |
char ** | pp, | ||
char * | p, | ||
struct type * | type, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 2850 of file stabsread.c.
References check_typedef(), field_info::nextfield::field, FIELD_BITPOS, FIELD_BITSIZE, FIELD_TYPE, gdbarch_int_bit(), get_objfile_arch(), field_info::list, gdb::printing::long, objfile::objfile_obstack, read_huge_number(), read_type(), savestring(), SET_FIELD_BITPOS, SET_FIELD_PHYSNAME, stabs_general_complaint(), TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_ENUM, TYPE_CODE_INT, TYPE_CODE_RANGE, TYPE_LENGTH, field_info::nextfield::visibility, VISIBILITY_IGNORE, and VISIBILITY_PUBLIC.
Referenced by read_struct_fields().
static struct type * read_range_type | ( | char ** | pp, |
int | typenums[2], | ||
int | type_size, | ||
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 4040 of file stabsread.c.
References _, bits, objfile_type::builtin_int, complaint(), create_range_type(), dbx_lookup_type(), error_type(), gdbarch_int_bit(), gdbarch_long_long_bit(), get_objfile_arch(), HOST_CHAR_BIT, init_type(), objfile_type(), read_huge_number(), read_type(), read_type_number(), symfile_complaints, TYPE_CODE_COMPLEX, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_VOID, TYPE_FLAG_NOSIGN, TYPE_FLAG_UNSIGNED, and TYPE_TARGET_TYPE.
Referenced by read_type().
static int read_struct_fields | ( | struct field_info * | fip, |
char ** | pp, | ||
struct type * | type, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 2993 of file stabsread.c.
References is_cplus_marker(), field_info::list, make_cleanup(), memset(), field_info::nextfield::next, p, read_cpp_abbrev(), read_one_struct_field(), STABS_CONTINUE, xfree(), and xmalloc().
static struct type* read_struct_type | ( | char ** | pp, |
struct type * | type, | ||
enum type_code type_code | , | ||
struct objfile * | objfile | ||
) | [static, read] |
Referenced by read_type().
static struct type * read_sun_builtin_type | ( | char ** | pp, |
int | typenums[2], | ||
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 3756 of file stabsread.c.
References code, error_type(), init_type(), read_huge_number(), TYPE_CODE_BOOL, TYPE_CODE_INT, TYPE_CODE_VOID, and TYPE_FLAG_UNSIGNED.
Referenced by read_type().
static struct type * read_sun_floating_type | ( | char ** | pp, |
int | typenums[2], | ||
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 3828 of file stabsread.c.
References error_type(), init_type(), read_huge_number(), TYPE_CODE_COMPLEX, TYPE_CODE_FLT, and TYPE_TARGET_TYPE.
Referenced by read_type().
static int read_tilde_fields | ( | struct field_info * | fip, |
char ** | pp, | ||
struct type * | type, | ||
struct objfile * | objfile | ||
) | [static] |
Definition at line 3217 of file stabsread.c.
References _, complaint(), is_cplus_marker(), name, p, read_type(), STABS_CONTINUE, symfile_complaints, TYPE_FIELD_NAME, TYPE_N_BASECLASSES, TYPE_NAME, TYPE_NFIELDS, TYPE_VPTR_BASETYPE, TYPE_VPTR_FIELDNO, and vptr_name.
Definition at line 1504 of file stabsread.c.
References _, add_undefined_type(), allocate_stub_method(), code, complaint(), cp_canonicalize_string(), create_set_type(), current_subfile, dbx_alloc_type(), dbx_lookup_type(), error_type(), file_symbols, from, INIT_CPLUS_SPECIFIC, subfile::language, language_cplus, LOC_TYPEDEF, make_cv_type(), make_function_type(), make_pointer_type(), make_reference_type(), make_vector_type(), memcpy(), memset(), name, pending::next, pending::nsyms, objfile::objfile_obstack, p, read_args(), read_array_type(), read_enum_type(), read_range_type(), read_struct_type(), read_sun_builtin_type(), read_sun_floating_type(), read_type_number(), replace_type(), smash_to_memberptr_type(), smash_to_method_type(), strchr(), STRUCT_DOMAIN, pending::symbol, SYMBOL_CLASS, SYMBOL_DOMAIN, SYMBOL_LINKAGE_NAME, SYMBOL_TYPE, symfile_complaints, symnum, to, type, TYPE_ALLOC, TYPE_CODE, TYPE_CODE_ENUM, TYPE_CODE_STRING, TYPE_CODE_STRUCT, TYPE_CODE_TYPEDEF, TYPE_CODE_UNDEF, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_CONST, TYPE_FIELD_TYPE, TYPE_FIELDS, TYPE_LENGTH, TYPE_NAME, TYPE_NFIELDS, TYPE_PROTOTYPED, TYPE_STUB, TYPE_TAG_NAME, TYPE_TARGET_STUB, TYPE_TARGET_TYPE, TYPE_VOLATILE, warning(), and xfree().
Referenced by define_symbol(), patch_block_stabs(), read_args(), read_array_type(), read_baseclasses(), read_cpp_abbrev(), read_member_functions(), read_one_struct_field(), read_range_type(), and read_tilde_fields().
static int read_type_number | ( | char ** | pp, |
int * | typenums | ||
) | [static] |
Definition at line 447 of file stabsread.c.
References read_huge_number().
Referenced by read_range_type(), and read_type().
Definition at line 514 of file stabsread.c.
References MAX_CHUNK_REFS, memset(), ref_chunk, REF_CHUNK_SIZE, ref_count, REF_MAP_SIZE, ref_map::stabs, ref_map::sym, ref_map::value, and xrealloc().
Referenced by process_one_symbol().
struct symbol* ref_search | ( | int | refnum | ) | [read] |
Definition at line 538 of file stabsread.c.
References ref_count, and ref_map::sym.
Referenced by process_one_symbol().
static void reg_value_complaint | ( | int | regnum, |
int | num_regs, | ||
const char * | sym | ||
) | [static] |
Definition at line 170 of file stabsread.c.
References _, complaint(), and symfile_complaints.
Referenced by stab_reg_to_regnum().
static struct type * rs6000_builtin_type | ( | int | typenum, |
struct objfile * | objfile | ||
) | [static, read] |
Definition at line 2057 of file stabsread.c.
References _, objfile_type::builtin_error, complaint(), init_type(), NUMBER_RECOGNIZED, objfile::objfile_obstack, objfile_type(), OBSTACK_CALLOC, rs6000_builtin_type_data, symfile_complaints, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_COMPLEX, TYPE_CODE_ERROR, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_VOID, TYPE_FLAG_UNSIGNED, and TYPE_TARGET_TYPE.
Referenced by dbx_lookup_type().
void scan_file_globals | ( | struct objfile * | objfile | ) |
Definition at line 4608 of file stabsread.c.
References _, ALL_OBJFILE_MSYMBOLS, complaint(), fix_common_block(), global_sym_chain, hash(), hashname(), HASHSIZE, LOC_BLOCK, LOC_STATIC, LOC_UNRESOLVED, memset(), mst_file_bss, mst_file_data, mst_file_text, MSYMBOL_TYPE, objfile_name(), QUIT, SYMBOL_ACLASS_INDEX, SYMBOL_CLASS, SYMBOL_LINKAGE_NAME, SYMBOL_PRINT_NAME, SYMBOL_SECTION, SYMBOL_VALUE_ADDRESS, SYMBOL_VALUE_CHAIN, symfile_complaints, and symfile_objfile.
Referenced by dbx_read_symtab(), mdebug_read_symtab(), and xcoff_read_symtab().
static void set_length_in_type_chain | ( | struct type * | type | ) | [static] |
Definition at line 3464 of file stabsread.c.
References complain_about_struct_wipeout(), TYPE_CHAIN, and TYPE_LENGTH.
Referenced by read_enum_type().
static int stab_reg_to_regnum | ( | struct symbol * | sym, |
struct gdbarch * | gdbarch | ||
) | [static] |
Definition at line 598 of file stabsread.c.
References gdbarch_num_pseudo_regs(), gdbarch_num_regs(), gdbarch_sp_regnum(), gdbarch_stab_reg_to_regnum(), reg_value_complaint(), SYMBOL_PRINT_NAME, and SYMBOL_VALUE.
Referenced by set_gdbarch_stab_reg_to_regnum().
static void stabs_general_complaint | ( | const char * | arg1 | ) | [static] |
Definition at line 178 of file stabsread.c.
References complaint(), and symfile_complaints.
Referenced by read_one_struct_field().
static char* stabs_method_name_from_physname | ( | const char * | physname | ) | [static] |
Definition at line 2235 of file stabsread.c.
References _, complaint(), method_name_from_physname(), and symfile_complaints.
Referenced by read_member_functions().
void stabsread_clear_cache | ( | void | ) |
Definition at line 503 of file stabsread.c.
References ref_chunk, and ref_count.
Referenced by coff_symfile_finish().
void stabsread_init | ( | void | ) |
Definition at line 4746 of file stabsread.c.
Referenced by dbx_psymtab_to_symtab_1(), and xcoff_psymtab_to_symtab_1().
void stabsread_new_init | ( | void | ) |
Definition at line 4755 of file stabsread.c.
References global_sym_chain, and memset().
Referenced by coffstab_build_psymtabs(), dbx_new_init(), elf_new_init(), elfstab_build_psymtabs(), mdebug_build_psymtabs(), mipscoff_new_init(), som_new_init(), stabsect_build_psymtabs(), and xcoff_new_init().
void start_stabs | ( | void | ) |
Definition at line 4765 of file stabsread.c.
References global_stabs, n_this_object_header_files, and type_vector_length.
Referenced by process_one_symbol(), and read_xcoff_symtab().
int symbol_reference_defined | ( | char ** | string | ) |
Definition at line 574 of file stabsread.c.
References p, process_reference(), and string.
Referenced by process_one_symbol().
struct pending* common_block [static] |
Definition at line 4310 of file stabsread.c.
Referenced by common_block_end(), and read_common_block().
int common_block_i [static] |
Definition at line 4311 of file stabsread.c.
char* common_block_name [static] |
Definition at line 4316 of file stabsread.c.
struct symbol* current_symbol = NULL [static] |
Definition at line 188 of file stabsread.c.
struct nat* noname_undefs [static] |
Definition at line 200 of file stabsread.c.
Referenced by add_undefined_type_noname().
int noname_undefs_allocated [static] |
Definition at line 201 of file stabsread.c.
Referenced by add_undefined_type_noname().
int noname_undefs_length [static] |
Definition at line 202 of file stabsread.c.
Referenced by add_undefined_type_noname(), and cleanup_undefined_types_noname().
Definition at line 497 of file stabsread.c.
Referenced by ref_add(), and stabsread_clear_cache().
Definition at line 494 of file stabsread.c.
Referenced by ref_add(), ref_search(), and stabsread_clear_cache().
Definition at line 491 of file stabsread.c.
struct objfile_data* rs6000_builtin_type_data [static] |
Definition at line 2054 of file stabsread.c.
Referenced by rs6000_builtin_type().
struct symbol_register_ops stab_register_funcs [static] |
Definition at line 616 of file stabsread.c.
int stab_register_index [static] |
Definition at line 622 of file stabsread.c.
Referenced by define_symbol().
int stab_regparm_index [static] |
Definition at line 623 of file stabsread.c.
Referenced by define_symbol().
struct type** type_vector [static] |
Definition at line 217 of file stabsread.c.
Referenced by dbx_lookup_type().
int type_vector_length [static] |
Definition at line 221 of file stabsread.c.
Referenced by dbx_lookup_type(), end_stabs(), and start_stabs().
struct type** undef_types [static] |
Definition at line 185 of file stabsread.c.
Referenced by add_undefined_type_1().
int undef_types_allocated [static] |
Definition at line 186 of file stabsread.c.
Referenced by add_undefined_type_1().
int undef_types_length [static] |
Definition at line 187 of file stabsread.c.
Referenced by add_undefined_type_1(), and cleanup_undefined_types_1().
Definition at line 161 of file stabsread.c.
Referenced by read_cpp_abbrev().
Definition at line 160 of file stabsread.c.
Referenced by read_cpp_abbrev(), and read_tilde_fields().