From: Nilay Vaish Date: Thu, 6 Feb 2014 22:30:13 +0000 (-0600) Subject: base: calls abort() from fatal X-Git-Tag: stable_2014_08_26~171 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=eb73a14fe29ff4940a206a9961e30c2376412951;p=gem5.git base: calls abort() from fatal Currently fatal() ends the simulation in a normal fashion. This results in the call stack getting lost when using a debugger and it is not always possible to debug the simulation just from the information provided by the printed error message. Even though the error is likely due to a user's fault, the information available should not be thrown away. Hence, this patch to call abort() from fatal(). --- diff --git a/src/base/misc.hh b/src/base/misc.hh index 25dcbaa62..e09f2d0c2 100644 --- a/src/base/misc.hh +++ b/src/base/misc.hh @@ -77,11 +77,10 @@ M5_PRAGMA_NORETURN(__exit_message) // This implements a cprintf based fatal() function. fatal() should // be called when the simulation cannot continue due to some condition // that is the user's fault (bad configuration, invalid arguments, -// etc.) and not a simulator bug. fatal() calls exit(1), i.e., a -// "normal" exit with an error code, as opposed to abort() like +// etc.) and not a simulator bug. fatal() calls abort() like // panic() does. // -#define fatal(...) exit_message("fatal", 1, __VA_ARGS__) +#define fatal(...) exit_message("fatal", -1, __VA_ARGS__) void __base_message(std::ostream &stream, const char *prefix, bool verbose,