From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 121364 invoked by alias); 20 May 2017 23:18:26 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 121333 invoked by uid 89); 20 May 2017 23:18:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.8 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=substantially X-HELO: mailbackend.panix.com From: Zack Weinberg To: libc-alpha@sourceware.org Subject: [PATCH 0/6] Elimination of __need macros, round 3(?) Date: Sat, 20 May 2017 23:18:00 -0000 Message-Id: <20170520231823.20924-1-zackw@panix.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SW-Source: 2017-05/txt/msg00633.txt.bz2 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