Hi, In an attempt to investigate a bug in the racket compiler under aarch64, I got myself an amazon arm machine (a1.xlarge instance) running ubuntu cosmic.
ubuntu@ip-172-31-16-13:~$ cat /proc/cpuinfo processor : 0 BogoMIPS : 166.66 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd08 CPU revision : 3 processor : 1 BogoMIPS : 166.66 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd08 CPU revision : 3 processor : 2 BogoMIPS : 166.66 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd08 CPU revision : 3 processor : 3 BogoMIPS : 166.66 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd08 CPU revision : 3 ubuntu@ip-172-31-16-13:~$ uname -a Linux ip-172-31-16-13 4.18.0-1008-aws #10-Ubuntu SMP Mon Jan 14 22:12:09 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux I have then build racket with gcc and ran valgrind on the command line I know to segfault and got this: $ valgrind ./racket3m -cqu ../../racket/mksystem.rkt system.rktd "gcc -E -I. -I../../racket/include -I../../racket/src -g -O2 -DUSE_SENORA_GC ../../racket/src/systype.c" "" machine "./racket3m" "./racket3m" ==18997== Memcheck, a memory error detector ==18997== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==18997== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==18997== Command: ./racket3m -cqu ../../racket/mksystem.rkt system.rktd gcc\ -E\ -I.\ -I../../racket/include\ -I../../racket/src\ -g\ -O2\ \ \ -DUSE_SENORA_GC\ \ \ \ ../../racket/src/systype.c machine ./racket3m ./racket3m ==18997== ARM64 front end: branch_etc disInstr(arm64): unhandled instruction 0xD5380000 disInstr(arm64): 1101'0101 0011'1000 0000'0000 0000'0000 ==18997== valgrind: Unrecognised instruction at address 0x40148e0. ==18997== at 0x40148E0: init_cpu_features (cpu-features.c:70) ==18997== by 0x40148E0: dl_platform_init (dl-machine.h:208) ==18997== by 0x40148E0: _dl_sysdep_start (dl-sysdep.c:231) ==18997== by 0x4001883: _dl_start_final (rtld.c:415) ==18997== by 0x4001AFF: _dl_start (rtld.c:524) ==18997== by 0x4001047: ??? (in /lib/aarch64-linux-gnu/ld-2.28.so) ==18997== Your program just tried to execute an instruction that Valgrind ==18997== did not recognise. There are two possible reasons for this. ==18997== 1. Your program has a bug and erroneously jumped to a non-code ==18997== location. If you are running Memcheck and you just saw a ==18997== warning about a bad jump, it's probably your program's fault. ==18997== 2. The instruction is legitimate but Valgrind doesn't handle it, ==18997== i.e. it's Valgrind's fault. If you think this is the case or ==18997== you are not sure, please let us know and we'll try to fix it. ==18997== Either way, Valgrind will now raise a SIGILL signal which will ==18997== probably kill your program. ==18997== ==18997== Process terminating with default action of signal 4 (SIGILL) ==18997== Illegal opcode at address 0x40148E0 ==18997== at 0x40148E0: init_cpu_features (cpu-features.c:70) ==18997== by 0x40148E0: dl_platform_init (dl-machine.h:208) ==18997== by 0x40148E0: _dl_sysdep_start (dl-sysdep.c:231) ==18997== by 0x4001883: _dl_start_final (rtld.c:415) ==18997== by 0x4001AFF: _dl_start (rtld.c:524) ==18997== by 0x4001047: ??? (in /lib/aarch64-linux-gnu/ld-2.28.so) ==18997== ==18997== HEAP SUMMARY: ==18997== in use at exit: 0 bytes in 0 blocks ==18997== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==18997== ==18997== All heap blocks were freed -- no leaks are possible ==18997== ==18997== For counts of detected and suppressed errors, rerun with: -v ==18997== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Illegal instruction (core dumped) Could this really be a problem with valgrind, or am I missing something? If I should raise a bug or add more info please let me know. -- Paulo Matos _______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users