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]

Remove pre-2.6.16 Linux kernel support


This patch changes the minimum Linux kernel version for configuring
glibc to 2.6.16, as agreed in previous discussion.  The effect is
intended to be what would have been obtained by configuring
--enable-kernel=2.6.16.  (In particular, it doesn't change the few
places that enable something only for 2.6.17 and above because it was
added between 2.6.16-rc1 and 2.6.16 final.  Those can be changed
separately, although because the affected conditionals are
architecture-specific changing them won't actually allow any
compatibility code to be removed from the glibc sources.)

As with the 2.6.0 patch, the expectation is that compatibility code
for individual macros will be gradually removed over time (keeping
patch size down by allowing each macro to be removed separately).
There are two macros specific to individual ports that are defined
unconditionally after this patch, __ASSUME_IEEE_RAISE_EXCEPTION for
alpha and __ASSUME_LWS_CAS for hppa; I have no plans to do the
associated cleanups of conditional code in the corresponding
architecture-specific sources, and encourage the architecture
maintainers to do so.  (The 2.6.0 patch also made the powerpc-specific
__ASSUME_SWAPCONTEXT_SYSCALL unconditional for powerpc in libc's
kernel-features.h.  I might remove the conditional code for that one
eventually, though I'd encourage architecture maintainers to do so
themselves.)

I removed the unused (and #if 0) __ASSUME_CLONE_STOPPED macro.

Various architecture-specific arch_minimum_kernel settings are removed
by this patch now the default suffices.  I set arch_minimum_kernel for
am33 to 2.6.25, as the version where am33 support was added to
kernel.org kernels and the version I've been referring to for am33
when determining if a kernel feature was in fact present in the
minimum supported kernel for all architectures and so conditional code
could be removed by patches removing individual __ASSUME_* macros.

Tested x86_64.

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.

ports/ChangeLog.alpha:
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.

ports/ChangeLog.am33:
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.

ports/ChangeLog.arm:
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.

ports/ChangeLog.hppa:
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.

ports/ChangeLog.m68k:
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.

ports/ChangeLog.mips:
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.

diff --git a/NEWS b/NEWS
index fb39cea..314f4d4 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 ee43670..1d90b55 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/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
index 3eaa422..6f330b5 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 d449012..870c6a7 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 a94c370..43e33f7 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 5b5f4c9..cb94cc5 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 b57c4e3..3e67dee 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 745bca8..b003b17 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 13a3c01..49ba55f 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 a418c54..0000000
--- 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 1c7102e..0000000
--- 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 a2fd833..a704dac 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 6e91ef9..c21ca9d 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 ed62453..3196cbb 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 099014f..051432d 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 466a349..18e8bbc 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 ccc4c67..b04f771 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 1a00329..e55d9fd 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 e5b65cc..7dfc4e3 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
 

-- 
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]