DynamoRIO / DynamoRIO/dynamorio

Encoding does not use compact forms of xchg

Open
#5,446 2 comments 0 reactions 0 assignees View on GitHub
Component-IR OpSys-x86 Priority-Low
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 18h
Merged PRs (30d)
30

Description

DR will encode `xchg %eax, %r8d` as 44 87 c0 and `xchg %ax, %r8w` as 66 41 87 c0 despite 41 90 and 66 41 90 being more compact encodings of the same thing.

Contributor guide

Open the contributing guide

Research direction

No file or test is named in the issue. Trace DynamoRIO's xchg encoding path, compare its output with the byte sequences in the report, and verify that the compact 32-bit and 16-bit forms are selected for these operands.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.