Remove pre-2.6.0 Linux kernel support (bug 13717).

This commit is contained in:
Joseph Myers 2012-08-03 13:42:47 +00:00
parent fe58a6517d
commit 7aab07e4e5
13 changed files with 72 additions and 90 deletions

View File

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

7
NEWS
View File

@ -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.
Version 2.16

10
README
View File

@ -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.

View 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.

View 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):

View 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

View 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

View 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

View 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

View 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. */

View 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

View 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

View File

@ -92,62 +92,41 @@
# 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__))
@ -158,7 +137,7 @@
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__)
@ -192,7 +171,7 @@
/* 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
@ -212,9 +191,7 @@
/* 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. */
@ -234,9 +211,7 @@
/* 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