From 1bcdb17455d022a87e672e3b817cca656365d69d Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Fri, 7 Oct 2022 11:40:00 +0200 Subject: [PATCH] dbghelp: Remove symt_close_func_block() stabs's only parameter. Signed-off-by: Eric Pouech --- dlls/dbghelp/dbghelp_private.h | 4 ++-- dlls/dbghelp/dwarf.c | 4 +--- dlls/dbghelp/msc.c | 2 +- dlls/dbghelp/stabs.c | 6 ++++-- dlls/dbghelp/symbol.c | 7 +++---- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/dlls/dbghelp/dbghelp_private.h b/dlls/dbghelp/dbghelp_private.h index fd887718d8c..b6a7df10061 100644 --- a/dlls/dbghelp/dbghelp_private.h +++ b/dlls/dbghelp/dbghelp_private.h @@ -862,9 +862,9 @@ extern struct symt_block* struct symt_block* block, unsigned pc, unsigned len) DECLSPEC_HIDDEN; extern struct symt_block* - symt_close_func_block(struct module* module, + symt_close_func_block(struct module* module, const struct symt_function* func, - struct symt_block* block, unsigned pc) DECLSPEC_HIDDEN; + struct symt_block* block) DECLSPEC_HIDDEN; extern struct symt_hierarchy_point* symt_add_function_point(struct module* module, struct symt_function* func, diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c index 92229552929..8c57c211db4 100644 --- a/dlls/dbghelp/dwarf.c +++ b/dlls/dbghelp/dwarf.c @@ -2312,9 +2312,7 @@ static void dwarf2_parse_subprogram_block(dwarf2_subprogram_t* subpgm, } } - symt_close_func_block(subpgm->ctx->module_ctx->module, subpgm->current_func, subpgm->current_block, 0); - subpgm->current_block = symt_check_tag(subpgm->current_block->container, SymTagBlock) ? - (struct symt_block*)subpgm->current_block->container : NULL; + subpgm->current_block = symt_close_func_block(subpgm->ctx->module_ctx->module, subpgm->current_func, subpgm->current_block); } static struct symt* dwarf2_parse_subprogram(dwarf2_debug_info_t* di) diff --git a/dlls/dbghelp/msc.c b/dlls/dbghelp/msc.c index 0109e4dd255..94f0c6af9ee 100644 --- a/dlls/dbghelp/msc.c +++ b/dlls/dbghelp/msc.c @@ -2472,7 +2472,7 @@ static BOOL codeview_snarf(const struct msc_debug_info* msc_dbg, case S_END: if (block) { - block = symt_close_func_block(msc_dbg->module, curr_func, block, 0); + block = symt_close_func_block(msc_dbg->module, curr_func, block); } else if (top_func) { diff --git a/dlls/dbghelp/stabs.c b/dlls/dbghelp/stabs.c index badb07e3b5c..e1945b41d66 100644 --- a/dlls/dbghelp/stabs.c +++ b/dlls/dbghelp/stabs.c @@ -1381,8 +1381,10 @@ BOOL stabs_parse(struct module* module, ULONG_PTR load_offset, break; case N_RBRAC: if (curr_func) - block = symt_close_func_block(module, curr_func, block, - n_value); + { + block->size = curr_func->address + n_value - block->address; + block = symt_close_func_block(module, curr_func, block); + } break; case N_PSYM: /* These are function parameters. */ diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c index 98e25a32b30..9d248630393 100644 --- a/dlls/dbghelp/symbol.c +++ b/dlls/dbghelp/symbol.c @@ -549,14 +549,13 @@ struct symt_block* symt_open_func_block(struct module* module, return block; } -struct symt_block* symt_close_func_block(struct module* module, +struct symt_block* symt_close_func_block(struct module* module, const struct symt_function* func, - struct symt_block* block, unsigned pc) + struct symt_block* block) { assert(symt_check_tag(&func->symt, SymTagFunction) || symt_check_tag(&func->symt, SymTagInlineSite)); - if (pc) block->size = func->address + pc - block->address; - return (block->container->tag == SymTagBlock) ? + return (block->container->tag == SymTagBlock) ? CONTAINING_RECORD(block->container, struct symt_block, symt) : NULL; }