This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.

2017-05-05  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.

diff --git a/NEWS b/NEWS
index 5558ca3..2a1e851 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 be687c7..c3d17d1 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 ae2c356..0327590 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 1cd632e..9e98078 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 4d3f845..9d1a8d2 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 81114e8..8e863b9 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])

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]