|
From: Bart V. A. <bar...@gm...> - 2006-08-12 13:25:12
|
Patch:
> svn diff coregrind/m_stacktrace.c
Index: coregrind/m_stacktrace.c
===================================================================
--- coregrind/m_stacktrace.c (revision 5998)
+++ coregrind/m_stacktrace.c (working copy)
@@ -412,8 +412,7 @@
void VG_(get_and_pp_StackTrace) ( ThreadId tid, UInt n_ips )
{
Addr ips[n_ips];
- VG_(get_StackTrace)(tid, ips, n_ips);
- VG_(pp_StackTrace) ( ips, n_ips);
+ VG_(pp_StackTrace)(ips, VG_(get_StackTrace)(tid, ips, n_ips));
}
Sample output without the patch:
==6404== at 0x4043EFE: __lll_mutex_lock_wait (in /lib/libpthread-2.4.so)
==6404== by 0x401C6D4: pthread_mutex_lock (vg_preloaded.c:177)
==6404== by 0x8051A05: STC::CPthreadMutex::Lock() (
synchronization-impl-linux.cpp:52)
==6404== by 0x804D69B: STC::CPosixThreadImpl::PthreadEntry(void*) (
thread-impl-linux.cpp:198)
==6404== by 0x401CB65: vg_thread_wrapper (vg_preloaded.c:96)
==6404== by 0x403E34A: start_thread (in /lib/libpthread-2.4.so)
==6404== by 0x421665D: clone (in /lib/libc-2.4.so)
==6404== by 0x52378DDB: ???
==6404== by 0x280082A2: vgPlain_vmessage (m_libcprint.c:325)
==6404== by 0x2812A59E: (within
/home/bart/software/valgrind-svn/inst/lib/valgrind/x86-linux/drd)
==6404== by 0x52378E03: ???
==6404== by 0x3C: ???
==6404== by 0x3C: ???
==6404== by 0x3D453142: ???
==6404== by 0x1000: ???
Sampel output with the patch applied:
==7563== at 0x4043EFE: __lll_mutex_lock_wait (in /lib/libpthread-2.4.so)
==7563== by 0x401C6D4: pthread_mutex_lock (vg_preloaded.c:177)
==7563== by 0x8051A05: STC::CPthreadMutex::Lock() (
synchronization-impl-linux.cpp:52)
==7563== by 0x804D69B: STC::CPosixThreadImpl::PthreadEntry(void*) (
thread-impl-linux.cpp:198)
==7563== by 0x401CB65: vg_thread_wrapper (vg_preloaded.c:96)
==7563== by 0x403E34A: start_thread (in /lib/libpthread-2.4.so)
==7563== by 0x421665D: clone (in /lib/libc-2.4.so)
|