mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 00:45:24 +00:00
[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@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 3b6c268380d703079fa3c5ca06f67b6feb02487f by Jacek Caban <jacek@codeweavers.com>
This commit is contained in:
parent
0b8d0e0a61
commit
d6dca1da17
2 changed files with 2 additions and 4 deletions
|
@ -526,13 +526,11 @@ static unsigned i386_map_dwarf_register(unsigned regno, const struct module* mod
|
||||||
case 3: reg = CV_REG_EBX; break;
|
case 3: reg = CV_REG_EBX; break;
|
||||||
case 4:
|
case 4:
|
||||||
case 5:
|
case 5:
|
||||||
#ifdef __APPLE__
|
|
||||||
/* On OS X, DWARF eh_frame uses a different mapping for the registers. It's
|
/* 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. */
|
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;
|
reg = (regno == 4) ? CV_REG_EBP : CV_REG_ESP;
|
||||||
else
|
else
|
||||||
#endif
|
|
||||||
reg = (regno == 4) ? CV_REG_ESP : CV_REG_EBP;
|
reg = (regno == 4) ? CV_REG_ESP : CV_REG_EBP;
|
||||||
break;
|
break;
|
||||||
case 6: reg = CV_REG_ESI; break;
|
case 6: reg = CV_REG_ESI; break;
|
||||||
|
|
|
@ -4,4 +4,4 @@ files:
|
||||||
include/dbghelp.h: sdk/include/psdk/dbghelp.h
|
include/dbghelp.h: sdk/include/psdk/dbghelp.h
|
||||||
include/wine/mscvpdb.h: sdk/include/reactos/wine/mscvpdb.h
|
include/wine/mscvpdb.h: sdk/include/reactos/wine/mscvpdb.h
|
||||||
tags:
|
tags:
|
||||||
wine: 5d8067c6088a30cdb4fe6945e6ae1cda0da85467
|
wine: 3b6c268380d703079fa3c5ca06f67b6feb02487f
|
||||||
|
|
Loading…
Reference in a new issue