Commit Graph

9 Commits

Author SHA1 Message Date
Zack Weinberg 4775578486 Installed header hygiene (BZ#20366): Test of installed headers.
This adds a test to ensure that the problems fixed in the last several
patches do not recur.  Each directory checks the headers that it
installs for two properties: first, each header must be compilable in
isolation, as both C and C++, under a representative combination of
language and library conformance levels; second, there is a blacklist
of identifiers that may not appear in any installed header, currently
consisting of the legacy BSD typedefs.  (There is an exemption for the
headers that define those typedefs, and for the RPC headers.  It may be
necessary to make this more sophisticated if we add more stuff to the
blacklist in the future.)

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.)

	* 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 08:43:56 -04:00
Ulrich Drepper a784e50247 Remove pre-ISO C support
No more __const.
2012-01-07 23:57:22 -05:00
Ulrich Drepper 0e66ade5ad * debug/pread64_chk.c: Use __libc_pread64 instead of __pread64.
* sysdeps/posix/posix_fallocate64.c: Likewise.
	* include/string.h: Use libc_hidden_proto for strnlen.
	* sysdeps/generic/strnlen.c: Add libc_hidden_def.
	* include/libintl.h: Use libc_hidden_proto for __dcgettext.
	* intl/dcgettext.c: Add libc_hidden_def.
	* include/execinfo.h: Add libc_hidden_proto for __backtrace and
	__backtrace_symbols_fd.
	* sysdeps/generic/backtrace.c: Add libc_hidden_def.
	* sysdeps/generic/backtracesymsfd.c: Likewise.
	* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
	* sysdeps/i386/backtrace.c: Likewise.
	* sysdeps/ia64/backtrace.c: Likewise.
	* sysdeps/powerpc/powerpc32/backtrace.c: Likewise.
	* sysdeps/powerpc/powerpc64/backtrace.c: Likewise.
	* sysdeps/s390/s390-32/backtrace.c: Likewise.
	* sysdeps/s390/s390-64/backtrace.c: Likewise.
2005-06-14 15:55:44 +00:00
Ulrich Drepper a334319f65 (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. 2004-12-22 20:10:10 +00:00
Jakub Jelinek 0ecb606cb6 2.5-18.1 2007-07-12 18:26:36 +00:00
Ulrich Drepper c19559b0bc Update.
* include/aio.h: Remove __THROW from internal interfaces.  __THROW
	is only need in external header files that might be compiled by a
	C++ compiler.
	* include/alloca.h: Likewise.
	* include/db.h: Likewise.
	* include/dirent.h: Likewise.
	* include/execinfo.h: Likewise.
	* include/fpu_control.h: Likewise.
	* include/glob.h: Likewise.
	* include/grp.h: Likewise.
	* include/libintl.h: Likewise.
	* include/math.h: Likewise.
	* include/math.h: Likewise.
	* include/mntent.h: Likewise.
	* include/mntent.h: Likewise.
	* include/netdb.h: Likewise.
	* include/pwd.h: Likewise.
	* include/sched.h: Likewise.
	* include/shadow.h: Likewise.
	* include/stdlib.h: Likewise.
	* include/sys/file.h: Likewise.
	* include/sys/gmon.h: Likewise.
	* include/sys/ioctl.h: Likewise.
	* include/sys/socket.h: Likewise.
	* include/sys/stat.h: Likewise.
	* include/sys/sysinfo.h: Likewise.
	* include/sys/time.h: Likewise.
	* include/sys/times.h: Likewise.
	* include/sys/uio.h: Likewise.
	* include/sys/wait.h: Likewise.
	* include/termios.h: Likewise.
	* include/time.h: Likewise.
	* include/ulimit.h: Likewise.
	* include/utmp.h: Likewise.
	* include/wchar.h: Likewise.

1999-11-22  Andreas Jaeger  <aj@suse.de>

	* sunrpc/rpc_clntout.c (printbody): Fix -CLMNab output.
	Patch by Jerry Perkins 	<jrperkins@iname.com>, closes PR
	libc/1456+1457.

1999-11-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/siglist.h: Avoid declaring the same field
	twice if SIGPWR is defined to SIGLOST.
	* sysdeps/sparc/sparc32/memcpy.S: bcopy takes size_t argument,
	not signed, so we should not special case it for negative args.
	* sysdeps/sparc/sparc32/sparcv9/memmove.c: Don't use generic
	memmove, use the one provided in memcpy.S.
	* sysdeps/sparc/sparc64/memcpy.S: bcopy should handle overlapping
	copies like memmove, while the previous version worked like memcpy.
	Implement optimized assembly memmove.
	* sysdeps/sparc/sparc64/memmove.c: New file.

1999-11-23  Ulrich Drepper  <drepper@cygnus.com>

	* po/cs.po: Update from translators.

1999-11-23  Andreas Jaeger  <aj@suse.de>
1999-11-23 17:22:17 +00:00
Ulrich Drepper 4d3a563f2e Update.
1999-10-18  Ulrich Drepper  <drepper@cygnus.com>

	* scripts/config.sub: Update from latest autoconf version.
	* scripts/config.guess: Likewise.

1999-10-18  Andreas Jaeger  <aj@suse.de>

	* inet/arpa/inet.h: Remove K&R compatibility.
	* math/fenv.h: Likewise.

1999-10-18  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/kernel_sigaction.h (struct
	kernel_sigaction): Remove K&R compatibility.
	* sysdeps/unix/sysv/linux/net/if.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/acct.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/fsuid.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/io.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/kdaemon.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/klog.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/mount.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/prctl.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/quota.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/sendfile.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/swap.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/sysctl.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/timex.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sys/vm86.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sys/perm.h: Likewise.

1999-10-18  Andreas Jaeger  <aj@suse.de>

	* iconv/iconv_prog.c (process_block): Save errno value from iconv call.
	Patch by Bruno Haible <haible@ilog.fr> [libc/1402].

1999-10-18  Ulrich Drepper  <drepper@cygnus.com>

	* po/gl.po: New file.

1999-10-18  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Correct
	namespace selection.

1999-10-18  Andreas Schwab  <schwab@suse.de>

	* debug/xtrace.sh: Use TERMINAL_PROG instead of TERM to avoid
	clash with the TERM environment variable.

1999-10-18  Andreas Jaeger  <aj@suse.de>

	* sysdeps/generic/s_cproj.c (__cproj): Fix bug: NaN + i NaN
	returns now NaN + i NaN.
	* sysdeps/generic/s_cprojf.c (__cprojf): Likewise
	* sysdeps/generic/s_cprojl.c (__cprojl): Likewise.

1999-10-18  Andreas Jaeger  <aj@suse.de>

	* include/aio.h: Remove K&R compatiblity.
	* include/alloca.h: Likewise.
	* include/db.h: Likewise.
	* include/dirent.h: Likewise.
	* include/fcntl.h: Likewise.
	* include/fpu_control.h: Likewise.
	* include/glob.h: Likewise.
	* include/grp.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/errno.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.

	* include/execinfo.h: Add __THROW.

1999-10-18  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/mips/Implies: Remove wordsize-32 reference.
	* sysdeps/mips/mips3/Implies: Add it here.
1999-10-19 03:14:36 +00:00
Ulrich Drepper c1422e5b7c Update.
Patch by khendricks@ivey.uwo.ca [libc/1382].
1999-10-09 21:56:43 +00:00
Ulrich Drepper 7cabd57c0d Update.
1998-08-03 16:36  Ulrich Drepper  <drepper@cygnus.com>

	* catgets/catgets.c: Use mmap/munmap only is _POSIX_MAPPED_FILES
	is defined.
	* catgets/open_catalog.c: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* intl/loadmsgcat.c: Likewise.
	* locale/findlocale.c: Likewise.
	* locale/loadlocale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* malloc/malloc.c: Likewise.

	* elf/elf.h: Fix typo.

	* math/Makefile: Use $(LN_S) instead of ln.

	* sysdeps/generic/getpgid.c: Fix return type.

1998-08-01 02:49 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sysdeps/posix/tempname.c (__stdio_gen_tempname): Rename to
	__gen_tempname and simplify the interface.  Strip out the
	code to do path search and create FILE objects.  This function
	now takes a mktemp() style template and returns either a name
	or a file descriptor.
	(__path_search): New function; searches for directories for
	temp files.
	* sysdeps/generic/tempname.c: Stub out __gen_tempname and
	__path_search, not __stdio_gen_tempname.

	* libio/stdio.h: Prototype __gen_tempname and __path_search,
	not __stdio_gen_tempname.
	* stdio/stdio.h: Likewise.

	* stdio-common/tempnam.c: Use __path_search and __gen_tempname.
	* stdio-common/tmpfile.c: Likewise.
	* stdio-common/tmpfile64.c: Likewise.
	* stdio-common/tmpnam.c: Likewise.
	* stdio-common/tmpnam_r.c: Likewise.

	* misc/mkstemp.c: New file.  Use __gen_tempname.
	* misc/mktemp.c: Likewise.

	* sysdeps/posix/mkstemp.c: Removed.
	* sysdeps/posix/mktemp.c: Removed.
	* sysdeps/generic/mkstemp.c: Removed.
	* sysdeps/generic/mktemp.c: Removed.

1998-08-02  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* configure.in: Check, if door add-on is installed.
	* config.make.in: Add have_doors.
	* sunrpc/Makefile: Add HAVE_DOOR define.
	* sunrpc/key_call.c: Add keyserv/door interface.

	* sunrpc/svc_unix.c: Call setsockopt only if SO_PASSCRED is defined.
	* sunrpc/clnt_unix.c: Likewise.

1998-08-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* inet/netinet/in.h (IN_CLASSC): Correct mask.
	Reported by Ian Staniforth <I.Staniforth@sheffield.ac.uk> [fixes
	PR libc/727].

1998-08-03 10:23  Ulrich Drepper  <drepper@cygnus.com>

	* misc/Makefile: Fix installation problem with --disable-shared.
	* posix/Makefile: Likewise.

1998-08-02  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* posix/regex.c (re_search_2): Optimize searching for anchored
	pattern if '^' cannot match at embedded newlines.
	(regerror): Renamed from __regerror, which it should only be
	called if _LIBC.

1998-07-31  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sunrpc/svc_unix.c (__msgread): Check setsockopt return value.

1998-07-31  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/glob.c: Remove obsolete cast.

1998-07-31  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Rules (tests): Fix last change.
1998-08-03 16:47:01 +00:00