git: 81992ff145b1 - 2022Q4 - security/putty: fix aarch64 build on clang 10.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 11 Oct 2022 22:18:12 UTC
The branch 2022Q4 has been updated by mandree:
URL: https://cgit.FreeBSD.org/ports/commit/?id=81992ff145b1750ccea3c3bcaf0f5923662a7c72
commit 81992ff145b1750ccea3c3bcaf0f5923662a7c72
Author: Matthias Andree <mandree@FreeBSD.org>
AuthorDate: 2022-10-11 22:12:57 +0000
Commit: Matthias Andree <mandree@FreeBSD.org>
CommitDate: 2022-10-11 22:18:09 +0000
security/putty: fix aarch64 build on clang 10.
clang 10 (FreeBSD 12.3) does not support vaddq_p128 and similar
ARM NEON intrinsics, but clang 13 (FreeBSD 13.1) does.
Abuse the HAVE_NEON_PMULL cmake test to disable aesgcm-neon.c
unless vaddq_p128() is available.
http://ampere1.nyi.freebsd.org/data/123arm64-quarterly/31229ca1324c/logs/putty-nogtk-0.78~pre20220922.log:
/wrkdirs/usr/ports/security/putty-nogtk/work/putty-0.78~pre20220922.9fcfd67/crypto/aesgcm-neon.c:125:16:
warning: implicit declaration of function 'vaddq_p128' is invalid in C99 [-Wimplicit-function-declaration]
ctx->acc = vaddq_p128(ctx->acc, load_p128_be(coeff));
(cherry picked from commit 8fc6b69f47e7ee7da005f8b59fc10522d287740b)
---
security/putty/Makefile | 1 -
security/putty/files/patch-crypto_CMakeLists.txt | 15 +++++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/security/putty/Makefile b/security/putty/Makefile
index 6f030da7f8d7..fe19c50a6f96 100644
--- a/security/putty/Makefile
+++ b/security/putty/Makefile
@@ -7,7 +7,6 @@ CATEGORIES= security
# ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-latest/
MASTER_SITES= https://tartarus.org/~simon/putty-prerel-snapshots/ \
LOCAL/mandree/
-PATCH_STRIP= -p1
MAINTAINER= mandree@FreeBSD.org
COMMENT= Secure shell and telnet client including xterm emulator
diff --git a/security/putty/files/patch-crypto_CMakeLists.txt b/security/putty/files/patch-crypto_CMakeLists.txt
new file mode 100644
index 000000000000..82639b778fd0
--- /dev/null
+++ b/security/putty/files/patch-crypto_CMakeLists.txt
@@ -0,0 +1,15 @@
+This is a crude hack to avoid aesgcm-neon.c on FreeBSD 12.3,
+which does - by way of clang 10.0.1 - not offer vaddq_p128()
+through arm-neon.h. clang 13 as of FreeBSD 13.1 does.
+
+--- crypto/CMakeLists.txt.orig 2022-09-21 23:42:30 UTC
++++ crypto/CMakeLists.txt
+@@ -192,7 +192,7 @@ if(neon)
+ volatile poly128_t r;
+ volatile poly64_t a, b;
+ volatile poly64x2_t u, v;
+- int main(void) { r = vmull_p64(a, b); r = vmull_high_p64(u, v); }"
++ int main(void) { r = vmull_p64(a, b); r = vmull_high_p64(u, v); r = vaddq_p128(r, r); }"
+ ADD_SOURCES_IF_SUCCESSFUL aesgcm-neon.c)
+
+ # The 'sha3' architecture extension, despite the name, includes