Module: wine Branch: master Commit: dcbb145658ccbadcb8e45401cc5dde26251c87d2 URL: https://gitlab.winehq.org/wine/wine/-/commit/dcbb145658ccbadcb8e45401cc5dde2...
Author: Eric Pouech eric.pouech@gmail.com Date: Fri Nov 18 11:35:08 2022 +0100
dbghelp: Function static variables should be found by address.
Signed-off-by: Eric Pouech eric.pouech@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; }