Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic,
mips-valgrind@rt-rk.com, Bug 270777.

Valgrind: changes to existing files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12616 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/pub_core_basics.h b/coregrind/pub_core_basics.h
index f0861d4..63db17f 100644
--- a/coregrind/pub_core_basics.h
+++ b/coregrind/pub_core_basics.h
@@ -60,6 +60,8 @@
 #  include "libvex_guest_arm.h"
 #elif defined(VGA_s390x)
 #  include "libvex_guest_s390x.h"
+#elif defined(VGA_mips32)
+#  include "libvex_guest_mips32.h"
 #else
 #  error Unknown arch
 #endif
@@ -83,8 +85,8 @@
 
 typedef
    struct {
-      ULong r_pc; /* x86:EIP, amd64:RIP, ppc:CIA, arm:R15 */
-      ULong r_sp; /* x86:ESP, amd64:RSP, ppc:R1,  arm:R13 */
+      ULong r_pc; /* x86:EIP, amd64:RIP, ppc:CIA, arm:R15, mips:pc */
+      ULong r_sp; /* x86:ESP, amd64:RSP, ppc:R1,  arm:R13, mips:sp */
       union {
          struct {
             UInt r_ebp;
@@ -108,6 +110,11 @@
             ULong r_fp;
             ULong r_lr;
          } S390X;
+         struct {
+            UInt r30;  /* Stack frame pointer or subroutine variable  */
+            UInt r31;  /* Return address of the last subroutine call */
+            UInt r28;
+         } MIPS32;
       } misc;
    }
    UnwindStartRegs;