diff --git a/libc/bionic/bionic_call_ifunc_resolver.cpp b/libc/bionic/bionic_call_ifunc_resolver.cpp index 0b1208831..61c805b34 100644 --- a/libc/bionic/bionic_call_ifunc_resolver.cpp +++ b/libc/bionic/bionic_call_ifunc_resolver.cpp @@ -51,12 +51,7 @@ ElfW(Addr) __bionic_call_ifunc_resolver(ElfW(Addr) resolver_addr) { return reinterpret_cast(resolver_addr)(arg._hwcap | _IFUNC_ARG_HWCAP, &arg); #elif defined(__arm__) typedef ElfW(Addr) (*ifunc_resolver_t)(unsigned long); - static unsigned long hwcap; - static bool initialized = false; - if (!initialized) { - initialized = true; - hwcap = getauxval(AT_HWCAP); - } + static unsigned long hwcap = getauxval(AT_HWCAP); return reinterpret_cast(resolver_addr)(hwcap); #elif defined(__riscv) // The pointer argument is currently unused, but reserved for future