about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-05-08 10:45:20 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-05-08 10:45:20 +0000
commit139ace95756a61715a18051c102bd67ca5166b3c (patch)
treea17b7041fd0ff3607d93f24475ad2c16c11bd59a
parent717da4b3bead186d8790b260d5c0dd317a651d8b (diff)
downloadglibc-139ace95756a61715a18051c102bd67ca5166b3c.tar.gz
glibc-139ace95756a61715a18051c102bd67ca5166b3c.tar.xz
glibc-139ace95756a61715a18051c102bd67ca5166b3c.zip
Require Linux kernel 3.2 or later on x86 / x86_64.
As per the recent discussion, this patch implements a requirement for
Linux 3.2 or later for x86 and x86_64.  This is only the initial
change to increase the configured minimum; it's expected that followup
patches would deal with associated removal of conditionals that are no
longer needed.  If we remove the start-up test on the kernel version,
of course the NEWS and README text should then be revised (to reflect
that this version is just one such that glibc does not intend to
include compatibility code for any older kernel version, rather than
older kernels necessarily failing to work or glibc necessarily having
compatibility code for newer interfaces).

The followups would be able to assume presence of getcpu (x86_64),
recvmmsg (not always through its own syscall, sometimes only through
socketcall), sendmmsg (likewise), /proc/$pid/task/$tid/comm, f_flags
from statfs, prlimit64.

Tested for x86_64 and x86.

	* sysdeps/unix/sysv/linux/i386/configure.ac (arch_minimum_kernel):
	Remove.
	* sysdeps/unix/sysv/linux/i386/configure: Regenerated.
	* sysdeps/unix/sysv/linux/x86_64/64/configure.ac
	(arch_minimum_kernel): Remove.
	* sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerated.
	* README: Update statement about Linux kernel requirements.
-rw-r--r--ChangeLog10
-rw-r--r--NEWS4
-rw-r--r--README4
-rw-r--r--sysdeps/unix/sysv/linux/i386/configure2
-rw-r--r--sysdeps/unix/sysv/linux/i386/configure.ac2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/configure2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/configure.ac2
7 files changed, 15 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index ee121d7d10..4e29d93658 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2017-05-08  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/i386/configure.ac (arch_minimum_kernel):
+	Remove.
+	* sysdeps/unix/sysv/linux/i386/configure: Regenerated.
+	* sysdeps/unix/sysv/linux/x86_64/64/configure.ac
+	(arch_minimum_kernel): Remove.
+	* sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerated.
+	* README: Update statement about Linux kernel requirements.
+
 2017-05-04  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	* manual/llio.texi: Add preadv and pwritev documentation.
diff --git a/NEWS b/NEWS
index 5558ca31d8..2a1e85108d 100644
--- a/NEWS
+++ b/NEWS
@@ -57,6 +57,10 @@ Version 2.26
   be added on next major revision of POSIX, so current support is enabled
   with _GNU_SOURCE.
 
+* The minimum Linux kernel version that this version of the GNU C Library
+  can be used with on i[4567]86 and x86_64 is 3.2.  A Linux 3.2 or later
+  kernel was already required on all other architectures.
+
 Security related changes:
 
 * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes,
diff --git a/README b/README
index be687c7dc3..c3d17d1378 100644
--- a/README
+++ b/README
@@ -17,9 +17,7 @@ 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 3.2 or later on all architectures except
-i[4567]86 and x86_64, where Linux kernel version 2.6.32 or later
-suffices.
+requires Linux kernel version 3.2 or later.
 
 Also note that the shared version of the libgcc_s library must be
 installed for the pthread library to work correctly.
diff --git a/sysdeps/unix/sysv/linux/i386/configure b/sysdeps/unix/sysv/linux/i386/configure
index ae2c3567c5..0327590486 100644
--- a/sysdeps/unix/sysv/linux/i386/configure
+++ b/sysdeps/unix/sysv/linux/i386/configure
@@ -1,8 +1,6 @@
 # This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/unix/sysv/linux/i386.
 
-arch_minimum_kernel=2.6.32
-
 # Check if CFLAGS allows compiler to use ebp register in inline assembly.
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler flags allows ebp in inline assembly" >&5
diff --git a/sysdeps/unix/sysv/linux/i386/configure.ac b/sysdeps/unix/sysv/linux/i386/configure.ac
index 1cd632e5c6..9e980784bb 100644
--- a/sysdeps/unix/sysv/linux/i386/configure.ac
+++ b/sysdeps/unix/sysv/linux/i386/configure.ac
@@ -1,8 +1,6 @@
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/unix/sysv/linux/i386.
 
-arch_minimum_kernel=2.6.32
-
 # Check if CFLAGS allows compiler to use ebp register in inline assembly.
 AC_CACHE_CHECK([if compiler flags allows ebp in inline assembly],
                 libc_cv_can_use_register_asm_ebp, [
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/configure b/sysdeps/unix/sysv/linux/x86_64/64/configure
index 4d3f84567b..9d1a8d271d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/configure
+++ b/sysdeps/unix/sysv/linux/x86_64/64/configure
@@ -1,8 +1,6 @@
 # This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/unix/sysv/linux/x86_64/64.
 
-arch_minimum_kernel=2.6.32
-
 test -n "$libc_cv_slibdir" ||
 case "$prefix" in
 /usr | /usr/)
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/configure.ac b/sysdeps/unix/sysv/linux/x86_64/64/configure.ac
index 81114e8b27..8e863b94ad 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/configure.ac
+++ b/sysdeps/unix/sysv/linux/x86_64/64/configure.ac
@@ -1,6 +1,4 @@
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/unix/sysv/linux/x86_64/64.
 
-arch_minimum_kernel=2.6.32
-
 LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])