You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
any use of 32-bit registers in our added code or gencode
routines could destroy app state kept in top bits! Should never happen
for WOW64, but if have 64-bit app who has a little 32-bit code could
happen. We can get fcache_{enter,return} correct, but stubs and ibl will
be difficult since we don't know whether any particular register's top
bits are live or not. For stubs can switch to writing &linkstub_t
directly to memory. For ibl, app can do jmp32; jmp64 and we'll mess up
in the jmp32 ibl.
Probably best to punt on supporting high bit preservation across mode
changes since the only fix is to have the ibl swap to x64 mode whenever
it spills or restores a register.
From [email protected] on June 21, 2012 15:21:47
this was PR 283152
any use of 32-bit registers in our added code or gencode
routines could destroy app state kept in top bits! Should never happen
for WOW64, but if have 64-bit app who has a little 32-bit code could
happen. We can get fcache_{enter,return} correct, but stubs and ibl will
be difficult since we don't know whether any particular register's top
bits are live or not. For stubs can switch to writing &linkstub_t
directly to memory. For ibl, app can do jmp32; jmp64 and we'll mess up
in the jmp32 ibl.
Probably best to punt on supporting high bit preservation across mode
changes since the only fix is to have the ibl swap to x64 mode whenever
it spills or restores a register.
Original issue: http://code.google.com/p/dynamorio/issues/detail?id=822
The text was updated successfully, but these errors were encountered: