diff options
author | Alistair Francis <alistair.francis@wdc.com> | 2019-08-13 13:35:28 -0700 |
---|---|---|
committer | Alistair Francis <alistair.francis@wdc.com> | 2019-10-24 09:14:26 -0700 |
commit | acab05949fd28cdac6358f9a143cd010e08914b7 (patch) | |
tree | 1c2b98ae3fc69bdf85029a636e1f02cfb88bb18c /sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h | |
parent | 3007ad2140256e83918ce531435385fa003e9fce (diff) | |
download | glibc-acab05949fd28cdac6358f9a143cd010e08914b7.tar.gz glibc-acab05949fd28cdac6358f9a143cd010e08914b7.tar.xz glibc-acab05949fd28cdac6358f9a143cd010e08914b7.zip |
Define __STATFS_MATCHES_STATFS64
Add a new macro __STATFS_MATCHES_STATFS64 that specifies if fsblkcnt_t matches fsblkcnt64_t and if fsfilcnt_t matches fsfilcnt64_t. As we don't have the padding we also need to update the overflow checker to not access the undefined members.
Diffstat (limited to 'sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h b/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h index 66546b07cc..f63dbfae89 100644 --- a/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h +++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h @@ -51,6 +51,9 @@ static inline int stat_overflow (struct stat *buf) /* Note that f_files and f_ffree may validly be a sign-extended -1. */ static inline int statfs_overflow (struct statfs *buf) { +#if __STATFS_MATCHES_STATFS64 + return 0; +#else if (buf->__f_blocks_pad == 0 && buf->__f_bfree_pad == 0 && buf->__f_bavail_pad == 0 && (buf->__f_files_pad == 0 @@ -61,4 +64,5 @@ static inline int statfs_overflow (struct statfs *buf) __set_errno (EOVERFLOW); return -1; +#endif } |