Summary: | unsupported AVX instruction on 32 bit | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | hanno |
Component: | general | Assignee: | Julian Seward <jseward> |
Status: | REPORTED --- | ||
Severity: | wishlist | CC: | mark, sam |
Priority: | NOR | ||
Version: | 3.10.0 | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | c file calling vzeroupper |
VZEROUPPER is an AVX instruction only supported by valgrind for amd64 (x86_64) executables, not for i386 executables. |
Created attachment 89535 [details] c file calling vzeroupper When I try to valgrind a 32-bit program which contains the vzeroupper instruction valgrind will report an illegal instruction: vex x86->IR: unhandled instruction bytes: 0xC5 0xF8 0x77 0x5D See attached PoC, compile it with gcc -m32 and run valgrind on the output. This is not a constructed example, it happened to me while running real-world debugging. Seems the 32 bit libc on my system contains this instruction in the function vsprintf.