Use stat64 to detect presence of file that alters IFUNC selection.
This avoids problems in NVMe drives where 32-bit stat would fail
because the device ID doesn't fit into teh truncated 16-bit dev_t.
diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h
index 4e2e6fabb39ab600..e3b8167ae0669f00 100644
--- a/sysdeps/x86/cpu-features.h
+++ b/sysdeps/x86/cpu-features.h
@@ -184,11 +184,19 @@
static bool __attribute__ ((unused))
use_unaligned_strstr (void)
{
+# if defined __x86_64__
struct stat unaligned_strstr_etc_sysconfig_file;
+# else
+ struct stat64 unaligned_strstr_etc_sysconfig_file;
+# endif
/* TLS may not have been set up yet, so avoid using stat since it tries to
set errno. */
+# if defined __x86_64__
return INTERNAL_SYSCALL (stat, , 2,
+# else
+ return INTERNAL_SYSCALL (stat64, , 2,
+# endif
ENABLE_STRSTR_UNALIGNED_PATHNAME,
&unaligned_strstr_etc_sysconfig_file) == 0;
}