Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x64 state preservation while in x86 mode #822

Open
derekbruening opened this issue Nov 28, 2014 · 0 comments
Open

x64 state preservation while in x86 mode #822

derekbruening opened this issue Nov 28, 2014 · 0 comments

Comments

@derekbruening
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant