mirror of
https://github.com/mauiaaron/apple2.git
synced 2024-09-03 23:29:07 +00:00
250 lines
5.2 KiB
Plaintext
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
|
|
}
|
|
|