From: Eric Pouech <eric.pouech(a)gmail.com> Signed-off-by: Eric Pouech <eric.pouech(a)gmail.com> --- dlls/dbghelp/symbol.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c index c82b5b3d4ef..18699e47984 100644 --- a/dlls/dbghelp/symbol.c +++ b/dlls/dbghelp/symbol.c @@ -150,11 +150,10 @@ static BOOL symt_grow_sorttab(struct module* module, unsigned sz) return TRUE; } -static void symt_add_module_ht(struct module* module, struct symt_ht* ht) +static void symt_add_module_addr(struct module* module, struct symt_ht* ht) { ULONG64 addr; - hash_table_add(&module->ht_symbols, &ht->hash_elt); /* Don't store in sorttab a symbol without address, they are of * no use here (e.g. constant values) */ @@ -166,6 +165,12 @@ static void symt_add_module_ht(struct module* module, struct symt_ht* ht) } } +static void symt_add_module_ht(struct module* module, struct symt_ht* ht) +{ + hash_table_add(&module->ht_symbols, &ht->hash_elt); + symt_add_module_addr(module, ht); +} + static WCHAR* file_regex(const char* srcfile) { WCHAR* mask; @@ -488,6 +493,8 @@ struct symt_data* symt_add_func_local(struct module* module, else p = vector_add(&func->vchildren, &module->pool); *p = &locsym->symt; + if (dt == DataIsStaticLocal) + symt_add_module_addr(module, (struct symt_ht*)locsym); return locsym; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1439