https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d6dca1da171f0768ac8a0530f9e9febc6f03008d
commit d6dca1da171f0768ac8a0530f9e9febc6f03008d Author: winesync <[email protected]> AuthorDate: Fri Sep 11 18:46:08 2020 +0200 Commit: Jérôme Gardou <[email protected]> CommitDate: Wed Sep 16 10:35:50 2020 +0200 [WINESYNC] dbghelp: Use DWARF registry mapping quirk only for actual macho modules. Fixes handling DWARF in PE on macOS. Signed-off-by: Jacek Caban <[email protected]> Signed-off-by: Alexandre Julliard <[email protected]> wine commit id 3b6c268380d703079fa3c5ca06f67b6feb02487f by Jacek Caban <[email protected]> --- dll/win32/dbghelp/cpu_i386.c | 4 +--- sdk/tools/winesync/dbghelp.cfg | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/dll/win32/dbghelp/cpu_i386.c b/dll/win32/dbghelp/cpu_i386.c index 1528b603221..78f477115d7 100644 --- a/dll/win32/dbghelp/cpu_i386.c +++ b/dll/win32/dbghelp/cpu_i386.c @@ -526,13 +526,11 @@ static unsigned i386_map_dwarf_register(unsigned regno, const struct module* mod case 3: reg = CV_REG_EBX; break; case 4: case 5: -#ifdef __APPLE__ /* On OS X, DWARF eh_frame uses a different mapping for the registers. It's apparently the mapping as emitted by GCC, at least at some point in its history. */ - if (eh_frame) + if (eh_frame && module->type == DMT_MACHO) reg = (regno == 4) ? CV_REG_EBP : CV_REG_ESP; else -#endif reg = (regno == 4) ? CV_REG_ESP : CV_REG_EBP; break; case 6: reg = CV_REG_ESI; break; diff --git a/sdk/tools/winesync/dbghelp.cfg b/sdk/tools/winesync/dbghelp.cfg index 4cfa407ebcf..85f89bf51d8 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: 5d8067c6088a30cdb4fe6945e6ae1cda0da85467 + wine: 3b6c268380d703079fa3c5ca06f67b6feb02487f
