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 00/13] Installed-header hygiene (BZ#20366)


Last release cycle I made some noises about cleaning up the installed
headers---specifically, I think they should all be tested to compile
as both C and C++, in a variety of modes, without having included
any other headers first.  There's not a lot of bugs in this area,
but there's enough to get 13 patches out of them :)  Mainly because
I broke it up very fine for review.  It would probably be best to
squash it down to just one patch for landing.

zw

-- 
Zack Weinberg (13):
  Installed-header hygiene (BZ#20366): obsolete BSD u_* types.
  Installed-header hygiene (BZ#20366): manual fixups after mechanical
    change.
  Installed-header hygiene (BZ#20366): missing inclusions A.
  Installed-header hygiene (BZ#20366): missing inclusions B.
  Installed header hygiene (BZ#20366): BYTE_ORDER macros.
  Installed header hygiene (BZ#20366): Macros used in #if without
    checking whether they are defined.
  Installed-header hygiene (BZ#20366): stack_t.
  Installed-header hygiene (BZ#20366): time.h types.
  Installed-header hygiene (BZ#20366): struct ifreq.
  Installed-header hygiene (BZ#20366): struct ether_addr.
  Installed-header hygiene (BZ#20366): struct osockaddr.
  Installed-header hygiene (BZ#20366): Miscellaneous.
  Installed header hygiene (BZ#20366): 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/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/gmp.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                                |  27 +--
 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                           | 157 ++++++++--------
 resolv/arpa/nameser_compat.h                    |   4 +-
 resolv/netdb.h                                  |   3 +-
 resolv/resolv.h                                 | 125 +++++++------
 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/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             |  60 +++---
 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 ++++++------------------
 196 files changed, 1499 insertions(+), 997 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]