From 3b6c268380d703079fa3c5ca06f67b6feb02487f Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Sun, 29 Mar 2020 21:01:02 +0200 Subject: [PATCH] dbghelp: Use DWARF registry mapping quirk only for actual macho modules. Fixes handling DWARF in PE on macOS. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/dbghelp/cpu_i386.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dlls/dbghelp/cpu_i386.c b/dlls/dbghelp/cpu_i386.c index 6636d445c58..fd808a0d324 100644 --- a/dlls/dbghelp/cpu_i386.c +++ b/dlls/dbghelp/cpu_i386.c @@ -520,13 +520,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;