* 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:
parent
d44b2ddb59
commit
9d51b3c5f4
2 changed files with 21 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
Loading…
Reference in a new issue