dbghelp: Use DWARF registry mapping quirk only for actual macho modules.
Fixes handling DWARF in PE on macOS. Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
5d8067c608
commit
3b6c268380
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue