Modified output of stack trace printed at start of thread (code is commented out).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7882 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/exp-drd/drd_clientreq.c b/exp-drd/drd_clientreq.c
index 4adad73..caf540a 100644
--- a/exp-drd/drd_clientreq.c
+++ b/exp-drd/drd_clientreq.c
@@ -33,6 +33,7 @@
#include "drd_rwlock.h"
#include "priv_drd_clientreq.h"
#include "pub_tool_basics.h" // Bool
+#include "pub_tool_debuginfo.h" // VG_(describe_IP)()
#include "pub_tool_libcassert.h"
#include "pub_tool_libcassert.h" // tl_assert()
#include "pub_tool_libcprint.h" // VG_(message)()
@@ -126,6 +127,7 @@
UInt nframes;
const UInt n_ips = 20;
Addr ips[n_ips], sps[n_ips], fps[n_ips];
+ Char desc[128];
unsigned i;
nframes = VG_(get_StackTrace)(vg_tid, ips, n_ips, sps, fps, 0);
@@ -133,8 +135,9 @@
VG_(message)(Vg_DebugMsg, "thread %d/%d", vg_tid, drd_tid);
for (i = 0; i < nframes; i++)
{
- VG_(message)(Vg_DebugMsg, "[%2d] 0x%09lx 0x%09lx 0x%09lx",
- i, ips[i], sps[i], fps[i]);
+ VG_(describe_IP)(ips[i], desc, sizeof(desc));
+ VG_(message)(Vg_DebugMsg, "[%2d] sp 0x%09lx fp 0x%09lx ip %s",
+ i, sps[i], fps[i], desc);
}
#endif
thread_set_stack_startup(drd_tid, VG_(get_SP)(vg_tid));