diff options
Diffstat (limited to 'gdb/buildsym.h')
-rw-r--r-- | gdb/buildsym.h | 58 |
1 files changed, 35 insertions, 23 deletions
diff --git a/gdb/buildsym.h b/gdb/buildsym.h index 93011f2..bddec5f 100644 --- a/gdb/buildsym.h +++ b/gdb/buildsym.h @@ -22,6 +22,7 @@ struct objfile; struct symbol; struct addrmap; +struct compunit_symtab; /* This module provides definitions used for creating and adding to the symbol table. These routines are called from various symbol- @@ -56,17 +57,18 @@ EXTERN CORE_ADDR last_source_start_addr; and associated info, but they all share one blockvector. */ struct subfile - { - struct subfile *next; - char *name; - char *dirname; - struct linetable *line_vector; - int line_vector_length; - enum language language; - const char *producer; - const char *debugformat; - struct symtab *symtab; - }; +{ + struct subfile *next; + /* Space for this is malloc'd. */ + char *name; + /* Space for this is malloc'd. */ + struct linetable *line_vector; + int line_vector_length; + /* The "containing" compunit. */ + struct buildsym_compunit *buildsym_compunit; + enum language language; + struct symtab *symtab; +}; EXTERN struct subfile *current_subfile; @@ -211,16 +213,16 @@ extern struct block *end_symtab_get_static_block (CORE_ADDR end_addr, int expandable, int required); -extern struct symtab *end_symtab_from_static_block (struct block *static_block, - int section, - int expandable); +extern struct compunit_symtab * + end_symtab_from_static_block (struct block *static_block, + int section, int expandable); -extern struct symtab *end_symtab (CORE_ADDR end_addr, int section); +extern struct compunit_symtab *end_symtab (CORE_ADDR end_addr, int section); -extern struct symtab *end_expandable_symtab (CORE_ADDR end_addr, - int section); +extern struct compunit_symtab *end_expandable_symtab (CORE_ADDR end_addr, + int section); -extern void augment_type_symtab (struct symtab *primary_symtab); +extern void augment_type_symtab (struct compunit_symtab *cust); /* Defined in stabsread.c. */ @@ -236,9 +238,10 @@ extern struct context_stack *pop_context (void); extern record_line_ftype record_line; -extern void start_symtab (struct objfile *objfile, - const char *name, const char *dirname, - CORE_ADDR start_addr); +extern struct compunit_symtab *start_symtab (struct objfile *objfile, + const char *name, + const char *comp_dir, + CORE_ADDR start_addr); extern void restart_symtab (CORE_ADDR start_addr); @@ -270,9 +273,18 @@ extern void set_last_source_file (const char *name); extern const char *get_last_source_file (void); -/* Return the macro table. */ +/* Return the compunit symtab object. + It is only valid to call this between calls to start_symtab and the + end_symtab* functions. */ + +extern struct compunit_symtab *buildsym_compunit_symtab (void); + +/* Return the macro table. + Initialize it if this is the first use. + It is only valid to call this between calls to start_symtab and the + end_symtab* functions. */ -extern struct macro_table *get_macro_table (const char *comp_dir); +extern struct macro_table *get_macro_table (void); #undef EXTERN |