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

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/toolkit/crashreporter/google-breakpad/src/third_party/libdisasm/TODO	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,43 @@
     1.4 +x86_format.c
     1.5 +------------
     1.6 +intel: jmpf -> jmp, callf -> call
     1.7 +att: jmpf -> ljmp, callf -> lcall
     1.8 +
     1.9 +opcode table
    1.10 +------------
    1.11 +finish typing instructions
    1.12 +fix flag clear/set/toggle types
    1.13 +
    1.14 +ix64 stuff
    1.15 +----------
    1.16 +document output file formats in web page
    1.17 +features doc: register aliases, implicit operands, stack mods,
    1.18 +ring0 flags, eflags, cpu model/isa
    1.19 +
    1.20 +ia32_handle_* implementation
    1.21 +
    1.22 +fix operand 0F C2
    1.23 +CMPPS
    1.24 +
    1.25 +* sysenter, sysexit as CALL types -- preceded by MSR writes
    1.26 +* SYSENTER/SYSEXIT stack : overwrites SS, ESP
    1.27 +* stos, cmps, scas, movs, ins, outs, lods -> OP_PTR
    1.28 +* OP_SIZE in implicit operands
    1.29 +* use OP_SIZE to choose reg sizes!
    1.30 +
    1.31 +DONE?? :
    1.32 +implicit operands: provide action ?
    1.33 +e.g. add/inc for stach, write, etc 
    1.34 +replace table numbers in opcodes.dat with
    1.35 +#defines for table names
    1.36 +
    1.37 +replace 0  with INSN_INVALID   [or maybe FF for imnvalid and 00 for Not Applicable */
    1.38 +no wait that is only for prefix tables -- n/p
    1.39 +
    1.40 +if ( prefx) only use if insn != invalid
    1.41 +
    1.42 +these should cover all the wacky disasm exceptions 
    1.43 +
    1.44 +for the rep one we can chet, match only a 0x90
    1.45 +
    1.46 +todo: privilege | ring

mercurial