apple2ix/Android/toolchain_edits/valgrind-android.supp
2016-05-08 13:39:17 -07:00

250 lines
5.2 KiB
Plaintext

##----------------------------------------------------------------------##
# Format of this file is:
# {
# name_of_suppression
# tool_name:supp_kind
# (optional extra info for some suppression types)
# caller0 name, or /name/of/so/file.so
# caller1 name, or ditto
# (optionally: caller2 name)
# (optionally: caller3 name)
# }
#
# For Memcheck, the supp_kinds are:
#
# Param Value1 Value2 Value4 Value8 Value16 Jump
# Free Addr1 Addr2 Addr4 Addr8 Addr16
# Cond (previously known as Value0)
#
# and the optional extra info is:
# if Param: name of system call param
##----------------------------------------------------------------------##
# zlib-1.2.x uses uninitialised memory in some tricky way which
# apparently is harmless (it must amount to a vectorised while-loop,
# nothing else makes sense). Fools Memcheck though. See the mentioned
# URL for details.
{
zlib-1.2.x trickyness (1a): See http://www.zlib.net/zlib_faq.html#faq36
Memcheck:Cond
obj:/*lib*/libz.so.1.2.*
...
obj:/*lib*/libz.so.1.2.*
fun:deflate
}
{
zlib-1.2.x trickyness (1b): See http://www.zlib.net/zlib_faq.html#faq36
Memcheck:Cond
obj:/*lib*/libz.so.1.2.*
fun:deflate
}
{
zlib-1.2.x trickyness (2a): See http://www.zlib.net/zlib_faq.html#faq36
Memcheck:Value8
obj:/*lib*/libz.so.1.2.*
...
obj:/*lib*/libz.so.1.2.*
fun:deflate
}
{
zlib-1.2.x trickyness (2b): See http://www.zlib.net/zlib_faq.html#faq36
Memcheck:Value8
obj:/*lib*/libz.so.1.2.*
fun:deflate
}
{
zlib-1.2.x trickyness (3a): See http://www.zlib.net/zlib_faq.html#faq36
Memcheck:Value4
obj:/*lib*/libz.so.1.2.*
...
obj:/*lib*/libz.so.1.2.*
fun:deflate
}
{
zlib-1.2.x trickyness (3b): See http://www.zlib.net/zlib_faq.html#faq36
Memcheck:Value4
obj:/*lib*/libz.so.1.2.*
fun:deflate
}
##----------------------------------------------------------------------##
# Suppressions for Android's libc (bionic) and probably other
# stuff too.
# this is a real bug in the Android stack -- this routine really does read and write below sp.
{
sha1_block_data_order-reads-below-sp
Memcheck:Addr4
fun:sha1_block_data_order
}
# This is a false error, and it's reported in the wrong place. Memcheck misinterprets
# a restore path in dvmPlatformInvoke: "ldmdb r4, {r4, r5, r6, r7, r8, r9, sp, pc}"
# because it breaks this up into non-atomic IR. This non atomic IR restores PC
# first, then SP, and then r4-r9; the latter of which happen after (from Memcheck's
# point of view) the assignment to SP, hence constitute a read below SP (depends
# which way SP moved, I guess). Worse, because these happen after the restore to SP,
# the errors are reported in the callers of this function, not here :-(
# General bogusness all round, but I don't see how to handle it any better. Hence
# hide all the callers; fortunately there appear to be not many.
#
{
dvmPlatformInvoke-misinterpretation-1
Memcheck:Addr4
fun:dvmCallJNIMethod_virtualNoRef
}
{
dvmPlatformInvoke-misinterpretation-2
Memcheck:Addr4
fun:dvmCallJNIMethod_staticNoRef
}
{
dvmPlatformInvoke-misinterpretation-3
Memcheck:Addr4
fun:dvmCallJNIMethod_general
}
##----------------------------------------------------------------------##
# ASC ADDED ...
{
Linker-1
Memcheck:Cond
obj:/system/bin/linker
}
{
Linker-2
Memcheck:Value4
obj:/system/bin/linker
}
{
Linker-3
Memcheck:Free
obj:/system/bin/linker
}
{
Linker-4
Memcheck:Leak
obj:/system/bin/linker
}
# ...
{
BootOAT-1
Memcheck:Cond
obj:/data/dalvik-cache/arm/system@framework@boot.oat
}
{
BootOAT-2
Memcheck:Addr4
obj:/data/dalvik-cache/arm/system@framework@boot.oat
}
{
BootOAT-3
Memcheck:Free
obj:/data/dalvik-cache/arm/system@framework@boot.oat
}
{
BootOAT-4
Memcheck:Leak
obj:/data/dalvik-cache/arm/system@framework@boot.oat
}
# ...
{
LibJavaCore-1
Memcheck:Cond
obj:/system/lib/libjavacore.so
}
{
LibJavaCore-2
Memcheck:Addr4
obj:/system/lib/libjavacore.so
}
{
LibJavaCore-3
Memcheck:Free
obj:/system/lib/libjavacore.so
}
{
LibJavaCore-4
Memcheck:Leak
obj:/system/lib/libjavacore.so
}
# ...
{
APP2-SPECIFIC-1
Memcheck:Cond
obj:/data/dalvik-cache/arm/data@app@org.deadc0de.apple2ix.basic-2@base.apk@classes.dex
}
{
APP2-SPECIFIC-2
Memcheck:Addr4
obj:/data/dalvik-cache/arm/data@app@org.deadc0de.apple2ix.basic-2@base.apk@classes.dex
}
{
APP2-SPECIFIC-3
Memcheck:Free
obj:/data/dalvik-cache/arm/data@app@org.deadc0de.apple2ix.basic-2@base.apk@classes.dex
}
{
APP2-SPECIFIC-4
Memcheck:Leak
obj:/data/dalvik-cache/arm/data@app@org.deadc0de.apple2ix.basic-2@base.apk@classes.dex
}
# ...
{
APP-SPECIFIC-1
Memcheck:Cond
obj:/data/dalvik-cache/arm/data@app@org.deadc0de.apple2ix.basic@base.apk@classes.dex
}
{
APP-SPECIFIC-2
Memcheck:Addr4
obj:/data/dalvik-cache/arm/data@app@org.deadc0de.apple2ix.basic@base.apk@classes.dex
}
{
APP-SPECIFIC-3
Memcheck:Free
obj:/data/dalvik-cache/arm/data@app@org.deadc0de.apple2ix.basic@base.apk@classes.dex
}
{
APP-SPECIFIC-4
Memcheck:Leak
obj:/data/dalvik-cache/arm/data@app@org.deadc0de.apple2ix.basic@base.apk@classes.dex
}