toolkit/crashreporter/google-breakpad/src/third_party/libdisasm/TODO

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

michael@0 1 x86_format.c
michael@0 2 ------------
michael@0 3 intel: jmpf -> jmp, callf -> call
michael@0 4 att: jmpf -> ljmp, callf -> lcall
michael@0 5
michael@0 6 opcode table
michael@0 7 ------------
michael@0 8 finish typing instructions
michael@0 9 fix flag clear/set/toggle types
michael@0 10
michael@0 11 ix64 stuff
michael@0 12 ----------
michael@0 13 document output file formats in web page
michael@0 14 features doc: register aliases, implicit operands, stack mods,
michael@0 15 ring0 flags, eflags, cpu model/isa
michael@0 16
michael@0 17 ia32_handle_* implementation
michael@0 18
michael@0 19 fix operand 0F C2
michael@0 20 CMPPS
michael@0 21
michael@0 22 * sysenter, sysexit as CALL types -- preceded by MSR writes
michael@0 23 * SYSENTER/SYSEXIT stack : overwrites SS, ESP
michael@0 24 * stos, cmps, scas, movs, ins, outs, lods -> OP_PTR
michael@0 25 * OP_SIZE in implicit operands
michael@0 26 * use OP_SIZE to choose reg sizes!
michael@0 27
michael@0 28 DONE?? :
michael@0 29 implicit operands: provide action ?
michael@0 30 e.g. add/inc for stach, write, etc
michael@0 31 replace table numbers in opcodes.dat with
michael@0 32 #defines for table names
michael@0 33
michael@0 34 replace 0 with INSN_INVALID [or maybe FF for imnvalid and 00 for Not Applicable */
michael@0 35 no wait that is only for prefix tables -- n/p
michael@0 36
michael@0 37 if ( prefx) only use if insn != invalid
michael@0 38
michael@0 39 these should cover all the wacky disasm exceptions
michael@0 40
michael@0 41 for the rep one we can chet, match only a 0x90
michael@0 42
michael@0 43 todo: privilege | ring

mercurial