arch-arm: AArch64 trap check, arbitrary ECs/Imms
[gem5.git] / src / base / trace.cc
index 6b18787c287b5242cfd5000e4b55397255c55feb..70d81a1eaa495350dc8919ba179e755f02c19480 100644 (file)
 #include <sstream>
 #include <string>
 
+#include "base/atomicio.hh"
 #include "base/debug.hh"
 #include "base/logging.hh"
 #include "base/output.hh"
 #include "base/str.hh"
 #include "debug/FmtFlag.hh"
+#include "debug/FmtStackTrace.hh"
 #include "debug/FmtTicksOff.hh"
+#include "sim/backtrace.hh"
 
 const std::string &name()
 {
@@ -162,6 +165,11 @@ OstreamLogger::logMessage(Tick when, const std::string &name,
 
     stream << message;
     stream.flush();
+
+    if (DTRACE(FmtStackTrace)) {
+        print_backtrace();
+        STATIC_ERR("\n");
+    }
 }
 
 } // namespace Trace