https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d6dca1da171f0768ac8a0…
commit d6dca1da171f0768ac8a0530f9e9febc6f03008d
Author: winesync <ros-dev(a)reactos.org>
AuthorDate: Fri Sep 11 18:46:08 2020 +0200
Commit: Jérôme Gardou <jerome.gardou(a)reactos.org>
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 <jacek(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
wine commit id 3b6c268380d703079fa3c5ca06f67b6feb02487f by Jacek Caban
<jacek(a)codeweavers.com>
---
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