Hacks needed for MontaVista Linux 3.1 (ppc32).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5113 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_aspacemgr/aspacemgr.c b/coregrind/m_aspacemgr/aspacemgr.c
index 600102d..96cc84f 100644
--- a/coregrind/m_aspacemgr/aspacemgr.c
+++ b/coregrind/m_aspacemgr/aspacemgr.c
@@ -1139,11 +1139,16 @@
          = nsegments[i].dev != 0 || nsegments[i].ino != 0;
 
       /* Consider other reasons to not compare dev/inode */
+
       /* bproc does some godawful hack on /dev/zero at process
          migration, which changes the name of it, and its dev & ino */
       if (filename && 0==VG_(strcmp)(filename, "/dev/zero (deleted)"))
          cmp_devino = False;
 
+      /* hack apparently needed on MontaVista Linux */
+      if (filename && VG_(strstr)(filename, "/.lib-ro/"))
+         cmp_devino = False;
+
       /* If we are doing sloppy execute permission checks then we
          allow segment to have X permission when we weren't expecting
          it (but not vice versa) so if the kernel reported execute
diff --git a/glibc-2.3.supp b/glibc-2.3.supp
index eb7fc2c..263d024 100644
--- a/glibc-2.3.supp
+++ b/glibc-2.3.supp
@@ -503,3 +503,30 @@
    obj:*
    fun:_dl_sysdep_start
 }
+
+##----------------------------------------------------------------------##
+## MontaVista 3.1 on ppc32 integer only
+{
+   MontaVista-3.1-ppc32-#1
+   Memcheck:Value4
+   obj:/lib/ld-2.3.2.so
+   obj:/lib/ld-2.3.2.so
+   fun:*dl_map_object*
+   obj:/lib/libc-2.3.2.so
+}
+
+{
+   MontaVista-3.1-ppc32-#2
+   Memcheck:Value4
+   fun:malloc
+   obj:/lib/ld-2.3.2.so
+   obj:/lib/ld-2.3.2.so
+   obj:/lib/libc-2.3.2.so
+}
+
+{
+   MontaVista-3.1-ppc32-#3
+   Memcheck:Value4
+   obj:/lib/ld-2.3.2.so
+   obj:/lib/ld-2.3.2.so
+}