Avoid dynamic initialization guards for thread_local seed in raw_hash_set.

PiperOrigin-RevId: 938062685
Change-Id: I876d94b29259c737057b701e3bd80db42224927d
diff --git a/absl/container/internal/raw_hash_set.cc b/absl/container/internal/raw_hash_set.cc
index 80efa1e..c8936cf 100644
--- a/absl/container/internal/raw_hash_set.cc
+++ b/absl/container/internal/raw_hash_set.cc
@@ -83,7 +83,8 @@
   static std::atomic<size_t> counter(0);
   size_t value = counter.fetch_add(1, std::memory_order_relaxed);
 #endif  // ABSL_HAVE_THREAD_LOCAL
-  return value ^ static_cast<size_t>(reinterpret_cast<uintptr_t>(&counter));
+  return (value * size_t{0xad53}) ^
+         static_cast<size_t>(reinterpret_cast<uintptr_t>(&counter));
 }
 
 bool ShouldRehashForBugDetection(size_t capacity) {
@@ -138,10 +139,7 @@
 // which is caused by non-constexpr initialization.
 uint16_t NextHashTableSeed() {
   static_assert(PerTableSeed::kBitCount <= 16);
-  thread_local uint16_t seed =
-      static_cast<uint16_t>(reinterpret_cast<uintptr_t>(&seed));
-  seed += uint16_t{0xad53};
-  return seed;
+  return static_cast<uint16_t>(RandomSeed());
 }
 
 GenerationType* EmptyGeneration() {