about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/fstatat64.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/fstatat64.c')
-rw-r--r--sysdeps/unix/sysv/linux/fstatat64.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/fstatat64.c b/sysdeps/unix/sysv/linux/fstatat64.c
index ab41f19e94..490226a8ec 100644
--- a/sysdeps/unix/sysv/linux/fstatat64.c
+++ b/sysdeps/unix/sysv/linux/fstatat64.c
@@ -28,6 +28,18 @@
 #include <kstat_cp.h>
 #include <stat_t64_cp.h>
 
+#if __TIMESIZE == 64 \
+     && (__WORDSIZE == 32 \
+     && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32))
+/* Sanity check to avoid newer 32-bit ABI to support non-LFS calls.  */
+_Static_assert (sizeof (__off_t) == sizeof (__off64_t),
+                "__blkcnt_t and __blkcnt64_t must match");
+_Static_assert (sizeof (__ino_t) == sizeof (__ino64_t),
+                "__blkcnt_t and __blkcnt64_t must match");
+_Static_assert (sizeof (__blkcnt_t) == sizeof (__blkcnt64_t),
+                "__blkcnt_t and __blkcnt64_t must match");
+#endif
+
 int
 __fstatat64_time64 (int fd, const char *file, struct __stat64_t64 *buf,
 		    int flag)