summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorBernard Spil <brnrd@FreeBSD.org>2021-11-20 14:07:29 +0000
committerBernard Spil <brnrd@FreeBSD.org>2021-11-20 14:10:12 +0000
commitf5164ae6014c9bbebcea3c573280cf6aa03d1178 (patch)
tree1b551920652096df3193f9b7d9770fe41a700748 /security
parentsysutils/czkawka: update to 3.3.0 (diff)
security/openssl-devel: Fix detection of ARM CPU features
Upstream: * https://github.com/openssl/openssl/pull/17082 * https://github.com/openssl/openssl/pull/17084 PR: 259937 Submitted by: allanjude Differential Revision: https://reviews.freebsd.org/D33062
Diffstat (limited to 'security')
-rw-r--r--security/openssl-devel/Makefile2
-rw-r--r--security/openssl-devel/files/patch-D3306265
2 files changed, 66 insertions, 1 deletions
diff --git a/security/openssl-devel/Makefile b/security/openssl-devel/Makefile
index 79da508e23d4..804d8eb735c2 100644
--- a/security/openssl-devel/Makefile
+++ b/security/openssl-devel/Makefile
@@ -2,7 +2,7 @@
PORTNAME= openssl
DISTVERSION= 3.0.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= security devel
MASTER_SITES= https://www.openssl.org/source/ \
ftp://ftp.cert.dfn.de/pub/tools/net/openssl/source/
diff --git a/security/openssl-devel/files/patch-D33062 b/security/openssl-devel/files/patch-D33062
new file mode 100644
index 000000000000..58dab2b86fef
--- /dev/null
+++ b/security/openssl-devel/files/patch-D33062
@@ -0,0 +1,65 @@
+Fix detection of ARM CPU features
+
+See also:
+ * https://github.com/openssl/openssl/pull/17082
+ * https://github.com/openssl/openssl/pull/17084
+
+--- Configurations/10-main.conf.orig 2021-11-19 18:20:18 UTC
++++ Configurations/10-main.conf
+@@ -1061,6 +1061,14 @@ my %targets = (
+ perlasm_scheme => "elf",
+ },
+
++ "BSD-aarch64" => {
++ inherit_from => [ "BSD-generic64" ],
++ lib_cppflags => add("-DL_ENDIAN"),
++ bn_ops => "SIXTY_FOUR_BIT_LONG",
++ asm_arch => 'aarch64',
++ perlasm_scheme => "linux64",
++ },
++
+ "bsdi-elf-gcc" => {
+ inherit_from => [ "BASE_unix" ],
+ CC => "gcc",
+--- util/perl/OpenSSL/config.pm.orig 2021-11-19 18:21:33 UTC
++++ util/perl/OpenSSL/config.pm
+@@ -745,6 +745,7 @@ EOF
+ [ 'ia64-.*-.*bsd.*', { target => "BSD-ia64" } ],
+ [ 'x86_64-.*-dragonfly.*', { target => "BSD-x86_64" } ],
+ [ 'amd64-.*-.*bsd.*', { target => "BSD-x86_64" } ],
++ [ 'arm64-.*-.*bsd.*', { target => "BSD-aarch64" } ],
+ [ '.*86.*-.*-.*bsd.*',
+ sub {
+ # mimic ld behaviour when it's looking for libc...
+--- crypto/armcap.c.orig 2021-09-07 11:46:32 UTC
++++ crypto/armcap.c
+@@ -112,20 +112,23 @@ static unsigned long getauxval(unsigned long key)
+ * ARM puts the feature bits for Crypto Extensions in AT_HWCAP2, whereas
+ * AArch64 used AT_HWCAP.
+ */
++# ifndef AT_HWCAP
++# define AT_HWCAP 16
++# endif
++# ifndef AT_HWCAP2
++# define AT_HWCAP2 26
++# endif
+ # if defined(__arm__) || defined (__arm)
+-# define HWCAP 16
+- /* AT_HWCAP */
++# define HWCAP AT_HWCAP
+ # define HWCAP_NEON (1 << 12)
+
+-# define HWCAP_CE 26
+- /* AT_HWCAP2 */
++# define HWCAP_CE AT_HWCAP2
+ # define HWCAP_CE_AES (1 << 0)
+ # define HWCAP_CE_PMULL (1 << 1)
+ # define HWCAP_CE_SHA1 (1 << 2)
+ # define HWCAP_CE_SHA256 (1 << 3)
+ # elif defined(__aarch64__)
+-# define HWCAP 16
+- /* AT_HWCAP */
++# define HWCAP AT_HWCAP
+ # define HWCAP_NEON (1 << 1)
+
+ # define HWCAP_CE HWCAP