DynamoRIO / DynamoRIO/dynamorio
64-bit Windows ymmh registers not properly preserved
Open
Bug-AppFail
OpSys-Windows
OpSys-x64
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
In short, Windows defines xmm6-xmm15 registers to be callee-saved. Probably for back-compatibility reasons the ymmh6-15 parts (upper 128 bits) are volatile.
Spec: https://docs.microsoft.com/en-us/cpp/build/x64-software-conventions?view=vs-2017#register-usage
Currently DR does not preserve the ymmh6-15 states when context switching.
xref #1312
Contributor guide
Assessment
This issue has not been assessed yet.