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.

Reply via email to