This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/6] Elimination of __need macros, round 3(?)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]