GaloisInc / dismantle

A library of assemblers and disassemblers derived from LLVM TableGen data
24 stars 5 forks source link

Fix the parsing of Thumb2 instructions #35

Closed travitch closed 3 years ago

travitch commented 3 years ago

See the details in the endianness function documentation. Long story short: Thumb2 instructions are parsed as two independent 16 bit words (rather than a single Word32), which requires different endian swapping.

Note that all of the Thumb2 parse tables were incorrect before. This change significantly shrank the pre-generated Thumb parsing tables.