[PATCH] [DbgHelp]: correctly returning flags in SYMBOL_INFO structure for local variables stored in a register
Eric Pouech
eric.pouech at orange.fr
Mon Jan 2 14:28:04 CST 2012
A+
---
dlls/dbghelp/symbol.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c
index 7d51d9c..73d7267 100644
--- a/dlls/dbghelp/symbol.c
+++ b/dlls/dbghelp/symbol.c
@@ -680,6 +680,7 @@ static void symt_fill_sym_info(struct module_pair* pair,
sym_info->Flags |= SYMFLAG_PARAMETER;
/* fall through */
case DataIsLocal:
+ sym_info->Flags |= SYMFLAG_LOCAL;
{
struct location loc = data->u.var;
@@ -702,7 +703,6 @@ static void symt_fill_sym_info(struct module_pair* pair,
{
case loc_error:
/* for now we report error cases as a negative register number */
- sym_info->Flags |= SYMFLAG_LOCAL;
/* fall through */
case loc_register:
sym_info->Flags |= SYMFLAG_REGISTER;
@@ -710,7 +710,7 @@ static void symt_fill_sym_info(struct module_pair* pair,
sym_info->Address = 0;
break;
case loc_regrel:
- sym_info->Flags |= SYMFLAG_LOCAL | SYMFLAG_REGREL;
+ sym_info->Flags |= SYMFLAG_REGREL;
sym_info->Register = loc.reg;
if (loc.reg == CV_REG_NONE || (int)loc.reg < 0 /* error */)
FIXME("suspicious register value %x\n", loc.reg);
More information about the wine-patches
mailing list