# Pass this file to Valgrind with "--suppressions=tests/valgrind.supp"

{
    FcConfig
    Memcheck:Addr4
    fun:FcConfigFileExists
}
{
    FcFontSetCreate_Leak
    Memcheck:Leak
    fun:malloc
    fun:FcFontSetCreate
}
{
    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
}
