Change behavour of internal-error to quit and dump core by default.

This commit is contained in:
Andrew Cagney 2002-01-17 23:33:39 +00:00
parent 3ab9460d38
commit 375fc98382
4 changed files with 28 additions and 17 deletions

View file

@ -1,3 +1,8 @@
2002-01-17 Andrew Cagney <ac131313@redhat.com>
* utils.c (internal_verror): Fix comments, default is yes not no.
Update queries to match. Default to quit and dump core.
2002-01-17 Andrew Cagney <ac131313@redhat.com>
* breakpoint.c: Update assuming #if UI_OUT is always true. Update

View file

@ -1,3 +1,8 @@
2002-01-17 Andrew Cagney <ac131313@redhat.com>
* gdb.base/maint.exp: Update ``maint internal-error'' to match
continue/quit query. Update copyright.
2002-01-13 Daniel Jacobowitz <drow@mvista.com>
* gdb.c++/demangle.exp: Accept slightly dubious v2 demangler result

View file

@ -1,4 +1,4 @@
# Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
# Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -660,8 +660,8 @@ gdb_expect {
send_gdb "maint internal-error\n"
gdb_expect {
-re "Continue this debugging session.*\\(y or n\\) $" {
send_gdb "y\n"
-re "Quit this debugging session.*\\(y or n\\) $" {
send_gdb "n\n"
gdb_expect {
-re "Create a core file.*\\(y or n\\) $" {
send_gdb "n\n"

View file

@ -694,7 +694,7 @@ internal_verror (const char *file, int line,
{
static char msg[] = "Internal GDB error: recursive internal error.\n";
static int dejavu = 0;
int continue_p;
int quit_p;
int dump_core_p;
/* don't allow infinite error recursion. */
@ -719,18 +719,26 @@ internal_verror (const char *file, int line,
vfprintf_unfiltered (gdb_stderr, fmt, ap);
fputs_unfiltered ("\n", gdb_stderr);
/* Default (no case) is to quit GDB. When in batch mode this
/* Default (yes/batch case) is to quit GDB. When in batch mode this
lessens the likelhood of GDB going into an infinate loop. */
continue_p = query ("\
quit_p = query ("\
An internal GDB error was detected. This may make further\n\
debugging unreliable. Continue this debugging session? ");
debugging unreliable. Quit this debugging session? ");
/* Default (no case) is to not dump core. Lessen the chance of GDB
leaving random core files around. */
/* Default (yes/batch case) is to dump core. This leaves a GDB
dropping so that it is easier to see that something went wrong to
GDB. */
dump_core_p = query ("\
Create a core file containing the current state of GDB? ");
if (continue_p)
if (quit_p)
{
if (dump_core_p)
abort (); /* NOTE: GDB has only three calls to abort(). */
else
exit (1);
}
else
{
if (dump_core_p)
{
@ -738,13 +746,6 @@ Create a core file containing the current state of GDB? ");
abort (); /* NOTE: GDB has only three calls to abort(). */
}
}
else
{
if (dump_core_p)
abort (); /* NOTE: GDB has only three calls to abort(). */
else
exit (1);
}
dejavu = 0;
return_to_top_level (RETURN_ERROR);