Ensure CRYPTO_needs_hwcap2_workaround works without CRYPTO_library_init

There's one place in Chromium that relied on CRYPTO_library_init to have
initialized things. We can fix this by simply initializing inside the
accessor.

Bug: 40644931
Change-Id: Id6c849d350f3db16103dd118659a48710c3d05a3
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/69607
Auto-Submit: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: Adam Langley <agl@google.com>
diff --git a/crypto/cpu_arm_linux.c b/crypto/cpu_arm_linux.c
index e3a2370..dbcd940 100644
--- a/crypto/cpu_arm_linux.c
+++ b/crypto/cpu_arm_linux.c
@@ -143,6 +143,9 @@
 
 int CRYPTO_has_broken_NEON(void) { return 0; }
 
-int CRYPTO_needs_hwcap2_workaround(void) { return g_needs_hwcap2_workaround; }
+int CRYPTO_needs_hwcap2_workaround(void) {
+  OPENSSL_init_cpuid();
+  return g_needs_hwcap2_workaround;
+}
 
 #endif  // OPENSSL_ARM && OPENSSL_LINUX && !OPENSSL_STATIC_ARMCAP