DynamoRIO / DynamoRIO/dynamorio
translate the FPU instruction pointer
- 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 March 13, 2012 00:01:59_
the FPU status includes an instruction pointer selector and offset. DR today does not translate it from the code cache to the corresponding app address.
sample code from Jun Koi:
#include
int main()
{
int edx, ecx;
```
__asm__ __volatile__ (
"x: fldz;" \
"movl $x, %%ecx;" \
"push %%edx;" \
"fnstenv -0xc(%%esp);" \
"pop %%edx;" : "=d" (edx), "=c" (ecx) : : "memory");
if (ecx == edx)
printf("FNSTENV is correctly handled\n");
else
printf("FNSTENV is incorrectly handled: edx = %x, ecx = %x\n", edx, ecx);
return 0;
```
}
_Original issue: http://code.google.com/p/dynamorio/issues/detail?id=698_
Contributor guide
Assessment
This issue has not been assessed yet.