]> git.ipfire.org Git - thirdparty/glibc.git/commit
Remove __need_IOV_MAX and __need_FOPEN_MAX.
authorZack Weinberg <zackw@panix.com>
Wed, 22 Mar 2017 14:55:38 +0000 (10:55 -0400)
committerZack Weinberg <zackw@panix.com>
Wed, 14 Jun 2017 11:51:30 +0000 (07:51 -0400)
commit37f802f86400684c8d13403958b2c598721d6360
tree1e7281fbdff02e8e0818300cf0ac1d496956d1a9
parent0572433b5beb636de1a49ec6b4fdab830c38cdc5
Remove __need_IOV_MAX and __need_FOPEN_MAX.

__need_FOPEN_MAX wasn't being used anywhere.  __need_IOV_MAX was more
complicated; the basic deal is that sys/uio.h wants to define a
constant named UIO_MAXIOV and bits/xopen_lim.h wants to define a
constant named IOV_MAX, with the same meaning.  For no apparent reason
this was being handled via bits/stdio_lim.h -- stdio.h is NOT supposed
to define IOV_MAX -- and some mess in Makerules.  Also, bits/uio.h on
Linux was being used as a dumping ground for extension functions.

So now we have bits/uio_lim.h, which defines __IOV_MAX.
bits/xopen_lim.h and sys/uio.h use that to define their respective
constants.  We also now have bits/uio-ext.h, which is the official
Proper Home for extensions to sys/uio.h.  bits/uio.h is removed, and
stdio_lim.h doesn't define IOV_MAX at all.

* bits/uio_lim.h, sysdeps/unix/sysv/linux/bits/uio_lim.h
* bits/uio-ext.h, sysdeps/unix/sysv/linux/bits/uio-ext.h: New file.
* bits/uio.h, sysdeps/unix/sysv/linux/bits/uio.h: Delete file.

* include/bits/xopen_lim.h: Use bits/uio_lim.h to get the value
for IOV_MAX.
* misc/Makefile: Install bits/uio-ext.h and bits/uio_lim.h.
Don't install bits/uio.h.
* misc/sys/uio.h: Don't include bits/uio.h.  Do include
bits/types/struct_iovec.h and bits/uio_lim.h.  Set UIO_MAXIOV
based on __IOV_MAX. Under __USE_GNU, also include bits/uio-ext.h.

* stdio-common/stdio_lim.h.in: Remove logic for __need_FOPEN_MAX
and __need_IOV_MAX.  Don't define IOV_MAX at all.
* Makerules (stdio_lim.h): Remove logic for setting IOV_MAX.

* sysdeps/unix/sysv/linux/bits/fcntl-linux.h:
Include bits/types/struct_iovec.h, not bits/uio.h.
Use __ssize_t, not ssize_t, in function prototypes.
Don't use hard TAB for double space after period in comments.
ChangeLog
Makerules
bits/uio-ext.h [new file with mode: 0644]
bits/uio_lim.h [moved from bits/uio.h with 69% similarity]
include/bits/xopen_lim.h
misc/Makefile
misc/sys/uio.h
stdio-common/stdio_lim.h.in
sysdeps/unix/sysv/linux/bits/fcntl-linux.h
sysdeps/unix/sysv/linux/bits/uio-ext.h [moved from sysdeps/unix/sysv/linux/bits/uio.h with 59% similarity]
sysdeps/unix/sysv/linux/bits/uio_lim.h [new file with mode: 0644]