From 6edd74aef3d552b3498ec7fb3fc307c250e22cd9 Mon Sep 17 00:00:00 2001 From: John Gilmore Date: Tue, 2 Feb 1993 01:53:17 +0000 Subject: [PATCH] * 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/ChangeLog | 12 +++++++++++- gdb/hp300ux-nat.c | 4 ++-- gdb/mipsread.c | 22 +++++++++++----------- gdb/tm-rs6000.h | 32 +------------------------------- gdb/xm-rs6000.h | 34 +++++++++++++++++++++++++++++++--- 5 files changed, 56 insertions(+), 48 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7e88dd0..3802710 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,15 @@ -Mon Feb 1 16:16:59 1993 Stu Grossman (grossman at cygnus.com) +Mon Feb 1 17:19:37 1993 John Gilmore (gnu@cygnus.com) + + * 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. +Mon Feb 1 16:16:59 1993 Stu Grossman (grossman at cygnus.com) * sparclite/aload.c: Add copyleft. * sparclite/crt0.s: Add comment at beginning. diff --git a/gdb/hp300ux-nat.c b/gdb/hp300ux-nat.c index f043acc..0559055 100644 --- a/gdb/hp300ux-nat.c +++ b/gdb/hp300ux-nat.c @@ -1,5 +1,5 @@ -/* HP/UX interface for HP 300's, for GDB when running under Unix. - Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc. +/* HP/UX native interface for HP 300's, for GDB when running under Unix. + Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc. This file is part of GDB. 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 */ diff --git a/gdb/tm-rs6000.h b/gdb/tm-rs6000.h index 5dff65c..3d8e64e 100644 --- a/gdb/tm-rs6000.h +++ b/gdb/tm-rs6000.h @@ -1,5 +1,5 @@ /* Parameters for target execution on an RS6000, for GDB, the GNU debugger. - Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc. + Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc. Contributed by IBM Corporation. This file is part of GDB. @@ -584,36 +584,6 @@ extern unsigned int rs6000_struct_return_address; #define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, using_gcc) \ fix_call_dummy(dummyname, pc, fun, nargs, type) - -/* Signal handler for SIGWINCH `window size changed'. */ - -#define SIGWINCH_HANDLER aix_resizewindow -extern void aix_resizewindow (); - -/* `lines_per_page' and `chars_per_line' are local to utils.c. Rectify this. */ - -#define SIGWINCH_HANDLER_BODY \ - \ -/* Respond to SIGWINCH `window size changed' signal, and reset GDB's \ - window settings approproatelt. */ \ - \ -void \ -aix_resizewindow () \ -{ \ - int fd = fileno (stdout); \ - if (isatty (fd)) { \ - int val; \ - \ - val = atoi (termdef (fd, 'l')); \ - if (val > 0) \ - lines_per_page = val; \ - val = atoi (termdef (fd, 'c')); \ - if (val > 0) \ - chars_per_line = val; \ - } \ -} - - /* Flag for machine-specific stuff in shared files. FIXME */ #define IBM6000_TARGET diff --git a/gdb/xm-rs6000.h b/gdb/xm-rs6000.h index bd7ca72..7586f39 100644 --- a/gdb/xm-rs6000.h +++ b/gdb/xm-rs6000.h @@ -1,5 +1,5 @@ /* Parameters for hosting on an RS6000, for GDB, the GNU debugger. - Copyright 1986, 1987, 1989, 1991, 1992 Free Software Foundation, Inc. + Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc. Contributed by IBM Corporation. This file is part of GDB. @@ -41,9 +41,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define USG 1 #define HAVE_SIGSETMASK 1 -/* AIX declares the mem functions */ +/* AIX declares the mem functions differently than defs.h does. AIX is + right, but defs.h works on more old systems. For now, override it. */ -#undef MEM_FNS_DECLARED #define MEM_FNS_DECLARED 1 /* This system requires that we open a terminal with O_NOCTTY for it to @@ -82,3 +82,31 @@ extern void free PARAMS ((void *)); /* AIX doesn't have strdup, so we need to declare it for libiberty */ extern char *strdup PARAMS ((char *)); + +/* Signal handler for SIGWINCH `window size changed'. */ + +#define SIGWINCH_HANDLER aix_resizewindow +extern void aix_resizewindow (); + +/* `lines_per_page' and `chars_per_line' are local to utils.c. Rectify this. */ + +#define SIGWINCH_HANDLER_BODY \ + \ +/* Respond to SIGWINCH `window size changed' signal, and reset GDB's \ + window settings approproatelt. */ \ + \ +void \ +aix_resizewindow () \ +{ \ + int fd = fileno (stdout); \ + if (isatty (fd)) { \ + int val; \ + \ + val = atoi (termdef (fd, 'l')); \ + if (val > 0) \ + lines_per_page = val; \ + val = atoi (termdef (fd, 'c')); \ + if (val > 0) \ + chars_per_line = val; \ + } \ +} -- 2.7.4