summaryrefslogtreecommitdiff
path: root/include/gshadow.h
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2016-08-23 21:19:17 -0400
committerZack Weinberg <zackw@panix.com>2016-08-29 19:47:33 -0400
commit15f55c639c257ca218b3c9156c43c1eb91993620 (patch)
treeaf87b2b8e8311d3fcc9bc249d20a85f15e7a55cc /include/gshadow.h
parenta16d5c43fddeff66b36cdd9a115c849e053abd42 (diff)
downloadglibc-zack/installed-header-hygiene.tar.gz
Installed header hygiene (BZ#20366): Test of installed headers.zack/installed-header-hygiene
As the final act in this patchset, this test validates the properties I have been ensuring that all of the headers have. Each subdirectory checks the headers that it installs. In order for this test to work correctly, every wrapper header that actually defines something must guard those definitions with #ifndef _ISOMAC. This is the existing mechanism used by the conform/ tests to tell wrapper headers not to define anything that the public header wouldn't, and not to use anything from libc-symbols.h. conform/ only cares for headers that we need to check for standards conformance, whereas this test applies to *every* header. (Headers in include/ that are either installed directly, or are internal-use-only and do *not* correspond to any installed header, are not affected.) The wrapper header adjustments were semi-mechanically generated, but I had to correct enough problems by hand that I don't think posting the script is worth it. * 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. * 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/gmp.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.
Diffstat (limited to 'include/gshadow.h')
-rw-r--r--include/gshadow.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/gshadow.h b/include/gshadow.h
index 8a981f688a..532801afd0 100644
--- a/include/gshadow.h
+++ b/include/gshadow.h
@@ -1,6 +1,8 @@
#ifndef _GSHADOW_H
#include <gshadow/gshadow.h>
+# ifndef _ISOMAC
+
extern int __fgetsgent_r (FILE *stream, struct sgrp *resbuf, char *buffer,
size_t buflen, struct sgrp **result);
extern int __sgetsgent_r (const char *string, struct sgrp *resbuf,
@@ -12,4 +14,5 @@ extern int _nss_files_parse_sgent (char *line, struct sgrp *result,
size_t datalen, int *errnop);
libc_hidden_proto (_nss_files_parse_sgent)
+# endif /* !_ISOMAC */
#endif