Remove pre-2.6.0 Linux kernel support (bug 13717).
authorJoseph Myers <joseph@codesourcery.com>
Fri, 3 Aug 2012 13:42:47 +0000 (13:42 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 3 Aug 2012 13:42:47 +0000 (13:42 +0000)
13 files changed:
ChangeLog
NEWS
README
ports/ChangeLog.alpha
ports/ChangeLog.ia64
ports/sysdeps/unix/sysv/linux/alpha/configure
ports/sysdeps/unix/sysv/linux/alpha/configure.in
ports/sysdeps/unix/sysv/linux/ia64/configure
ports/sysdeps/unix/sysv/linux/ia64/configure.in
ports/sysdeps/unix/sysv/linux/ia64/kernel-features.h
sysdeps/unix/sysv/linux/configure
sysdeps/unix/sysv/linux/configure.in
sysdeps/unix/sysv/linux/kernel-features.h

index 50010be69b6286c049b20eba73b3d0e8677010b6..b31e23fb6d382c61d9fac88a727752713d58d90e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2012-08-03  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #13717]
+       * sysdeps/unix/sysv/linux/configure.in (arch_minimum_kernel):
+       Change to 2.6.0 everywhere.
+       * sysdeps/unix/sysv/linux/configure: Regenerated.
+       * sysdeps/unix/sysv/linux/kernel-features.h
+       (__ASSUME_SET_THREAD_AREA_SYSCALL): Remove.
+       (__ASSUME_CLONE_THREAD_FLAGS): Condition on architectures, not
+       kernel versions.
+       (__ASSUME_POSIX_TIMERS): Define unconditionally.
+       (__ASSUME_FUTEX_REQUEUE): Remove.
+       (__ASSUME_STATFS64): Define unconditionally.
+       (__ASSUME_AT_SECURE): Likewise.
+       (__ASSUME_CORRECT_SI_PID): Likewise.
+       (__ASSUME_TGKILL): Define without depending on kernel version for
+       i386.
+       (__ASSUME_UTIMES): Likewise.
+       (__ASSUME_SWAPCONTEXT_SYSCALL): Condition on architecture, not
+       kernel version.
+       (__ASSUME_BRK_PAGE_ROUNDED): Define unconditionally.
+       (__ASSUME_TMPFS_NAME): Likewise.
+       * README: Update reference to Linux kernel versions.
+
 2012-08-02  Marek Polacek  <polacek@redhat.com>
 
        [BZ#14150]
diff --git a/NEWS b/NEWS
index 5759eddbfd480043d6ada422fefaeeffd2dd37d0..d5b4944f222dc60a50152c3569f4b8d6c20eae80 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,8 +9,8 @@ Version 2.17
 
 * The following bugs are resolved with this release:
 
-  6778, 6808, 14042, 14150, 14151, 14154, 14157, 14173, 14283, 14298, 14328,
-  14331, 14337, 14347, 14349
+  6778, 6808, 13717, 14042, 14150, 14151, 14154, 14157, 14173, 14283, 14298,
+  14328, 14331, 14337, 14347, 14349
 
 * Support for STT_GNU_IFUNC symbols added for s390 and s390x.
   Optimized versions of memcpy, memset, and memcmp added for System z10 and
@@ -24,6 +24,9 @@ Version 2.17
 * SystemTap static probes have been added into the dynamic linker.
   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.
+
 \f
 Version 2.16
 
diff --git a/README b/README
index 1e2e3ba18a0e8a159c565e7aa4edae2835bcac5d..ee43670b3090b409ea9704c57ddd417713071ec1 100644 (file)
--- a/README
+++ b/README
@@ -16,14 +16,8 @@ GNU/Hurd system, using configurations i[34567]86-*-gnu.  The current
 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, the GNU C Library version from
-version 2.4 on is intended primarily for use with Linux kernel version
-2.6.0 and later.  We only support using the NPTL implementation of
-pthreads, which is now the default configuration.  The library is
-unlikely to build without NPTL, or to work on Linux kernels prior to
-2.6.  The old LinuxThreads add-on implementation of pthreads for older
-Linux kernels is no longer supported, and we are not distributing it
-with this 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.
index 3094fcd214b4a6c1441c564fe01f979d21d0abe3..b0d66edea738108c73541e6e8ea0783f141d320a 100644 (file)
@@ -1,3 +1,9 @@
+2012-08-03  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/alpha/configure.in
+       (arch_minimum_kernel): Remove.
+       * sysdeps/unix/sysv/linux/alpha/configure: Regenerated.
+
 2012-07-26  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/alpha/tst-audit.h (int_retval): Define.
index 31d86da3ee368af9b07c764652a197302f018451..efb2fa9a73ff91d16487c14388dd13e98de3eafb 100644 (file)
@@ -1,3 +1,9 @@
+2012-08-03  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/ia64/configure.in (arch_minimum_kernel):
+       Remove.
+       * sysdeps/unix/sysv/linux/ia64/configure: Regenerated.
+
 2012-07-26  Andreas Jaeger  <aj@suse.de>
 
        * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h (__ptrace_eventcodes):
index c7c4feeea187e82f020dbfae95c0498477839d31..b5df524c1c9a9bb2ba66bd5c881df886dfae755e 100644 (file)
@@ -1,11 +1,5 @@
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/unix/sysv/linux/alpha
 
-# There are several bits that no longer compile cleanly without
-# realtime signal support (ver 2.2.0).  Given that we also now
-# require TLS (ver 2.6.0), it seems pointless to fix them.
-# ??? Surely this should now be the generic default.
-arch_minimum_kernel=2.6.0
-
 # We did historically export the unwinder from glibc.
 libc_cv_gcc_unwind_find_fde=yes
index 5a1af620732b00623a16a748c89a3b30898742c3..a8b6996657cd9ec74129c2cc2c9f8e9698b3b7aa 100644 (file)
@@ -1,11 +1,5 @@
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/unix/sysv/linux/alpha
 
-# There are several bits that no longer compile cleanly without
-# realtime signal support (ver 2.2.0).  Given that we also now
-# require TLS (ver 2.6.0), it seems pointless to fix them.
-# ??? Surely this should now be the generic default.
-arch_minimum_kernel=2.6.0
-
 # We did historically export the unwinder from glibc.
 libc_cv_gcc_unwind_find_fde=yes
index 3d025f9dda429d58be39e52bac0023a38e5ca6a1..71323718af9bf63c7b185c11c481b4c3de68ad00 100644 (file)
@@ -1,10 +1,4 @@
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/unix/sysv/linux/ia64
 
-# There are several bits that no longer compile cleanly without
-# realtime signal support (ver 2.2.0).  Given that we also now
-# require TLS (ver 2.6.0), it seems pointless to fix them.
-# ??? Surely this should now be the generic default.
-arch_minimum_kernel=2.6.0
-
 ldd_rewrite_script=$dir/ldd-rewrite.sed
index 99057b8bd1ca1c7c347b23991913928ce88dd2ea..4fb564721b858a1fe735a524101a11b98455ac2c 100644 (file)
@@ -1,10 +1,4 @@
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/unix/sysv/linux/ia64
 
-# There are several bits that no longer compile cleanly without
-# realtime signal support (ver 2.2.0).  Given that we also now
-# require TLS (ver 2.6.0), it seems pointless to fix them.
-# ??? Surely this should now be the generic default.
-arch_minimum_kernel=2.6.0
-
 ldd_rewrite_script=$dir/ldd-rewrite.sed
index f8dc4812cf4d1ccffc61f8829997ec9f343cd2bc..061a86df5ad3b3638bf9fb2c3550f12900b4ec07 100644 (file)
@@ -22,9 +22,7 @@
 
 /* The late 2.5 kernels saw a lot of new CLONE_* flags.  Summarize
    their availability with one define.  */
-#if __LINUX_KERNEL_VERSION >= 132416
-# define __ASSUME_CLONE_THREAD_FLAGS   1
-#endif
+#define __ASSUME_CLONE_THREAD_FLAGS   1
 
 /* The utimes syscall has been available for some architectures
    forever.  */
index 0650067e47cf1806011c3f552134f06303be3b47..ccc4c676d64244423b3b8b9e45870c8128d05a30 100644 (file)
@@ -284,34 +284,34 @@ test -n "$arch_minimum_kernel" ||
 case "$machine" in
   i386*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   powerpc/powerpc32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   s390/s390-32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   s390/s390-64)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   sh*)
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     libc_cv_gcc_unwind_find_fde=yes
     ;;
   sparc/sparc64*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   sparc*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   *)
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
 esac
 if test -n "$minimum_kernel"; then
index fc514fbf4a159d14552abbcfd1012042eb645c02..1a00329cacb8ce378f918423d1b25b32a1fbbff9 100644 (file)
@@ -41,34 +41,34 @@ test -n "$arch_minimum_kernel" ||
 case "$machine" in
   i386*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   powerpc/powerpc32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   s390/s390-32)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   s390/s390-64)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   sh*)
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     libc_cv_gcc_unwind_find_fde=yes
     ;;
   sparc/sparc64*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   sparc*)
     libc_cv_gcc_unwind_find_fde=yes
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
   *)
-    arch_minimum_kernel=2.4.21
+    arch_minimum_kernel=2.6.0
     ;;
 esac
 if test -n "$minimum_kernel"; then
index e97539ba85ec9cb537ce74b525f4e6d15487a913..b949f168d54d470d2aa2cfc0c073bf6317368f2e 100644 (file)
 # define __ASSUME_MMAP2_SYSCALL                1
 #endif
 
-/* On x86, the set_thread_area syscall was introduced in 2.5.29, but its
-   semantics was changed in 2.5.30, and again after 2.5.31.  */
-#if __LINUX_KERNEL_VERSION >= 132384 && defined __i386__
-# define __ASSUME_SET_THREAD_AREA_SYSCALL      1
-#endif
-
 /* The late 2.5 kernels saw a lot of new CLONE_* flags.  Summarize
    their availability with one define.  The changes were made first
    for i386 and the have to be done separately for the other archs.
    For i386 we pick 2.5.50 as the first version with support.
    For s390*, SPARC, PPC, x86-64, and SH we pick 2.5.64 as the first
    version with support.  */
-#if ((__LINUX_KERNEL_VERSION >= 132402 && defined __i386__)            \
-     || (__LINUX_KERNEL_VERSION >= 132416                              \
-        && (defined __s390__ || defined __sparc__                      \
-            || defined __powerpc__ || defined __x86_64__ || defined __sh__)))
+#if (defined __i386__ || defined __s390__ || defined __sparc__         \
+     || defined __powerpc__ || defined __x86_64__ || defined __sh__)
 # define __ASSUME_CLONE_THREAD_FLAGS   1
 #endif
 
 /* Beginning with 2.5.63 support for realtime and monotonic clocks and
    timers based on them is available.  */
-#if __LINUX_KERNEL_VERSION >= 132415
-# define __ASSUME_POSIX_TIMERS         1
-#endif
+#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
 
-/* The requeue futex functionality was introduced in 2.5.70.  */
-#if __LINUX_KERNEL_VERSION >= 132422
-# define __ASSUME_FUTEX_REQUEUE        1
-#endif
-
-/* The statfs64 syscalls are available in 2.5.74.  */
-#if __LINUX_KERNEL_VERSION >= 132426
-# define __ASSUME_STATFS64     1
-#endif
+/* The statfs64 syscalls are available in 2.5.74 (but not for alpha).  */
+#define __ASSUME_STATFS64      1
 
 /* Starting with at least 2.5.74 the kernel passes the setuid-like exec
    flag unconditionally up to the child.  */
-#if __LINUX_KERNEL_VERSION >= 132426
-# define __ASSUME_AT_SECURE    1
-#endif
+#define __ASSUME_AT_SECURE     1
 
 /* Starting with the 2.5.75 kernel the kernel fills in the correct value
    in the si_pid field passed as part of the siginfo_t struct to signal
    handlers.  */
-#if __LINUX_KERNEL_VERSION >= 132427
-# define __ASSUME_CORRECT_SI_PID       1
-#endif
+#define __ASSUME_CORRECT_SI_PID        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 (__LINUX_KERNEL_VERSION >= 132427 && defined __i386__) \
+#if defined __i386__ \
     || (__LINUX_KERNEL_VERSION >= 132609 \
         && (defined __x86_64__ || defined __powerpc__ \
             || defined __sh__ || defined __sparc__))
    forever.  For x86 it was introduced after 2.5.75, for x86-64,
    ppc, and ppc64 it was introduced in 2.6.0-test3.  */
 #if defined __sparc__ \
-    || (__LINUX_KERNEL_VERSION > 132427 && defined __i386__) \
+    || defined __i386__ \
     || (__LINUX_KERNEL_VERSION > 132609 && defined __x86_64__) \
     || (__LINUX_KERNEL_VERSION >= 132609 && defined __powerpc__) \
     || (__LINUX_KERNEL_VERSION >= 132609 && defined __sh__)
 /* Starting with 2.6.0 PowerPC adds signal/swapcontext support for Vector
    SIMD (AKA Altivec, VMX) instructions and register state.  This changes
    the overall size of the sigcontext and adds the swapcontext syscall.  */
-#if __LINUX_KERNEL_VERSION >= 132608 && defined __powerpc__
+#ifdef __powerpc__
 # define __ASSUME_SWAPCONTEXT_SYSCALL  1
 #endif
 
 
 /* Starting with version 2.5.3, the initial location returned by `brk'
    after exec is always rounded up to the next page.  */
-#if __LINUX_KERNEL_VERSION >= 132355
-# define __ASSUME_BRK_PAGE_ROUNDED     1
-#endif
+#define __ASSUME_BRK_PAGE_ROUNDED      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.  */
 /* Early kernel used "shm" as the filesystem name for the filesystem used
    for shm_open etc.  Later it is "tmpfs".  2.4.20 is a safe bet for the
    cutover.  */
-#if __LINUX_KERNEL_VERSION >= 0x02041a
-# define __ASSUME_TMPFS_NAME   1
-#endif
+#define __ASSUME_TMPFS_NAME    1
 
 /* pselect/ppoll were introduced just after 2.6.16-rc1.  Due to the way
    the kernel versions are advertised we can only rely on 2.6.17 to have