retitle 655468 valgrind doesn't support the AVX instruction set. severity 655468 wishlist thanks
On Wed, Jan 11, 2012 at 02:29:25PM +0100, Ondra Lengal wrote: > Package: valgrind > Version: 1:3.7.0-1 > Severity: important > > Hi, > > I have a problem while debugging a GCC-compiled program on my Intel Core > i7-2600 (Sandy Bridge) with valgrind. Although the program runs and GDB > does not object as well, when run in valgrind it terminates with the > "unhandled instruction bytes" message (see the attached report), so > valgrind (and callgrind, ...) is currently unusable for me. My > unqualified guess is that there is a problem is with the use of SSE4.2 > instructions. > > Do you have any advice how to remove this error? It's nothing to do with sse4.2. > vex amd64->IR: unhandled instruction bytes: 0xC5 0xFA 0x10 0x5 0x7E 0x70 0xE > 0x0 Doing this: $ cat ~/a.c int main(void) { asm(".byte 0xC5, 0xFA, 0x10, 0x5, 0x7E, 0x70, 0xE, 0x0"); return 0; } $ make a Shows in gdb: Dump of assembler code for function main: 0x00000000004004d4 <+0>: push %rbp 0x00000000004004d5 <+1>: mov %rsp,%rbp 0x00000000004004d8 <+4>: vmovss 0xe707e(%rip),%xmm0 # 0x4e755e 0x00000000004004e0 <+12>: mov $0x0,%eax 0x00000000004004e5 <+17>: pop %rbp 0x00000000004004e6 <+18>: retq vmovss is AVX and valgrind doesn't support avx instructions. Solution: do not generate AVX insns (see gcc doc for that). It's likely that you're either passing -mavx to your GCC or are optimizing for an AVX enabled CPU. Just don't, it's not supported and documented. -- ·O· Pierre Habouzit ··O madco...@debian.org OOO http://www.madism.org -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org