Line 678... |
Line 678... |
};
|
};
|
|
|
/* Report a problem, internal to GDB, to the user. Once the problem
|
/* Report a problem, internal to GDB, to the user. Once the problem
|
has been reported, and assuming GDB didn't quit, the caller can
|
has been reported, and assuming GDB didn't quit, the caller can
|
either allow execution to resume or throw an error. */
|
either allow execution to resume or throw an error. */
|
|
/* JPB: Some picky Ubuntu GCC compilers don't like the result of write being
|
|
ignored (even if you cast it to void). So capture the value and ignore
|
|
THAT. */
|
|
|
static void ATTR_FORMAT (printf, 4, 0)
|
static void ATTR_FORMAT (printf, 4, 0)
|
internal_vproblem (struct internal_problem *problem,
|
internal_vproblem (struct internal_problem *problem,
|
const char *file, int line, const char *fmt, va_list ap)
|
const char *file, int line, const char *fmt, va_list ap)
|
{
|
{
|
|
int res; /* For write result */
|
static int dejavu;
|
static int dejavu;
|
int quit_p;
|
int quit_p;
|
int dump_core_p;
|
int dump_core_p;
|
char *reason;
|
char *reason;
|
|
|
Line 702... |
Line 706... |
dejavu = 2;
|
dejavu = 2;
|
fputs_unfiltered (msg, gdb_stderr);
|
fputs_unfiltered (msg, gdb_stderr);
|
abort (); /* NOTE: GDB has only three calls to abort(). */
|
abort (); /* NOTE: GDB has only three calls to abort(). */
|
default:
|
default:
|
dejavu = 3;
|
dejavu = 3;
|
write (STDERR_FILENO, msg, sizeof (msg));
|
res = write (STDERR_FILENO, msg, sizeof (msg));
|
exit (1);
|
exit (1);
|
}
|
}
|
}
|
}
|
|
|
/* Try to get the message out and at the start of a new line. */
|
/* Try to get the message out and at the start of a new line. */
|