#640

Fix missing AT&T mnemonic size suffixes

OpenNitr0-Gwants to merge intofrom

Fixes https://github.com/zyantific/zydis/issues/625

All affected instructions:

CALL, JMP, POP, PUSH,
DEC, DIV, IDIV, IMUL, INC, MUL, NEG, NOP, NOT, PTWRITE,

FADD, FCOM, FCOMP, FDIV, FDIVR, FLD, FMUL, FST, FSTP, FSUB, FSUBR,

FIADD, FICOM, FICOMP, FIDIV, FIDIVR, FILD, FIMUL,
FIST, FISTP, FISTTP, FISUB, FISUBR,

FLDENV, FNSAVE, FNSTENV, FRSTOR,

LGDT, LIDT, SGDT, SIDT

Activity

2
mappzor3mo ago

This code looks very brittle, we generally try to avoid hardcoding based on mnemonics, especially when it'd be used so extensively. Another thing we don't like to rely on is meta information e.g. instruction->meta.category.

I didn't review this in full but I can already tell based on existing tests this produces invalid outputs like calll. I believe we need a better approach here and most importantly extensive validation effort to compare against binutils to solve this and other pending AT&T issues like some instructions with interfixes, something formatter isn't ready to support right now.