|
From: <sv...@va...> - 2013-03-10 11:02:38
|
bart 2013-03-10 11:02:32 +0000 (Sun, 10 Mar 2013)
New Revision: 13316
Log:
drd: Fix stack growth tracking. Hopefully this is the proper fix for #297147.
Modified files:
trunk/drd/drd_main.c
Modified: trunk/drd/drd_main.c (+6 -4)
===================================================================
--- trunk/drd/drd_main.c 2013-03-10 10:43:11 +00:00 (rev 13315)
+++ trunk/drd/drd_main.c 2013-03-10 11:02:32 +00:00 (rev 13316)
@@ -580,8 +580,8 @@
* Callback function called by the Valgrind core before a stack area is
* being used by a signal handler.
*
- * @param[in] a Start of address range.
- * @param[in] len Address range length.
+ * @param[in] a Start of address range - VG_STACK_REDZONE_SZB.
+ * @param[in] len Address range length + VG_STACK_REDZONE_SZB.
* @param[in] tid Valgrind thread ID for whom the signal frame is being
* constructed.
*/
@@ -589,12 +589,14 @@
ThreadId tid)
{
DRD_(thread_set_vg_running_tid)(VG_(get_running_tid)());
- drd_start_using_mem(a, len, True);
+ drd_start_using_mem(a + VG_STACK_REDZONE_SZB, len - VG_STACK_REDZONE_SZB,
+ True);
}
static void drd_stop_using_mem_stack_signal(Addr a, SizeT len)
{
- drd_stop_using_mem(a, len, True);
+ drd_stop_using_mem(a + VG_STACK_REDZONE_SZB, len - VG_STACK_REDZONE_SZB,
+ True);
}
static
|