vmt / udis86

Disassembler Library for x86 and x86-64
http://udis86.sourceforge.net
BSD 2-Clause "Simplified" License
1.02k stars 298 forks source link

Ordering of itab.h and itab.c varies between runs and Python versions… #145

Open martindorey opened 1 year ago

martindorey commented 1 year ago

… #144 (https://github.com/vmt/udis86/issues/144)

scripts/ud_opcode.py: Working on https://github.com/vmt/udis86/issues/120, because I hadn't realized that someone had already got properly to the root of it, in https://github.com/vmt/udis86/pull/139, I was hampered by the output, specifically itab.h, changing order every time I ran:

UD_OPCODE_DEBUG=1 python3 ../scripts/ud_itab.py ../docs/x86/optable.xml .

... from the libudis86/ directory. The getLabels change here fixes that to be in a defined ordering.

The mergeSSENONE change fixes the ordering differences I see in itab.c between running the above command and similar with python2, by iterating over each table in the same style as used by genOpcodeTable in class UdItabGenerator in scripts/ud_itab.py.