Author: bart
Date: 2008-02-28 20:28:00 +0000 (Thu, 28 Feb 2008)
New Revision: 7504
Log:
Simplified stack tracking.
Modified:
trunk/exp-drd/drd_main.c
trunk/exp-drd/tests/tc09_bad_unlock.stderr.exp
Modified: trunk/exp-drd/drd_main.c
===================================================================
--- trunk/exp-drd/drd_main.c 2008-02-28 20:27:34 UTC (rev 7503)
+++ trunk/exp-drd/drd_main.c 2008-02-28 20:28:00 UTC (rev 7504)
@@ -283,23 +283,13 @@
drd_suppression_stop_using_mem(a1, a2);
}
-static VG_REGPARM(2)
- void drd_make_stack_uninit(const Addr base, const UWord len)
-{
-#if 0
- VG_(message)(Vg_DebugMsg, "make_stack_uninit(0x%lx, %ld)", base, len);
-#endif
- drd_stop_using_mem(base, base + len);
-}
-
/* Called by the core when the stack of a thread grows, to indicate that */
/* the addresses in range [ a, a + len [ may now be used by the client. */
/* Assumption: stacks grow downward. */
static void drd_start_using_mem_stack(const Addr a, const SizeT len)
{
thread_set_stack_min(thread_get_running_tid(), a - VG_STACK_REDZONE_SZB);
- drd_start_using_mem(a - VG_STACK_REDZONE_SZB,
- a - VG_STACK_REDZONE_SZB + len);
+ drd_start_using_mem(a, a + len);
}
/* Called by the core when the stack of a thread shrinks, to indicate that */
@@ -310,8 +300,7 @@
thread_set_vg_running_tid(VG_(get_running_tid)());
thread_set_stack_min(thread_get_running_tid(),
a + len - VG_STACK_REDZONE_SZB);
- drd_stop_using_mem(a - VG_STACK_REDZONE_SZB,
- a + len - VG_STACK_REDZONE_SZB);
+ drd_stop_using_mem(a, a + len);
}
static void drd_start_using_mem_mmap(Addr a, SizeT len,
@@ -598,20 +587,6 @@
instrument = VG_(seginfo_sect_kind)(st->Ist.IMark.addr) != Vg_SectPLT;
break;
- case Ist_AbiHint:
- addStmtToIRSB(bb,
- IRStmt_Dirty(
- unsafeIRDirty_0_N(
- /*regparms*/2,
- "drd_make_stack_uninit",
- VG_(fnptr_to_fnentry)(drd_make_stack_uninit),
- mkIRExprVec_2(st->Ist.AbiHint.base,
- mkIRExpr_HWord((UInt)st->Ist.AbiHint.len))
- )
- )
- );
- break;
-
case Ist_MBE:
instrument_memory_bus_event(bb, st->Ist.MBE.event);
addStmtToIRSB(bb, st);
Modified: trunk/exp-drd/tests/tc09_bad_unlock.stderr.exp
===================================================================
--- trunk/exp-drd/tests/tc09_bad_unlock.stderr.exp 2008-02-28 20:27:34 UTC
(rev 7503)
+++ trunk/exp-drd/tests/tc09_bad_unlock.stderr.exp 2008-02-28 20:28:00 UTC
(rev 7504)
@@ -23,6 +23,11 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:49)
+Mutex reinitialization: address 0x........, recursion count 0, owner 1.
+ at 0x........: pthread_mutex_init (drd_intercepts.c:?)
+ by 0x........: nearly_main (tc09_bad_unlock.c:23)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
Attempt to unlock a mutex that is not locked: address 0x........, recursion
count -1, owner 1.
at 0x........: pthread_mutex_unlock (drd_intercepts.c:?)
by 0x........: nearly_main (tc09_bad_unlock.c:27)
@@ -47,4 +52,4 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Valgrind-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-developers