Commit Graph

77 Commits

Author SHA1 Message Date
Joseph Myers d0f5b3f851 Increase minimum Linux kernel version to 2.6.32.
This patch increases the minimum Linux kernel version for glibc to
2.6.32, as discussed in the thread starting at
<https://sourceware.org/ml/libc-alpha/2014-01/msg00511.html>.

This patch just does the minimal change to arch_minimum_kernel
settings (and LIBC_LINUX_VERSION, which determines the minimum kernel
headers version, as it doesn't make sense for that to be older than
the minimum kernel that can be used at runtime).  Followups would be
expected to do, roughly and not necessarily precisely in this order:

* Remove __LINUX_KERNEL_VERSION checks in kernel-features.h files
  where those checks are always true / always false for kernels 2.6.32
  and above.

* Otherwise simplify/improve conditionals in those files (for example,
  where defining once in the main file then undefining in
  architecture-specific files makes things clearer than having lots of
  separate definitions of the same macro), possibly fixing in the
  process cases where a macro should optimally have been defined for a
  given architecture but wasn't.  (In the review in preparation for
  this version increase I checked what the right conditions should be
  for all macros in the main kernel-features.h whose definitions there
  would have been affected by the increase - but I only fixed that
  subset of the issues found where --enable-kernel=2.6.32 would have
  caused a kernel feature to be wrongly assumed to be present, not any
  cases where a feature is not assumed but could be assumed.)

* Remove conditionals on __ASSUME_* where they can now be taken to be
  always-true, and the definitions when the macros are only used in
  Linux-specific files.

* Split more architectures out of the main kernel-features.h (like
  ex-ports architectures), once various of the architecture
  conditionals there have been eliminated so the new
  architecture-specific files are no larger than actually necessary.

Tested x86_64.

2014-03-27  Joseph Myers  <joseph@codesourcery.com>

	[BZ #9894]
	* sysdeps/unix/sysv/linux/configure.ac (LIBC_LINUX_VERSION):
	Change to 2.6.32.
	(arch_minimum_kernel): Change all 2.6.16 settings to 2.6.32.
	* sysdeps/unix/sysv/linux/configure: Regenerated.
	* sysdeps/unix/sysv/linux/microblaze/configure.ac: Remove file.
	* sysdeps/unix/sysv/linux/microblaze/configure: Likewise.
	* sysdeps/unix/sysv/linux/tile/configure.ac: Likewise.
	* sysdeps/unix/sysv/linux/tile/configure: Likewise.
	* README: Update reference to required Linux kernel version.
	* manual/install.texi (Linux): Update reference to required Linux
	kernel headers version.
	* INSTALL: Regenerated.
2014-04-30 15:41:03 +00:00
Joseph Myers d6fe5e582d Do not terminate default test runs on test failure.
This patch is an updated version of
<https://sourceware.org/ml/libc-alpha/2014-01/msg00198.html> and
<https://sourceware.org/ml/libc-alpha/2014-03/msg00180.html>.

Normal practice for software testsuites is that rather than
terminating immediately when a test fails, they continue running and
report at the end on how many tests passed or failed.

The principle behind the glibc testsuite stopping on failure was
probably that the expected state is no failures and so any failure
indicates a problem such as miscompilation.  In practice, while this
is fairly close to true for native testing on x86_64 and x86 (kernel
bugs and race conditions can still cause intermittent failures), it's
less likely to be the case on other platforms, and so people testing
glibc run the testsuite with "make -k" and then examine the logs to
determine whether the failures are what they expect to fail on that
platform, possibly with some automation for the comparison.

This patch switches the glibc testsuite to the normal convention of
not stopping on failure - unless you use stop-on-test-failure=y, in
which case it behaves essentially as it did before (and does not
generate overall test summaries on failure).  Instead, the summary
tests.sum may contain tests that FAILed.  At the end of the test run,
any FAIL or ERROR lines from tests.sum are printed, and then it exits
with error status if there were any such lines.  In addition, build
failures will also cause the test run to stop - this has the
justification that those *do* indicate serious problems that should be
promptly fixed and aren't generally hard to fix (but apart from that,
avoiding the build stopping on those failures seems harder).

Note that unlike the previous patches in this series, this *does*
require people with automation around testing glibc to change their
processes - either to start using tests.sum / xtests.sum to track
failures and compare them with expectations (with or without also
using "make -k" and examining "make" logs to identify build failures),
or else to use stop-on-test-failure=y and ignore the new tests.sum /
xtests.sum mechanism.  (If all you check is the exit status from "make
check", no changes are needed unless you want to avoid test runs
continuing after the first failure.)

Tested x86_64.

	* scripts/evaluate-test.sh: Handle fourth argument to determine
	whether test run should stop on failure.
	* Makeconfig (stop-on-test-failure): New variable.
	(evaluate-test): Pass fourth argument to evaluate-test.sh based on
	$(stop-on-test-failure).
	* Makefile (tests): Give a summary of results from testing and
	exit with failure status if they include an ERROR or FAIL.
	(xtests): Likewise.
	* manual/install.texi (Configuring and compiling): Mention
	stop-on-test-failure=y.
	* INSTALL: Regenerated.
2014-03-14 21:02:40 +00:00
Joseph Myers acd6e38912 Regenerate INSTALL. 2014-03-13 15:01:15 +00:00
Allan McRae ee0a148a56 Stop partial menu generation in INSTALL file
The commit d136c6dc resulted in menu text for the "Top" node being added
to the INSTALL file on regeneration.  As the full menu is not displayed
in the plain text file anyway, suppress the menu section completely to
avoid the additional text.

Also regenerate the INSTALL file to commit a small formatting change
introduced in the same commit.
2013-12-19 11:54:06 +10:00
Mike Frysinger cb8a6dbd17 rename configure.in to configure.ac
Autoconf has been deprecating configure.in for quite a long time.
Rename all our configure.in and preconfigure.in files to .ac.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-10-30 17:32:08 +10:00
Allan McRae cdfc721b8d Update pt_chown sections of the manual
The pt-chown binary is discussed in the "Running make install" section
without clarification of the needed configure option.  Clarify this
and simplfy the discription which is already covered in the "Configuring
and compiling" section.
2013-09-10 14:11:39 +10:00
Joseph Myers 3f2e46a494 Remove --disable-versioning. 2013-09-04 15:25:42 +00:00
Carlos O'Donell e4608715e6 CVE-2013-2207, BZ #15755: Disable pt_chown.
The helper binary pt_chown tricked into granting access to another
user's pseudo-terminal.

Pre-conditions for the attack:

 * Attacker with local user account
 * Kernel with FUSE support
 * "user_allow_other" in /etc/fuse.conf
 * Victim with allocated slave in /dev/pts

Using the setuid installed pt_chown and a weak check on whether a file
descriptor is a tty, an attacker could fake a pty check using FUSE and
trick pt_chown to grant ownership of a pty descriptor that the current
user does not own.  It cannot access /dev/pts/ptmx however.

In most modern distributions pt_chown is not needed because devpts
is enabled by default. The fix for this CVE is to disable building
and using pt_chown by default. We still provide a configure option
to enable hte use of pt_chown but distributions do so at their own
risk.
2013-07-21 15:39:55 -04:00
Siddhesh Poyarekar 52dfbe137e Fix lock elision help text in INSTALL and configure 2013-07-04 20:33:03 +05:30
Andi Kleen 1717da59ae Add a configure option to enable lock elision and disable by default
Can be enabled with --enable-lock-elision=yes at configure time.
2013-07-02 08:46:55 -07:00
Joseph Myers cbe7d24bb4 Require GCC 4.4 or later to build glibc. 2013-06-26 23:10:48 +00:00
Siddhesh Poyarekar a74ca98fdd Regenerate INSTALL file 2013-06-24 21:46:42 +05:30
Carlos O'Donell e98cdb38ee Remove mention of i386-pc-linux-gnu.
The GNU C Library does not support building for i386
therefore we remove mention of this configuration
from the INSTALL file.
2013-03-12 21:33:38 -04:00
Joseph Myers 8b748aed2a Support --with-pkgversion and --with-bugurl. 2012-11-09 22:13:45 +00:00
Joseph Myers 0eb6951257 Document general use of test-wrapper and test-wrapper-env. 2012-10-31 20:43:54 +00:00
Joseph Myers df381762dc Add cross-test-ssh.sh. 2012-10-25 19:17:45 +00:00
Joseph Myers 40e45bd5d6 Do not mention old Linux kernel versions in installation documentation. 2012-05-23 12:48:01 +00:00
Andreas Jaeger e6bdb741d1 Fix INSTALL description for modified files in source dir 2012-05-18 20:30:51 +02:00
Joseph Myers 6a3951a036 Update Texinfo version requirement. 2012-05-16 18:50:39 +00:00
Joseph Myers a7a93d5086 Clean up glibc manual references to "GNU system" (bug 6911). 2012-03-08 01:27:38 +00:00
Joseph Myers bec039bcef Require binutils 2.20 or later. 2012-03-01 21:23:57 +00:00
Joseph Myers 1f77f0491f Use Texinfo macros to refer to the GNU C Library within the manual. 2012-02-28 14:44:20 +00:00
Joseph Myers 0e7727f71d Require GCC 4.3 or later. 2012-02-27 23:07:59 +00:00
Joseph Myers abd923dbf2 Require Linux kernel headers from "make headers_install", >= 2.6.19.1. 2012-02-27 20:52:30 +00:00
Joseph Myers fb06851d67 Fix stray word in line-wrapped comment in install.texi. 2012-02-21 02:19:14 +00:00
Joseph Myers f1e86fca4a Update or avoid glibc version numbers in manual. 2012-02-21 01:01:28 +00:00
Joseph Myers 02c4bbad9c Remove documentation of upgrading from libc5. 2012-02-18 18:32:39 +00:00
Ulrich Drepper 0726704533 Fix WS 2012-01-07 11:40:36 -05:00
Ulrich Drepper bdeba1354b Remove --enable-omitfp support 2012-01-07 11:29:31 -05:00
Ulrich Drepper 10be485191 Remove specific binutils version recommendation in INSTALL file. 2010-10-03 22:30:11 -04:00
Andreas Schwab 70c9476e83 Regenerate INSTALL 2010-05-05 10:24:31 +02:00
Roland McGrath 3858bf28a6 * version.h (VERSION): 2.4
* README.template: Update for 2.4.
	* README: Regenerated.
	* manual/install.texi (Configuring and compiling): Separate build
	directory is mandatory.  Use glibc-2.4 in example.
	Update --enable-add-ons description.
	(Supported Configurations): Remove section.
	* INSTALL: Regenerated.
2006-03-06 10:59:43 +00:00
Roland McGrath c9dc3f6269 * Makefile (format-me): Use --plaintext --no-number-sections.
* NOTES, INSTALL: Regenerated.
2006-03-01 10:05:04 +00:00
Roland McGrath 4d3f34be79 * manual/install.texi (Tools for Compilation): Require gcc 3.4,
recommend 4.1, advise 4.0 for powerpc64, and note 4.1 required for
	powerpc, s390{x,} with new long double.
	* INSTALL: Regenerated.
2006-02-02 09:20:21 +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
Roland McGrath 80ed68b7bc 2004-08-09 Roland McGrath <roland@frob.com>
* manual/install.texi (Supported Configurations): Replace bug-glibc
	mention with web URL.
	* INSTALL: Regenerated.
	* locale/iso-3166.def: Likewise, in comment.
	* locale/iso-4217.def: Likewise.
	* locale/iso-639.def: Likewise.
	* posix/cpio.h: Remove bug reporting comment.
2004-08-10 05:10:38 +00:00
Andreas Jaeger 7a49a7d5b7 Update.
2004-02-29  Andreas Jaeger  <aj@suse.de>

	* manual/install.texi (Tools for Compilation): Autoconf 2.53 is required.
	(Supported Configurations): Add x86_64-*-linux.
	* INSTALL: Regenerated.
2004-02-29 19:50:54 +00:00
Ulrich Drepper e5e45b5337 Update.
2002-12-09  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/syscalls.list: Add __libc_creat and
	__libc_select aliases.

	* sysdeps/unix/sysv/linux/sigwaitinfo.c: Define __libc_sigwaitinfo
	alias.

	* sysdeps/unix/sysv/linux/sigwait.c: Define __libc_sigwait alias.

	* sysdeps/unix/sysv/linux/sigsuspend.c: Define __libc_sigsuspend alias.

	* sysdeps/unix/sysv/linux/poll.c: Define __libc_poll alias.

	* sysdeps/unix/syscalls.list: Define __libc_select alias.

	* sysdeps/posix/waitid.c: Define __libc_waitid alias.

	* sysdeps/posix/sigpause.c: Define __libc_sigpause and
	__libc___xpg_sigpause aliases.

	* sysdeps/generic/pselect.c: Define __libc_pselect alias.

	* misc/error.c: Remove use of USE_IN_LIBIO.
2002-12-10 04:05:39 +00:00
Roland McGrath 90d1d40b27 * configure.in: Make GCC version check require 3.[2-9]* and no others.
* configure: Regenerated.
	* manual/install.texi (Tools for Compilation): Say 3.2 is required.
	(Configuring and compiling): Don't mention older GCC versions any more.
	* INSTALL: Regenerated.

	* manual/install.texi (Configuring and compiling, Installation,
	Running make install, Linux): Linux -> GNU/Linux where appropriate.

	* elf/rtld.c (_dl_start_final): Move defn before _dl_start so it can
	be inlined.  Declare it with always_inline if [DONT_USE_BOOTSTRAP_MAP]
	and with noinline otherwise.  Remove hack alloca use to prevent
	inlining, we can ask for it explicitly nowadays.
2002-08-22 00:13:04 +00:00
Ulrich Drepper 6736e93bab Update.
2002-03-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/brk.c (__curbrk): Declare.
	* sysdeps/generic/dl-brk.c: Add attribute_hidden to __curbrk.
	* sysdeps/generic/dl-sbrk.c: Likewise.
	* sysdeps/unix/arm/dl-brk.S: New file.
	* sysdeps/unix/bsd/hp/m68k/dl-brk.S: New file.
	* sysdeps/unix/bsd/osf/alpha/dl-brk.S: New file.
	* sysdeps/unix/bsd/sun/m68k/dl-brk.S: New file.
	* sysdeps/unix/bsd/vax/dl-brk.S: New file.
	* sysdeps/unix/i386/dl-brk.S: New file.
	* sysdeps/unix/mips/dl-brk.S: New file.
	* sysdeps/unix/sparc/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/alpha/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/ia64/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/powerpc/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S: New file.
	* sysdeps/unix/sysv/linux/i386/dl-brk.c: Remove.
	* sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Remove.

2002-04-03  Andreas Schwab  <schwab@suse.de>

	* Makefile (headers): Add gnu/lib-names.h here instead of
	install-others.
	($(inst_includedir)/gnu/lib-names.h): Remove explicit
	installation rule.
	(install-headers): Add dependency on install-headers-nosubdir.
	* stdio-common/Makefile (headers): Add bits/stdio_lim.h here
	instead of install-others.
	($(inst_includedir)/bits/stdio_lim.h): Remove explicit
	installation rule.

2002-04-05  Ulrich Drepper  <drepper@redhat.com>

	* manual/users.tex (Enable/Disable Setuid): Fix typo in example.
	Reported by Sam Roberts <sroberts@uniserve.com>.

2002-04-03  Jakub Jelinek  <jakub@redhat.com>

	* elf/do-rel.h (elf_dynamic_do_rel): Skip relative relocs if
	l_addr == 0 and ELF_MACHINE_REL_RELATIVE.
	* sysdeps/alpha/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define.
	* sysdeps/ia64/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define.

2002-04-03  David Mosberger  <davidm@hpl.hp.com>

	* sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind info.
	(RTLD_START): Ditto.
	(__ia64_init_bootstrap_fdesc_table): Insert stop bit to avoid RAW
	dependency violation.
2002-04-06 01:45:15 +00:00
Ulrich Drepper 8d4b5a8a50 Update.
2002-02-06  Ulrich Drepper  <drepper@redhat.com>

	* configure.in: Add --without-tls option.
	* sysdeps/i386/elf/configure.in: Don't check for TLS support if
	--without-tls is given.

	* sysdeps/generic/dl-tls.c: Include <tls.h>.

	* sysdeps/i386/dl-tls.h: Don't define anything if !USE_TLS.
2002-02-07 06:38:57 +00:00
Andreas Jaeger c26b4f64a8 Update.
* configure.in: Require gettext 0.10.36 or newer.

	* manual/install.texi (Tools for Compilation): Mention gettext
	0.10.36.
2001-04-19 20:15:22 +00:00
Andreas Jaeger 4a5b72ff79 Mention s390x. 2001-03-27 05:32:26 +00:00
Andreas Jaeger ad8bdd9216 Regenerate. 2001-02-09 19:49:23 +00:00
Ulrich Drepper d2830ba4cc Update.
2000-11-03  Ulrich Drepper  <drepper@redhat.com>

	* posix/Versions: Export __sysconf.
2000-11-04 03:29:28 +00:00
Andreas Jaeger 6bf22cc723 Update.
2000-09-20  Andreas Jaeger  <aj@suse.de>

	* iconvdata/Makefile (generated): Add tst-tables.out.

	* intl/Makefile	(generated): Add test output.

2000-09-19  Andreas Jaeger  <aj@suse.de>

	* sunrpc/clnt_simp.c (callrpc): Fix write beyond end of buffer.
	Reported by Jens-Uwe Mager <jum@helios.de>.
2000-09-20 08:26:37 +00:00
Andreas Jaeger 2bbc70d5da Update.
2000-08-09  Andreas Jaeger  <aj@suse.de>

	* configure.in: Change required make versions.

	* manual/install.texi (Tools for Compilation): Document required
	make version.
	(Supported Configurations): Update list of supported
	configurations.
2000-08-09 07:12:30 +00:00
Ulrich Drepper 0efadcd9ac Update.
2000-03-25  Ulrich Drepper  <drepper@redhat.com>

	* manual/install.texi: Remove references to crypt add-on.
2000-03-26 06:05:37 +00:00
Andreas Jaeger c0389ee432 Regenerated. 2000-03-10 09:36:06 +00:00