Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

LFS notes RE: pws-18 is go



>
> This includes the large file support for SunOS, although Andrej's points
> are all valid.

Unfotunately, after more close look at it, this is broken.

1. It sets both LFS_CLFAGS *and* LFS64_CFLAGS. The two are for *very*
different modes of compilation; you may select one or other - but you cannot
assume, that mixing them is safe (even, if it helds true for any particular
OS). LFS_CFLAGS & Co is for the case, when you use normal, usual interfaces
(open/lseek ...) and makes off_t/ino_t 64 bit long. LFS64_CFLAGS & Co is for
the case, when you use explicit 64 bit interfaces (open64/lseek64/...) and
introduces new types off64_t, ino64_t and some others.

2. Zsh is using fseek/ftell. These are using long and are incompatible with
LFS; to be on safe side, one must use fseeko/ftello that use off_t.

3. Setting LFS[64]_CFLAGS & Co is not enough!!! One must set either
_LARGEFILE_SOURCE *or* _LARGEFILE64_SOURCE to indicate, which mode is used
(a side note, that _LARGEFILE64_SOURCE has some problems on our system).

For reference, look at
http://ftp.sas.com/standards/large.file/x_open.20Mar96.html I think, this
should be in Single Unix as well.

4. (minor) summary at the end of configure does not include LFS flags.

I urge you once again to really think about adopting LP64 model. If system
supports LFS it should (most probably) support LP64 as well. It does not
have as nice configure tests, must I admit ... but it does not require
changes in ZSH sources.

regards

/andrej



Messages sorted by: Reverse Date, Date, Thread, Author