DynamoRIO / DynamoRIO/dynamorio
tool-added jecxz;jmp_short;jmp messes up DR by triggering instr_is_cti_short_rewrite()
Open
Bug-Assert
Usability
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
For #2820 I'm adding instrumentation that uses jecxz but can't always
reach, so I used the landing pad pattern jecxz;jmp_short;jmp, but that
fails to run and hits a DR assert:
```
$ clients/bin64/tool.drcacheoff.burst_threadfilter
pre-DR init
pre-DR start
```
It matches instr_is_cti_short_rewrite() and confuses DR.
For now I'm putting a nop after the jmp_short which won't be executed but
is a waste of space.
Contributor guide
Assessment
This issue has not been assessed yet.