nheko crashes on startup in libcrypto's use of sha512su0 on PinePhone/arm64
I'm on a PinePhone with postmarketOS edge, but the packages in question (nheko/libcrypto1.1) come from Alpine.
After upgrading my system (including a nheko upgrade 0.8.2 -> 0.9.1 and libcrypto1.1 1.1.1m-r1 -> 1.1.1m-r2), nheko crashes on startup:
$ gdb nheko
...
(gdb) r
Starting program: /usr/bin/nheko
Program received signal SIGILL, Illegal instruction.
0x0000fffff54cf530 in ?? () from /lib/libcrypto.so.1.1
(gdb) bt
#0 0x0000fffff54cf530 in ?? () from /lib/libcrypto.so.1.1
#1 0x0000fffff7ffe000 in ?? () from /lib/ld-musl-aarch64.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) disas $pc,$pc+100
Dump of assembler code from 0xfffff54cf530 to 0xfffff54cf594:
=> 0x0000fffff54cf530: sha512su0 v0.2d, v0.2d
0x0000fffff54cf534: ret
...
For some reason, libcrypto makes use of the sha512su0
instruction even though it is not supported on my CPU.