]>
Commit | Line | Data |
---|---|---|
887fed8e JS |
1 | # Suppressions for Android's libc (bionic) and probably other |
2 | # stuff too. | |
3 | ||
bf105261 JS |
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 | } |