aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.h
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1991-11-09 10:50:07 +0000
committerJohn Gilmore <gnu@cygnus>1991-11-09 10:50:07 +0000
commita048c8f5373eb41ad78d82289cb381013a67a930 (patch)
treeb99d0c5bfba4360252892d11e2cc985e3d5965f1 /gdb/symtab.h
parentc466820795c1eccb540b676f32c42ff71d592610 (diff)
downloadgdb-a048c8f5373eb41ad78d82289cb381013a67a930.zip
gdb-a048c8f5373eb41ad78d82289cb381013a67a930.tar.gz
gdb-a048c8f5373eb41ad78d82289cb381013a67a930.tar.bz2
Add tracking of object files (that contain symbols) to gdb.
This includes a "struct objfile" that owns symtabs and psymtabs that were read in from that binary file. See ChangeLog.
Diffstat (limited to 'gdb/symtab.h')
-rw-r--r--gdb/symtab.h26
1 files changed, 11 insertions, 15 deletions
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 3e66624..c97c22a 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -233,10 +233,6 @@ struct type
/* The list of methods. */
struct fn_field
{
-#if 0
- /* The overloaded name */
- char *name;
-#endif
/* The return value of the method */
struct type *type;
/* The argument list */
@@ -251,7 +247,7 @@ struct type
unsigned int is_volatile : 1;
/* Index into that baseclass's virtual function table,
minus 2; else if static: VOFFSET_STATIC; else: 0. */
- unsigned long voffset : 30;
+ unsigned voffset : 30;
# define VOFFSET_STATIC 1
} *fn_fields;
@@ -543,6 +539,11 @@ struct symtab
0 if not yet known. */
char *fullname;
+ /* Object file from which this symbol information was read. */
+ struct objfile *objfile;
+ /* Chain of all symtabs owned by that objfile. */
+ struct symtab *objfile_chain;
+
/* Anything extra for this symtab. This is for target machines
with special debugging info of some sort (which cannot just
be represented in a normal symtab). */
@@ -568,8 +569,11 @@ struct partial_symtab
/* Name of the source file which this partial_symtab defines */
char *filename;
- /* Name of the symbol file from which symbols should be read. */
- char *symfile_name;
+ /* Information about the object file from which symbols should be read. */
+ struct objfile *objfile;
+ /* Chain of psymtabs owned by this objfile */
+ struct partial_symtab *objfile_chain;
+
/* Address relative to which the symbols in this file are. Need to
relocate by this amount when reading in symbols from the symbol
file. */
@@ -634,15 +638,12 @@ struct symtab *current_source_symtab;
int current_source_line;
-#define BLOCKLIST(symtab) (symtab)->blockvector
#define BLOCKVECTOR(symtab) (symtab)->blockvector
#define LINETABLE(symtab) (symtab)->linetable
/* Macros normally used to access components of symbol table structures. */
-#define BLOCKLIST_NBLOCKS(blocklist) (blocklist)->nblocks
-#define BLOCKLIST_BLOCK(blocklist,n) (blocklist)->block[n]
#define BLOCKVECTOR_NBLOCKS(blocklist) (blocklist)->nblocks
#define BLOCKVECTOR_BLOCK(blocklist,n) (blocklist)->block[n]
@@ -783,7 +784,6 @@ extern struct type *lookup_enum ();
extern struct type *lookup_struct_elt_type ();
extern struct type *lookup_pointer_type ();
extern struct type *lookup_function_type ();
-extern struct type *lookup_basetype_type ();
extern struct type *create_array_type ();
extern struct symbol *block_function ();
extern struct symbol *find_pc_function ();
@@ -802,7 +802,6 @@ extern int contained_in();
extern struct type *lookup_reference_type ();
extern struct type *lookup_member_type ();
extern struct type *lookup_method_type ();
-extern struct type *lookup_class ();
extern void smash_to_method_type ();
void smash_to_member_type (
#ifdef __STDC__
@@ -812,9 +811,6 @@ void smash_to_member_type (
extern struct type *allocate_stub_method ();
/* end of C++ stuff. */
-extern void free_all_symtabs ();
-extern void free_all_psymtabs ();
-extern void free_inclink_symtabs ();
extern void reread_symbols ();
extern struct type *builtin_type_void;