]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
openssl: Fix detection of ARMv7 and ARM64 CPU features
authorAllan Jude <allanjude@FreeBSD.org>
Fri, 19 Nov 2021 15:14:30 +0000 (15:14 +0000)
committerAllan Jude <allanjude@FreeBSD.org>
Mon, 22 Nov 2021 18:10:43 +0000 (18:10 +0000)
commitd9bb798725cfce9c72b80440659b48e8668eb10d
treebc4f3dd7029773d651d969e22acfcce4974a7579
parent5bbfa333cfc435c16cdfee20d84b17954972f610
openssl: Fix detection of ARMv7 and ARM64 CPU features

OpenSSL assumes the same value for AT_HWCAP=16 (Linux)
So it ends up calling elf_auxv_info() with AT_CANARY which
returns ENOENT, and all acceleration features are disabled.

With this, my ARM64 test machine runs the benchmark
`openssl speed -evp aes-256-gcm` nearly 20x faster
going from 100 MB/sec to 2000 MB/sec

It also improves sha256 from 300 MB/sec to 1800 MB/sec

This fix has been accepted but not yet merged upstream:
https://github.com/openssl/openssl/pull/17082

PR: 259937
Reviewed by: manu, imp
MFC after: immediate
Relnotes: yes
Fixes: 88e852c0b5c872b1a ("OpenSSL: Merge OpenSSL 1.1.1j")
Sponsored by: Ampere Computing LLC
Sponsored by: Klara Inc.
Differential Revision: https://reviews.freebsd.org/D33060
crypto/openssl/crypto/armcap.c