add AVX opcodes to decode tables
From bruen...@google.com on February 22, 2011 11:56:29
this was part of PR 574181
now I'm seeing AVX instructions on x64 Lucid, causing failures in the thread tests:
Illegal instructionbin64/drrun -debug suite/tests/bin/linux.thread
interp: start_pc = 0x00007fbb9f8c0999 check_thread_vm_area: pc = 0x00007fbb9f8c0999 SYSLOG_WARNING: Invalid opcode encountered Error decoding 0x00007fbb9f8c0999 == 0x64 0xc5 0xfd decode: invalid instr at 0x00007fbb9f8c0999 0x00007fbb9f8c0999 64 c5 fd...?? 0x00007fbb9f8c099c 6f outs %ds:(%rsi) %dx %rsi -> %rsi 0x00007fbb9f8c099d 04 25 add $0x25 %al -> %al wrote all 6 flags now! 0x00007fbb9f8c099f 80 00 00 add $0x00 (%rax) -> (%rax) 0x00007fbb9f8c09a2 00 64 c5 fd add %ah 0xfffffffd(%rbp,%rax,8) -> 0xfffffffd(%rbp,%rax,8)
module ld-linux-x86-64.so.2 [0x00007fbb9f8ab000,0x00007fbb9facd000] added
(gdb) x/4i 0x00007fbb9f8c0999 - 0x00007fbb9f8ab000 + 0x00007f30fccde000 0x7f30fccf3999 <_dl_x86_64_restore_sse+9>: vmovdqa %fs:0x80,%ymm0 0x7f30fccf39a3 <_dl_x86_64_restore_sse+19>: vmovdqa %fs:0xa0,%ymm1 0x7f30fccf39ad <_dl_x86_64_restore_sse+29>: vmovdqa %fs:0xc0,%ymm2 (gdb) x/8bx 0x00007fbb9f8c0999 - 0x00007fbb9f8ab000 + 0x00007f30fccde000 0x7f30fccf3999 <_dl_x86_64_restore_sse+9>: 0x64 0xc5 0xfd 0x6f 0x04 0x25 0x80 0x00
Original issue: http://code.google.com/p/dynamorio/issues/detail?id=396