about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog22
-rw-r--r--NEWS2
-rw-r--r--README17
-rw-r--r--ports/ChangeLog.alpha7
-rw-r--r--ports/ChangeLog.am336
-rw-r--r--ports/ChangeLog.arm8
-rw-r--r--ports/ChangeLog.hppa7
-rw-r--r--ports/ChangeLog.m68k10
-rw-r--r--ports/ChangeLog.mips6
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h15
-rwxr-xr-xports/sysdeps/unix/sysv/linux/am33/configure2
-rw-r--r--ports/sysdeps/unix/sysv/linux/am33/configure.in2
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/configure1
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/configure.in1
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/kernel-features.h4
-rw-r--r--ports/sysdeps/unix/sysv/linux/hppa/kernel-features.h6
-rw-r--r--ports/sysdeps/unix/sysv/linux/hppa/nptl/configure5
-rw-r--r--ports/sysdeps/unix/sysv/linux/hppa/nptl/configure.in5
-rw-r--r--ports/sysdeps/unix/sysv/linux/m68k/configure1
-rw-r--r--ports/sysdeps/unix/sysv/linux/m68k/configure.in1
-rw-r--r--ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h8
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/configure5
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/configure.in5
-rw-r--r--sysdeps/unix/sysv/linux/configure16
-rw-r--r--sysdeps/unix/sysv/linux/configure.in16
-rw-r--r--sysdeps/unix/sysv/linux/kernel-features.h53
26 files changed, 116 insertions, 115 deletions
diff --git a/ChangeLog b/ChangeLog
index 4863547b57..18fb8362cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2012-08-07  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/configure.in (arch_minimum_kernel):
+	Change from 2.6.0 to 2.6.16.
+	* sysdeps/unix/sysv/linux/configure: Regenerated.
+	* sysdeps/unix/sysv/linux/kernel-features.h
+	(__ASSUME_POSIX_CPU_TIMERS): Define unconditionally.
+	(__ASSUME_TGKILL): Define conditional on architectures, not kernel
+	version.
+	(__ASSUME_UTIMES): Likewise.
+	(__ASSUME_CLONE_STOPPED): Remove.
+	(__ASSUME_FADVISE64_64_SYSCALL): Define conditional on
+	architectures, not kernel version.
+	(__ASSUME_PROT_GROWSUPDOWN): Define unconditionally.
+	(__ASSUME_NO_CLONE_DETACHED): Likewise.
+	(__ASSUME_GETDENTS32_D_TYPE): Likewise.
+	(__ASSUME_WAITID_SYSCALL): Likewise.
+	[__sparc__ && __arch64__] (__ASSUME_STAT64_SYSCALL): Do not
+	condition definition on __LINUX_KERNEL_VERSION >= 0x02060c.
+	* README: State 2.6.16 as minimum Linux kernel version.  Do not
+	refer to older versions.
+
 2012-08-06  Roland McGrath  <roland@hack.frob.com>
 
 	* dirent/alphasort.c [_DIRENT_MATCHES_DIRENT64]:
diff --git a/NEWS b/NEWS
index fb39cea787..314f4d4fec 100644
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@ Version 2.17
   Implemented by Gary Benson.
 
 * The minimum Linux kernel version that this version of the GNU C Library
-  can be used with is 2.6.0.
+  can be used with is 2.6.16.
 
 
 Version 2.16
diff --git a/README b/README
index ee43670b30..1d90b55208 100644
--- a/README
+++ b/README
@@ -17,12 +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 2.6.0 or later.
-
-All Linux kernel versions prior to 2.6.16 are known to have some bugs that
-may cause some of the tests related to pthreads in "make check" to fail.
-If you see such problems, please try the test suite on the most recent
-Linux kernel version that you can use, before pursuing those bugs further.
+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.
@@ -35,7 +30,7 @@ The GNU C Library supports these configurations for using Linux kernels:
 	powerpc64-*-linux-gnu
 	s390-*-linux-gnu
 	s390x-*-linux-gnu
-	sh[34]-*-linux-gnu	Requires Linux 2.6.11 or newer
+	sh[34]-*-linux-gnu
 	sparc*-*-linux-gnu
 	sparc64*-*-linux-gnu
 
@@ -45,14 +40,14 @@ add-on.  You can find glibc-ports-VERSION distributed separately in the
 same place where you got the main glibc distribution files.
 Currently these configurations have code in the `ports' add-on:
 
-	alpha*-*-linux-gnu	Requires Linux 2.6.9 or newer for NPTL
+	alpha*-*-linux-gnu
 	am33*-*-linux-gnu	Not currently functional
-	arm-*-linux-gnueabi	Requires Linux 2.6.16-rc1 or newer for NPTL
+	arm-*-linux-gnueabi
 	hppa-*-linux-gnu	Not currently functional without patches.
 	ia64-*-linux-gnu
 	m68k-*-linux-gnu
-	mips-*-linux-gnu	Requires Linux 2.6.12 or newer for NPTL
-	mips64-*-linux-gnu	Requires Linux 2.6.12 or newer for NPTL
+	mips-*-linux-gnu
+	mips64-*-linux-gnu
 	powerpc-*-linux-gnu	Software floating point (--without-fp)
 	tilegx-*-linux-gnu
 	tilepro-*-linux-gnu
diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha
index eb178ea601..3b94d7e14a 100644
--- a/ports/ChangeLog.alpha
+++ b/ports/ChangeLog.alpha
@@ -1,3 +1,10 @@
+2012-08-07  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/alpha/kernel-features.h
+	(__ASSUME_TGKILL): Define unconditionally.
+	(__ASSUME_STAT64_SYSCALL): Likewise.
+	(__ASSUME_IEEE_RAISE_EXCEPTION): Likewise.
+
 2012-08-02  Roland McGrath  <roland@hack.frob.com>
 
 	* sysdeps/unix/sysv/linux/alpha/bits/dirent.h
diff --git a/ports/ChangeLog.am33 b/ports/ChangeLog.am33
index 2adcc22e4e..7e644caae7 100644
--- a/ports/ChangeLog.am33
+++ b/ports/ChangeLog.am33
@@ -1,3 +1,9 @@
+2012-08-07  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/am33/configure.in (arch_minimum_kernel):
+	Change to 2.6.25.
+	* sysdeps/unix/sysv/linux/am33/configure: Regenerated.
+
 2012-08-01  Roland McGrath  <roland@hack.frob.com>
 
 	[BZ #14138]
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 8379dc0441..842bbea5b2 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,11 @@
+2012-08-07  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/arm/configure.in (arch_minimum_kernel):
+	Remove.
+	* sysdeps/unix/sysv/linux/arm/configure: Regenerated.
+	* sysdeps/unix/sysv/linux/arm/kernel-features.h (__ASSUME_UTIMES):
+	Define unconditionally.
+
 2012-08-02  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/arm/sysdep.h (ASM_TYPE_DIRECTIVE): Remove.
diff --git a/ports/ChangeLog.hppa b/ports/ChangeLog.hppa
index bf54564dfb..cab7743f78 100644
--- a/ports/ChangeLog.hppa
+++ b/ports/ChangeLog.hppa
@@ -1,3 +1,10 @@
+2012-08-07  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/hppa/nptl/configure.in: Remove.
+	* sysdeps/unix/sysv/linux/hppa/nptl/configure: Likewise.
+	* sysdeps/unix/sysv/linux/hppa/kernel-features.h
+	(__ASSUME_LWS_CAS): Define unconditionally.
+
 2012-08-01  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/hppa/kernel-features.h
diff --git a/ports/ChangeLog.m68k b/ports/ChangeLog.m68k
index e91f34b56b..cf3d251460 100644
--- a/ports/ChangeLog.m68k
+++ b/ports/ChangeLog.m68k
@@ -1,3 +1,13 @@
+2012-08-07  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/m68k/configure.in (arch_minimum_kernel):
+	Remove.
+	* sysdeps/unix/sysv/linux/m68k/configure: Regenerated.
+	* sysdeps/unix/sysv/linux/m68k/kernel-features.h
+	(__ASSUME_TGKILL): Define unconditionally.
+	(__ASSUME_UTIMES): Likewise.
+	(__ASSUME_FADVISE64_64_SYSCALL): Likewise.
+
 2012-08-03  Andreas Schwab  <schwab@linux-m68k.org>
 
 	* sysdeps/m68k/sysdep.h (ALIGNARG, ASM_TYPE_DIRECTIVE)
diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips
index 8421a0df24..b49630e90d 100644
--- a/ports/ChangeLog.mips
+++ b/ports/ChangeLog.mips
@@ -1,3 +1,9 @@
+2012-08-07  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/mips/configure.in (arch_minimum_kernel):
+	Remove.
+	* sysdeps/unix/sysv/linux/mips/configure: Regenerated.
+
 2012-08-01  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/mips/kernel-features.h
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
index 3eaa422b12..6f330b5aa3 100644
--- a/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
+++ b/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
@@ -20,23 +20,16 @@
 #ifndef _KERNEL_FEATURES_H
 #define _KERNEL_FEATURES_H 1
 
-/* The tgkill syscall was introduced for alpha 2.6.0-test1 which unfortunately
-   cannot be distinguished from 2.6.0.  */
-#if __LINUX_KERNEL_VERSION >= 132609
-# define __ASSUME_TGKILL	1
-#endif
+/* The tgkill syscall was introduced for alpha 2.6.0-test1.  */
+#define __ASSUME_TGKILL	1
 
 /* Starting with version 2.6.4, the stat64 syscalls are available.  */
-#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__
-# define __ASSUME_STAT64_SYSCALL   1
-#endif
+#define __ASSUME_STAT64_SYSCALL   1
 
 #define __ASSUME_UTIMES	1
 
 /* Starting with version 2.6.9, SSI_IEEE_RAISE_EXCEPTION exists.  */
-#if __LINUX_KERNEL_VERSION >= 0x020609
-# define __ASSUME_IEEE_RAISE_EXCEPTION	1
-#endif
+#define __ASSUME_IEEE_RAISE_EXCEPTION	1
 
 /* Support for the O_CLOEXEC flag was added for alpha in 2.6.23.  */
 #if __LINUX_KERNEL_VERSION >= 0x020617
diff --git a/ports/sysdeps/unix/sysv/linux/am33/configure b/ports/sysdeps/unix/sysv/linux/am33/configure
index d4490122b4..870c6a7929 100755
--- a/ports/sysdeps/unix/sysv/linux/am33/configure
+++ b/ports/sysdeps/unix/sysv/linux/am33/configure
@@ -1,4 +1,4 @@
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
  # Local configure fragment for am33/sysdeps/unix/sysv/linux/am33
 
-arch_minimum_kernel=2.4.0
+arch_minimum_kernel=2.6.25
diff --git a/ports/sysdeps/unix/sysv/linux/am33/configure.in b/ports/sysdeps/unix/sysv/linux/am33/configure.in
index a94c370cf1..43e33f74ca 100644
--- a/ports/sysdeps/unix/sysv/linux/am33/configure.in
+++ b/ports/sysdeps/unix/sysv/linux/am33/configure.in
@@ -1,4 +1,4 @@
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for am33/sysdeps/unix/sysv/linux/am33
 
-arch_minimum_kernel=2.4.0
+arch_minimum_kernel=2.6.25
diff --git a/ports/sysdeps/unix/sysv/linux/arm/configure b/ports/sysdeps/unix/sysv/linux/arm/configure
index 5b5f4c993a..cb94cc5eb4 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/configure
+++ b/ports/sysdeps/unix/sysv/linux/arm/configure
@@ -1,6 +1,5 @@
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/unix/sysv/linux/arm.
 
-arch_minimum_kernel=2.6.16
 libc_cv_gcc_unwind_find_fde=no
 CFLAGS=${CFLAGS% -fno-unwind-tables}
diff --git a/ports/sysdeps/unix/sysv/linux/arm/configure.in b/ports/sysdeps/unix/sysv/linux/arm/configure.in
index b57c4e37b8..3e67dee425 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/configure.in
+++ b/ports/sysdeps/unix/sysv/linux/arm/configure.in
@@ -1,6 +1,5 @@
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/unix/sysv/linux/arm.
 
-arch_minimum_kernel=2.6.16
 libc_cv_gcc_unwind_find_fde=no
 CFLAGS=${CFLAGS% -fno-unwind-tables}
diff --git a/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h b/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
index 745bca8bf6..b003b17b02 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
+++ b/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
@@ -18,9 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 /* The utimes syscall was added before 2.6.1.  */
-#if __LINUX_KERNEL_VERSION >= 132609
-# define __ASSUME_UTIMES	1
-#endif
+#define __ASSUME_UTIMES	1
 
 /* On ARM the mmap2/stat64/lstat64/fstat64 syscalls were introduced in
    2.3.35.  */
diff --git a/ports/sysdeps/unix/sysv/linux/hppa/kernel-features.h b/ports/sysdeps/unix/sysv/linux/hppa/kernel-features.h
index 13a3c010fe..49ba55f7c1 100644
--- a/ports/sysdeps/unix/sysv/linux/hppa/kernel-features.h
+++ b/ports/sysdeps/unix/sysv/linux/hppa/kernel-features.h
@@ -1,6 +1,6 @@
 /* Set flags signalling availability of kernel features based on given
    kernel version number.
-   Copyright (C) 2006 Free Software Foundation, Inc.
+   Copyright (C) 2006-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -30,8 +30,6 @@
 #define __ASSUME_GETDENTS64_SYSCALL	1
 
 /* PA-RISC 2.6.9 kernels had the first LWS CAS support */
-#if __LINUX_KERNEL_VERSION >= 0x020609
-# define __ASSUME_LWS_CAS		1
-#endif
+#define __ASSUME_LWS_CAS		1
 
 #include_next <kernel-features.h>
diff --git a/ports/sysdeps/unix/sysv/linux/hppa/nptl/configure b/ports/sysdeps/unix/sysv/linux/hppa/nptl/configure
deleted file mode 100644
index a418c5469a..0000000000
--- a/ports/sysdeps/unix/sysv/linux/hppa/nptl/configure
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file is generated from configure.in by Autoconf.  DO NOT EDIT!
- # Local configure fragment for sysdeps/unix/sysv/linux/hppa/nptl.
-
-# Needed for LWS CAS
-arch_minimum_kernel=2.6.9
diff --git a/ports/sysdeps/unix/sysv/linux/hppa/nptl/configure.in b/ports/sysdeps/unix/sysv/linux/hppa/nptl/configure.in
deleted file mode 100644
index 1c7102e260..0000000000
--- a/ports/sysdeps/unix/sysv/linux/hppa/nptl/configure.in
+++ /dev/null
@@ -1,5 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/unix/sysv/linux/hppa/nptl.
-
-# Needed for LWS CAS
-arch_minimum_kernel=2.6.9
diff --git a/ports/sysdeps/unix/sysv/linux/m68k/configure b/ports/sysdeps/unix/sysv/linux/m68k/configure
index a2fd833321..a704dacee6 100644
--- a/ports/sysdeps/unix/sysv/linux/m68k/configure
+++ b/ports/sysdeps/unix/sysv/linux/m68k/configure
@@ -1,7 +1,6 @@
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
  case $machine in
 m68k/coldfire)
-  arch_minimum_kernel=2.6.10
   ;;
 *)
   libc_cv_gcc_unwind_find_fde=yes
diff --git a/ports/sysdeps/unix/sysv/linux/m68k/configure.in b/ports/sysdeps/unix/sysv/linux/m68k/configure.in
index 6e91ef96f3..c21ca9dd47 100644
--- a/ports/sysdeps/unix/sysv/linux/m68k/configure.in
+++ b/ports/sysdeps/unix/sysv/linux/m68k/configure.in
@@ -2,7 +2,6 @@ sinclude(./aclocal.m4)dnl Autoconf lossage
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 case $machine in
 m68k/coldfire)
-  arch_minimum_kernel=2.6.10
   ;;
 *)
   libc_cv_gcc_unwind_find_fde=yes
diff --git a/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h b/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
index ed62453ec3..3196cbb107 100644
--- a/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
+++ b/ports/sysdeps/unix/sysv/linux/m68k/kernel-features.h
@@ -22,11 +22,9 @@
 #define __ASSUME_STAT64_SYSCALL	1
 
 /* Many syscalls were added in 2.6.10 for m68k.  */
-#if __LINUX_KERNEL_VERSION >= 132618
-# define __ASSUME_TGKILL	1
-# define __ASSUME_UTIMES	1
-# define __ASSUME_FADVISE64_64_SYSCALL	1
-#endif
+#define __ASSUME_TGKILL	1
+#define __ASSUME_UTIMES	1
+#define __ASSUME_FADVISE64_64_SYSCALL	1
 
 #include_next <kernel-features.h>
 
diff --git a/ports/sysdeps/unix/sysv/linux/mips/configure b/ports/sysdeps/unix/sysv/linux/mips/configure
index 099014fdc7..051432df88 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/configure
+++ b/ports/sysdeps/unix/sysv/linux/mips/configure
@@ -30,7 +30,4 @@ case "$prefix" in
   esac
 esac
 
-if test -z "$arch_minimum_kernel"; then
-  arch_minimum_kernel=2.6.12
-  libc_cv_gcc_unwind_find_fde=yes
-fi
+libc_cv_gcc_unwind_find_fde=yes
diff --git a/ports/sysdeps/unix/sysv/linux/mips/configure.in b/ports/sysdeps/unix/sysv/linux/mips/configure.in
index 466a349fc5..18e8bbc5c3 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/configure.in
+++ b/ports/sysdeps/unix/sysv/linux/mips/configure.in
@@ -31,7 +31,4 @@ case "$prefix" in
   esac
 esac
 
-if test -z "$arch_minimum_kernel"; then
-  arch_minimum_kernel=2.6.12
-  libc_cv_gcc_unwind_find_fde=yes
-fi
+libc_cv_gcc_unwind_find_fde=yes
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index ccc4c676d6..b04f7715fa 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -284,34 +284,34 @@ test -n "$arch_minimum_kernel" ||
 case "$machine" in
   i386*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   powerpc/powerpc32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   s390/s390-32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   s390/s390-64)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   sh*)
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     libc_cv_gcc_unwind_find_fde=yes
     ;;
   sparc/sparc64*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   sparc*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   *)
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
 esac
 if test -n "$minimum_kernel"; then
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index 1a00329cac..e55d9fdb0f 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -41,34 +41,34 @@ test -n "$arch_minimum_kernel" ||
 case "$machine" in
   i386*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   powerpc/powerpc32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   s390/s390-32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   s390/s390-64)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   sh*)
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     libc_cv_gcc_unwind_find_fde=yes
     ;;
   sparc/sparc64*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   sparc*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
   *)
-    arch_minimum_kernel=2.6.0
+    arch_minimum_kernel=2.6.16
     ;;
 esac
 if test -n "$minimum_kernel"; then
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index e5b65cca0b..7dfc4e30d1 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -108,19 +108,15 @@
 #define __ASSUME_POSIX_TIMERS		1
 
 /* Beginning with 2.6.12 the clock and timer supports CPU clocks.  */
-#if __LINUX_KERNEL_VERSION >= 0x2060c
-# define __ASSUME_POSIX_CPU_TIMERS	1
-#endif
+#define __ASSUME_POSIX_CPU_TIMERS	1
 
 /* The statfs64 syscalls are available in 2.5.74 (but not for alpha).  */
 #define __ASSUME_STATFS64	1
 
 /* The tgkill syscall was instroduced for i386 in 2.5.75.  On x86-64,
    sparc, SH, ppc, and ppc64 it was introduced in 2.6.0-test3. */
-#if defined __i386__ \
-    || (__LINUX_KERNEL_VERSION >= 132609 \
-        && (defined __x86_64__ || defined __powerpc__ \
-            || defined __sh__ || defined __sparc__))
+#if (defined __i386__ || defined __x86_64__ || defined __powerpc__	\
+     || defined __sh__ || defined __sparc__)
 # define __ASSUME_TGKILL	1
 #endif
 
@@ -129,35 +125,23 @@
    ppc, and ppc64 it was introduced in 2.6.0-test3.  */
 #if defined __sparc__ \
     || defined __i386__ \
-    || (__LINUX_KERNEL_VERSION > 132609 && defined __x86_64__) \
-    || (__LINUX_KERNEL_VERSION >= 132609 && defined __powerpc__) \
-    || (__LINUX_KERNEL_VERSION >= 132609 && defined __sh__)
+    || defined __x86_64__ \
+    || defined __powerpc__ \
+    || defined __sh__
 # define __ASSUME_UTIMES	1
 #endif
 
-// XXX Disabled for now since the semantics we want is not achieved.
-#if 0
-/* The CLONE_STOPPED flag was introduced in the 2.6.0-test1 series.  */
-#if __LINUX_KERNEL_VERSION >= 132609
-# define __ASSUME_CLONE_STOPPED	1
-#endif
-#endif
-
 /* The fixed version of the posix_fadvise64 syscall appeared in
    2.6.0-test3.  At least for x86 and sparc.  Powerpc support appeared
    in 2.6.2, but for 32-bit userspace only.  */
-#if (__LINUX_KERNEL_VERSION >= 132609				\
-     && (defined __i386__ || defined __sparc__))		\
-    || (__LINUX_KERNEL_VERSION >= 132610 && defined __powerpc__ \
-       && !defined __powerpc64__)
+#if (defined __i386__ || defined __sparc__			\
+     || (defined __powerpc__ && !defined __powerpc64__))
 # define __ASSUME_FADVISE64_64_SYSCALL	1
 #endif
 
 /* The PROT_GROWSDOWN/PROT_GROWSUP flags were introduced in the 2.6.0-test
    series.  */
-#if __LINUX_KERNEL_VERSION >= 132609
-# define __ASSUME_PROT_GROWSUPDOWN	1
-#endif
+#define __ASSUME_PROT_GROWSUPDOWN	1
 
 /* Starting with 2.6.0 PowerPC adds signal/swapcontext support for Vector
    SIMD (AKA Altivec, VMX) instructions and register state.  This changes
@@ -168,30 +152,19 @@
 
 /* The CLONE_DETACHED flag is not necessary in 2.6.2 kernels, it is
    implied.  */
-#if __LINUX_KERNEL_VERSION >= 132610
-# define __ASSUME_NO_CLONE_DETACHED	1
-#endif
+#define __ASSUME_NO_CLONE_DETACHED	1
 
 /* Starting with version 2.6.4-rc1 the getdents syscall returns d_type
    information as well and in between 2.6.5 and 2.6.8 most compat wrappers
    were fixed too.  Except s390{,x} which was fixed in 2.6.11.  */
-#if (__LINUX_KERNEL_VERSION >= 0x020608 && !defined __s390__) \
-    || (__LINUX_KERNEL_VERSION >= 0x02060b && defined __s390__)
-# define __ASSUME_GETDENTS32_D_TYPE	1
-#endif
+#define __ASSUME_GETDENTS32_D_TYPE	1
 
 /* Starting with version 2.6.9, the waitid system call is available.
    Except for powerpc{,64} and s390{,x}, where it is available in 2.6.12.  */
-#if (__LINUX_KERNEL_VERSION >= 0x020609 \
-     && !defined __powerpc__ && !defined __s390__) \
-    || (__LINUX_KERNEL_VERSION >= 0x02060c \
-	&& (defined __powerpc__ || defined __s390__))
-# define __ASSUME_WAITID_SYSCALL	1
-#endif
+#define __ASSUME_WAITID_SYSCALL	1
 
 /* On sparc64 stat64/lstat64/fstat64 syscalls were introduced in 2.6.12.  */
-#if __LINUX_KERNEL_VERSION >= 0x02060c && defined __sparc__ \
-    && defined __arch64__
+#if defined __sparc__ && defined __arch64__
 # define __ASSUME_STAT64_SYSCALL	1
 #endif