]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Initial suppressions from Android 2.3.5 (on ARM).
authorJulian Seward <jseward@acm.org>
Mon, 26 Sep 2011 20:18:29 +0000 (20:18 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 26 Sep 2011 20:18:29 +0000 (20:18 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12053

bionic.supp

index a6ce68405c0457aecbc9c80e5d382cbc02acaa0f..0d56253f6d6ceb735957de04ca219dcbefa383f8 100644 (file)
@@ -1,4 +1,37 @@
 # Suppressions for Android's libc (bionic) and probably other
 # stuff too.
 
-# This is currently empty.
+# 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
+}