This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v4 2/2] Define __STATFS_MATCHES_STATFS64


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]