Commit Graph

110 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
Ondřej Bílka cf822e3c94 Fix two spaces after sentence.
Minor formatting fix that was carried by issuing
sed -e"s/\. \([A-Z]\)/.  \1/" followed by editing result.
2014-02-26 23:27:38 +01: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
Siddhesh Poyarekar d136c6dc1e BZ #15941: Fix INSTALL file regeneration failure with makeinfo 5.x
I have skipped regenerating the INSTALL file because we want to
continue using the 4.x generator for now.
2013-12-05 09:58:20 +05:30
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 3d2abe798d Revert "Remove references to non-existent content items in install.texi"
This reverts commit 583c76a7ce which
breaks building info pages during "make install".

Conflicts:
	ChangeLog
2013-09-28 13:10:59 +10:00
Allan McRae 583c76a7ce Remove references to non-existent content items in install.texi
These were left in when the installation section was split out
into its own file.
2013-09-27 14:47:56 +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
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
Roland McGrath 12086fb483 Sort sysd-rules-patterns by descending pattern length. 2013-06-17 09:55:49 -07:00
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
H.J. Lu 740b3dbee8 Add --enable-hardcoded-path-in-tests configure option 2013-01-11 07:14:18 -08: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
Andreas Jaeger 6a4888ffd6 Do not build manual in source dir
[BZ #13750]
Do not build manual anymore in the source dir. Also clean up the
Makefile and remove rules that have been used previously
when we had a stand-alone Makefile which was obsoleted recently.
2012-05-14 22:01:08 +02:00
Andreas Jaeger 1261f5d10c Revert "Update install.texi for building manual in build dir"
This reverts commit 0d80ac6813.

Reverting since e3945c47bd gets reverted
as well.
2012-05-04 17:09:22 +02:00
Andreas Jaeger 0d80ac6813 Update install.texi for building manual in build dir 2012-05-04 13:28:33 +02:00
Andreas Jaeger 7ac30cc5f0 Move FAQ to wiki
The FAQ is now at http://sourceware.org/glibc/wiki/FAQ and not
anymore part of the repository.
2012-05-03 09:46:57 +02:00
Carlos O'Donell c0ed9d7d2b Use sourceware.org for email and web references.
We use sourceware.org consistently to reference the
server that RedHat provides for community services
to open-source projects.

	[BZ # 13963]
	* manual/install.texi: Use sourceware.org.
2012-04-09 11:57:15 -04: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 bdeba1354b Remove --enable-omitfp support 2012-01-07 11:29:31 -05:00
Ulrich Drepper e943389325 Remove use of ranlib. 2011-02-15 14:52:29 -05:00
Ulrich Drepper 5306d3613a Update wording for gcc requirement. 2010-01-15 00:10:14 -08: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 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 8522a05394 [BZ #1908]
2005-11-22  Ulrich Drepper  <drepper@redhat.com>
	[BZ #1908]
	* manual/install.texi (Tools for Compilation): Require gawk.

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

	* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
	unused is_static field from slotinfo array.
2005-11-22 18:11:01 +00:00
Roland McGrath b3af1a245b * manual/install.texi (Installation): Don't mention linuxthreads.
(Configuring and compiling): Don't use linuxthreads as example.

	* sysdeps/unix/sysv/linux/configure.in: Check for nptl add-on only,
	not linuxthreads.
	* sysdeps/unix/sysv/linux/configure: Regenerated.
	* resolv/Depend: Add nptl.
	* rt/Depend: Likewise.

	* linuxthreads, linuxthreads_db: Directories removed (preserved in
	ports repository).
2005-07-03 04:40:53 +00:00
Roland McGrath 98be6f687d * manual/install.texi (Tools for Compilation): GNU binutils 2.15
is now needed.
2005-03-29 23:47:22 +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
Ulrich Drepper d40eb37aad [BZ #40]
Update.
2004-05-15  Petter Reinholdtsen  <pere@hungry.com>

	* locale/iso-3166.def: Remove YUGOSLAVIA and insert "SERBIA AND
	MONTENEGRO" which have taken over the code 819.  Patch from
	Danilo Segan. [BZ #40]

2004-05-15  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
	(SYSCALL_ERROR_HANDLER): Rename __sparc.get_pic.l7 to
	__sparc_get_pic_l7.

2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>

	* catgets/gencat.c: Update bug reporting instructions.
	* csu/version.c: Likewise.
	* debug/catchsegv.sh: Likewise.
	* debug/pcprofiledump.c: Likewise.
	* debug/xtrace.sh: Likewise.
	* elf/ldd.bash.in: Likewise.
	* iconv/iconv_prog.c: Likewise.
	* iconv/iconvconfig.c: Likewise.
	* locale/programs/locale.c: Likewise.
	* locale/programs/localedef.c: Likewise.
	* login/programs/pt_chown.c: Likewise.
	* malloc/memusage.sh: Likewise.
	* malloc/memusagestat.c: Likewise.
	* malloc/mtrace.pl: Likewise.
	* manual/crypt.texi: Likewise.
	* manual/install.texi: Likewise.
	* nss/makedb.c: Likewise.

2004-05-14  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Only
	CHECK_STATIC_TLS if sym != NULL.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/i386/dl-machine.h (elf_machine_rela): Likewise.

2004-05-12  Andreas Schwab  <schwab@suse.de>

	* posix/regex_internal.c (build_wcs_buffer): Also set pstr->mbs
	when translating.

2004-05-13  H.J. Lu  <hongjiu.lu@intel.com>

	* Rules (xtests): Depend on tests.
2004-05-17 18:59:35 +00:00
Andreas Jaeger d419807443 (Tools for Compilation): Autoconf 2.53 is required. (Supported Configurations): Add x86_64-*-linux. 2004-02-29 19:50:28 +00:00
Roland McGrath 0c02c85fd3 (Tools for Compilation): Grammar fixes. 2004-01-30 01:58:22 +00:00
Ulrich Drepper a8d87c92cd Update.
2003-01-14  Ulrich Drepper  <drepper@redhat.com>

	* manual/install.texi: Correct description of header preparation for
	Linux build.  Patch by mhwood@Ameritech.Net [PR libc/4941].
2003-01-15 07:15:24 +00:00