diff options
author | John Gilmore <gnu@cygnus> | 1993-02-02 01:53:17 +0000 |
---|---|---|
committer | John Gilmore <gnu@cygnus> | 1993-02-02 01:53:17 +0000 |
commit | 6edd74aef3d552b3498ec7fb3fc307c250e22cd9 (patch) | |
tree | 8186e29af0105c9fe3bc2b8b2789c3f26c0cd844 /gdb/mipsread.c | |
parent | 118a1e4d1e4f6fb0a80573d0433d4f24dbfa0605 (diff) | |
download | binutils-gdb-6edd74aef3d552b3498ec7fb3fc307c250e22cd9.tar.gz |
* hp300ux-nat.c: Update copyrights.
* mipsread.c (parse_partial_symbols): Complain about block
indexes that go backwards. Fix from Peter Schauer.
* symfile.c (syms_from_objfile, symbol_file_add): Allow a
symbol-file that has no linkage symbols to be read.
* tm-rs6000.h, xm-rs6000.h: (SIGWINCH_HANDLER and friends): Move
from tm- file to xm-file, since they're host dependent.
* valarith.c (value_binop): Typo.
Diffstat (limited to 'gdb/mipsread.c')
-rw-r--r-- | gdb/mipsread.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gdb/mipsread.c b/gdb/mipsread.c index edc0d0fba61..f61940896cb 100644 --- a/gdb/mipsread.c +++ b/gdb/mipsread.c @@ -88,16 +88,6 @@ struct coff_exec { struct external_aouthdr a; }; -/* These must match the corresponding definition in gcc/config/xm-mips.h. - At some point, these should probably go into a shared include file, - but currently gcc and gdb do not share any directories. */ - -#define CODE_MASK 0x8F300 -#define MIPS_IS_STAB(sym) (((sym)->index & 0xFFF00) == CODE_MASK) -#define MIPS_MARK_STAB(code) ((code)+CODE_MASK) -#define MIPS_UNMARK_STAB(code) ((code)-CODE_MASK) -#define STABS_SYMBOL "@stabs" - /* Each partial symbol table entry contains a pointer to private data for the read_symtab() function to use when expanding a partial symbol table entry to a full symbol table entry. @@ -132,6 +122,9 @@ struct complaint index_complaint = struct complaint aux_index_complaint = {"bad proc end in aux found from symbol %s", 0, 0}; +struct complaint block_index_complaint = + {"bad aux index at block symbol %s", 0, 0}; + struct complaint unknown_ext_complaint = {"unknown external symbol %s", 0, 0}; @@ -2105,7 +2098,14 @@ parse_partial_symbols (end_of_text_seg, objfile, section_offsets) psymtab_language, objfile); } /* Skip over the block */ - cur_sdx = sh->index; + new_sdx = sh->index; + if (new_sdx <= cur_sdx) + { + /* This happens with the Ultrix kernel. */ + complain (&block_index_complaint, name); + new_sdx = cur_sdx + 1; /* Don't skip backward */ + } + cur_sdx = new_sdx; continue; case stFile: /* File headers */ |