VEX lacks code to dump registers so coredumps do not work. Or sth like that. Reproducible: Always
Created attachment 101686 [details] patch regs->pstate should probably do something with guest_CC_{OP/DEP1/DEP2/NDEP} but no idea how
I played with it a bit, but it seems to be not fully complete. First it doesn't actually compile, there are some missing ';' at the end of the last two lines. Second to assign FPSR you'll need to use LibVEX_GuestARM64_get_fpsr. I am not sure with that the vgcore generate is complete, but I didn't have time to fully test it. To test it you could do something like ulimit -c unlimited; /bin/sleep 60 and hit Ctrl-\. That should generate a vgcore.xxxx file. then gdb --core vgcore.xxxx /bin/sleep and see if you can get any information from it bt should give something for example likewise eu-stack --core vgcore.xxxx --exec /bin/sleep should show at least a few recognizable frames
Note that do do an application core dump, you can use gdb+vgdb to connect to the valgrind gdbserver, and then use the gcore command. This works (at least on amd64/debian8, with gdb 7.12)
Created attachment 103890 [details] newer (not fully tested yet) version
Marcin, what is the status here? Is the patch complete?
Not completed that yet.
I believe this has been fixed by: commit 965876e22b863bca1cbe7db9578e648397a705a7 Author: Alexandra Hajkova <ahajkova@redhat.com> Date: Wed Mar 20 10:10:44 2019 +0100 Support arm64 core dump Fixes BZ #405722. Implements coredump-elf.c fill_prstatus() and fill_fpu () for VGP_arm64_linux. *** This bug has been marked as a duplicate of bug 405722 ***