On Thu, Dec 09, 2021 at 10:20:59PM -0800, Colin Percival wrote: > Hi spiped users, > > I've just uploaded a tarball which may be (modulo version number update) > spiped 1.6.2. Please test this -- even if all you have time to do is check > that it compiles on your platform, that's better than nothing, but running > 'make all test' and/or testing with live usage would be much better. Hi, Thanks a lot for your continued work on spiped! [snip] > Significant changes since 1.6.1: [snip] > * significantly improved performance on amd64 and ARM platforms, using > CPU intrinsics for optimized cryptographic primitives. So it turns out that the ARM AES feature uses vdupq_laneq_u32(), which seems to be an A64-only instruction. This led to the build breaking on the Debian armhf builder[0] (look for vdupq_laneq_u32 in the build log). The build, your test suite, and my trivial test added as a Debian autopkgtest seem to have all succeeded on pretty much all other Debian architectures so far[1][2]. What do you think about the two attached patches? The first one blocks the ARM AES feature from being enabled on non-aarch64 ARM builders, and the second one makes sure that the tests-output/ directory is removed after "make clean". Thanks in advance for looking at this, and keep up the great work! G'luck, Peter [0] https://buildd.debian.org/status/fetch.php?pkg=spiped&arch=armhf&ver=1.6.1.99-1&stamp=1639147788&raw=0 [1] https://buildd.debian.org/status/package.php?p=spiped&suite=experimental [2] ...well... except for the GNU Hurd. The build got further there (thanks!), but the test suite failed with a SO_REUSEADDR error on an AF_LOCAL socket. I have a patch for that too, but even with it, the test suite failed in another place and I will debug it later (as in tomorrow or the day after or something like that). Even with my Debian maintainer hat on, please don't let that stop you from releasing a new and improved version of spiped! -- Peter Pentchev roam@ringlet.net roam@debian.org pp@storpool.com PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint 2EE7 A7A5 17FC 124C F115 C354 651E EFB0 2527 DF13
Description: Check for the required arm64 instructions. Forwarded: no Author: Peter Pentchev <roam@ringlet.net> Last-Update: 2021-12-10 Index: b/libcperciva/cpusupport/Build/cpusupport-ARM-AES.c =================================================================== --- a/libcperciva/cpusupport/Build/cpusupport-ARM-AES.c +++ b/libcperciva/cpusupport/Build/cpusupport-ARM-AES.c @@ -2,6 +2,10 @@ #include <arm_neon.h> #endif +#ifndef __ARM_64BIT_STATE +#error The laneq intrinsics are only available on aarch64 +#endif + int main(void) {
Description: Clean the tests-output/ directory up, too. Forwarded: no Author: Peter Pentchev <roam@ringlet.net> Last-Update: 2021-12-10 Index: b/Makefile =================================================================== --- a/Makefile +++ b/Makefile @@ -94,6 +94,7 @@ install: all clean: rm -f cflags-filter.sh cpusupport-config.h posix-flags.sh + rm -rf tests-output for D in liball ${PROGS} ${TESTS}; do \ ( cd $${D} && ${MAKE} clean ) || exit 2; \ done
Attachment:
signature.asc
Description: PGP signature