Module: wine
Branch: master
Commit: c22eaccd15b8e4113361c5e0cf0679c5abc2acb3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c22eaccd15b8e4113361c5e0c…
Author: Eric Pouech <eric.pouech(a)orange.fr>
Date: Sat Jan 8 14:09:03 2011 +0100
winedbg: Try to detect jump (potentially thunk code) while getting the status.
---
programs/winedbg/symbol.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/programs/winedbg/symbol.c b/programs/winedbg/symbol.c
index 6602785..60e1c55 100644
--- a/programs/winedbg/symbol.c
+++ b/programs/winedbg/symbol.c
@@ -535,7 +535,15 @@ enum dbg_line_status symbol_get_function_line_status(const ADDRESS64* addr)
/* do we have some info for lin address ? */
if (!SymFromAddr(dbg_curr_process->handle, lin, &disp64, sym))
+ {
+ ADDRESS64 jumpee;
+ /* some compilers insert thunks in their code without debug info associated
+ * take care of this situation
+ */
+ if (be_cpu->is_jump((void*)lin, &jumpee))
+ return symbol_get_function_line_status(&jumpee);
return dbg_no_line_info;
+ }
switch (sym->Tag)
{