On 6/28/22, Mathieu Malaterre wrote:
% strace ./memcheck/memcheck-arm-linux
execve("./memcheck/memcheck-arm-linux",
["./memcheck/memcheck-arm-linux"], 0xbe962730 /* 19 vars */) = 0
--- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x58072020} ---
+++ killed by SIGILL +++
zsh: illegal hardware instruction  strace ./memcheck/memcheck-arm-linux

memcheck wants determine the actual hardware capabilities.
The description given by AT_PLATFORM, AT_HWCAP, AT_HWCAP2
has not always been complete and correct, so memcheck
tries the hardware instructions that matter, and memcheck
is prepared to handle SIGILL if it occurs.  Thus there
are likely to be a few deliberate SIGILL near the beginning.
If strace always halts upon SIGILL, without letting
memcheck's handler catch the SIGILL and recover from it,
then strace is too eager.  For instance, on x86_64
strace always aborts on 'int3' regardless of signal handlers.

What happens without using 'strace'?


_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to