34 #if defined(__CYGNUSCLIB__) 35 #include <sys/types.h> 46 #include "filenames.h" 57 #include "aout/aout64.h" 58 #include "aout/stab_gnu.h" 97 #define LDSYMOFF(p) (((struct symloc *)((p)->read_symtab_private))->ldsymoff) 98 #define LDSYMLEN(p) (((struct symloc *)((p)->read_symtab_private))->ldsymlen) 99 #define SYMLOC(p) ((struct symloc *)((p)->read_symtab_private)) 100 #define SYMBOL_SIZE(p) (SYMLOC(p)->symbol_size) 101 #define SYMBOL_OFFSET(p) (SYMLOC(p)->symbol_offset) 102 #define STRING_OFFSET(p) (SYMLOC(p)->string_offset) 103 #define FILE_STRING_OFFSET(p) (SYMLOC(p)->file_string_offset) 104 #define PST_LANGUAGE(p) (SYMLOC(p)->pst_language) 174 _(
"N_LBRAC/N_RBRAC symbol mismatch at symtab pos %d"), arg1);
181 _(
"\"repeated\" header file %s not " 182 "previously seen, at symtab pos %d"),
203 for (sec = sym_bfd->sections; sec; sec = sec->next)
204 if (bfd_get_section_flags (sym_bfd, sec) & SEC_CODE)
206 CORE_ADDR sec_start = bfd_section_vma (sym_bfd, sec);
207 CORE_ADDR sec_end = sec_start + bfd_section_size (sym_bfd, sec);
211 if (sec_start < start)
226 error (
_(
"Can't find any code sections in symbol file"));
295 std::vector<partial_symbol *> &,
296 std::vector<partial_symbol *> &);
409 static struct type **
410 explicit_lookup_type (
int real_filenum,
int index)
420 '\0', f->
length * sizeof (
struct type *) / 2);
479 if (
name[8] ==
'C' && strcmp (
"__DYNAMIC",
name) == 0)
484 const char *tempstring =
name;
486 if (tempstring[0] == bfd_get_symbol_leading_char (
objfile->
obfd))
582 #define DBX_STRINGTAB_SIZE_SIZE sizeof(long) 589 char *
name = bfd_get_filename (sym_bfd);
603 #define STRING_TABLE_OFFSET (sym_bfd->origin + obj_str_filepos (sym_bfd)) 604 #define SYMBOL_TABLE_OFFSET (sym_bfd->origin + obj_sym_filepos (sym_bfd)) 608 text_sect = bfd_get_section_by_name (sym_bfd,
".text");
610 error (
_(
"Can't find .text section in symbol file"));
645 memset (size_temp, 0,
sizeof (size_temp));
646 val = bfd_bread (size_temp,
sizeof (size_temp), sym_bfd);
672 error (
_(
"ridiculous string table size (%d bytes)."),
729 static struct external_nlist
symbuf[4096];
779 nbytes = bfd_bread (
symbuf, count, sym_bfd);
787 if (bfd_seek (sym_bfd, filepos,
SEEK_SET) != 0)
795 if (count >
sizeof (
symbuf))
797 nbytes = bfd_bread (
symbuf, count, sym_bfd);
802 else if (nbytes == 0)
803 error (
_(
"Premature end of file reading symbol table"));
822 #define INTERNALIZE_SYMBOL(intern, extern, abfd) \ 824 (intern).n_strx = bfd_h_get_32 (abfd, (extern)->e_strx); \ 825 (intern).n_type = bfd_h_get_8 (abfd, (extern)->e_type); \ 826 (intern).n_other = 0; \ 827 (intern).n_desc = bfd_h_get_16 (abfd, (extern)->e_desc); \ 828 if (bfd_get_sign_extend_vma (abfd)) \ 829 (intern).n_value = bfd_h_get_signed_32 (abfd, (extern)->e_value); \ 831 (intern).n_value = bfd_h_get_32 (abfd, (extern)->e_value); \ 846 struct internal_nlist nlist;
937 const char *namestring;
941 || nlist->n_strx + file_string_table_offset < nlist->n_strx)
944 _(
"bad string table offset in symbol %d"),
946 namestring =
"<bad string table offset>";
961 const char *colon = strchr (namestring,
':');
965 n = colon - namestring;
967 char *p = (
char *) alloca (n + 2);
968 strncpy (p, namestring, n);
982 if (msym.
minsym == NULL && filename != NULL)
988 if (msym.
minsym == NULL && filename != NULL)
1003 _(
"function `%s' appears to be defined " 1004 "outside of all compilation units"),
1015 struct external_nlist *bufp = 0;
1016 struct internal_nlist nlist;
1019 const char *sym_name;
1022 const char *namestring;
1024 int past_first_source_file = 0;
1028 int textlow_not_set;
1029 int data_sect_index;
1035 const char **psymtab_include_list;
1036 int includes_allocated;
1041 int dependencies_used, dependencies_allocated;
1055 includes_allocated = 30;
1057 psymtab_include_list = (
const char **) alloca (includes_allocated *
1058 sizeof (
const char *));
1060 dependencies_allocated = 30;
1061 dependencies_used = 0;
1078 textlow_not_set = 1;
1102 if (data_sect_index == -1)
1104 if (data_sect_index == -1)
1124 if (bfd_h_get_8 (abfd, bufp->e_type) == N_SLINE)
1144 switch (nlist.n_type)
1150 case N_TEXT | N_EXT:
1151 case N_NBTEXT | N_EXT:
1154 case N_DATA | N_EXT:
1155 case N_NBDATA | N_EXT:
1160 case N_NBBSS | N_EXT:
1161 case N_SETV | N_EXT:
1186 if ((namestring[0] ==
'-' && namestring[1] ==
'l')
1187 || (namestring[(nsl = strlen (namestring)) - 1] ==
'o' 1188 && namestring[nsl - 2] ==
'.'))
1193 if (past_first_source_file && pst
1196 && nlist.n_value >= pst->
textlow)
1202 dependency_list, dependencies_used,
1206 dependencies_used = 0;
1210 past_first_source_file = 1;
1219 case N_UNDF | N_EXT:
1239 past_first_source_file = 1;
1244 error (
_(
"string table offset backs up at %d"),
symnum);
1263 case N_INDR | N_EXT:
1265 case N_SETA | N_EXT:
1267 case N_SETT | N_EXT:
1269 case N_SETD | N_EXT:
1271 case N_SETB | N_EXT:
1282 static int prev_so_symnum = -10;
1283 static int first_so_symnum;
1285 static const char *dirname_nso;
1286 int prev_textlow_not_set;
1291 prev_textlow_not_set = textlow_not_set;
1297 if (nlist.n_value == 0
1300 textlow_not_set = 1;
1304 textlow_not_set = 0;
1306 past_first_source_file = 1;
1308 if (prev_so_symnum !=
symnum - 1)
1310 first_so_symnum =
symnum;
1318 dependency_list, dependencies_used,
1319 prev_textlow_not_set);
1322 dependencies_used = 0;
1334 if (*namestring ==
'\000')
1342 p = lbasename (namestring);
1343 if (p != namestring && *p ==
'\000')
1347 dirname_nso = namestring;
1393 _(
"N_BINCL %s not in entries for " 1394 "any file, at symtab pos %d"),
1402 goto record_include_file;
1432 if (pst && filename_cmp (namestring, pst->
filename) == 0)
1437 for (i = 0; i < includes_used; i++)
1438 if (filename_cmp (namestring, psymtab_include_list[i]) == 0)
1447 record_include_file:
1449 psymtab_include_list[includes_used++] = namestring;
1450 if (includes_used >= includes_allocated)
1452 const char **orig = psymtab_include_list;
1454 psymtab_include_list = (
const char **)
1455 alloca ((includes_allocated *= 2) *
sizeof (
const char *));
1456 memcpy (psymtab_include_list, orig,
1457 includes_used *
sizeof (
const char *));
1484 if (pst && nlist.n_type == N_FUN && *namestring ==
'\000')
1491 valu = nlist.n_value + last_function_start;
1497 p = (
char *) strchr (namestring,
':');
1507 if (!new_name.empty ())
1509 sym_len = new_name.length ();
1518 sym_name = namestring;
1519 sym_len = p - namestring;
1562 if (p >= namestring + 2
1563 || (p == namestring + 1
1564 && namestring[0] !=
' '))
1583 if (p != namestring)
1608 while ((*p >=
'0' && *p <=
'9')
1609 || *p ==
'(' || *p ==
',' || *p ==
')' 1631 while (*p && *p !=
';' && *p !=
',')
1637 if (*p ==
'\\' || (*p ==
'?' && p[1] ==
'\0'))
1642 for (q = p; *q && *q !=
':'; q++)
1653 while (*p && *p !=
',')
1673 int name_len = p - namestring;
1676 memcpy (
name, namestring, name_len);
1677 name[name_len] =
'\0';
1701 if (minsym_valu != 0)
1702 nlist.n_value = minsym_valu;
1704 if (pst && textlow_not_set
1708 textlow_not_set = 0;
1714 last_function_start = nlist.n_value;
1722 || (nlist.n_value < pst->
textlow 1728 textlow_not_set = 0;
1742 int name_len = p - namestring;
1745 memcpy (
name, namestring, name_len);
1746 name[name_len] =
'\0';
1770 if (minsym_valu != 0)
1771 nlist.n_value = minsym_valu;
1773 if (pst && textlow_not_set
1777 textlow_not_set = 0;
1783 last_function_start = nlist.n_value;
1791 || (nlist.n_value < pst->
textlow 1797 textlow_not_set = 0;
1843 _(
"unknown symbol descriptor `%c'"),
1864 if (needed_pst == pst)
1872 for (i = 0; i < dependencies_used; i++)
1873 if (dependency_list[i] == needed_pst)
1883 dependency_list[dependencies_used++] = needed_pst;
1884 if (dependencies_used >= dependencies_allocated)
1890 alloca ((dependencies_allocated *= 2)
1892 memcpy (dependency_list, orig,
1897 "Had to reallocate " 1898 "dependency list.\n");
1900 "New dependencies allocated: %d\n",
1901 dependencies_allocated);
1916 psymtab_include_list, includes_used,
1919 dependencies_used, textlow_not_set);
1922 dependencies_used = 0;
1929 HANDLE_RBRAC (nlist.n_value);
1984 dependency_list, dependencies_used, textlow_not_set);
1999 int ldsymoff, std::vector<partial_symbol *> &global_psymbols,
2000 std::vector<partial_symbol *> &static_psymbols)
2004 global_psymbols, static_psymbols);
2029 const char **include_list,
int num_includes,
2030 int capping_symbol_offset,
CORE_ADDR capping_text,
2032 int number_dependencies,
2033 int textlow_not_set)
2038 if (capping_symbol_offset != -1)
2068 char *p = (
char *) alloca (n + 2);
2073 if (
minsym.minsym == NULL)
2093 else if (textlow_not_set)
2123 if (number_dependencies)
2127 number_dependencies);
2134 for (i = 0; i < num_includes; i++)
2163 if (num_includes == 0
2164 && number_dependencies == 0
2193 "Shouldn't happen.\n",
2242 "Shouldn't happen.\n",
2247 if (
LDSYMLEN (
self) || self->number_of_dependencies)
2293 const char *namestring;
2294 struct external_nlist *bufp;
2295 struct internal_nlist nlist;
2297 unsigned max_symnum;
2339 if (nlist.n_type == N_TEXT)
2341 const char *tempstring = namestring;
2347 if (tempstring[0] == bfd_get_symbol_leading_char (
symfile_bfd))
2349 if (
startswith (tempstring,
"__gnu_compiled"))
2365 if (bfd_h_get_8 (abfd, bufp->e_type) != N_SO)
2366 error (
_(
"First symbol in segment of executable not a source symbol"));
2381 type = bfd_h_get_8 (abfd, bufp->e_type);
2387 if (
sizeof (nlist.n_value) > 4
2389 && (
type == N_LSYM ||
type == N_PSYM))
2399 nlist.n_value = (nlist.n_value ^ 0x80000000) - 0x80000000;
2406 else if (
type == N_TEXT)
2419 else if (
type & N_EXT ||
type == (
unsigned char) N_TEXT
2420 ||
type == (
unsigned char) N_NBTEXT)
2463 struct obstack *obstack)
2479 (
const char *) obstack_copy0 (obstack,
name, prefix_len),
2524 static int sline_found_in_function = 1;
2528 static int n_opt_found;
2547 if (*
name ==
'\000')
2563 if (sline_found_in_function)
2565 CORE_ADDR addr = last_function_start + valu;
2585 function_start_offset = 0;
2590 sline_found_in_function = 0;
2595 last_function_start = valu;
2597 goto define_a_symbol;
2604 if (n_opt_found && desc == 1)
2607 valu += function_start_offset;
2617 if (n_opt_found && desc == 1)
2620 valu += function_start_offset;
2629 if (desc != newobj->
depth)
2639 _(
"misplaced N_LBRAC entry; discarding local " 2640 "symbols which have no enclosing block"));
2660 _(
"block start larger than block end"));
2712 if (*
name ==
'\000')
2715 function_start_offset = 0;
2752 valu += function_start_offset;
2771 last_function_start : valu;
2775 sline_found_in_function = 1;
2818 p = strchr (
name,
':');
2819 if (p != 0 && p[1] ==
'S')
2828 goto define_a_symbol;
2843 _(
"failed internal consistency check"));
2850 goto define_a_symbol;
2856 goto define_a_symbol;
2860 goto define_a_symbol;
2865 goto define_a_symbol;
2901 const char *colon_pos = strchr (
name,
':');
2903 if (colon_pos == NULL)
2906 deftype = colon_pos[1];
2929 if (minsym_valu != 0)
2934 function_start_offset = valu;
2941 _(
"unmatched N_LBRAC before symtab pos %d"),
3024 const char *s =
name;
3067 CORE_ADDR textaddr,
unsigned int textsize,
3069 file_ptr stabstroffset,
unsigned int stabstrsize)
3073 char *
name = bfd_get_filename (sym_bfd);
3074 unsigned int stabsize;
3079 #define COFF_STABS_SYMBOL_SIZE 12 3083 if (stabstrsize > bfd_get_size (sym_bfd))
3084 error (
_(
"ridiculous string table size: %d bytes"), stabstrsize);
3091 val = bfd_seek (sym_bfd, stabstroffset,
SEEK_SET);
3095 if (val != stabstrsize)
3108 if (stabsects->
next == NULL)
3110 stabsize = bfd_section_size (sym_bfd, stabsects->
section);
3119 for (stabsect = stabsects; stabsect != NULL; stabsect = stabsect->
next)
3121 stabsize = bfd_section_size (sym_bfd, stabsect->
section);
3153 file_ptr stabstroffset,
unsigned int stabstrsize)
3157 char *
name = bfd_get_filename (sym_bfd);
3164 #define ELF_STABS_SYMBOL_SIZE 12 3172 if (stabstrsize > bfd_get_size (sym_bfd))
3173 error (
_(
"ridiculous string table size: %d bytes"), stabstrsize);
3180 val = bfd_seek (sym_bfd, stabstroffset,
SEEK_SET);
3184 if (val != stabstrsize)
3229 char *stabstr_name,
char *text_name)
3233 char *
name = bfd_get_filename (sym_bfd);
3235 asection *stabstrsect;
3236 asection *text_sect;
3239 stabsect = bfd_get_section_by_name (sym_bfd, stab_name);
3240 stabstrsect = bfd_get_section_by_name (sym_bfd, stabstr_name);
3246 error (
_(
"stabsect_build_psymtabs: Found stabs (%s), " 3247 "but not string section (%s)"),
3248 stab_name, stabstr_name);
3253 text_sect = bfd_get_section_by_name (sym_bfd, text_name);
3255 error (
_(
"Can't find %s section in symbol file"), text_name);
3268 error (
_(
"ridiculous string table size: %d bytes"),
3277 val = bfd_get_section_contents (sym_bfd,
#define ELF_STABS_SYMBOL_SIZE
#define ALL_OBJFILE_PSYMTABS(objfile, p)
bfd_byte * symfile_relocate_debug_section(struct objfile *objfile, asection *sectp, bfd_byte *buf)
void discard_psymtab(struct objfile *, struct partial_symtab *)
void free_header_files(void)
char * hex_string(LONGEST num)
static void do_free_bincl_list_cleanup(void *objfile)
static CORE_ADDR find_stab_function_addr(const char *namestring, const char *filename, struct objfile *objfile)
#define SYMBOL_TABLE_OFFSET
static unsigned symbol_size
void stabsread_new_init(void)
static unsigned int file_string_table_offset
static const char * dbx_next_symbol_text(struct objfile *)
void common_block_end(struct objfile *objfile)
#define SECT_OFF_TEXT(objfile)
struct block * finish_block(struct symbol *symbol, struct pending **listhead, struct pending_block *old_blocks, const struct dynamic_prop *static_link, CORE_ADDR start, CORE_ADDR end)
static struct header_file_location * bincl_list
#define GCC2_COMPILED_FLAG_SYMBOL
void coffstab_build_psymtabs(struct objfile *objfile, CORE_ADDR textaddr, unsigned int textsize, struct stab_section_list *stabsects, file_ptr stabstroffset, unsigned int stabstrsize)
static unsigned symbol_table_offset
EXTERN unsigned char processing_gcc_compilation
static void find_text_range(bfd *sym_bfd, struct objfile *objfile)
#define BMSYMBOL_VALUE_ADDRESS(symbol)
static void free_bincl_list(struct objfile *)
void patch_subfile_names(struct subfile *subfile, const char *name)
void set_last_source_file(const char *name)
static const struct sym_fns aout_sym_fns
struct compunit_symtab * end_symtab(CORE_ADDR end_addr, int section)
void * memset(T *s, int c, size_t n)=delete
void internal_error(const char *file, int line, const char *fmt,...)
void add_symtab_fns(enum bfd_flavour flavour, const struct sym_fns *sf)
static int has_line_numbers
struct symfile_segment_data * default_symfile_segments(bfd *abfd)
void set_objfile_main_name(struct objfile *objfile, const char *name, enum language lang)
static const char * set_namestring(struct objfile *objfile, const struct internal_nlist *nlist)
static int symfile_relocatable
static void add_old_header_file(const char *, int)
#define DBX_STRINGTAB_SIZE(o)
EXTERN int context_stack_depth
#define DBX_BSS_SECTION(o)
void add_psymbol_to_list(const char *, int, int, domain_enum, enum address_class, std::vector< partial_symbol *> *, CORE_ADDR, enum language, struct objfile *)
#define SECT_OFF_RODATA(objfile)
static void dbx_symfile_init(struct objfile *)
void free_pending_blocks(void)
int symbol_reference_defined(const char **string)
static enum language psymtab_language
void printf_filtered(const char *format,...)
static void add_this_object_header_file(int)
void ref_add(int refnum, struct symbol *sym, const char *stabs, CORE_ADDR value)
static void dbx_read_symtab(struct partial_symtab *self, struct objfile *objfile)
void _initialize_dbxread(void)
void stabsect_build_psymtabs(struct objfile *objfile, char *stab_name, char *stabstr_name, char *text_name)
EXTERN struct subfile * current_subfile
static struct header_file_location * next_bincl
#define COFF_STABS_SYMBOL_SIZE
void end_psymtab_common(struct objfile *, struct partial_symtab *)
void null_cleanup(void *arg)
static void read_ofile_symtab(struct objfile *, struct partial_symtab *)
bfd_byte * default_symfile_relocate(struct objfile *objfile, asection *sectp, bfd_byte *buf)
EXTERN unsigned int symnum
static void lbrac_mismatch_complaint(int arg1)
void block_set_scope(struct block *block, const char *scope, struct obstack *obstack)
static struct objfile * dbxread_objfile
CORE_ADDR gdbarch_addr_bits_remove(struct gdbarch *gdbarch, CORE_ADDR addr)
void common_block_start(const char *name, struct objfile *objfile)
struct partial_symtab * dbx_end_psymtab(struct objfile *objfile, struct partial_symtab *pst, const char **include_list, int num_includes, int capping_symbol_offset, CORE_ADDR capping_text, struct partial_symtab **dependency_list, int number_dependencies, int textlow_not_set)
struct pending_block * old_blocks
#define STRING_TABLE_OFFSET
static unsigned int symbuf_left
#define SYMBOL_DEMANGLED_NAME(symbol)
struct stab_section_list * next
void scan_file_globals(struct objfile *objfile)
static void read_dbx_symtab(minimal_symbol_reader &, struct objfile *)
#define DBX_STAB_SECTION(o)
void init_psymbol_list(struct objfile *, int)
static void fill_symbuf(bfd *)
void fprintf_unfiltered(struct ui_file *stream, const char *format,...)
static struct cleanup * make_cleanup_free_bincl_list(struct objfile *objfile)
struct partial_symtab * start_psymtab_common(struct objfile *, const char *, CORE_ADDR, std::vector< partial_symbol *> &, std::vector< partial_symbol *> &)
void process_one_symbol(int type, int desc, CORE_ADDR valu, const char *name, const struct section_offsets *section_offsets, struct objfile *objfile, enum language language)
void fputs_filtered(const char *linebuffer, struct ui_file *stream)
static void stabs_seek(int sym_offset)
static bfd_byte * stabs_data
#define SECT_OFF_DATA(objfile)
void free_current_contents(void *ptr)
#define MSYMBOL_SIZE(msymbol)
void buildsym_new_init(void)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
int is_vtable_name(const char *name)
#define ANOFFSET(secoff, whichone)
struct gdbarch * get_objfile_arch(const struct objfile *objfile)
EXTERN struct pending * local_symbols
EXTERN int n_allocated_this_object_header_files
static void repeated_header_complaint(const char *arg1, int arg2)
struct header_file * header_files
#define next_symbol_text(objfile)
struct context_stack * pop_context(void)
const char * get_last_source_file(void)
static void dbx_free_symfile_info(struct objfile *objfile, void *arg)
static unsigned string_table_offset
EXTERN int previous_stab_code
#define complaint(COMPLAINTS, FMT,...)
static int startswith(const char *string, const char *pattern)
#define N_ALLOCATED_HEADER_FILES(OBJFILE)
int gdbarch_sofun_address_maybe_missing(struct gdbarch *gdbarch)
#define DBX_TEXT_SECTION(o)
int number_of_dependencies
static void dbx_symfile_finish(struct objfile *)
#define DBX_SYMBOL_SIZE(o)
static void record_minimal_symbol(minimal_symbol_reader &, const char *, CORE_ADDR, int, struct objfile *)
const char * objfile_name(const struct objfile *objfile)
#define DBX_STRINGTAB_SIZE_SIZE
static void add_new_header_file(const char *, int)
#define N_HEADER_FILES(OBJFILE)
void * read_symtab_private
std::vector< partial_symbol * > static_psymbols
EXTERN int n_this_object_header_files
enum language pst_language
struct partial_symtab * allocate_psymtab(const char *, struct objfile *) ATTRIBUTE_NONNULL(1)
void wrap_here(const char *indent)
PTR xrealloc(PTR ptr, size_t size)
struct symbol * define_symbol(CORE_ADDR valu, const char *string, int desc, int type, struct objfile *objfile)
static unsigned int next_file_string_table_offset
#define DBX_SYMTAB_OFFSET(o)
static CORE_ADDR lowest_text_address
void void void void void void void void void perror_with_name(const char *string) ATTRIBUTE_NORETURN
static char * stringtab_global
static void dbx_psymtab_to_symtab_1(struct objfile *, struct partial_symtab *)
enum language deduce_language_from_filename(const char *filename)
#define GCC_COMPILED_FLAG_SYMBOL
struct minimal_symbol * record_with_info(const char *name, CORE_ADDR address, enum minimal_symbol_type ms_type, int section)
#define HEADER_FILES(OBJFILE)
std::vector< partial_symbol * > global_psymbols
struct partial_symtab ** dependencies
void record_debugformat(const char *format)
struct complaints * symfile_complaints
#define INTERNALIZE_SYMBOL(intern, extern, abfd)
struct minimal_symbol * minsym
const char * gdbarch_static_transform_name(struct gdbarch *gdbarch, const char *name)
const struct quick_symbol_functions psym_functions
#define OBJSTAT(objfile, expr)
EXTERN int * this_object_header_files
static void dbx_symfile_read(struct objfile *, symfile_add_flags)
static struct partial_symtab * start_psymtab(struct objfile *, const char *, CORE_ADDR, int, std::vector< partial_symbol *> &, std::vector< partial_symbol *> &)
record_line_ftype record_line
EXTERN CORE_ADDR last_source_start_addr
#define SYMBOL_LANGUAGE(symbol)
static void cp_set_block_scope(const struct symbol *symbol, struct block *block, struct obstack *obstack)
std::string cp_canonicalize_string(const char *string)
void default_symfile_offsets(struct objfile *objfile, const struct section_addr_info *addrs)
static struct external_nlist symbuf[4096]
void start_subfile(const char *name)
static struct stab_section_list * symbuf_sections
static void init_bincl_list(int, struct objfile *)
static void add_bincl_to_list(struct partial_symtab *, const char *, int)
static void unknown_symtype_complaint(const char *arg1)
void(* read_symtab)(struct partial_symtab *, struct objfile *)
static void dbx_new_init(struct objfile *)
static int ignore(struct target_ops *ops, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
static unsigned int symbuf_read
static const char * last_function_name
void elfstab_build_psymtabs(struct objfile *objfile, asection *stabsect, file_ptr stabstroffset, unsigned int stabstrsize)
static void function_outside_compilation_unit_complaint(const char *arg1)
const struct objfile_data * dbx_objfile_data_key
struct context_stack * push_context(int desc, CORE_ADDR valu)
static struct partial_symtab * find_corresponding_bincl_psymtab(const char *, int)
static int bincls_allocated
#define SECT_OFF_BSS(objfile)
void stabsread_init(void)
struct compunit_symtab * compunit_symtab
struct section_offsets * section_offsets
void gdb_flush(struct ui_file *file)
int gdbarch_static_transform_name_p(struct gdbarch *gdbarch)
struct compunit_symtab * start_symtab(struct objfile *objfile, const char *name, const char *comp_dir, CORE_ADDR start_addr, enum language language)
EXTERN int within_function
struct bound_minimal_symbol lookup_minimal_symbol(const char *name, const char *sfile, struct objfile *objf)
EXTERN unsigned char processing_acc_compilation
unsigned int cp_entire_prefix_len(const char *name)
void error(const char *fmt,...)
struct symbol * ref_search(int refnum)
#define FILE_STRING_OFFSET(p)
#define DBX_DATA_SECTION(o)
EXTERN const char *(* next_symbol_text_func)(struct objfile *)
void init_header_files(void)
void do_cleanups(struct cleanup *old_chain)