Go to file
Joseph Myers 6e89caf118 Split up rules for tests that compare output with baselines.
This patch splits makefile rules that generate a file then run cmp to
check the contents of that file into separate rules to generate and
compare the file.  This simplifies making those tests generate PASS /
FAIL results, by removing the need to insert && between commands in
the test so that a $(evaluate-test) call is reached.  It also avoids
the oddity of the .out file being an intermediate file rather than the
final result generated, as noted for some of these tests in
<https://sourceware.org/ml/libc-alpha/2012-10/msg00894.html>.

In many cases, the rule to run the program was no longer needed
because the default rules for running test programs on the host to
generate a .out file sufficed.  (I'm not asserting the commands run
after this patch are *exactly* the same as before, simply that the
rules did nothing special that appeared deliberate or relevant to
anything about what the tests were testing.  In cases where the rules
redirected stderr as well as stdout, I left the existing rule's
redirection in place to avoid changing what gets compared with the
expected results.)

It's clear there is a lot in common between the various -cmp.out rules
and it might be possible in future to refactor them into more generic
support for the case of comparing test output against a baseline.
(Some baselines are *.exp, some *.expect, some directly embedded in
the makefiles, and nptl/tst-cleanupx0.expect appears unused.)

Tested x86_64.

	* elf/Makefile ($(objpfx)order.out): Remove rule.
	[$(run-built-tests) = yes] (tests): Depend on
	$(objpfx)order-cmp.out.
	($(objpfx)order-cmp.out): New rule.
	[$(run-built-tests) = yes] (tests): Depend on
	$(objpfx)tst-array1-cmp.out, $(objpfx)tst-array1-static-cmp.out,
	$(objpfx)tst-array2-cmp.out, $(objpfx)tst-array3-cmp.out,
	$(objpfx)tst-array4-cmp.out, $(objpfx)tst-array5-cmp.out and
	$(objpfx)tst-array5-static-cmp.out.
	($(objpfx)tst-array1.out): Remove rule.
	($(objpfx)tst-array1-cmp.out): New rule.
	($(objpfx)tst-array1-static.out): Remove rule.
	($(objpfx)tst-array1-static-cmp.out): New rule.
	($(objpfx)tst-array2.out): Remove rule.
	($(objpfx)tst-array2-cmp.out): New rule.
	($(objpfx)tst-array3.out): Remove rule.
	($(objpfx)tst-array3-cmp.out): New rule.
	($(objpfx)tst-array4.out): Remove rule.
	($(objpfx)tst-array4-cmp.out): New rule.
	($(objpfx)tst-array5.out): Remove rule.
	($(objpfx)tst-array5-cmp.out): New rule.
	($(objpfx)tst-array5-static.out): Remove rule.
	($(objpfx)tst-array5-static-cmp.out): New rule.
	[$(run-built-tests) = yes] (tests): Depend on
	$(objpfx)order2-cmp.out.
	($(objpfx)order2.out): Remove rule.
	($(objpfx)order2-cmp.out): New rule.
	($(objpfx)tst-initorder.out): Remove rule.
	[$(run-built-tests) = yes] (tests): Depend on
	$(objpfx)tst-initorder-cmp.out.
	($(objpfx)tst-initorder-cmp.out): New rule.
	($(objpfx)tst-initorder2.out): Remove rule.
	[$(run-built-tests) = yes] (tests): Depend on
	$(objpfx)tst-initorder2-cmp.out.
	($(objpfx)tst-initorder2-cmp.out): New rule.
	[$(run-built-tests) = yes] (tests): Depend on
	$(objpfx)tst-unused-dep-cmp.out.
	($(objpfx)tst-unused-dep-cmp.out): Do not run cmp.
	($(objpfx)tst-unused-dep-cmp.out): New rule.
	* stdio-common/Makefile [$(run-built-tests) = yes] (tests): Depend
	on $(objpfx)tst-setvbuf1-cmp.out.
	($(objpfx)tst-setvbuf1.out): Do not run cmp.
	($(objpfx)tst-setvbuf1-cmp.out): New rule.
	* string/Makefile [$(run-built-tests) = yes] (tests): Depend
	$(objpfx)tst-svc-cmp.out instead of $(objpfx)tst-svc.out.
	($(objpfx)tst-svc.out): Remove rule.
	($(objpfx)tst-svc-cmp.out): New rule.

nptl:
	* Makefile ($(objpfx)tst-cleanup0.out): Do not run cmp.
	[$(run-built-tests) = yes] (tests): Depend on
	$(objpfx)tst-cleanup0-cmp.out.
	($(objpfx)tst-cleanup0-cmp.out): New rule.
2014-02-14 13:42:44 +00:00
argp Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
assert Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
benchtests Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
bits Clean up trivially redundant __USE_MISC conditionals. 2014-02-13 22:07:53 +00:00
catgets Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
conf
conform Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
crypt Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
csu Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
ctype Clean up trivially redundant __USE_MISC conditionals. 2014-02-13 22:07:53 +00:00
debug Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dirent Clean up trivially redundant __USE_MISC conditionals. 2014-02-13 22:07:53 +00:00
dlfcn Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
elf Split up rules for tests that compare output with baselines. 2014-02-14 13:42:44 +00:00
gmon Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
gnulib Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
grp Clean up trivially redundant __USE_MISC conditionals. 2014-02-13 22:07:53 +00:00
gshadow Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
hesiod Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
hurd Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
iconv Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
iconvdata Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
include Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
inet Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
intl Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
io Clean up trivially redundant __USE_MISC conditionals. 2014-02-13 22:07:53 +00:00
libidn Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
libio Clean up trivially redundant __USE_MISC conditionals. 2014-02-13 22:07:53 +00:00
locale Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
localedata Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
login Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
mach Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
malloc malloc/mtrace.c: Cosmetic cleanup. 2014-02-11 10:02:57 +00:00
manual Remove _BSD_SOURCE and _SVID_SOURCE. 2014-02-11 23:40:07 +00:00
math Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
misc Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
nis Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nptl Split up rules for tests that compare output with baselines. 2014-02-14 13:42:44 +00:00
nptl_db Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
nscd Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
nss Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
po Update Slovenian translations 2014-02-03 10:12:05 +10:00
ports Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
posix Clean up trivially redundant __USE_MISC conditionals. 2014-02-13 22:07:53 +00:00
pwd Clean up trivially redundant __USE_MISC conditionals. 2014-02-13 22:07:53 +00:00
resolv Fix memory leak in _nss_dns_gethostbyname4_r with big DNS answer 2014-02-13 12:54:34 +01:00
resource Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rt Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
scripts scripts/update-copyrights: adjust configure input file suffix 2014-01-01 22:10:54 +10:00
setjmp Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
shadow Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
signal Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
socket Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
soft-fp soft-fp: support after-rounding tininess detection. 2014-02-12 18:27:12 +00:00
stdio-common Split up rules for tests that compare output with baselines. 2014-02-14 13:42:44 +00:00
stdlib Clean up trivially redundant __USE_MISC conditionals. 2014-02-13 22:07:53 +00:00
streams Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
string Split up rules for tests that compare output with baselines. 2014-02-14 13:42:44 +00:00
sunrpc Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
sysdeps Update MIPS math-tests.h for GCC 4.9 using soft-fp. 2014-02-13 00:46:45 +00:00
sysvipc Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
termios Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
time Clean up trivially redundant __USE_MISC conditionals. 2014-02-13 22:07:53 +00:00
timezone tzselect: stop requiring ksh 2014-02-08 06:47:58 -05:00
wcsmbs Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
wctype Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
.gitattributes
.gitignore ignore gdb related files 2013-12-27 16:30:50 -05:00
BUGS
CANCEL-FCT-WAIVE
CANCEL-FILE-WAIVE
CONFORMANCE
COPYING Update to latest versions of GPL-2.0 and LGPL-2.1 2013-09-09 12:52:48 +10:00
COPYING.LIB Update to latest versions of GPL-2.0 and LGPL-2.1 2013-09-09 12:52:48 +10:00
ChangeLog Split up rules for tests that compare output with baselines. 2014-02-14 13:42:44 +00:00
ChangeLog.1
ChangeLog.2
ChangeLog.3
ChangeLog.4
ChangeLog.5
ChangeLog.6
ChangeLog.7
ChangeLog.8
ChangeLog.9
ChangeLog.10
ChangeLog.11
ChangeLog.12
ChangeLog.13
ChangeLog.14
ChangeLog.15
ChangeLog.16
ChangeLog.17
INSTALL Stop partial menu generation in INSTALL file 2013-12-19 11:54:06 +10:00
LICENSES Expand LICENSES file. 2012-12-05 21:56:15 +00:00
Makeconfig Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Makefile Remove reference to subdir_lint.out. 2014-02-12 23:37:13 +00:00
Makefile.in Add target bench-clean 2013-04-16 14:07:21 +05:30
Makerules Make ABI tests generate .out files. 2014-02-12 20:51:13 +00:00
NAMESPACE
NEWS Fix memory leak in _nss_dns_gethostbyname4_r with big DNS answer 2014-02-13 12:54:34 +01:00
PROJECTS
README Relocate alpha from ports to libc 2014-02-12 07:00:06 -08:00
Rules Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Versions.def S/390: Make jmp_buf extendible. 2014-01-07 09:36:31 +01:00
WUR-REPORT
abi-tags
aclocal.m4 rename configure.in to configure.ac 2013-10-30 17:32:08 +10:00
config.h.in tst-fanotify: switch to AC_DEFINE 2014-01-04 08:34:01 -05:00
config.make.in Remove --disable-versioning. 2013-09-04 15:25:42 +00:00
configure Set AUTOCONF variable when maintainer-mode is not used 2013-12-16 21:45:27 +10:00
configure.ac Set AUTOCONF variable when maintainer-mode is not used 2013-12-16 21:45:27 +10:00
cppflags-iterator.mk
extra-lib.mk Remove --disable-versioning. 2013-09-04 15:25:42 +00:00
extra-modules.mk
libc-abis
o-iterator.mk
shlib-versions PowerPC: Change powerpc64le start ABI to 2.17. 2014-02-04 09:49:08 -02:00
test-skeleton.c tests: unify fortification handler logic 2014-02-08 06:58:43 -05:00
version.h Open development for 2.20 2014-02-08 08:10:29 +10:00

README

This directory contains the sources of the GNU C Library.
See the file "version.h" for what release version you have.

The GNU C Library is the standard system C library for all GNU systems,
and is an important part of what makes up a GNU system.  It provides the
system API for all programs written in C and C-compatible languages such
as C++ and Objective C; the runtime facilities of other programming
languages use the C library to access the underlying operating system.

In GNU/Linux systems, the C library works with the Linux kernel to
implement the operating system behavior seen by user applications.
In GNU/Hurd systems, it works with a microkernel and Hurd servers.

The GNU C Library implements much of the POSIX.1 functionality in the
GNU/Hurd system, using configurations i[4567]86-*-gnu.  The current
GNU/Hurd support requires out-of-tree patches that will eventually be
incorporated into an official GNU C Library release.

When working with Linux kernels, this version of the GNU C Library
requires Linux kernel version 2.6.16 or later.

Also note that the shared version of the libgcc_s library must be
installed for the pthread library to work correctly.

The GNU C Library supports these configurations for using Linux kernels:

	aarch64*-*-linux-gnu
	alpha*-*-linux-gnu
	arm-*-linux-gnueabi
	i[4567]86-*-linux-gnu
	x86_64-*-linux-gnu	Can build either x86_64 or x32
	m68k-*-linux-gnu
	mips-*-linux-gnu
	mips64-*-linux-gnu
	powerpc-*-linux-gnu	Hardware or software floating point, BE only.
	powerpc64*-*-linux-gnu	Big-endian and little-endian.
	s390-*-linux-gnu
	s390x-*-linux-gnu
	sh[34]-*-linux-gnu
	sparc*-*-linux-gnu
	sparc64*-*-linux-gnu
	tilegx-*-linux-gnu
	tilepro-*-linux-gnu

The code for other CPU configurations supported by volunteers outside of
the core glibc maintenance effort is contained in the `ports' add-on,
located in the `ports' subdirectory of the source tree.

	hppa-*-linux-gnu	Not currently functional without patches.
	ia64-*-linux-gnu

If you are interested in doing a port, please contact the glibc
maintainers; see http://www.gnu.org/software/libc/ for more
information.

See the file INSTALL to find out how to configure, build, and install
the GNU C Library.  You might also consider reading the WWW pages for
the C library at http://www.gnu.org/software/libc/.

The GNU C Library is (almost) completely documented by the Texinfo manual
found in the `manual/' subdirectory.  The manual is still being updated
and contains some known errors and omissions; we regret that we do not
have the resources to work on the manual as much as we would like.  For
corrections to the manual, please file a bug in the `manual' component,
following the bug-reporting instructions below.  Please be sure to check
the manual in the current development sources to see if your problem has
already been corrected.

Please see http://www.gnu.org/software/libc/bugs.html for bug reporting
information.  We are now using the Bugzilla system to track all bug reports.
This web page gives detailed information on how to report bugs properly.

The GNU C Library is free software.  See the file COPYING.LIB for copying
conditions, and LICENSES for notices about a few contributions that require
these additional notices to be distributed.  License copyright years may be
listed using range notation, e.g., 2000-2013, indicating that every year in
the range, inclusive, is a copyrightable year that would otherwise be listed
individually.