[PATCH v4 2/2] Define __STATFS_MATCHES_STATFS64
Joseph Myers
joseph@codesourcery.com
Fri Oct 18 15:13:00 GMT 2019
On Wed, 16 Oct 2019, Alistair Francis wrote:
> Add a new macro __STATFS_MATCHES_STATFS64 that specifies if fsblkcnt_t
> matches fsblkcnt64_t and if fsfilcnt_t matches fsfilcnt64_t.
>
> On a 32-bit platform with a 64-bit ino_t type (__STATFS_MATCHES_STATFS64
> == 1) we want to update the statfs struct to remove the padding as it
> isn't required. As we don't have the padding we also need to update the
> overflow checker to not access the undefined members.
>
> * bits/typesizes.h: Define __STATFS_MATCHES_STATFS64 to handle
> 64-bit __fsblkcnt_t and __fsfilcnt_t types on 32-bit hosts.
> * sysdeps/unix/sysv/linux/generic/bits/statfs.h: Likewise.
> * sysdeps/unix/sysv/linux/generic/bits/typesizes.h: Likewise.
> * sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h: Likewise.
> * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: Likewise.
> * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: Likewise.
> * sysdeps/unix/sysv/linux/x86/bits/typesizes.h: Likewise.
Note that you no longer need to write ChangeLog entries.
I don't follow the logic for which bits/typesizes.h headers you're
updating. You're updating some for architectures not using linux/generic,
which I think is the right thing to do - make them provide the defined
API, whether or not they currently use any code that actually tests the
__STATFS_MATCHES_STATFS64 macro. But you're not updating
sysdeps/unix/sysv/linux/alpha/bits/typesizes.h or
sysdeps/mach/hurd/bits/typesizes.h; I'd expect those to be updated as well
for consistency.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list