import gdb-1999-09-08 snapshot

This commit is contained in:
Stan Shebs
1999-09-09 00:02:17 +00:00
parent 325188ecac
commit d4f3574e77
201 changed files with 8614 additions and 4843 deletions

View File

@ -127,7 +127,7 @@ static struct complaint lbrac_mismatch_complaint =
/* Local function prototypes */
static void
read_minimal_symbols PARAMS ((struct objfile *, struct section_offsets *));
read_minimal_symbols PARAMS ((struct objfile *));
static void
os9k_read_ofile_symtab PARAMS ((struct partial_symtab *));
@ -139,8 +139,7 @@ static void
os9k_psymtab_to_symtab_1 PARAMS ((struct partial_symtab *));
static void
read_os9k_psymtab PARAMS ((struct section_offsets *, struct objfile *,
CORE_ADDR, int));
read_os9k_psymtab PARAMS ((struct objfile *, CORE_ADDR, int));
static int
fill_sym PARAMS ((FILE *, bfd *));
@ -162,7 +161,7 @@ os9k_process_one_symbol PARAMS ((int, int, CORE_ADDR, char *,
struct section_offsets *, struct objfile *));
static struct partial_symtab *
os9k_start_psymtab PARAMS ((struct objfile *, struct section_offsets *, char *,
os9k_start_psymtab PARAMS ((struct objfile *, char *,
CORE_ADDR, int, int, struct partial_symbol **,
struct partial_symbol **));
@ -171,8 +170,7 @@ static struct partial_symtab *
struct partial_symtab **, int));
static void
record_minimal_symbol PARAMS ((char *, CORE_ADDR, int, struct objfile *,
struct section_offsets *));
record_minimal_symbol PARAMS ((char *, CORE_ADDR, int, struct objfile *));
#define HANDLE_RBRAC(val) \
if ((val) > pst->texthigh) pst->texthigh = (val);
@ -198,12 +196,11 @@ record_minimal_symbol PARAMS ((char *, CORE_ADDR, int, struct objfile *,
#define N_ABS 6
static void
record_minimal_symbol (name, address, type, objfile, section_offsets)
record_minimal_symbol (name, address, type, objfile)
char *name;
CORE_ADDR address;
int type;
struct objfile *objfile;
struct section_offsets *section_offsets;
{
enum minimal_symbol_type ms_type;
@ -211,7 +208,7 @@ record_minimal_symbol (name, address, type, objfile, section_offsets)
{
case N_TEXT:
ms_type = mst_text;
address += ANOFFSET (section_offsets, SECT_OFF_TEXT);
address += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT);
break;
case N_DATA:
ms_type = mst_data;
@ -257,9 +254,8 @@ struct stbsymbol
#define STBSYMSIZE 10
static void
read_minimal_symbols (objfile, section_offsets)
read_minimal_symbols (objfile)
struct objfile *objfile;
struct section_offsets *section_offsets;
{
FILE *fp;
bfd *abfd;
@ -314,7 +310,7 @@ read_minimal_symbols (objfile, section_offsets)
break;
ch = getc (fp);
};
record_minimal_symbol (buf1, sym.value, sym.type & 7, objfile, section_offsets);
record_minimal_symbol (buf1, sym.value, sym.type & 7, objfile);
off += STBSYMSIZE;
};
install_minimal_symbols (objfile);
@ -326,8 +322,6 @@ read_minimal_symbols (objfile, section_offsets)
put all the relevant info into a "struct os9k_symfile_info",
hung off the objfile structure.
SECTION_OFFSETS contains offsets relative to which the symbols in the
various sections are (depending where the sections were actually loaded).
MAINLINE is true if we are reading the main symbol
table (as opposed to a shared lib or dynamically loaded file). */
@ -349,11 +343,11 @@ os9k_symfile_read (objfile, mainline)
back_to = make_cleanup (really_free_pendings, 0);
make_cleanup ((make_cleanup_func) discard_minimal_symbols, 0);
read_minimal_symbols (objfile, objfile->section_offsets);
read_minimal_symbols (objfile);
/* Now that the symbol table data of the executable file are all in core,
process them and define symbols accordingly. */
read_os9k_psymtab (objfile->section_offsets, objfile,
read_os9k_psymtab (objfile,
DBX_TEXT_ADDR (objfile),
DBX_TEXT_SIZE (objfile));
@ -565,13 +559,10 @@ fill_sym (dbg_file, abfd)
/* Given pointers to an a.out symbol table in core containing dbx
style data, setup partial_symtab's describing each source file for
which debugging information is available.
SYMFILE_NAME is the name of the file we are reading from
and SECTION_OFFSETS is the set of offsets for the various sections
of the file (a set of zeros if the mainline program). */
SYMFILE_NAME is the name of the file we are reading from. */
static void
read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
struct section_offsets *section_offsets;
read_os9k_psymtab (objfile, text_addr, text_size)
struct objfile *objfile;
CORE_ADDR text_addr;
int text_size;
@ -617,7 +608,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
#ifdef END_OF_TEXT_DEFAULT
end_of_text_addr = END_OF_TEXT_DEFAULT;
#else
end_of_text_addr = text_addr + section_offsets->offsets[SECT_OFF_TEXT]
end_of_text_addr = text_addr + ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT)
+ text_size; /* Relocate */
#endif
@ -664,7 +655,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
continue;
case N_SYM_SE:
CUR_SYMBOL_VALUE += ANOFFSET (section_offsets, SECT_OFF_TEXT);
CUR_SYMBOL_VALUE += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT);
if (psymfile_depth == 1 && pst)
{
os9k_end_psymtab (pst, psymtab_include_list, includes_used,
@ -701,7 +692,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
valu = CUR_SYMBOL_VALUE;
if (valu)
valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
valu += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT);
past_first_source_file = 1;
p = strchr (namestring, ':');
@ -716,7 +707,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
if (psymfile_depth == 0)
{
if (!pst)
pst = os9k_start_psymtab (objfile, section_offsets,
pst = os9k_start_psymtab (objfile,
str, valu,
cursymoffset,
symnum - 1,
@ -893,7 +884,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
continue;
case 'f':
CUR_SYMBOL_VALUE += ANOFFSET (section_offsets, SECT_OFF_TEXT);
CUR_SYMBOL_VALUE += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT);
if (pst && pst->textlow == 0)
pst->textlow = CUR_SYMBOL_VALUE;
@ -904,7 +895,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
continue;
case 'F':
CUR_SYMBOL_VALUE += ANOFFSET (section_offsets, SECT_OFF_TEXT);
CUR_SYMBOL_VALUE += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT);
if (pst && pst->textlow == 0)
pst->textlow = CUR_SYMBOL_VALUE;
@ -942,7 +933,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
}
case N_SYM_RBRAC:
CUR_SYMBOL_VALUE += ANOFFSET (section_offsets, SECT_OFF_TEXT);
CUR_SYMBOL_VALUE += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT);
#ifdef HANDLE_RBRAC
HANDLE_RBRAC (CUR_SYMBOL_VALUE);
continue;
@ -992,10 +983,9 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
static struct partial_symtab *
os9k_start_psymtab (objfile, section_offsets,
os9k_start_psymtab (objfile,
filename, textlow, ldsymoff, ldsymcnt, global_syms, static_syms)
struct objfile *objfile;
struct section_offsets *section_offsets;
char *filename;
CORE_ADDR textlow;
int ldsymoff;
@ -1004,7 +994,7 @@ os9k_start_psymtab (objfile, section_offsets,
struct partial_symbol **static_syms;
{
struct partial_symtab *result =
start_psymtab_common (objfile, section_offsets,
start_psymtab_common (objfile, objfile->section_offsets,
filename, textlow, global_syms, static_syms);
result->read_symtab_private = (char *)
@ -1313,7 +1303,6 @@ os9k_read_ofile_symtab (pst)
int sym_offset; /* Offset to start of symbols to read */
CORE_ADDR text_offset; /* Start of text segment for symbols */
int text_size; /* Size of text segment for symbols */
struct section_offsets *section_offsets;
FILE *dbg_file;
objfile = pst->objfile;
@ -1321,7 +1310,6 @@ os9k_read_ofile_symtab (pst)
max_symnum = LDSYMCNT (pst);
text_offset = pst->textlow;
text_size = pst->texthigh - pst->textlow;
section_offsets = pst->section_offsets;
current_objfile = objfile;
subfile_stack = NULL;
@ -1386,7 +1374,7 @@ os9k_read_ofile_symtab (pst)
type = bufp->n_type;
os9k_process_one_symbol ((int) type, (int) bufp->n_desc,
(CORE_ADDR) bufp->n_value, bufp->n_strx, section_offsets, objfile);
(CORE_ADDR) bufp->n_value, bufp->n_strx, pst->section_offsets, objfile);
/* We skip checking for a new .o or -l file; that should never
happen in this routine. */