This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 0/6] Elimination of __need macros, round 3(?)
- From: Zack Weinberg <zackw at panix dot com>
- To: libc-alpha at sourceware dot org
- Date: Sat, 20 May 2017 19:18:17 -0400
- Subject: [PATCH 0/6] Elimination of __need macros, round 3(?)
- Authentication-results: sourceware.org; auth=none
Patches 1 and 2 in this series were approved with modifications in the
previous round, and have been applied to master. Patches 3, 4, 5
appeared in the previous round and are still in need of review.
(Patch 3 was partially reviewed but has changed substantially and
should probably be re-reviewed from scratch.) Patch 6 is new.
After all of these patches are applied, the remaining __need_ macros
all interact with non-glibc headers:
__need_NULL, __need_ptrdiff_t, __need_size_t, __need_wchar_t, and
__need___va_list interact with headers provided by the compiler
(stddef.h and stdarg.h). We could in principle get rid of
__need_va_list by relying on __builtin_va_list, which might at least
_seem_ less GCC-dependent than relying on stdarg.h to define a typedef
named __gnuc_va_list. stddef.h interactions are, unfortunately, a
ginormous mess - just have a look at GCC's stddef.h sometime.
__need_int_reg_t interacts with a kernel header; a patch was posted,
but I don't know if the replacement micro-header is available in a
released kernel yet.
zw
Zack Weinberg (6):
Remove __need_list_t and __need_res_state.
Remove __need macros from signal.h.
Remove __need macros from errno.h (__need_Emath, __need_error_t).
Remove __need macros from stdio.h and wchar.h.
Remove __need_IOV_MAX and __need_FOPEN_MAX.
Remove __need_schedparam and __cpu_set_t_defined.
Makeconfig | 26 +-
Makerules | 10 +-
NEWS | 9 +
argp/argp.h | 8 +-
bits/errno.h | 38 +-
bits/sched.h | 121 +----
bits/sigevent-consts.h | 37 ++
bits/{siginfo.h => siginfo-consts.h} | 74 +--
bits/sigset.h | 84 ----
bits/types/__sigset_t.h | 7 +
bits/types/sigevent_t.h | 17 +
bits/types/siginfo_t.h | 21 +
bits/{uio.h => uio_lim.h} | 12 +-
grp/grp.h | 3 +-
gshadow/gshadow.h | 4 +-
hurd/hurd.h | 3 +-
iconv/gconv.h | 6 +-
include/bits/cpu-set.h | 1 +
include/bits/types/FILE.h | 1 +
include/bits/types/__FILE.h | 1 +
include/bits/types/__mbstate_t.h | 1 +
include/bits/types/error_t.h | 1 +
include/bits/types/mbstate_t.h | 1 +
include/bits/types/res_state.h | 1 +
include/bits/types/sig_atomic_t.h | 1 +
include/bits/types/sigset_t.h | 1 +
include/bits/types/sigval_t.h | 1 +
include/bits/types/wint_t.h | 1 +
include/bits/wctype-wchar.h | 1 +
include/bits/xopen_lim.h | 13 +-
include/errno.h | 13 +-
include/list.h | 38 +-
include/list_t.h | 31 ++
include/signal.h | 15 +-
include/stdio.h | 16 +-
include/wchar.h | 10 +-
include/wctype.h | 29 +-
inet/rcmd.c | 16 +-
io/sys/poll.h | 6 +-
libio/Makefile | 3 +-
libio/bits/types/FILE.h | 9 +
libio/bits/types/__FILE.h | 7 +
libio/stdio.h | 47 +-
login/utmp_file.c | 1 +
mach/mach.h | 6 +-
misc/Makefile | 3 +-
misc/mntent.h | 4 +-
misc/sys/select.h | 9 +-
misc/sys/uio.h | 18 +-
nptl/descr.h | 6 +-
posix/Makefile | 4 +-
posix/bits/cpu-set.h | 124 +++++
posix/bits/types.h | 4 +
posix/sched.h | 8 +-
posix/spawn.h | 3 +-
posix/sys/wait.h | 3 +-
pwd/pwd.h | 3 +-
resolv/Makefile | 2 +-
resolv/bits/types/res_state.h | 61 +++
resolv/netdb.h | 3 +-
resolv/resolv.h | 92 +---
rt/aio.h | 4 +-
rt/mqueue.h | 3 +-
scripts/make-errno-enum.sh | 67 +++
setjmp/setjmp.h | 3 +-
shadow/lckpwdf.c | 1 +
shadow/shadow.h | 4 +-
signal/Makefile | 12 +-
signal/Versions | 8 +-
signal/bits/types/sig_atomic_t.h | 10 +
signal/bits/types/sigset_t.h | 9 +
signal/bits/types/sigval_t.h | 13 +
signal/sigaddset.c | 7 +-
signal/sigandset.c | 8 +-
signal/sigdelset.c | 7 +-
signal/sigisempty.c | 7 +-
signal/sigismem.c | 4 +-
signal/signal.h | 43 +-
signal/sigorset.c | 8 +-
signal/sigsetops.c | 58 ++-
socket/sys/socket.h | 5 -
stdio-common/printf.h | 5 +-
stdio-common/stdio_lim.h.in | 31 +-
stdlib/Makefile | 3 +-
stdlib/abort.c | 9 +-
stdlib/bits/types/error_t.h | 14 +
stdlib/errno.h | 55 +--
string/argz.h | 9 +-
sysdeps/arm/sys/ucontext.h | 1 +
sysdeps/generic/_G_config.h | 7 +-
sysdeps/generic/sigsetops.h | 77 ++++
sysdeps/generic/sys/ucontext.h | 1 +
.../sigsetops.h => sysdeps/generic/sys/uio_ext.h | 17 +-
sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S | 3 +-
sysdeps/i386/i686/fpu/multiarch/s_sincosf-sse2.S | 3 +-
sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S | 3 +-
sysdeps/i386/sys/ucontext.h | 1 +
sysdeps/m68k/sys/ucontext.h | 1 +
sysdeps/mach/hurd/bits/errno.h | 505 ++++++++-------------
sysdeps/mach/hurd/errnos.awk | 101 ++---
sysdeps/mach/hurd/i386/bits/sigcontext.h | 1 +
sysdeps/mips/sys/ucontext.h | 1 +
sysdeps/posix/profil.c | 1 +
sysdeps/posix/sigignore.c | 5 +-
sysdeps/posix/sigintr.c | 1 +
sysdeps/posix/signal.c | 7 +-
sysdeps/posix/sigset.c | 67 ++-
sysdeps/posix/sprofil.c | 1 +
sysdeps/posix/sysv_signal.c | 5 +-
sysdeps/powerpc/novmxsetjmp.h | 2 +-
sysdeps/pthread/bits/sigthread.h | 1 +
sysdeps/unix/sysv/linux/Makefile | 3 +-
sysdeps/unix/sysv/linux/_G_config.h | 7 +-
sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h | 1 +
sysdeps/unix/sysv/linux/alpha/bits/errno.h | 46 +-
sysdeps/unix/sysv/linux/alpha/sys/ucontext.h | 1 +
sysdeps/unix/sysv/linux/arm/sys/ucontext.h | 1 +
sysdeps/unix/sysv/linux/bits/errno.h | 47 +-
sysdeps/unix/sysv/linux/bits/fcntl-linux.h | 56 +--
sysdeps/unix/sysv/linux/bits/sched.h | 130 +-----
sysdeps/unix/sysv/linux/bits/sigevent-consts.h | 41 ++
sysdeps/unix/sysv/linux/bits/siginfo-arch.h | 7 +
sysdeps/unix/sysv/linux/bits/siginfo-consts-arch.h | 7 +
sysdeps/unix/sysv/linux/bits/siginfo-consts.h | 185 ++++++++
sysdeps/unix/sysv/linux/bits/siginfo.h | 341 --------------
sysdeps/unix/sysv/linux/bits/sigset.h | 124 -----
sysdeps/unix/sysv/linux/bits/types/__sigset_t.h | 10 +
sysdeps/unix/sysv/linux/bits/types/sigevent_t.h | 48 ++
sysdeps/unix/sysv/linux/bits/types/siginfo_t.h | 139 ++++++
sysdeps/unix/sysv/linux/bits/uio_lim.h | 31 ++
sysdeps/unix/sysv/linux/hppa/bits/errno.h | 39 +-
sysdeps/unix/sysv/linux/hppa/sys/ucontext.h | 1 +
sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h | 19 +
.../sysv/linux/ia64/bits/siginfo-consts-arch.h | 45 ++
sysdeps/unix/sysv/linux/ia64/bits/siginfo.h | 360 ---------------
sysdeps/unix/sysv/linux/m68k/sys/ucontext.h | 1 +
sysdeps/unix/sysv/linux/mips/bits/errno.h | 45 +-
sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h | 15 +
sysdeps/unix/sysv/linux/mips/bits/siginfo.h | 344 --------------
sysdeps/unix/sysv/linux/mips/sys/ucontext.h | 1 +
sysdeps/unix/sysv/linux/nios2/sys/ucontext.h | 1 +
sysdeps/unix/sysv/linux/nptl-signals.h | 1 +
sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h | 3 +-
sysdeps/unix/sysv/linux/s390/bits/siginfo.h | 341 --------------
sysdeps/unix/sysv/linux/s390/sys/ucontext.h | 1 +
sysdeps/unix/sysv/linux/sh/sys/ucontext.h | 1 +
sysdeps/unix/sysv/linux/sigsetops.h | 108 +++++
sysdeps/unix/sysv/linux/sparc/bits/errno.h | 46 +-
sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h | 14 +
.../sysv/linux/sparc/bits/siginfo-consts-arch.h | 12 +
sysdeps/unix/sysv/linux/sparc/bits/siginfo.h | 352 --------------
sysdeps/unix/sysv/linux/sparc/sys/ucontext.h | 1 +
sysdeps/unix/sysv/linux/sys/epoll.h | 8 +-
sysdeps/unix/sysv/linux/sys/signalfd.h | 3 +-
.../unix/sysv/linux/{bits/uio.h => sys/uio_ext.h} | 37 +-
sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h | 11 +
.../sysv/linux/tile/bits/siginfo-consts-arch.h | 14 +
sysdeps/unix/sysv/linux/tile/bits/siginfo.h | 347 --------------
sysdeps/unix/sysv/linux/tile/sys/ucontext.h | 1 +
sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h | 19 +
sysdeps/unix/sysv/linux/x86/bits/siginfo.h | 360 ---------------
sysdeps/unix/sysv/linux/x86/sys/ucontext.h | 1 +
sysdeps/x86_64/fpu/s_cosf.S | 3 +-
sysdeps/x86_64/fpu/s_sincosf.S | 3 +-
sysdeps/x86_64/fpu/s_sinf.S | 3 +-
wcsmbs/Makefile | 3 +-
wcsmbs/bits/types/__mbstate_t.h | 23 +
wcsmbs/bits/types/mbstate_t.h | 8 +
wcsmbs/bits/types/wint_t.h | 23 +
wcsmbs/uchar.h | 9 +-
wcsmbs/wchar.h | 125 ++---
wctype/Makefile | 2 +-
wctype/bits/wctype-wchar.h | 173 +++++++
wctype/wctype.h | 179 +-------
174 files changed, 2274 insertions(+), 4375 deletions(-)
create mode 100644 bits/sigevent-consts.h
rename bits/{siginfo.h => siginfo-consts.h} (68%)
delete mode 100644 bits/sigset.h
create mode 100644 bits/types/__sigset_t.h
create mode 100644 bits/types/sigevent_t.h
create mode 100644 bits/types/siginfo_t.h
rename bits/{uio.h => uio_lim.h} (79%)
create mode 100644 include/bits/cpu-set.h
create mode 100644 include/bits/types/FILE.h
create mode 100644 include/bits/types/__FILE.h
create mode 100644 include/bits/types/__mbstate_t.h
create mode 100644 include/bits/types/error_t.h
create mode 100644 include/bits/types/mbstate_t.h
create mode 100644 include/bits/types/res_state.h
create mode 100644 include/bits/types/sig_atomic_t.h
create mode 100644 include/bits/types/sigset_t.h
create mode 100644 include/bits/types/sigval_t.h
create mode 100644 include/bits/types/wint_t.h
create mode 100644 include/bits/wctype-wchar.h
create mode 100644 include/list_t.h
create mode 100644 libio/bits/types/FILE.h
create mode 100644 libio/bits/types/__FILE.h
create mode 100644 posix/bits/cpu-set.h
create mode 100644 resolv/bits/types/res_state.h
create mode 100644 scripts/make-errno-enum.sh
create mode 100644 signal/bits/types/sig_atomic_t.h
create mode 100644 signal/bits/types/sigset_t.h
create mode 100644 signal/bits/types/sigval_t.h
create mode 100644 stdlib/bits/types/error_t.h
create mode 100644 sysdeps/generic/sigsetops.h
rename signal/sigsetops.h => sysdeps/generic/sys/uio_ext.h (70%)
create mode 100644 sysdeps/unix/sysv/linux/bits/sigevent-consts.h
create mode 100644 sysdeps/unix/sysv/linux/bits/siginfo-arch.h
create mode 100644 sysdeps/unix/sysv/linux/bits/siginfo-consts-arch.h
create mode 100644 sysdeps/unix/sysv/linux/bits/siginfo-consts.h
delete mode 100644 sysdeps/unix/sysv/linux/bits/siginfo.h
delete mode 100644 sysdeps/unix/sysv/linux/bits/sigset.h
create mode 100644 sysdeps/unix/sysv/linux/bits/types/__sigset_t.h
create mode 100644 sysdeps/unix/sysv/linux/bits/types/sigevent_t.h
create mode 100644 sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
create mode 100644 sysdeps/unix/sysv/linux/bits/uio_lim.h
create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/siginfo-arch.h
create mode 100644 sysdeps/unix/sysv/linux/ia64/bits/siginfo-consts-arch.h
delete mode 100644 sysdeps/unix/sysv/linux/ia64/bits/siginfo.h
create mode 100644 sysdeps/unix/sysv/linux/mips/bits/siginfo-arch.h
delete mode 100644 sysdeps/unix/sysv/linux/mips/bits/siginfo.h
delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/siginfo.h
create mode 100644 sysdeps/unix/sysv/linux/sigsetops.h
create mode 100644 sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
create mode 100644 sysdeps/unix/sysv/linux/sparc/bits/siginfo-consts-arch.h
delete mode 100644 sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
rename sysdeps/unix/sysv/linux/{bits/uio.h => sys/uio_ext.h} (57%)
create mode 100644 sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
create mode 100644 sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h
delete mode 100644 sysdeps/unix/sysv/linux/tile/bits/siginfo.h
create mode 100644 sysdeps/unix/sysv/linux/x86/bits/siginfo-arch.h
delete mode 100644 sysdeps/unix/sysv/linux/x86/bits/siginfo.h
create mode 100644 wcsmbs/bits/types/__mbstate_t.h
create mode 100644 wcsmbs/bits/types/mbstate_t.h
create mode 100644 wcsmbs/bits/types/wint_t.h
create mode 100644 wctype/bits/wctype-wchar.h
--
2.11.0