------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. http://bugs.kde.org/show_bug.cgi?id=111851 Summary: vex x86->IR: unhandled instruction bytes: 0x9F 0x89 0x5C 0x24 Product: valgrind Version: 3.0 SVN Platform: Compiled Sources OS/Version: Linux Status: UNCONFIRMED Severity: crash Priority: NOR Component: memcheck AssignedTo: jseward acm org ReportedBy: christopher.tate palmsource com Valgrind 3.x SVN, synced Wednesday 8/31/05 around noon Pacific time, is apparently unable to handle the "lahf"/"sahf" x86 instructions, and dies via SIGILL. Valgrind 2.4 handled these instructions fine. The code in question isn't easy to provide a reproducible case for; it's the result of a JIT translation from an ARM instruction stream. Here's the error message from valgrind: vex x86->IR: unhandled instruction bytes: 0x9F 0x89 0x5C 0x24 ==4877== ==4877== Process terminating with default action of signal 4 (SIGILL) ==4877== Illegal opcode at address 0x1D68A775 ==4877== at 0x1D68A775: ??? ==4877== at .... and here's the full generated code fragment: 0x1d68a720: push ebp 0x1d68a721: mov ebp, esp 0x1d68a723: sub esp, 044h 0x1d68a726: push ebx 0x1d68a727: push ecx 0x1d68a728: push edi 0x1d68a729: push esi 0x1d68a72a: mov eax, [esp+00000005ch] 0x1d68a72e: mov [esp+000000010h], eax 0x1d68a732: mov eax, [esp+000000060h] 0x1d68a736: mov [esp+000000014h], eax 0x1d68a73a: mov eax, [esp+000000010h] 0x1d68a73e: mov ecx, [esp+000000044h] 0x1d68a742: mov [eax+000000b30h], ecx 0x1d68a748: mov edx, eax 0x1d68a74a: mov ebx, [edx+00000081ch] 0x1d68a750: mov esi, [edx+000000818h] 0x1d68a756: mov edi, [edx+000000964h] 0x1d68a75c: sub ebx, 000010000h 0x1d68a762: mov [esp+00000003ch], esi 0x1d68a766: shr esi, 010h 0x1d68a769: imul edi, [esp+000000014h] 0x1d68a76e: add edi, esi 0x1d68a770: mov eax, [esp+000000050h] 0x1d68a774: sahf 0x1d68a775: lahf 0x1d68a776: mov [esp+000000018h], ebx 0x1d68a77a: shr ebx, 010h 0x1d68a77d: mov [esp+00000003ch], esi 0x1d68a781: xchg esi, ebx 0x1d68a783: sub esi, ebx 0x1d68a785: mov [esp+000000018h], esi 0x1d68a789: shl esi, 010h 0x1d68a78c: mov ebx, [edx+000000968h] 0x1d68a792: mov [esp+000000040h], edi 0x1d68a796: shl edi, 1 0x1d68a798: add ebx, edi 0x1d68a79a: mov edi, [edx+000000e68h] 0x1d68a7a0: mov [esp+000000050h], eax 0x1d68a7a4: mov [esp+000000034h], edx 0x1d68a7a8: mov [esp+000000014h], ebx 0x1d68a7ac: mov [esp+000000018h], esi 0x1d68a7b0: mov [esp+000000020h], edi 0x1d68a7b4: mov eax, [esp+000000014h] 0x1d68a7b8: mov ecx, [esp+000000020h] 0x1d68a7bc: mov [eax], cx 0x1d68a7c2: mov [esp+000000014h], eax 0x1d68a7c6: mov eax, [esp+000000018h] 0x1d68a7ca: sub eax, 000010000h 0x1d68a7cf: mov [esp+000000018h], eax 0x1d68a7d3: jnl 01d68a7b4h 0x1d68a7d9: mov eax, [esp+000000034h] 0x1d68a7dd: mov ecx, [eax+000000b30h] 0x1d68a7e3: pop esi 0x1d68a7e4: pop edi 0x1d68a7e5: pop ecx 0x1d68a7e6: pop ebx 0x1d68a7e7: mov esp, ebp 0x1d68a7e9: pop ebp 0x1d68a7ea: retn