DynamoRIO / DynamoRIO/dynamorio

tool-added jecxz;jmp_short;jmp messes up DR by triggering instr_is_cti_short_rewrite()

Open
#2,825 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.