one valgrind.supp to rule them all.

R=mtklein@google.com, robertphillips@google.com, borenet@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/268473004

git-svn-id: http://skia.googlecode.com/svn/trunk@14487 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/bench/valgrind.supp b/bench/valgrind.supp
deleted file mode 100644
index aabb900..0000000
--- a/bench/valgrind.supp
+++ /dev/null
@@ -1,109 +0,0 @@
-# Valgrind suppressions for bench --config 8888 GPU NONRENDERING --runOnce
-# Pass this file to Valgrind with "--suppressions=bench/valgrind.supp"
-{
-    ATI driver 1
-    Memcheck:Param
-    ioctl(generic)
-    fun:ioctl
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    ATI driver 2
-    Memcheck:Cond
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    ATI driver 3
-    Memcheck:Addr8
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    ATI driver 4
-    Memcheck:Addr4
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    ATI driver 5
-    Memcheck:Addr2
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    ATI driver 6
-    Memcheck:Addr1
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    ATI driver 7
-    Memcheck:Leak
-    fun:malloc
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    ATI driver 8
-    Memcheck:Overlap
-    fun:strcpy
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    ATI driver 9
-    Memcheck:Leak
-    fun:calloc
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    ATI driver 10
-    Memcheck:Leak
-    fun:malloc
-    obj:/usr/lib/fglrx/fglrx-libGL.so.1.2
-}
-{
-   NV driver 1
-   Memcheck:Cond
-   obj:/usr/lib/nvidia-current/libnvidia-glcore.so.319.32
-}
-{
-   NV driver 2
-   Memcheck:Param
-   write(buf)
-   fun:__write_nocancel
-}
-{
-   FontConfig
-   Memcheck:Addr4
-   fun:FcConfigFileExists
-}
-{
-   SkipZeroes_arrow.png_skip_zeroes http://skbug.com/2452
-   Memcheck:Cond
-   fun:inflateReset2
-   fun:inflateInit2_
-   fun:png_create_read_struct_2
-   fun:png_create_read_struct
-   fun:_ZN17SkPNGImageDecoder12onDecodeInitEP8SkStreamPP14png_struct_defPP15png_info_struct
-   fun:_ZN17SkPNGImageDecoder8onDecodeEP8SkStreamP8SkBitmapN14SkImageDecoder4ModeE
-   fun:_ZN14SkImageDecoder6decodeEP8SkStreamP8SkBitmapNS2_6ConfigENS_4ModeE
-   fun:_ZN14SkImageDecoder6decodeEP8SkStreamP8SkBitmapNS_4ModeE
-   fun:_ZN15SkipZeroesBench6onDrawEiP8SkCanvas
-   fun:_ZN11SkBenchmark4drawEiP8SkCanvas
-   fun:_Z9tool_mainiPPc
-   fun:main
-}
-{
-   SkipZeroes_arrow.png_skip_zeroes Release http://skbug.com/2452
-   Memcheck:Cond
-   fun:inflateReset2
-   fun:inflateInit2_
-   fun:png_create_read_struct_2
-   fun:png_create_read_struct
-   fun:_ZN17SkPNGImageDecoder12onDecodeInitEP8SkStreamPP14png_struct_defPP15png_info_struct
-   fun:_ZN17SkPNGImageDecoder8onDecodeEP8SkStreamP8SkBitmapN14SkImageDecoder4ModeE
-   fun:_ZN14SkImageDecoder6decodeEP8SkStreamP8SkBitmapNS2_6ConfigENS_4ModeE
-   fun:_ZN15SkipZeroesBench6onDrawEiP8SkCanvas
-   fun:_Z9tool_mainiPPc
-   fun:(below main)
-}
diff --git a/gm/valgrind.supp b/gm/valgrind.supp
deleted file mode 100644
index 9cf392d..0000000
--- a/gm/valgrind.supp
+++ /dev/null
@@ -1,180 +0,0 @@
-# Pass this file to Valgrind with "--suppressions=tests/valgrind.supp"
-
-{
-    FcConfig
-    Memcheck:Addr4
-    fun:FcConfigFileExists
-}
-{
-    FcFontSetCreate_Leak
-    Memcheck:Leak
-    fun:malloc
-    fun:FcFontSetCreate
-}
-{
-    FcFontSetAdd_Leak
-    Memcheck:Leak
-    fun:realloc
-    fun:FcFontSetAdd
-}
-{
-    lib_png_inflate
-    Memcheck:Cond
-    fun:inflateReset2
-    fun:inflateInit2_
-    fun:png_create_read_struct_2
-    fun:png_create_read_struct
-}
-{
-    RTConfRegistry_leak
-    Memcheck:Leak
-    fun:_Znwm
-    fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
-}
-{
-    XML_ParseBuffer_leak
-    Memcheck:Leak
-    fun:malloc
-    fun:FcPatternObjectInsertElt
-    fun:FcPatternObjectAddWithBinding
-}
-{
-    driver_bug_1
-    Memcheck:Param
-    ioctl(generic)
-    fun:ioctl
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_2
-    Memcheck:Cond
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_3
-    Memcheck:Addr8
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_4
-    Memcheck:Addr4
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_5
-    Memcheck:Addr2
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_6
-    Memcheck:Addr1
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_7
-    Memcheck:Leak
-    fun:malloc
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_8
-    Memcheck:Overlap
-    fun:strcpy
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_9
-    Memcheck:Leak
-    fun:calloc
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_10
-    Memcheck:Leak
-    fun:malloc
-    obj:/usr/lib/fglrx/fglrx-libGL.so.1.2
-}
-# the gpu_issue_* suppressions suppress issues that cannot be reproduced
-# locally. 
-{
-    gpu_issue_1
-    Memcheck:Addr2
-    fun:_ZNK5GrGpu18getQuadIndexBufferEv
-}
-{
-    gpu_issue_2
-    Memcheck:Addr2
-    fun:_ZN24GrAAHairLinePathRenderer6CreateEP9GrContext
-}
-{
-    gpu_issue_3
-    Memcheck:Addr2
-    fun:_ZN16GrAARectRenderer21aaFillRectIndexBufferEP5GrGpu
-}
-{
-    gpu_issue_4
-    Memcheck:Addr8
-    fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
-}
-{
-    gpu_issue_5
-    Memcheck:Addr8
-    fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
-}
-{
-    gpu_issue_6
-    Memcheck:Addr8
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_7
-    Memcheck:Addr4
-    fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_8
-    Memcheck:Addr4
-    fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
-}
-{
-    gpu_issue_9
-    Memcheck:Addr2
-    fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
-}
-{
-    gpu_issue_10
-    Memcheck:Addr4
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_11
-    Memcheck:Addr2
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_12
-    Memcheck:Addr8
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_13
-    Memcheck:Addr4
-    fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_14
-    Memcheck:Addr4
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_15
-    Memcheck:Addr2
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
-}
diff --git a/tests/valgrind.supp b/tests/valgrind.supp
deleted file mode 100644
index b7df1d6..0000000
--- a/tests/valgrind.supp
+++ /dev/null
@@ -1,200 +0,0 @@
-# Pass this file to Valgrind with "--suppressions=tests/valgrind.supp"
-
-{
-    FcConfig
-    Memcheck:Addr4
-    fun:FcConfigFileExists
-}
-{
-    FcFontSetCreate_Leak
-    Memcheck:Leak
-    fun:malloc
-    fun:FcFontSetCreate
-}
-{
-    FcFontSetAdd_Leak
-    Memcheck:Leak
-    fun:realloc
-    fun:FcFontSetAdd
-}
-{
-    lib_png_inflate
-    Memcheck:Cond
-    fun:inflateReset2
-    fun:inflateInit2_
-    fun:png_create_read_struct_2
-    fun:png_create_read_struct
-}
-{
-    RTConfRegistry_leak
-    Memcheck:Leak
-    fun:_Znwm
-    fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
-}
-{
-    XML_ParseBuffer_leak
-    Memcheck:Leak
-    fun:malloc
-    fun:FcPatternObjectInsertElt
-    fun:FcPatternObjectAddWithBinding
-}
-
-# Blanket nvidia driver suppressions
-{
-    nvidia_param_write_to_unallocated_buf
-    Memcheck:Param
-    write(buf)
-    obj:/usr/lib/libnvidia-glcore.so*
-}
-{
-    nvidia_conditional_jump_on_uninitialized_value
-    Memcheck:Cond
-    obj:/usr/lib/libnvidia-glcore.so*
-}
-{
-    nvidia_memory_leaks
-    Memcheck:Leak
-    obj:/usr/lib/libGL.so*
-}
-
-# Suppressions for ATI cards
-{
-    driver_bug_1
-    Memcheck:Param
-    ioctl(generic)
-    fun:ioctl
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_2
-    Memcheck:Cond
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_3
-    Memcheck:Addr8
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_4
-    Memcheck:Addr4
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_5
-    Memcheck:Addr2
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_6
-    Memcheck:Addr1
-    ...
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_7
-    Memcheck:Leak
-    fun:malloc
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_8
-    Memcheck:Overlap
-    fun:strcpy
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_9
-    Memcheck:Leak
-    fun:calloc
-    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
-}
-{
-    driver_bug_10
-    Memcheck:Leak
-    fun:malloc
-    obj:/usr/lib/fglrx/fglrx-libGL.so.1.2
-}
-# the gpu_issue_* suppressions suppress issues that cannot be reproduced
-# locally.
-{
-    gpu_issue_1
-    Memcheck:Addr2
-    fun:_ZNK5GrGpu18getQuadIndexBufferEv
-}
-{
-    gpu_issue_2
-    Memcheck:Addr2
-    fun:_ZN24GrAAHairLinePathRenderer6CreateEP9GrContext
-}
-{
-    gpu_issue_3
-    Memcheck:Addr2
-    fun:_ZN16GrAARectRenderer21aaFillRectIndexBufferEP5GrGpu
-}
-{
-    gpu_issue_4
-    Memcheck:Addr8
-    fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
-}
-{
-    gpu_issue_5
-    Memcheck:Addr8
-    fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
-}
-{
-    gpu_issue_6
-    Memcheck:Addr8
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_7
-    Memcheck:Addr4
-    fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_8
-    Memcheck:Addr4
-    fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
-}
-{
-    gpu_issue_9
-    Memcheck:Addr2
-    fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
-}
-{
-    gpu_issue_10
-    Memcheck:Addr4
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_11
-    Memcheck:Addr2
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_12
-    Memcheck:Addr8
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_13
-    Memcheck:Addr4
-    fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_14
-    Memcheck:Addr4
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
-}
-{
-    gpu_issue_15
-    Memcheck:Addr2
-    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
-}
diff --git a/tools/valgrind.supp b/tools/valgrind.supp
index 9cf392d..30cac39 100644
--- a/tools/valgrind.supp
+++ b/tools/valgrind.supp
@@ -1,45 +1,8 @@
-# Pass this file to Valgrind with "--suppressions=tests/valgrind.supp"
+# Pass this file to Valgrind with "--suppressions=tools/valgrind.supp"
 
+# Third party lib, driver issues.
 {
-    FcConfig
-    Memcheck:Addr4
-    fun:FcConfigFileExists
-}
-{
-    FcFontSetCreate_Leak
-    Memcheck:Leak
-    fun:malloc
-    fun:FcFontSetCreate
-}
-{
-    FcFontSetAdd_Leak
-    Memcheck:Leak
-    fun:realloc
-    fun:FcFontSetAdd
-}
-{
-    lib_png_inflate
-    Memcheck:Cond
-    fun:inflateReset2
-    fun:inflateInit2_
-    fun:png_create_read_struct_2
-    fun:png_create_read_struct
-}
-{
-    RTConfRegistry_leak
-    Memcheck:Leak
-    fun:_Znwm
-    fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
-}
-{
-    XML_ParseBuffer_leak
-    Memcheck:Leak
-    fun:malloc
-    fun:FcPatternObjectInsertElt
-    fun:FcPatternObjectAddWithBinding
-}
-{
-    driver_bug_1
+    ati_driver_bug_1
     Memcheck:Param
     ioctl(generic)
     fun:ioctl
@@ -47,36 +10,36 @@
     obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
 }
 {
-    driver_bug_2
+    ati_driver_bug_2
     Memcheck:Cond
     obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
 }
 {
-    driver_bug_3
+    ati_driver_bug_3
     Memcheck:Addr8
     ...
     obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
 }
 {
-    driver_bug_4
+    ati_driver_bug_4
     Memcheck:Addr4
     ...
     obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
 }
 {
-    driver_bug_5
+    ati_driver_bug_5
     Memcheck:Addr2
     ...
     obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
 }
 {
-    driver_bug_6
+    ati_driver_bug_6
     Memcheck:Addr1
     ...
     obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
 }
 {
-    driver_bug_7
+    ati_driver_bug_7
     Memcheck:Leak
     fun:malloc
     obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
@@ -88,19 +51,77 @@
     obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
 }
 {
-    driver_bug_9
+    ati_driver_bug_9
     Memcheck:Leak
     fun:calloc
     obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
 }
 {
-    driver_bug_10
+    ati_driver_bug_10
     Memcheck:Leak
     fun:malloc
     obj:/usr/lib/fglrx/fglrx-libGL.so.1.2
 }
-# the gpu_issue_* suppressions suppress issues that cannot be reproduced
-# locally. 
+{
+    nv_driver_bug_1
+    Memcheck:Param
+    write(buf)
+    obj:/usr/lib/libnvidia-glcore.so*
+}
+{
+    nv_driver_bug_2
+    Memcheck:Cond
+    obj:/usr/lib/libnvidia-glcore.so*
+}
+{
+    nv_driver_bug_3
+    Memcheck:Leak
+    fun:calloc
+    obj:/usr/lib/libGL.so*
+}
+{
+    font_config_bug_1
+    Memcheck:Addr4
+    fun:FcConfigFileExists
+}
+{
+    font_config_bug_2
+    Memcheck:Leak
+    fun:malloc
+    fun:FcFontSetCreate
+}
+{
+    font_config_bug_3
+    Memcheck:Leak
+    fun:realloc
+    fun:FcFontSetAdd
+}
+{
+    font_config_bug_4
+    Memcheck:Leak
+    fun:malloc
+    fun:FcPatternObjectInsertElt
+    fun:FcPatternObjectAddWithBinding
+}
+{
+    zlib_bug_1
+    Memcheck:Cond
+    fun:inflateReset2
+    fun:inflateInit2_
+    fun:png_create_read_struct_2
+    fun:png_create_read_struct
+}
+
+# Why is it OK to suppress this?
+{
+    SkRTConfRegistry_bug_1
+    Memcheck:Leak
+    fun:_Znwm
+    fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
+}
+
+# The gpu_issue_* suppressions suppress issues that cannot be reproduced locally. These appear to be
+# due to valgrind not knowing about memory mapped by the ATI driver via glMapBuffer.
 {
     gpu_issue_1
     Memcheck:Addr2