https://bugs.kde.org/show_bug.cgi?id=522533
--- Comment #3 from Sam James <[email protected]> --- Jan rightly points out [0] that it may not make sense to build Valgrind itself w/ -Wa,-O2 but similar issues happen when Valgrind itself wasn't but it is executing a binary that was (sorry, should've said this earlier, I'd said it on IRC last night): ``` $ valgrind w ==758402== Memcheck, a memory error detector ==758402== Copyright (C) 2002-2026, and GNU GPL'd, by Julian Seward et al. ==758402== Using Valgrind-3.28.0.GIT and LibVEX; rerun with -h for copyright info ==758402== Command: w ==758402== 07:39:36 up 8:42, 1 user, load average: 0.33, 4.99, 4.94 USER TTY LOGIN@ IDLE JCPU PCPU WHAT sam pts/3 06:40 8.00s 0.23s ? tmux a vex amd64->IR: unhandled instruction bytes: 0x48 0xC1 0xC7 0x3 0x48 0xC1 0xC7 0xD 0x48 0xC1 vex amd64->IR: REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0 vex amd64->IR: VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=NONE vex amd64->IR: PFX.66=0 PFX.F2=0 PFX.F3=0 ==758402== valgrind: Unrecognised instruction at address 0x4931f5b. ==758402== at 0x4931F5B: cleanup_pools (in /usr/lib64/libsystemd.so.0.44.0) ==758402== by 0x400C061: _dl_call_fini (dl-call_fini.c:43) ==758402== by 0x401098F: _dl_fini (dl-fini.c:120) ==758402== by 0x4BA37CF: __run_exit_handlers (exit.c:118) ==758402== by 0x4BA38BB: exit (exit.c:148) ==758402== by 0x4B84290: (below main) (libc_start_call_main.h:83) ==758402== Your program just tried to execute an instruction that Valgrind ==758402== did not recognise. There are two possible reasons for this. ==758402== 1. Your program has a bug and erroneously jumped to a non-code ==758402== location. If you are running Memcheck and you just saw a ==758402== warning about a bad jump, it's probably your program's fault. ==758402== 2. The instruction is legitimate but Valgrind doesn't handle it, ==758402== i.e. it's Valgrind's fault. If you think this is the case or ==758402== you are not sure, please let us know and we'll try to fix it. ==758402== Either way, Valgrind will now raise a SIGILL signal which will ==758402== probably kill your program. ==758402== ==758402== Process terminating with default action of signal 4 (SIGILL): dumping core ==758402== Illegal opcode at address 0x4931F5B ==758402== at 0x4931F5B: cleanup_pools (in /usr/lib64/libsystemd.so.0.44.0) ==758402== by 0x400C061: _dl_call_fini (dl-call_fini.c:43) ==758402== by 0x401098F: _dl_fini (dl-fini.c:120) ==758402== by 0x4BA37CF: __run_exit_handlers (exit.c:118) ==758402== by 0x4BA38BB: exit (exit.c:148) ==758402== by 0x4B84290: (below main) (libc_start_call_main.h:83) [...] ``` [0] https://inbox.sourceware.org/binutils/[email protected]/ -- You are receiving this mail because: You are watching all bug changes.
