Skip to content

Commit a518fb6

Browse files
author
sewardj
committed
Initial suppressions from Android 2.3.5 (on ARM).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12053 a5019735-40e9-0310-863c-91ae7b9d1cf9
1 parent 75f107f commit a518fb6

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

bionic.supp

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,37 @@
11
# Suppressions for Android's libc (bionic) and probably other
22
# stuff too.
33

4-
# This is currently empty.
4+
# this is a real bug in the Android stack -- this routine really does read and write below sp.
5+
{
6+
sha1_block_data_order-reads-below-sp
7+
Memcheck:Addr4
8+
fun:sha1_block_data_order
9+
}
10+
11+
# This is a false error, and it's reported in the wrong place. Memcheck misinterprets
12+
# a restore path in dvmPlatformInvoke: "ldmdb r4, {r4, r5, r6, r7, r8, r9, sp, pc}"
13+
# because it breaks this up into non-atomic IR. This non atomic IR restores PC
14+
# first, then SP, and then r4-r9; the latter of which happen after (from Memcheck's
15+
# point of view) the assignment to SP, hence constitute a read below SP (depends
16+
# which way SP moved, I guess). Worse, because these happen after the restore to SP,
17+
# the errors are reported in the callers of this function, not here :-(
18+
# General bogusness all round, but I don't see how to handle it any better. Hence
19+
# hide all the callers; fortunately there appear to be not many.
20+
#
21+
{
22+
dvmPlatformInvoke-misinterpretation-1
23+
Memcheck:Addr4
24+
fun:dvmCallJNIMethod_virtualNoRef
25+
}
26+
27+
{
28+
dvmPlatformInvoke-misinterpretation-2
29+
Memcheck:Addr4
30+
fun:dvmCallJNIMethod_staticNoRef
31+
}
32+
33+
{
34+
dvmPlatformInvoke-misinterpretation-3
35+
Memcheck:Addr4
36+
fun:dvmCallJNIMethod_general
37+
}

0 commit comments

Comments
 (0)