From 6edd74aef3d552b3498ec7fb3fc307c250e22cd9 Mon Sep 17 00:00:00 2001 From: John Gilmore Date: Tue, 2 Feb 1993 01:53:17 +0000 Subject: * 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. --- gdb/mipsread.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'gdb/mipsread.c') diff --git a/gdb/mipsread.c b/gdb/mipsread.c index edc0d0f..f619408 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 */ -- cgit v1.1