On Mon, 16 Nov 2015, Arnd Bergmann wrote:

> > It's not a matter of leaving anything out - these would simply use 64-bit 
> > off_t (__off_t and __off64_t would be the same type) and the *64 versions 
> > would be aliases, exactly the same as on 64-bit architectures.  (And 
> > _FILE_OFFSET_BITS handling would also be exactly the same as on 64-bit 
> > architectures.)  I see no reason for the set of off_t-related symbols that 
> > exist, or which symbols are aliases of which others, to vary between pure 
> > 64-bit systems and ILP32 ABIs (for 32-bit or 64-bit architectures) that 
> > simply happen to have had 64-bit off_t from the start.
> 
> Ok, fair enough. So we just change the global __OFF_T_TYPE definition
> in bits/typesizes.h and override it for all the existing 32-bit ports,
> correct?

Well, it's sysdeps/unix/sysv/linux/generic/bits/typesizes.h that's 
relevant - so if future generic architectures will use 64-bit off_t, I 
suppose the existing file could be cloned for existing generic 
architectures with 32-bit support.  And all the types involved in struct 
stat are affected (e.g. ino_t), not just off_t.  And getting the aliases 
right may involve disentangling the different meanings of wordsize-64 into 
different sysdeps directories.  ("off_t is off64_t" and "stat is stat64" 
are not the same thing.  See MIPS n64.)  And the design work needs to be 
done on libc-alpha, not in a random discussion elsewhere.

-- 
Joseph S. Myers
jos...@codesourcery.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to