https://bugs.kde.org/show_bug.cgi?id=384230
Bug ID: 384230 Summary: vex x86->IR: unhandled instruction bytes: 0x67 0xE8 0xAB 0x68 Product: valgrind Version: 3.13.0 Platform: Other OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: vex Assignee: jsew...@acm.org Reporter: lp...@kde.org Target Milestone: --- Created attachment 107620 --> https://bugs.kde.org/attachment.cgi?id=107620&action=edit ld objdump -d uname -a Linux pol-lx-007 4.12.8-2-ARCH #1 SMP PREEMPT Fri Aug 18 14:08:02 UTC 2017 x86_64 GNU/Linux cat /etc/issue Arch Linux \r (\l) cat main.c int main() { return 0; } gcc -m32 main.c valgrind -v --sym-offsets=yes ./a.out ==1594== Memcheck, a memory error detector ==1594== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==1594== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==1594== Command: ./a.out ==1594== --1594-- Valgrind options: --1594-- -v --1594-- --sym-offsets=yes --1594-- Contents of /proc/version: --1594-- Linux version 4.12.8-2-ARCH (builduser@foutrelis) (gcc version 7.2.0 (GCC) ) #1 SMP PREEMPT Fri Aug 18 14:08:02 UTC 2017 --1594-- --1594-- Arch and hwcaps: X86, LittleEndian, x86-mmxext-sse1-sse2-sse3 --1594-- Page sizes: currently 4096, max supported 4096 --1594-- Valgrind library directory: /usr/lib/valgrind --1594-- Reading syms from /tmp/a.out --1594-- Reading syms from /usr/lib32/ld-2.25.so --1594-- Reading syms from /usr/lib/valgrind/memcheck-x86-linux --1594-- object doesn't have a symbol table --1594-- object doesn't have a dynamic symbol table --1594-- Scheduler: using generic scheduler lock implementation. --1594-- Reading suppressions file: /usr/lib/valgrind/default.supp ==1594== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-1594-by-lpapp-on-??? ==1594== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-1594-by-lpapp-on-??? ==1594== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-1594-by-lpapp-on-??? ==1594== ==1594== TO CONTROL THIS PROCESS USING vgdb (which you probably ==1594== don't want to do, unless you know exactly what you're doing, ==1594== or are doing some strange experiment): ==1594== /usr/lib/valgrind/../../bin/vgdb --pid=1594 ...command... ==1594== ==1594== TO DEBUG THIS PROCESS USING GDB: start GDB like this ==1594== /path/to/gdb ./a.out ==1594== and then give GDB the following command ==1594== target remote | /usr/lib/valgrind/../../bin/vgdb --pid=1594 ==1594== --pid is optional if only one valgrind process is running ==1594== --1594-- REDIR: 0x40195a0 (ld-linux.so.2:strlen) redirected to 0x58057063 (???) vex x86->IR: unhandled instruction bytes: 0x67 0xE8 0xAB 0x68 ==1594== valgrind: Unrecognised instruction at address 0x400301f. ==1594== at 0x400301F: dl_main+4975 (in /usr/lib32/ld-2.25.so) ==1594== by 0x4016A65: _dl_sysdep_start+1269 (in /usr/lib32/ld-2.25.so) ==1594== by 0x4001861: _dl_start+513 (in /usr/lib32/ld-2.25.so) ==1594== by 0x4000AF6: ??? (in /usr/lib32/ld-2.25.so) ==1594== Your program just tried to execute an instruction that Valgrind ==1594== did not recognise. There are two possible reasons for this. ==1594== 1. Your program has a bug and erroneously jumped to a non-code ==1594== location. If you are running Memcheck and you just saw a ==1594== warning about a bad jump, it's probably your program's fault. ==1594== 2. The instruction is legitimate but Valgrind doesn't handle it, ==1594== i.e. it's Valgrind's fault. If you think this is the case or ==1594== you are not sure, please let us know and we'll try to fix it. ==1594== Either way, Valgrind will now raise a SIGILL signal which will ==1594== probably kill your program. ==1594== ==1594== Process terminating with default action of signal 4 (SIGILL): dumping core ==1594== Illegal opcode at address 0x400301F ==1594== at 0x400301F: dl_main+4975 (in /usr/lib32/ld-2.25.so) ==1594== by 0x4016A65: _dl_sysdep_start+1269 (in /usr/lib32/ld-2.25.so) ==1594== by 0x4001861: _dl_start+513 (in /usr/lib32/ld-2.25.so) ==1594== by 0x4000AF6: ??? (in /usr/lib32/ld-2.25.so) ==1594== ==1594== HEAP SUMMARY: ==1594== in use at exit: 0 bytes in 0 blocks ==1594== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==1594== ==1594== All heap blocks were freed -- no leaks are possible ==1594== ==1594== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ==1594== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Illegal instruction (core dumped) ld --version GNU ld (GNU Binutils) 2.28.0.20170506 Copyright (C) 2017 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty. -- You are receiving this mail because: You are watching all bug changes.