arch: Provide traceback when parsing ISA code
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Fri, 14 Dec 2018 11:08:38 +0000 (11:08 +0000)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Fri, 25 Jan 2019 12:47:58 +0000 (12:47 +0000)
There is no line information When the ISA code is executed inside the
isa_parser environment and an error is encountered. The build stops and
reports the line of the let block containing the error.
This patch is enhacing the error reporting by printing the traceback of
the faulting ISA code.

Change-Id: I3acd17f0d78b2feb8fe6e48808a094c5b81624e6
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/15595
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
src/arch/isa_parser.py

index 9ac761279fb8e202a94b9c205f8465cbd689ca66..bd46216de1faa421704fd9f69f47281d5b0d0433 100755 (executable)
@@ -1939,6 +1939,7 @@ del wrap
         try:
             exec split_setup+fixPythonIndentation(t[2]) in self.exportContext
         except Exception, exc:
+            traceback.print_exc(file=sys.stdout)
             if debug:
                 raise
             error(t.lineno(1), 'In global let block: %s' % exc)