[RFC] Make _FILE_OFFSET_BITS=64 default.
Joseph S. Myers
joseph@codesourcery.com
Thu Mar 20 12:11:00 GMT 2014
On Thu, 20 Mar 2014, Rich Felker wrote:
> On Thu, Mar 20, 2014 at 01:46:15AM +0000, Joseph S. Myers wrote:
> > There's another problem with using such an assertion in fts.h: it's not
> > the correct condition for the two ABIs to be the same. On MIPS n64,
> > struct stat and struct stat64 have different layout and so
> > _FILE_OFFSET_BITS=64 is an ABI change despite __off_t and __off64_t having
> > the same size (and part of the public fts interface is a pointer to struct
> > stat).
>
> This is beyond disgusting; why was something like that ever allowed
> into the ABI, rather than just using the stat64 struct/syscall (or
> whichever one is saner) regardless of whether the stat or stat64
> userspace function is called?
This predates my maintaining the MIPS port, and long predates notions of
carefully choosing the best ABI, hopefully architecture-independent,
rather than having an ABI that at least approximately follows some other
Unix for that architecture. (I don't know if this particular ABI
peculiarity - a userspace-only peculiarity, there's only one set of n64
syscalls - arises from an attempt to be IRIX-compatible, but some
peculiarities do.)
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list