diff options
66 files changed, 470 insertions, 21 deletions
@@ -1,5 +1,44 @@ 2016-09-23 Zack Weinberg <zackw@panix.com> + * scripts/check-installed-headers.sh: New script. + * Rules: In each directory that defines header files to be installed, + run check-installed-headers.sh on them as a special test. + * Makefile: Likewise for the headers installed at top level. + + * include/aliases.h, include/alloca.h, include/argz.h + * include/arpa/nameser.h, include/arpa/nameser_compat.h + * include/elf.h, include/envz.h, include/err.h + * include/execinfo.h, include/fpu_control.h, include/getopt.h + * include/gshadow.h, include/ifaddrs.h, include/libintl.h + * include/link.h, include/malloc.h, include/mcheck.h + * include/mntent.h, include/netinet/ether.h + * include/nss.h, include/obstack.h, include/printf.h + * include/pty.h, include/resolv.h, include/rpc/auth.h + * include/rpc/auth_des.h, include/rpc/auth_unix.h + * include/rpc/clnt.h, include/rpc/des_crypt.h + * include/rpc/key_prot.h, include/rpc/netdb.h + * include/rpc/pmap_clnt.h, include/rpc/pmap_prot.h + * include/rpc/pmap_rmt.h, include/rpc/rpc.h + * include/rpc/rpc_msg.h, include/rpc/svc.h + * include/rpc/svc_auth.h, include/rpc/xdr.h + * include/rpcsvc/nis_callback.h, include/rpcsvc/nislib.h + * include/rpcsvc/yp.h, include/rpcsvc/ypclnt.h + * include/rpcsvc/ypupd.h, include/shadow.h + * include/stdio_ext.h, include/sys/epoll.h + * include/sys/file.h, include/sys/gmon.h, include/sys/ioctl.h + * include/sys/prctl.h, include/sys/profil.h + * include/sys/statfs.h, include/sys/sysctl.h + * include/sys/sysinfo.h, include/ttyent.h, include/utmp.h + * sysdeps/arm/nacl/include/bits/setjmp.h + * sysdeps/mips/include/sys/asm.h + * sysdeps/unix/sysv/linux/include/sys/sysinfo.h + * sysdeps/unix/sysv/linux/include/sys/timex.h + * sysdeps/x86/fpu/include/bits/fenv.h: + Add #ifndef _ISOMAC guard around internal declarations. + Add multiple-inclusion guard if not already present. + +2016-09-23 Zack Weinberg <zackw@panix.com> + * sysdeps/generic/sys/ucontext.h * sysdeps/arm/sys/ucontext.h * sysdeps/i386/sys/ucontext.h @@ -318,6 +318,29 @@ $(objpfx)begin-end-check.out: scripts/begin-end-check.pl $(evaluate-test) endif +ifneq "$(headers)" "" +# Special test of all the installed headers in this directory. +tests-special += $(objpfx)check-installed-headers-c.out +libof-check-installed-headers-c := nonlib +$(objpfx)check-installed-headers-c.out: \ + scripts/check-installed-headers.sh $(headers) + $(SHELL) $(..)scripts/check-installed-headers.sh c \ + "$(CC) $(filter-out -std=%,$(CFLAGS)) -D_ISOMAC $(+includes)" \ + $(headers) > $@; \ + $(evaluate-test) + +ifneq "$(CXX)" "" +tests-special += $(objpfx)check-installed-headers-cxx.out +libof-check-installed-headers-cxx := nonlib +$(objpfx)check-installed-headers-cxx.out: \ + scripts/check-installed-headers.sh $(headers) + $(SHELL) $(..)scripts/check-installed-headers.sh c++ \ + "$(CXX) $(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \ + $(headers) > $@; \ + $(evaluate-test) +endif +endif + define summarize-tests @egrep -v '^(PASS|XFAIL):' $(objpfx)$1 || true @echo "Summary of test results$2:" @@ -80,6 +80,29 @@ $(common-objpfx)dummy.c: (echo 'extern void __dummy__ (void);'; \ echo 'void __dummy__ (void) { }') > $@ common-generated += dummy.o dummy.c + +ifneq "$(headers)" "" +# Special test of all the installed headers in this directory. +tests-special += $(objpfx)check-installed-headers-c.out +libof-check-installed-headers-c := nonlib +$(objpfx)check-installed-headers-c.out: \ + $(..)scripts/check-installed-headers.sh $(headers) + $(SHELL) $(..)scripts/check-installed-headers.sh c \ + "$(CC) $(filter-out -std=%,$(CFLAGS)) -D_ISOMAC $(+includes)" \ + $(headers) > $@; \ + $(evaluate-test) + +ifneq "$(CXX)" "" +tests-special += $(objpfx)check-installed-headers-cxx.out +libof-check-installed-headers-cxx := nonlib +$(objpfx)check-installed-headers-cxx.out: \ + $(..)scripts/check-installed-headers.sh $(headers) + $(SHELL) $(..)scripts/check-installed-headers.sh c++ \ + "$(CXX) $(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \ + $(headers) > $@; \ + $(evaluate-test) +endif +endif # This makes all the auxiliary and test programs. diff --git a/include/aliases.h b/include/aliases.h index f7cfafcd6c..ece69ebe43 100644 --- a/include/aliases.h +++ b/include/aliases.h @@ -1,6 +1,8 @@ #ifndef _ALIASES_H #include <inet/aliases.h> +# ifndef _ISOMAC + extern int __getaliasent_r (struct aliasent *__restrict __result_buf, char *__restrict __buffer, size_t __buflen, struct aliasent **__restrict __result) @@ -34,4 +36,5 @@ DECLARE_NSS_PROTOTYPES (nis) DECLARE_NSS_PROTOTYPES (nisplus) #undef DECLARE_NSS_PROTOTYPES +# endif /* !_ISOMAC */ #endif diff --git a/include/alloca.h b/include/alloca.h index 01500259b8..fd90664f0a 100644 --- a/include/alloca.h +++ b/include/alloca.h @@ -1,6 +1,9 @@ #ifndef _ALLOCA_H #include <stdlib/alloca.h> + +# ifndef _ISOMAC + #include <stackinfo.h> #undef __alloca @@ -73,4 +76,5 @@ libc_hidden_proto (__libc_alloca_cutoff) extend_alloca (buf, len, s__); }) #endif +# endif /* !_ISOMAC */ #endif diff --git a/include/argz.h b/include/argz.h index 4eab0b680b..0388c23277 100644 --- a/include/argz.h +++ b/include/argz.h @@ -2,8 +2,11 @@ #include <string/argz.h> +# ifndef _ISOMAC + libc_hidden_proto (argz_delete) libc_hidden_proto (__argz_count) libc_hidden_proto (__argz_stringify) +# endif /* !_ISOMAC */ #endif diff --git a/include/arpa/nameser.h b/include/arpa/nameser.h index ce6f0238ed..cd7ab6e925 100644 --- a/include/arpa/nameser.h +++ b/include/arpa/nameser.h @@ -2,6 +2,8 @@ #include <resolv/arpa/nameser.h> +# ifndef _ISOMAC + /* If the machine allows unaligned access we can do better than using the NS_GET16, NS_GET32, NS_PUT16, and NS_PUT32 macros from the installed header. */ @@ -74,4 +76,5 @@ libresolv_hidden_proto (ns_samename) libresolv_hidden_proto (ns_makecanon) libresolv_hidden_proto (ns_format_ttl) +# endif /* !_ISOMAC */ #endif diff --git a/include/arpa/nameser_compat.h b/include/arpa/nameser_compat.h index 2e735ede4c..69280009b5 100644 --- a/include/arpa/nameser_compat.h +++ b/include/arpa/nameser_compat.h @@ -1,8 +1,11 @@ #ifndef _ARPA_NAMESER_COMPAT_ #include <resolv/arpa/nameser_compat.h> +# ifndef _ISOMAC + /* Picksome unused number to represent lookups of IPv4 and IPv6 (i.e., T_A and T_AAAA). */ #define T_UNSPEC 62321 +# endif /* !_ISOMAC */ #endif diff --git a/include/elf.h b/include/elf.h index 60658c617c..f06a33f256 100644 --- a/include/elf.h +++ b/include/elf.h @@ -1,5 +1,8 @@ #ifndef _ELF_H -# include <elf/elf.h> +#include <elf/elf.h> + +# ifndef _ISOMAC + /* Some information which is not meant for the public and therefore not in <elf.h>. */ # include <dl-dtprocnum.h> @@ -9,4 +12,6 @@ # define DT_1_SUPPORTED_MASK \ (DF_1_NOW | DF_1_NODELETE | DF_1_INITFIRST | DF_1_NOOPEN \ | DF_1_ORIGIN | DF_1_NODEFLIB) -#endif + +# endif /* !_ISOMAC */ +#endif /* elf.h */ diff --git a/include/envz.h b/include/envz.h index 8cfd9b57e9..633fcc6f40 100644 --- a/include/envz.h +++ b/include/envz.h @@ -2,7 +2,10 @@ #include <string/envz.h> +# ifndef _ISOMAC + libc_hidden_proto (envz_entry) libc_hidden_proto (envz_remove) +# endif /* !_ISOMAC */ #endif diff --git a/include/err.h b/include/err.h index 737dfc1b6f..382855938e 100644 --- a/include/err.h +++ b/include/err.h @@ -1,8 +1,14 @@ +#ifndef _ERR_H #include <misc/err.h> +# ifndef _ISOMAC + libc_hidden_proto (warn) libc_hidden_proto (warnx) |
