[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 111851] New: vex x86->IR: unhandled instruction bytes: 0x9F 0x89
From: Christopher Tate <christopher.tate () palmsource ! com>
Date: 2005-08-31 22:03:08
Message-ID: 20050901000306.111851.christopher.tate () palmsource ! com
[Download RAW message or body]
------- 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
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic