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] Installed-header hygiene (final, hopefully)


I have made all the changes requested on previous iterations of the
patch series.  I have also reorganized it to indicate which groups of
patches I propose to squash together for landing: 1[abcd], 2[abc], and
3[abc].

I believe that the only change not yet approved is the test script in
patch 6, which Carlos wanted Joseph to look at in detail.

Each complete squash group builds and passes the test suite on
x86_64-pc-linux-gnu, and after stripping debug information there are
no changes to any files outside of /usr/include (except for nscd,
which embeds the build time, blech).  Builds used gcc 6.2.0 (current
default for Debian unstable) and kernel headers from Linux 4.7.4
(ditto), and were configured with --prefix=/usr --enable-obsolete-rpc.

zw

Zack Weinberg (13):
  Installed-header hygiene (BZ#20366) 1a: Missing inclusions.
  Installed header hygiene (BZ#20366) 1b: BYTE_ORDER macros.
  Installed header hygiene (BZ#20366) 1c: _LIBC and __STDC_VERSION__ are
    not always defined.
  Installed-header hygiene (BZ#20366) 1d: Miscellaneous small changes.

  Installed-header hygiene (BZ#20366) 2a: obsolete BSD u_* types.
  Installed-header hygiene (BZ#20366) 2b: manual corrections after
    mechanical change.
  Installed-header hygiene (BZ#20366) 2c: New dependencies on stdint.h
    after mechanical change.

  Installed-header hygiene (BZ#20366) 3a: struct ifreq.
  Installed-header hygiene (BZ#20366) 3b: struct ether_addr.
  Installed-header hygiene (BZ#20366) 3c: struct osockaddr.

  Installed-header hygiene (BZ#20366) 4: stack_t.
  Installed-header hygiene (BZ#20366) 5: time.h types.
  Installed header hygiene (BZ#20366) 6: Test of installed headers.

 Rules                                           |  25 +++
 argp/argp.h                                     |   4 +-
 bits/in.h                                       |   4 +-
 bits/resource.h                                 |   3 +-
 bits/sigcontext.h                               |   7 +-
 bits/sigstack.h                                 |   7 +-
 bits/socket.h                                   |   4 +-
 bits/time.h                                     |  72 +++----
 gmon/sys/gmon.h                                 |  30 +--
 include/aliases.h                               |   3 +
 include/alloca.h                                |   4 +
 include/argz.h                                  |   3 +
 include/arpa/nameser.h                          |   7 +-
 include/arpa/nameser_compat.h                   |   3 +
 include/bits/types/clock_t.h                    |   1 +
 include/bits/types/clockid_t.h                  |   1 +
 include/bits/types/struct_itimerspec.h          |   1 +
 include/bits/types/struct_osockaddr.h           |   1 +
 include/bits/types/struct_timespec.h            |   1 +
 include/bits/types/struct_timeval.h             |   1 +
 include/bits/types/struct_tm.h                  |   1 +
 include/bits/types/time_t.h                     |   1 +
 include/bits/types/timer_t.h                    |   1 +
 include/elf.h                                   |   9 +-
 include/envz.h                                  |   3 +
 include/err.h                                   |   6 +
 include/execinfo.h                              |   3 +
 include/fpu_control.h                           |   6 +
 include/getopt.h                                |   5 +-
 include/gshadow.h                               |   3 +
 include/ifaddrs.h                               |   4 +
 include/libintl.h                               |   4 +
 include/link.h                                  |  11 +-
 include/malloc.h                                |   2 +
 include/mcheck.h                                |   3 +
 include/mntent.h                                |   3 +
 include/netinet/ether.h                         |   3 +
 include/nss.h                                   |   3 +
 include/obstack.h                               |   6 +
 include/printf.h                                |   4 +
 include/pty.h                                   |   3 +
 include/resolv.h                                |  35 ++--
 include/rpc/auth.h                              |   3 +
 include/rpc/auth_des.h                          |   3 +
 include/rpc/auth_unix.h                         |   6 +
 include/rpc/clnt.h                              |   3 +
 include/rpc/des_crypt.h                         |   3 +
 include/rpc/key_prot.h                          |   6 +
 include/rpc/netdb.h                             |   3 +
 include/rpc/pmap_clnt.h                         |   7 +-
 include/rpc/pmap_prot.h                         |   6 +
 include/rpc/pmap_rmt.h                          |   6 +
 include/rpc/rpc.h                               |   4 +
 include/rpc/rpc_msg.h                           |   3 +
 include/rpc/svc.h                               |   3 +
 include/rpc/svc_auth.h                          |   3 +
 include/rpc/xdr.h                               |   6 +
 include/rpcsvc/nis_callback.h                   |   3 +
 include/rpcsvc/nislib.h                         |   3 +
 include/rpcsvc/yp.h                             |   3 +
 include/rpcsvc/ypclnt.h                         |   3 +
 include/rpcsvc/ypupd.h                          |   3 +
 include/shadow.h                                |   3 +
 include/stdio_ext.h                             |   7 +-
 include/sys/epoll.h                             |   3 +
 include/sys/file.h                              |   4 +
 include/sys/gmon.h                              |   4 +
 include/sys/ioctl.h                             |   4 +
 include/sys/prctl.h                             |   3 +
 include/sys/profil.h                            |   3 +
 include/sys/statfs.h                            |   4 +
 include/sys/sysctl.h                            |   3 +
 include/sys/sysinfo.h                           |   3 +
 include/time.h                                  |   7 +-
 include/ttyent.h                                |   7 +-
 include/utmp.h                                  |   3 +
 inet/netinet/ether.h                            |   2 +
 inet/netinet/icmp6.h                            |  12 +-
 inet/netinet/igmp.h                             |   8 +-
 inet/netinet/ip6.h                              |   8 +-
 inet/protocols/routed.h                         |   6 +-
 inet/protocols/talkd.h                          |  22 ++-
 inet/protocols/timed.h                          |   6 +-
 io/fcntl.h                                      |   3 +-
 io/fts.h                                        |  20 +-
 io/sys/poll.h                                   |   3 +-
 io/sys/stat.h                                   |  13 +-
 io/utime.h                                      |   3 +-
 misc/sys/cdefs.h                                |  30 +--
 misc/sys/select.h                               |   8 +-
 nis/rpcsvc/nislib.h                             |   2 +-
 nptl_db/thread_db.h                             |   2 +-
 posix/glob.h                                    |   2 +-
 posix/sched.h                                   |   9 +-
 posix/sys/times.h                               |   4 +-
 posix/sys/types.h                               |   9 +-
 resolv/arpa/nameser.h                           | 120 ++++++------
 resolv/arpa/nameser_compat.h                    |   4 +-
 resolv/netdb.h                                  |   3 +-
 resolv/resolv.h                                 | 117 ++++++------
 rt/aio.h                                        |   3 +-
 rt/mqueue.h                                     |   3 +-
 scripts/check-installed-headers.sh              | 146 +++++++++++++++
 signal/signal.h                                 |   3 +-
 socket/Makefile                                 |   3 +-
 socket/bits/types/struct_osockaddr.h            |  12 ++
 socket/sys/socket.h                             |   8 +-
 sunrpc/rpc/rpc_des.h                            |   8 +-
 sysdeps/arm/nacl/include/bits/setjmp.h          |   3 +
 sysdeps/arm/sys/ucontext.h                      |   6 +
 sysdeps/generic/netinet/if_ether.h              |   2 +-
 sysdeps/generic/netinet/in_systm.h              |   8 +-
 sysdeps/generic/netinet/ip.h                    |  46 ++---
 sysdeps/generic/netinet/tcp.h                   |  34 ++--
 sysdeps/generic/sys/ucontext.h                  |   6 +-
 sysdeps/gnu/netinet/ip_icmp.h                   |  56 +++---
 sysdeps/gnu/netinet/tcp.h                       | 159 ++++++++--------
 sysdeps/gnu/netinet/udp.h                       |  19 +-
 sysdeps/i386/sys/ucontext.h                     |   6 +
 sysdeps/m68k/sys/ucontext.h                     |   6 +
 sysdeps/mach/hurd/bits/socket.h                 |   4 +-
 sysdeps/mach/hurd/i386/bits/sigcontext.h        |   7 +-
 sysdeps/mach/hurd/net/ethernet.h                |   8 +-
 sysdeps/mach/hurd/net/if_arp.h                  |   2 +-
 sysdeps/mach/hurd/net/if_ppp.h                  |   7 +-
 sysdeps/mach/hurd/net/route.h                   |  12 +-
 sysdeps/mach/sys/reboot.h                       |   6 +-
 sysdeps/mips/include/sys/asm.h                  |   6 +-
 sysdeps/mips/sys/ucontext.h                     |   9 +-
 sysdeps/nptl/pthread.h                          |   1 +
 sysdeps/pthread/semaphore.h                     |   3 +-
 sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h |  25 ++-
 sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h  |   9 +-
 sysdeps/unix/sysv/linux/alpha/bits/resource.h   |   3 +-
 sysdeps/unix/sysv/linux/alpha/bits/sigstack.h   |  25 ++-
 sysdeps/unix/sysv/linux/alpha/sys/acct.h        |   4 +-
 sysdeps/unix/sysv/linux/alpha/sys/ucontext.h    |   3 +
 sysdeps/unix/sysv/linux/arm/sys/ucontext.h      |   6 +-
 sysdeps/unix/sysv/linux/bits/in.h               |   4 +-
 sysdeps/unix/sysv/linux/bits/resource.h         |   3 +-
 sysdeps/unix/sysv/linux/bits/sigcontext.h       |   5 +
 sysdeps/unix/sysv/linux/bits/sigstack.h         |  25 ++-
 sysdeps/unix/sysv/linux/bits/socket.h           |   4 +-
 sysdeps/unix/sysv/linux/bits/time.h             |  68 +++----
 sysdeps/unix/sysv/linux/bits/timex.h            |   1 +
 sysdeps/unix/sysv/linux/hppa/sys/ucontext.h     |   5 +-
 sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h  |   6 +-
 sysdeps/unix/sysv/linux/ia64/bits/sigstack.h    |  29 +--
 sysdeps/unix/sysv/linux/ia64/sys/ucontext.h     |   4 +
 sysdeps/unix/sysv/linux/include/sys/sysinfo.h   |   3 +
 sysdeps/unix/sysv/linux/include/sys/timex.h     |   3 +
 sysdeps/unix/sysv/linux/m68k/sys/ucontext.h     |   6 +
 sysdeps/unix/sysv/linux/mips/bits/resource.h    |   3 +-
 sysdeps/unix/sysv/linux/mips/bits/sigstack.h    |  25 ++-
 sysdeps/unix/sysv/linux/mips/sys/ucontext.h     |   9 +-
 sysdeps/unix/sysv/linux/net/ethernet.h          |  11 +-
 sysdeps/unix/sysv/linux/net/if_arp.h            |   5 +-
 sysdeps/unix/sysv/linux/net/if_ppp.h            |  12 +-
 sysdeps/unix/sysv/linux/net/if_shaper.h         |   6 +-
 sysdeps/unix/sysv/linux/net/ppp_defs.h          |   4 +-
 sysdeps/unix/sysv/linux/net/route.h             |  12 +-
 sysdeps/unix/sysv/linux/netinet/if_ether.h      |  16 +-
 sysdeps/unix/sysv/linux/netinet/if_fddi.h       |  10 +-
 sysdeps/unix/sysv/linux/netinet/if_tr.h         |  36 ++--
 sysdeps/unix/sysv/linux/netipx/ipx.h            |   9 +-
 sysdeps/unix/sysv/linux/netrose/rose.h          |   3 +
 sysdeps/unix/sysv/linux/nios2/sys/ucontext.h    |   6 +
 sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h |  25 ++-
 sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h  |   6 +-
 sysdeps/unix/sysv/linux/s390/sys/ucontext.h     |  10 +-
 sysdeps/unix/sysv/linux/sh/sys/ucontext.h       |   5 +-
 sysdeps/unix/sysv/linux/sparc/bits/resource.h   |   3 +-
 sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h |   5 +
 sysdeps/unix/sysv/linux/sparc/bits/sigstack.h   |  25 ++-
 sysdeps/unix/sysv/linux/sparc/sys/ucontext.h    |   7 +
 sysdeps/unix/sysv/linux/sys/acct.h              |  34 ++--
 sysdeps/unix/sysv/linux/sys/quota.h             |   2 +-
 sysdeps/unix/sysv/linux/sys/timerfd.h           |   3 +-
 sysdeps/unix/sysv/linux/tile/sys/ucontext.h     |   6 +-
 sysdeps/unix/sysv/linux/x86/sys/ucontext.h      |   6 +-
 sysdeps/x86/fpu/include/bits/fenv.h             |   6 +
 sysvipc/sys/ipc.h                               |   4 -
 sysvipc/sys/msg.h                               |   3 +-
 sysvipc/sys/sem.h                               |   3 +-
 sysvipc/sys/shm.h                               |   3 +-
 time/Makefile                                   |   7 +-
 time/bits/types/clock_t.h                       |  15 ++
 time/bits/types/clockid_t.h                     |   9 +
 time/bits/types/struct_itimerspec.h             |  14 ++
 time/bits/types/struct_timespec.h               |  14 ++
 time/bits/types/struct_timeval.h                |  13 ++
 time/bits/types/struct_tm.h                     |  33 ++++
 time/bits/types/time_t.h                        |  14 ++
 time/bits/types/timer_t.h                       |   9 +
 time/sys/time.h                                 |   9 +-
 time/sys/timeb.h                                |   4 +-
 time/time.h                                     | 237 ++++++------------------
 197 files changed, 1451 insertions(+), 948 deletions(-)
 create mode 100644 include/bits/types/clock_t.h
 create mode 100644 include/bits/types/clockid_t.h
 create mode 100644 include/bits/types/struct_itimerspec.h
 create mode 100644 include/bits/types/struct_osockaddr.h
 create mode 100644 include/bits/types/struct_timespec.h
 create mode 100644 include/bits/types/struct_timeval.h
 create mode 100644 include/bits/types/struct_tm.h
 create mode 100644 include/bits/types/time_t.h
 create mode 100644 include/bits/types/timer_t.h
 create mode 100644 scripts/check-installed-headers.sh
 create mode 100644 socket/bits/types/struct_osockaddr.h
 create mode 100644 time/bits/types/clock_t.h
 create mode 100644 time/bits/types/clockid_t.h
 create mode 100644 time/bits/types/struct_itimerspec.h
 create mode 100644 time/bits/types/struct_timespec.h
 create mode 100644 time/bits/types/struct_timeval.h
 create mode 100644 time/bits/types/struct_tm.h
 create mode 100644 time/bits/types/time_t.h
 create mode 100644 time/bits/types/timer_t.h

-- 
2.9.3


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