* symtab.h (struct symbol): Add aux_value union for preserving
an additional per-symbol value. * symtab.h (SYMBOL_BASEREG, SYMBOL_BASEREG_VALID): Add defines. * frame.h (FRAME_GET_BASEREG_VALUE): Provide default definition. * findvar.c (read_var_value): Use SYMBOL_BASEREG if valid. * printcmd.c (address_info): Use SYMBOL_BASEREG if valid. * symmisc.c (print_symbol): Use SYMBOL_BASEREG if valid.
This commit is contained in:
parent
b886a6e31f
commit
252f6c65f2
@ -1,3 +1,13 @@
|
||||
Sat Jun 13 11:16:45 1992 Fred Fish (fnf at cygnus.com)
|
||||
|
||||
* symtab.h (struct symbol): Add aux_value union for preserving
|
||||
an additional per-symbol value.
|
||||
* symtab.h (SYMBOL_BASEREG, SYMBOL_BASEREG_VALID): Add defines.
|
||||
* frame.h (FRAME_GET_BASEREG_VALUE): Provide default definition.
|
||||
* findvar.c (read_var_value): Use SYMBOL_BASEREG if valid.
|
||||
* printcmd.c (address_info): Use SYMBOL_BASEREG if valid.
|
||||
* symmisc.c (print_symbol): Use SYMBOL_BASEREG if valid.
|
||||
|
||||
Sat Jun 13 09:18:46 1992 Michael Tiemann (tiemann@rtl.cygnus.com)
|
||||
|
||||
* symfile.c (clear_symtab_users_once): Now non-static (for
|
||||
@ -78,7 +88,7 @@ Fri Jun 12 18:54:40 1992 John Gilmore (gnu at cygnus.com)
|
||||
* symfile.c (symfile_bfd_open): Comment where name is freed.
|
||||
* symmisc.c (extend_psymbol_list): Comment where list is freed.
|
||||
|
||||
Fri Jun 12 12:49:43 1992 Fred Fish (fnf@cygnus.com)
|
||||
Fri Jun 12 08:24:36 1992 Fred Fish (fnf at cygnus.com)
|
||||
|
||||
* expprint.c (print_subexp): Add missing ']'.
|
||||
* defs.h (reg_names): Fix declaration to match that in infcmd.c
|
||||
@ -104,7 +114,7 @@ Thu Jun 11 01:33:40 1992 John Gilmore (gnu at cygnus.com)
|
||||
* tm-i960.h (REGISTER_NAMES): Cosmetic change.
|
||||
* infcmd.c: Lint.
|
||||
|
||||
Tue Jun 9 17:19:45 1992 Fred Fish (fnf@cygnus.com)
|
||||
Tue Jun 9 17:19:45 1992 Fred Fish (fnf at cygnus.com)
|
||||
|
||||
* c-exp.y, m2-exp.y: Move remapping defines for malloc and
|
||||
realloc. Add remapping defines for {yyss, yyssp, yyvs, yyvsp}.
|
||||
|
37
gdb/symtab.h
37
gdb/symtab.h
@ -153,10 +153,10 @@ struct block
|
||||
/* Note that in an unrelocated symbol segment in an object file
|
||||
this pointer may be zero when the correct value should be
|
||||
the second special block (for symbols whose scope is one compilation).
|
||||
This is because the compiler ouptuts the special blocks at the
|
||||
This is because the compiler outputs the special blocks at the
|
||||
very end, after the other blocks. */
|
||||
struct block *superblock;
|
||||
/* A flag indicating whether or not the fucntion corresponding
|
||||
/* A flag indicating whether or not the function corresponding
|
||||
to this block was compiled with gcc or not. If there is no
|
||||
function corresponding to this block, this meaning of this flag
|
||||
is undefined. (In practice it will be 1 if the block was created
|
||||
@ -251,6 +251,18 @@ struct symbol
|
||||
struct symbol *chain; /* for opaque typedef struct chain */
|
||||
}
|
||||
value;
|
||||
|
||||
/* Some symbols require an additional value to be recorded on a per-
|
||||
symbol basis. Stash those values here. */
|
||||
union
|
||||
{
|
||||
struct /* for OP_BASEREG in DWARF location specs */
|
||||
{
|
||||
short regno_valid; /* 0 == regno invalid; !0 == regno valid */
|
||||
short regno; /* base register number {0, 1, 2, ...} */
|
||||
} basereg;
|
||||
}
|
||||
aux_value;
|
||||
};
|
||||
|
||||
|
||||
@ -442,11 +454,11 @@ struct partial_symtab
|
||||
|
||||
/* This symtab variable specifies the current file for printing source lines */
|
||||
|
||||
struct symtab *current_source_symtab;
|
||||
extern struct symtab *current_source_symtab;
|
||||
|
||||
/* This is the next line to print for listing source lines. */
|
||||
|
||||
int current_source_line;
|
||||
extern int current_source_line;
|
||||
|
||||
#define BLOCKVECTOR(symtab) (symtab)->blockvector
|
||||
|
||||
@ -478,6 +490,8 @@ int current_source_line;
|
||||
#define SYMBOL_VALUE_CHAIN(symbol) (symbol)->value.chain
|
||||
#define SYMBOL_TYPE(symbol) (symbol)->type
|
||||
#define SYMBOL_LINE(symbol) (symbol)->line
|
||||
#define SYMBOL_BASEREG_VALID(symbol) (symbol)->aux_value.basereg.regno_valid
|
||||
#define SYMBOL_BASEREG(symbol) (symbol)->aux_value.basereg.regno
|
||||
|
||||
/* The virtual function table is now an array of structures
|
||||
which have the form { int16 offset, delta; void *pfn; }.
|
||||
@ -557,18 +571,9 @@ contained_in PARAMS ((struct block *, struct block *));
|
||||
extern void
|
||||
reread_symbols PARAMS ((void));
|
||||
|
||||
extern int
|
||||
have_partial_symbols PARAMS ((void));
|
||||
|
||||
extern int
|
||||
have_full_symbols PARAMS ((void));
|
||||
|
||||
/* Functions for dealing with the minimal symbol table, really a misc
|
||||
address<->symbol mapping for things we don't have debug symbols for. */
|
||||
|
||||
extern int
|
||||
have_minimal_symbols PARAMS ((void));
|
||||
|
||||
extern void
|
||||
prim_record_minimal_symbol PARAMS ((const char *, CORE_ADDR,
|
||||
enum minimal_symbol_type));
|
||||
@ -579,12 +584,6 @@ lookup_minimal_symbol PARAMS ((const char *, struct objfile *));
|
||||
extern struct minimal_symbol *
|
||||
lookup_minimal_symbol_by_pc PARAMS ((CORE_ADDR));
|
||||
|
||||
extern PTR
|
||||
iterate_over_msymbols PARAMS ((PTR (*func) (struct objfile *,
|
||||
struct minimal_symbol *,
|
||||
PTR, PTR, PTR),
|
||||
PTR, PTR, PTR));
|
||||
|
||||
extern void
|
||||
init_minimal_symbol_collection PARAMS ((void));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user