DynamoRIO / DynamoRIO/dynamorio
Handle TRACE_MARKER_TYPE_UNCOMPLETED_INSTRUCTION in Public Traces
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
In future version of public traces (i.e., Google workload traces destined to public release) we want to preserve `TRACE_MARKER_TYPE_UNCOMPLETED_INSTRUCTION` markers in the resulting public trace.
This marker has as value the partial encoding of the uncompleted instruction.
Partial encoding does not allow us to generate an instr_t that we can then convert with `instr_convert_to_isa_regdeps()`, so we first need to retrieve the full encoding of the uncompleted instruction.
If we have the binary, the full encoding should be always be the instruction fetch at next PC, and if prior is branch we should have the target.
Another issue we need to solve is that a marker value can only contain up to 8 byte (in 64 bit arches) or a pointer-size amount of partial encoding, while DR_ISA_REGDEPS instruction encodings can be larger than that.
Contributor guide
Assessment
This issue has not been assessed yet.