On Sat, 2018-06-16 at 19:09 -0400, Alan Corey wrote: > > Linux version 4.16.0-2-arm64 ([email protected]) (gcc > version 7.3.0 (Debian 7.3.0-19)) #1 SMP Debian 4.16.12-1 (2018-05-27) > > The Valgrind was a 3.13.0 that I'd built from the distribution > tarball, then I discovered the same version had been added (Debian > Unstable) to the standard debs. I wanted to see Valkyrie so I did a > make uninstall and installed Valgrind and Valkyrie from the debs. > > From before it broke: > > ==6541== Memcheck, a memory error detector > ==6541== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. > ==6541== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info > ==6541== Command: ./cmpi2 > ==6541== > ARM64 front end: branch_etc > disInstr(arm64): unhandled instruction 0xD5380000 > disInstr(arm64): 1101'0101 0011'1000 0000'0000 0000'0000 > ==6541== valgrind: Unrecognised instruction at address 0x4014e2c. > ==6541== at 0x4014E2C: init_cpu_features (cpu-features.c:72) > ==6541== by 0x4014E2C: dl_platform_init (dl-machine.h:208) > ==6541== by 0x4014E2C: _dl_sysdep_start (dl-sysdep.c:231) > ==6541== by 0x40018D3: _dl_start_final (rtld.c:414) > ==6541== by 0x4001B57: _dl_start (rtld.c:523) > ==6541== by 0x40011C7: ??? (in /lib/aarch64-linux-gnu/ld-2.27.so) > ==6541== Your program just tried to execute an instruction that Valgrind > ==6541== did not recognise. There are two possible reasons for this. > ==6541== 1. Your program has a bug and erroneously jumped to a non-code > ==6541== location. If you are running Memcheck and you just saw a > ==6541== warning about a bad jump, it's probably your program's fault. > ==6541== 2. The instruction is legitimate but Valgrind doesn't handle it, > ==6541== i.e. it's Valgrind's fault. If you think this is the case or > ==6541== you are not sure, please let us know and we'll try to fix it. > ==6541== Either way, Valgrind will now raise a SIGILL signal which will > ==6541== probably kill your program. > ==6541== > ==6541== Process terminating with default action of signal 4 (SIGILL): > dumping core > ==6541== Illegal opcode at address 0x4014E2C > ==6541== at 0x4014E2C: init_cpu_features (cpu-features.c:72) > ==6541== by 0x4014E2C: dl_platform_init (dl-machine.h:208) > ==6541== by 0x4014E2C: _dl_sysdep_start (dl-sysdep.c:231) > ==6541== by 0x40018D3: _dl_start_final (rtld.c:414) > ==6541== by 0x4001B57: _dl_start (rtld.c:523) > ==6541== by 0x40011C7: ??? (in /lib/aarch64-linux-gnu/ld-2.27.so)
That is https://bugs.kde.org/show_bug.cgi?id=381556 arm64: Handle feature registers access on 4.11 Linux kernel or later In Fedora we carry a workaround as mentioned in comment #1: https://bugs.kde.org/show_bug.cgi?id=381556#c1 But this really needs someone who knows what the various HWCAP flags really mean on arm64 and which ones we should/shouldn't mask to indicate what instructions valgrind/VEX emulates. Cheers, Mark ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Valgrind-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/valgrind-users
