DynamoRIO / DynamoRIO/dynamorio

x64 state preservation while in x86 mode

Open
#822 0 comments 0 reactions 0 assignees View on GitHub
Migrated OpSys-x64 Priority-Low Type-Feature
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) 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_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.