PR #1816: Random: use getauxval() via <sys/auxv.h>

Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1816

Make the use of  `getauxval()` consistent with other parts of abseil and use it via the `<sys/auxv.h>` header instead of a local declaration.

The current situation is causing some weird symbol visibility issues at least in Firefox, see https://bugzilla.mozilla.org/show_bug.cgi?id=1942917 for details.
Merge 61a56f3a5818371a404a9bdd97c100f2cb6d0c74 into 20a1220136952ff620a47a5d6b94243e002c74f3

Merging this change closes #1816

COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1816 from sharkcz:random 61a56f3a5818371a404a9bdd97c100f2cb6d0c74
PiperOrigin-RevId: 721365575
Change-Id: I99d0fc6fd9abd3b8ba175af88f4a1b7f6862e589
diff --git a/absl/random/internal/randen_detect.cc b/absl/random/internal/randen_detect.cc
index 828db47..7a1a1c0 100644
--- a/absl/random/internal/randen_detect.cc
+++ b/absl/random/internal/randen_detect.cc
@@ -74,7 +74,7 @@
 // On linux, just use the c-library getauxval call.
 #if defined(ABSL_INTERNAL_USE_LINUX_GETAUXVAL)
 
-extern "C" unsigned long getauxval(unsigned long type);  // NOLINT(runtime/int)
+#include <sys/auxv.h>
 
 static uint32_t GetAuxval(uint32_t hwcap_type) {
   return static_cast<uint32_t>(getauxval(hwcap_type));