* frame.h, symtab.h: Revise comments regarding baseregs.

This commit is contained in:
Jim Kingdon 1993-08-21 02:54:33 +00:00
parent baf4ded0d8
commit 313dd52048
3 changed files with 27 additions and 8 deletions

View File

@ -1,3 +1,7 @@
Fri Aug 20 14:01:39 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* frame.h, symtab.h: Revise comments regarding baseregs.
Fri Aug 20 15:07:05 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) Fri Aug 20 15:07:05 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* mipsread.c (parse_partial_symbols, psymtab_to_symtab_1): * mipsread.c (parse_partial_symbols, psymtab_to_symtab_1):

View File

@ -160,6 +160,10 @@ struct frame_saved_regs
on a machine for which gdb has not been configured to support such on a machine for which gdb has not been configured to support such
access, report the failure to support this access mode. */ access, report the failure to support this access mode. */
/* FIXME: Code using this should be using get_saved_register, and a
basereg number should just be an ordinary register number. There
is no reason for this to be machine-specific. */
#if !defined (FRAME_GET_BASEREG_VALUE) #if !defined (FRAME_GET_BASEREG_VALUE)
#define FRAME_GET_BASEREG_VALUE(frame, regno) \ #define FRAME_GET_BASEREG_VALUE(frame, regno) \

View File

@ -287,7 +287,12 @@ struct minimal_symbol
mst_text, /* Generally executable instructions */ mst_text, /* Generally executable instructions */
mst_data, /* Generally initialized data */ mst_data, /* Generally initialized data */
mst_bss, /* Generally uninitialized data */ mst_bss, /* Generally uninitialized data */
mst_abs /* Generally absolute (nonrelocatable) */ mst_abs, /* Generally absolute (nonrelocatable) */
/* For the mst_file* types, the names are only guaranteed to be unique
within a given .o file. */
mst_file_text, /* Static version of mst_text */
mst_file_data, /* Static version of mst_data */
mst_file_bss /* Static version of mst_bss */
} type; } type;
}; };
@ -563,12 +568,18 @@ struct symbol
#define SYMBOL_LINE(symbol) (symbol)->line #define SYMBOL_LINE(symbol) (symbol)->line
#define SYMBOL_BASEREG(symbol) (symbol)->aux_value.basereg.regno #define SYMBOL_BASEREG(symbol) (symbol)->aux_value.basereg.regno
/* This currently fails because some symbols are not being initialized /* If we want to do baseregs using this approach we should have a
to zero on allocation, and no code is currently setting this value. LOC_BASEREG (and LOC_BASEREG_ARG) rather than changing the meaning
Basereg handling will probably change significantly in the next release. of LOC_LOCAL, LOC_ARG, etc. based on SYMBOL_BASEREG_VALID. But
FIXME -fnf */ this approach provides just a small fraction of the expressiveness
of a DWARF location, so it does less than we might want. On the
other hand, it may do more than we need; FRAME_LOCALS_ADDRESS,
LOC_REGPARM_ADDR, and similar things seem to handle most of the
cases which actually come up. */
#if 0 #if 0
/* This currently fails because some symbols are not being initialized
to zero on allocation, and no code is currently setting this value. */
#define SYMBOL_BASEREG_VALID(symbol) (symbol)->aux_value.basereg.regno_valid #define SYMBOL_BASEREG_VALID(symbol) (symbol)->aux_value.basereg.regno_valid
#else #else
#define SYMBOL_BASEREG_VALID(symbol) 0 #define SYMBOL_BASEREG_VALID(symbol) 0
@ -1092,9 +1103,6 @@ extern char **make_symbol_completion_list PARAMS ((char *, char *));
/* symtab.c */ /* symtab.c */
extern void
clear_symtab_users_once PARAMS ((void));
extern struct partial_symtab * extern struct partial_symtab *
find_main_psymtab PARAMS ((void)); find_main_psymtab PARAMS ((void));
@ -1105,6 +1113,9 @@ blockvector_for_pc PARAMS ((CORE_ADDR, int *));
/* symfile.c */ /* symfile.c */
extern void
clear_symtab_users PARAMS ((void));
extern enum language extern enum language
deduce_language_from_filename PARAMS ((char *)); deduce_language_from_filename PARAMS ((char *));