|
From: <sv...@va...> - 2012-09-02 20:07:59
|
sewardj 2012-09-02 21:07:51 +0100 (Sun, 02 Sep 2012)
New Revision: 12936
Log:
Merge from trunk, r12881 (fix n-i-bz vgdb ptrace calls wrong on mips)
Modified directories:
branches/VALGRIND_3_8_BRANCH/coregrind/
branches/VALGRIND_3_8_BRANCH/coregrind/m_syswrap/
Modified files:
branches/VALGRIND_3_8_BRANCH/coregrind/m_syswrap/syswrap-generic.c
branches/VALGRIND_3_8_BRANCH/coregrind/vgdb.c
Modified: branches/VALGRIND_3_8_BRANCH/coregrind/
Modified: branches/VALGRIND_3_8_BRANCH/coregrind/m_syswrap/
Modified: branches/VALGRIND_3_8_BRANCH/coregrind/vgdb.c (+12 -5)
===================================================================
--- branches/VALGRIND_3_8_BRANCH/coregrind/vgdb.c 2012-09-02 19:10:34 +01:00 (rev 12935)
+++ branches/VALGRIND_3_8_BRANCH/coregrind/vgdb.c 2012-09-02 21:07:51 +01:00 (rev 12936)
@@ -925,7 +925,7 @@
#elif defined(VGA_s390x)
sp = user_mod.regs.gprs[15];
#elif defined(VGA_mips32)
- sp = user_mod.regs[29];
+ sp = user_mod.regs[29*2];
#else
I_die_here : (sp) architecture missing in vgdb.c
#endif
@@ -999,11 +999,18 @@
#elif defined(VGA_s390x)
XERROR(0, "(fn32) s390x has no 32bits implementation");
#elif defined(VGA_mips32)
- /* put check arg in register 0 */
- user_mod.regs[4] = check;
+ /* put check arg in register 4 */
+ user_mod.regs[4*2] = check;
+ user_mod.regs[4*2+1] = 0xffffffff; // sign extend $a0
+ /* This sign extension is needed when vgdb 32 bits runs
+ on a 64 bits OS. */
/* put NULL return address in ra */
- user_mod.regs[31] = bad_return;
- user_mod.regs[25] = shared32->invoke_gdbserver;
+ user_mod.regs[31*2] = bad_return;
+ user_mod.regs[31*2+1] = 0;
+ user_mod.regs[34*2] = shared32->invoke_gdbserver;
+ user_mod.regs[34*2+1] = 0;
+ user_mod.regs[25*2] = shared32->invoke_gdbserver;
+ user_mod.regs[25*2+1] = 0;
#else
I_die_here : architecture missing in vgdb.c
#endif
Property changed: branches/VALGRIND_3_8_BRANCH/coregrind/m_syswrap/syswrap-generic.c (+0 -0)
___________________________________________________________________
Name: svn:mergeinfo
- /branches/TCHAIN/coregrind/m_syswrap/syswrap-generic.c:12477-12516
/trunk/coregrind/m_syswrap/syswrap-generic.c:12874,12878-12879,12882-12883
+ /branches/TCHAIN/coregrind/m_syswrap/syswrap-generic.c:12477-12516
/trunk/coregrind/m_syswrap/syswrap-generic.c:12874,12878-12879,12881-12883
Property changed: branches/VALGRIND_3_8_BRANCH/coregrind (+0 -0)
___________________________________________________________________
Name: svn:mergeinfo
+ /branches/TCHAIN/coregrind:12477-12516
/trunk/coregrind:12873,12881
Property changed: branches/VALGRIND_3_8_BRANCH/coregrind/m_syswrap (+0 -0)
___________________________________________________________________
Name: svn:mergeinfo
- /branches/TCHAIN/coregrind/m_syswrap:12477-12516
/trunk/coregrind/m_syswrap:12873,12882-12883
+ /branches/TCHAIN/coregrind/m_syswrap:12477-12516
/trunk/coregrind/m_syswrap:12873,12881-12883
|