summaryrefslogtreecommitdiff
path: root/util/tracediff
diff options
context:
space:
mode:
Diffstat (limited to 'util/tracediff')
-rwxr-xr-xutil/tracediff18
1 files changed, 16 insertions, 2 deletions
diff --git a/util/tracediff b/util/tracediff
index ed35d5dd7..a95ce8b82 100755
--- a/util/tracediff
+++ b/util/tracediff
@@ -27,10 +27,20 @@
#
# Authors: Steve Reinhardt
-# Script to simplify using rundiff on trace outputs from two invocations of m5.
+# Script to simplify using rundiff on trace outputs from two
+# invocations of m5.
+#
+# Note that you need to enable some trace flags in the args in order
+# to do anything useful!
+#
+# If you want to pass different arguments to the two instances of m5,
+# you can embed them in the simulator arguments like this:
+#
+# % tracediff "m5.opt --foo:bar=1" "m5.opt --foo:bar=2" [common args]
+#
if (@ARGV < 2) {
- die "Usage: tracediff sim1 sim2 [args...]\n";
+ die "Usage: tracediff sim1 sim2 [--trace:flags=X args...]\n";
}
# First two args are the two simulator binaries to compare
@@ -41,6 +51,10 @@ $sim2 = shift;
# be given to both invocations
$simargs = '"' . join('" "', @ARGV) . '"';
+# Redirect config output to cout so that gets diffed too (in case
+# that's the source of the problem).
+$simargs += " --Universe:config_output_file=cout";
+
$cmd1 = "$sim1 $simargs --stats:text_file=tracediff-$$-1.stats 2>&1 |";
$cmd2 = "$sim2 $simargs --stats:text_file=tracediff-$$-2.stats 2>&1 |";