diff options
author | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2007-11-09 23:02:28 +0000 |
---|---|---|
committer | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2007-11-09 23:02:28 +0000 |
commit | 39f3423cd68c385be301e6b44848b4c6276da7b5 (patch) | |
tree | 184caec3ef2f546c37630285bb6917b68098317d /memcheck/mc_main.c | |
parent | 95386ae5c1a5ff224106dc524df4956f61e86d27 (diff) |
Merge (from branches/THRCHECK) the following amd64-linux stack unwind
kludges^H^H^H^H^H^H^Henhancements:
r6802: For VG_(record_ExeContext) et al, add a new parameter
(first_ip_delta) which is added to the initial IP value before the
stack is unwound. A safe value to pass is zero, which causes the
existing behaviour to be unchanged. This is a kludge needed to work
around the incomplete amd64 stack unwind info in glibc-2.5's clone()
routine.
r7059: Add a last-ditch heuristic-hack to the amd64-linux stack
unwinder, which is used when all other methods fail. Seems like GDB
has something similar.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7118 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'memcheck/mc_main.c')
-rw-r--r-- | memcheck/mc_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c index 06546d25..bc9f2e7a 100644 --- a/memcheck/mc_main.c +++ b/memcheck/mc_main.c @@ -4659,7 +4659,7 @@ static Bool mc_handle_client_request ( ThreadId tid, UWord* arg, UWord* ret ) cgbs[i].start = arg[1]; cgbs[i].size = arg[2]; cgbs[i].desc = VG_(strdup)((Char *)arg[3]); - cgbs[i].where = VG_(record_ExeContext) ( tid ); + cgbs[i].where = VG_(record_ExeContext) ( tid, 0/*first_ip_delta*/ ); *ret = i; } else @@ -4975,6 +4975,7 @@ static void mc_pre_clo_init(void) VG_(needs_core_errors) (); VG_(needs_tool_errors) (mc_eq_Error, mc_pp_Error, + True,/*show TIDs for errors*/ mc_update_extra, mc_recognised_suppression, mc_read_extra_suppression_info, |