Skip to content
Snippets Groups Projects
Commit f5164ae6 authored by Bernard Spil's avatar Bernard Spil
Browse files

security/openssl-devel: Fix detection of ARM CPU features

parent 28faf6ee
No related branches found
No related tags found
No related merge requests found
......@@ -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/
......
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment