DynamoRIO / DynamoRIO/dynamorio
consider cpuid features when deciding invalid instrs
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 30
Description
_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on April 11, 2011 10:37:32_
currently the DR encoder will not consider a new opcode as invalid
when running on an older processor that does not have that feature.
this isn't a serious problem for DR itself since the right thing
will happen when treating an invalid instr as valid: it's the other way
around that causes often-fatal problems.
but for DR as a disassembly library and for precision it would be nice
to consider the cpuid features of the current processor. the feature
set to assume may have to become a global setting when decoding statically.
_Original issue: http://code.google.com/p/dynamorio/issues/detail?id=431_
Contributor guide
Research direction
Start with the DR encoder and disassembly-library behavior described in the issue, then trace how CPUID features are currently represented when deciding whether an instruction is invalid. Done means the handling distinguishes processor-supported features from statically selected features, with the intended behavior made verifiable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100