ancient@nickolaypc ~ % valgrind ./a.out ==9016== Memcheck, a memory error detector ==9016== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==9016== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==9016== Command: ./a.out ==9016== vex x86->IR: unhandled instruction bytes: 0x67 0xE8 0x7B 0x68 ==9016== valgrind: Unrecognised instruction at address 0x400301f. ==9016== at 0x400301F: dl_main (in /usr/lib/ld-2.25.so) ==9016== by 0x4016A25: _dl_sysdep_start (in /usr/lib/ld-2.25.so) ==9016== by 0x4001861: _dl_start (in /usr/lib/ld-2.25.so) ==9016== by 0x4000AF6: ??? (in /usr/lib/ld-2.25.so) ==9016== Your program just tried to execute an instruction that Valgrind ==9016== did not recognise. There are two possible reasons for this. ==9016== 1. Your program has a bug and erroneously jumped to a non-code ==9016== location. If you are running Memcheck and you just saw a ==9016== warning about a bad jump, it's probably your program's fault. ==9016== 2. The instruction is legitimate but Valgrind doesn't handle it, ==9016== i.e. it's Valgrind's fault. If you think this is the case or ==9016== you are not sure, please let us know and we'll try to fix it. ==9016== Either way, Valgrind will now raise a SIGILL signal which will ==9016== probably kill your program. ==9016== ==9016== Process terminating with default action of signal 4 (SIGILL): dumping core ==9016== Illegal opcode at address 0x400301F ==9016== at 0x400301F: dl_main (in /usr/lib/ld-2.25.so) ==9016== by 0x4016A25: _dl_sysdep_start (in /usr/lib/ld-2.25.so) ==9016== by 0x4001861: _dl_start (in /usr/lib/ld-2.25.so) ==9016== by 0x4000AF6: ??? (in /usr/lib/ld-2.25.so) ==9016== ==9016== HEAP SUMMARY: ==9016== in use at exit: 0 bytes in 0 blocks ==9016== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==9016== ==9016== All heap blocks were freed -- no leaks are possible ==9016== ==9016== For counts of detected and suppressed errors, rerun with: -v ==9016== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) [1] 9016 illegal hardware instruction (core dumped) valgrind ./a.out