Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Dec 2021 22:26:43 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: a6765c4b449d - main - libmd: Only define SHA256_Transform_c when using the ARM64 ifunc.
Message-ID:  <202112082226.1B8MQhEP005009@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=a6765c4b449d79c6ee24dd7c37deb2239f6281a4

commit a6765c4b449d79c6ee24dd7c37deb2239f6281a4
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2021-12-08 22:25:02 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2021-12-08 22:25:02 +0000

    libmd: Only define SHA256_Transform_c when using the ARM64 ifunc.
    
    GCC 9 doesn't define a SHA256_Transform symbol when the stub just wraps
    SHA256_Transform_c resulting in an undefined symbol for
    _libmd_SHA256_Transform in libmd.so.
    
    Discussed with: andrew, jrtc27
    Reviewed by:    emaste
    Differential Revision:  https://reviews.freebsd.org/D31945
---
 sys/crypto/sha2/sha256c.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/sys/crypto/sha2/sha256c.c b/sys/crypto/sha2/sha256c.c
index 63805c97a4bb..57ae9e7a6ab3 100644
--- a/sys/crypto/sha2/sha256c.c
+++ b/sys/crypto/sha2/sha256c.c
@@ -138,7 +138,11 @@ static const uint32_t K[64] = {
  * the 512-bit input block to produce a new state.
  */
 static void
+#if defined(ARM64_SHA2)
 SHA256_Transform_c(uint32_t * state, const unsigned char block[64])
+#else
+SHA256_Transform(uint32_t * state, const unsigned char block[64])
+#endif
 {
 	uint32_t W[64];
 	uint32_t S[8];
@@ -213,12 +217,6 @@ DEFINE_UIFUNC(static, void, SHA256_Transform,
 
 	return (SHA256_Transform_c);
 }
-#else
-static void
-SHA256_Transform(uint32_t * state, const unsigned char block[64])
-{
-	SHA256_Transform_c(state, block);
-}
 #endif
 
 static unsigned char PAD[64] = {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202112082226.1B8MQhEP005009>