Bug 963280 - pass more options by default when using valgrind as a debugger; r=njn
authorNathan Froyd <froydnj@mozilla.com>
Thu, 23 Jan 2014 16:49:56 -0500
changeset 181678 118d5c5d71bbbdce5102c0d570c0f9ac637324cc
parent 181677 23a89fe652c123519497549e4762bde9b8985233
child 181679 ebaa4b58e71cad16d6100f6ad3df7bf59bcfa808
push id3343
push userffxbld
push dateMon, 17 Mar 2014 21:55:32 +0000
treeherdermozilla-beta@2f7d3415f79f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnjn
bugs963280
milestone29.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 963280 - pass more options by default when using valgrind as a debugger; r=njn
build/automationutils.py
--- a/build/automationutils.py
+++ b/build/automationutils.py
@@ -67,20 +67,27 @@ DEBUGGER_INFO = {
 
   "lldb": {
     "interactive": True,
     "args": "--",
     "requiresEscapedArgs": True
   },
 
   # valgrind doesn't explain much about leaks unless you set the
-  # '--leak-check=full' flag.
+  # '--leak-check=full' flag. But there are a lot of objects that are
+  # semi-deliberately leaked, so we set '--show-possibly-lost=no' to avoid
+  # uninteresting output from those objects. We set '--smc-check==all-non-file'
+  # and '--vex-iropt-register-updates=allregs-at-mem-access' so that valgrind
+  # deals properly with JIT'd JavaScript code.  
   "valgrind": {
     "interactive": False,
-    "args": "--leak-check=full"
+    "args": " ".join(["--leak-check=full",
+                      "--show-possibly-lost=no",
+                      "--smc-check=all-non-file,"
+                      "--vex-iropt-register-updates=allregs-at-mem-access"])
   }
 }
 
 class ZipFileReader(object):
   """
   Class to read zip files in Python 2.5 and later. Limited to only what we
   actually use.
   """