* config/i386/tm-i386v.h, config/m68k/tm-m68k.h, config/mips/tm-mips.h,

config/vax/tm-vax.h (CALL_DUMMY_BREAKPOINT_OFFSET):  Define.
	* mdebugread.c (parse_symbol):  Handle enum sh.type produced by
	DEC c89.
	* mdebugread.c (add_line):  Handle zero linenos produced by DEC c89.
This commit is contained in:
Peter Schauer 1994-01-07 20:59:35 +00:00
parent d44b2ddb59
commit 9d51b3c5f4
2 changed files with 21 additions and 0 deletions

View file

@ -1,3 +1,11 @@
Fri Jan 7 12:42:45 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* config/i386/tm-i386v.h, config/m68k/tm-m68k.h, config/mips/tm-mips.h,
config/vax/tm-vax.h (CALL_DUMMY_BREAKPOINT_OFFSET): Define.
* mdebugread.c (parse_symbol): Handle enum sh.type produced by
DEC c89.
* mdebugread.c (add_line): Handle zero linenos produced by DEC c89.
Fri Jan 7 12:55:25 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
* utils.c (print_sys_errmsg): Call gdb_flush (gdb_stdout) before

View file

@ -1010,6 +1010,15 @@ parse_symbol (sh, ax, ext_sh, bigend)
if (type_code == TYPE_CODE_ENUM)
{
/* This is a non-empty enum. */
/* c89 has the number of enumerators in the sh.value field,
not the type length, so we have to compensate for that
incompatibility quirk.
This might do the wrong thing for an enum with one or two
enumerators and gcc -gcoff -fshort-enums, but these cases
are hopefully rare enough. */
if (TYPE_LENGTH (t) == TYPE_NFIELDS (t))
TYPE_LENGTH (t) = TARGET_INT_BIT / HOST_CHAR_BIT;
for (ext_tsym = ext_sh + external_sym_size;
;
ext_tsym += external_sym_size)
@ -3222,6 +3231,10 @@ add_line (lt, lineno, adr, last)
CORE_ADDR adr;
int last;
{
/* DEC c89 sometimes produces zero linenos which confuse gdb.
Change them to something sensible. */
if (lineno == 0)
lineno = 1;
if (last == 0)
last = -2; /* make sure we record first line */