From b7d8c1b1c2a7baf2dfcf1d7e324b194de3b903b6 Mon Sep 17 00:00:00 2001 From: winesync Date: Fri, 11 Sep 2020 16:53:27 +0200 Subject: [PATCH] [WINESYNC] dbghelp: Look for .eh_fram if no .eh_frame is found. lld produces these, because '.eh_frame' misses the eight-character limit by one character, but '.eh_fram' does not. This allows it to avoid producing a string table for this common section. Signed-off-by: Chip Davis Signed-off-by: Alexandre Julliard wine commit id 8000b5415d2c249176bda3d8b49f8fc9978e1623 by Chip Davis --- dll/win32/dbghelp/dwarf.c | 4 +++- sdk/tools/winesync/dbghelp.cfg | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dll/win32/dbghelp/dwarf.c b/dll/win32/dbghelp/dwarf.c index 1c227d5f23d..6d3fb534d98 100644 --- a/dll/win32/dbghelp/dwarf.c +++ b/dll/win32/dbghelp/dwarf.c @@ -3539,7 +3539,9 @@ BOOL dwarf2_parse(struct module* module, unsigned long load_offset, BOOL ret = TRUE; struct module_format* dwarf2_modfmt; - dwarf2_init_section(&eh_frame, fmap, ".eh_frame", NULL, &eh_frame_sect); + if (!dwarf2_init_section(&eh_frame, fmap, ".eh_frame", NULL, &eh_frame_sect)) + /* lld produces .eh_fram to avoid generating a long name */ + dwarf2_init_section(&eh_frame, fmap, ".eh_fram", NULL, &eh_frame_sect); dwarf2_init_section(§ion[section_debug], fmap, ".debug_info", ".zdebug_info", &debug_sect); dwarf2_init_section(§ion[section_abbrev], fmap, ".debug_abbrev", ".zdebug_abbrev", &debug_abbrev_sect); dwarf2_init_section(§ion[section_string], fmap, ".debug_str", ".zdebug_str", &debug_str_sect); diff --git a/sdk/tools/winesync/dbghelp.cfg b/sdk/tools/winesync/dbghelp.cfg index d06f4b1040f..3a6c57148d7 100644 --- a/sdk/tools/winesync/dbghelp.cfg +++ b/sdk/tools/winesync/dbghelp.cfg @@ -4,4 +4,4 @@ files: include/dbghelp.h: sdk/include/psdk/dbghelp.h include/wine/mscvpdb.h: sdk/include/reactos/wine/mscvpdb.h tags: - wine: 7a567d1bb00ea2cdac0e972220b1985800ab445e + wine: 8000b5415d2c249176bda3d8b49f8fc9978e1623