Commit b57ec7394a for openssl.org

commit b57ec7394aace731c460b509aa84039274337600
Author: David Carlier <devnexen@gmail.com>
Date:   Sat Jan 9 14:17:29 2021 +0000

    OPENSSL_cpuid_setup FreeBSD PowerPC update

    Reviewed-by: Ben Kaduk <kaduk@mit.edu>
    Reviewed-by: Matt Caswell <matt@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/13821)

diff --git a/crypto/ppccap.c b/crypto/ppccap.c
index 4989e43221..d2adb0a441 100644
--- a/crypto/ppccap.c
+++ b/crypto/ppccap.c
@@ -229,6 +229,24 @@ size_t OPENSSL_instrument_bus2(unsigned int *out, size_t cnt, size_t max)
 # endif
 #endif

+#if defined(__FreeBSD__)
+# include <sys/param.h>
+# if __FreeBSD_version >= 1200000
+#  include <sys/auxv.h>
+#  define OSSL_IMPLEMENT_GETAUXVAL
+
+static unsigned long getauxval(unsigned long key)
+{
+  unsigned long val = 0ul;
+
+  if (elf_aux_info((int)key, &val, sizeof(val)) != 0)
+    return 0ul;
+
+  return val;
+}
+# endif
+#endif
+
 /* I wish <sys/auxv.h> was universally available */
 #define HWCAP                   16      /* AT_HWCAP */
 #define HWCAP_PPC64             (1U << 30)