diff options
author | timurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-28 08:19:18 +0000 |
---|---|---|
committer | timurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-28 08:19:18 +0000 |
commit | e01e737e289dfb5a6a2ce04b73a2c932a72ee342 (patch) | |
tree | 3cb92e2e2023d05e5184d878d700ba57cf0a3806 /tools/valgrind/memcheck_analyze.py | |
parent | 50e9a23ce0f459dc34748a10a9a1a727602b2f5f (diff) | |
download | chromium_src-e01e737e289dfb5a6a2ce04b73a2c932a72ee342.zip chromium_src-e01e737e289dfb5a6a2ce04b73a2c932a72ee342.tar.gz chromium_src-e01e737e289dfb5a6a2ce04b73a2c932a72ee342.tar.bz2 |
Replace all Memcheck:(Addr[1248]|Cond|Value[1248]) with Memcheck:Unaddressable and Memcheck:Uninitialized
TODO in follow-up CLs: remove duplicate stacks which had different types.
The support for these new suppression types have been added to valgrind-variant in
http://code.google.com/p/valgrind-variant/source/detail?r=116
It should decrease the pain of writing up to 5 different suppressions for
one error giving reports at different instructions,
e.g. memcpy(..., ..., 17) on a free'd buffer will likely give us all flavours of Addr*
Also, there's an upstream feature request with positive feedback from the
authors of Memcheck.
BUG=https://bugs.kde.org/show_bug.cgi?id=256525#c6
Also, the suppression generator code has been changed to not produce
suppressions of "legacy" types anymore
and the tools/valgrind/waterfall.sh suppression matcher has been altered to
support both "legacy" and "new" type suppressions.
TEST=base --gtest_filter="*Sanity*"
+ tools/valgrind/suppressions.py SelfTest()
Review URL: http://codereview.chromium.org/8712001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111680 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/valgrind/memcheck_analyze.py')
-rwxr-xr-x | tools/valgrind/memcheck_analyze.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/valgrind/memcheck_analyze.py b/tools/valgrind/memcheck_analyze.py index 8248944..e73ad26 100755 --- a/tools/valgrind/memcheck_analyze.py +++ b/tools/valgrind/memcheck_analyze.py @@ -270,12 +270,20 @@ class ValgrindError: "http://dev.chromium.org/developers/how-tos/using-valgrind#TOC-Suppressing-Errors") # Widen suppression slightly to make portable between mac and linux + # TODO(timurrrr): Oops, these transformations should happen + # BEFORE calculating the hash! supp = self._suppression; supp = supp.replace("fun:_Znwj", "fun:_Znw*") supp = supp.replace("fun:_Znwm", "fun:_Znw*") supp = supp.replace("fun:_Znaj", "fun:_Zna*") supp = supp.replace("fun:_Znam", "fun:_Zna*") + # Make suppressions even less platform-dependent. + for sz in [1, 2, 4, 8]: + supp = supp.replace("Memcheck:Addr%d" % sz, "Memcheck:Unaddressable") + supp = supp.replace("Memcheck:Value%d" % sz, "Memcheck:Uninitialized") + supp = supp.replace("Memcheck:Cond", "Memcheck:Uninitialized") + # Split into lines so we can enforce length limits supplines = supp.split("\n") supp = None # to avoid re-use |