Re: [RFC6 PATCH v6 00/21] ILP32 for ARM64

From: Arnd Bergmann
Date: Tue May 17 2016 - 18:46:57 EST


On Tuesday 17 May 2016 18:02:36 Andreas Schwab wrote:
> Joseph Myers <joseph@xxxxxxxxxxxxxxxx> writes:
>
> > On Tue, 17 May 2016, Arnd Bergmann wrote:
> >
> >> I think it has become easier to override now and we just need to
> >> update sysdeps/unix/sysv/linux/generic/bits/typesizes.h to set
> >>
> >> #define __INO64_T_TYPE __UQUAD_TYPE
> >> #define __OFF64_T_TYPE __UQUAD_TYPE
> >> #define __OFF_T_MATCHES_OFF64_T 1
> >> #define __INO_T_MATCHES_INO64_T 1
> >>
> >> for new architectures (obviously not the ones that already use the
> >> 32-bit types). I haven't tries this, so there may be other things
> >> that are required.
> >
> > I think more than that would be needed to get struct stat to match and get
> > things aliased for that (which is presumably desirable).
>
> Looking at sysdeps/unix/sysv/linux/generic/bits/stat.h, there is at
> least blkcnt_t that differs between stat and stat64. And you probably
> want to alias statfs and statfs64 as well, ie. fs{blk,fil}cnt_t.

Makes sense. Indeed that is a bit more work than I hoped, in particular
if we have to audit the uses of __WORDSIZE as well.

Arnd