Remove pre-2.4.1 Linux kernel support.

This commit is contained in:
Joseph Myers 2012-07-12 12:31:32 +00:00
parent 7b6e99be77
commit ec332e944f
8 changed files with 58 additions and 80 deletions

View File

@ -1,3 +1,25 @@
2012-07-12 Joseph Myers <joseph@codesourcery.com>
[BZ #13717]
* sysdeps/unix/sysv/linux/configure.in (arch_minimum_kernel):
Change to 2.4.1 where previously 2.4.0.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/unix/sysv/linux/kernel-features.h [!__sh__]
(__ASSUME_ST_INO_64_BIT): Do not condition definition on kernel
version.
[__i386__ || __sparc__] (__ASSUME_FCNTL64): Likewise.
(__ASSUME_AT_CLKTCK): Remove.
(__ASSUME_AT_PAGESIZE): Likewise.
(__ASSUME_AT_XID): Likewise.
(__ASSUME_GETDENTS64_SYSCALL): Define unconditionally.
[__i386__] (__ASSUME_VFORK_SYSCALL): Define unconditionally.
* sysdeps/unix/sysv/linux/ldsodefs.h (HAVE_AUX_XID): Define
unconditionally.
(HAVE_AUX_PAGESIZE): Likewise.
* sysdeps/unix/sysv/linux/prof-freq.c (__profile_frequency)
[__ASSUME_AT_CLKTCK]: Make code unconditional.
[!__ASSUME_AT_CLKTCK]: Remove conditional code.
2012-07-12 Jeroen van Bemmel <jvb127@gmail.com> 2012-07-12 Jeroen van Bemmel <jvb127@gmail.com>
[BZ #14307] [BZ #14307]

View File

@ -1,3 +1,10 @@
2012-07-12 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/arm/kernel-features.h
(__ASSUME_MMAP2_SYSCALL): Define unconditionally.
(__ASSUME_STAT64_SYSCALL): Likewise.
(__ASSUME_VFORK_SYSCALL): Likewise.
2012-07-10 Joseph Myers <joseph@codesourcery.com> 2012-07-10 Joseph Myers <joseph@codesourcery.com>
* sysdeps/arm/sysdep.h (ENTRY): Change ASM_GLOBAL_DIRECTIVE to * sysdeps/arm/sysdep.h (ENTRY): Change ASM_GLOBAL_DIRECTIVE to

View File

@ -24,10 +24,8 @@
/* On ARM the mmap2/stat64/lstat64/fstat64 syscalls were introduced in /* On ARM the mmap2/stat64/lstat64/fstat64 syscalls were introduced in
2.3.35. */ 2.3.35. */
#if __LINUX_KERNEL_VERSION >= 131875 #define __ASSUME_MMAP2_SYSCALL 1
# define __ASSUME_MMAP2_SYSCALL 1 #define __ASSUME_STAT64_SYSCALL 1
# define __ASSUME_STAT64_SYSCALL 1
#endif
/* Arm got fcntl64 in 2.4.4. */ /* Arm got fcntl64 in 2.4.4. */
#if __LINUX_KERNEL_VERSION >= 132100 #if __LINUX_KERNEL_VERSION >= 132100
@ -35,9 +33,7 @@
#endif #endif
/* The vfork syscall on arm was definitely available in 2.4. */ /* The vfork syscall on arm was definitely available in 2.4. */
#if __LINUX_KERNEL_VERSION >= 132097 #define __ASSUME_VFORK_SYSCALL 1
# define __ASSUME_VFORK_SYSCALL 1
#endif
/* The signal frame layout changed in 2.6.18. */ /* The signal frame layout changed in 2.6.18. */
#if __LINUX_KERNEL_VERSION >= 132626 #if __LINUX_KERNEL_VERSION >= 132626

View File

@ -284,25 +284,25 @@ test -n "$arch_minimum_kernel" ||
case "$machine" in case "$machine" in
i386*) i386*)
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
powerpc/powerpc32) powerpc/powerpc32)
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
powerpc/powerpc64) powerpc/powerpc64)
arch_minimum_kernel=2.4.21 arch_minimum_kernel=2.4.21
;; ;;
s390/s390-32) s390/s390-32)
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
s390/s390-64) s390/s390-64)
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
sh*) sh*)
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
;; ;;
sparc/sparc64*) sparc/sparc64*)
@ -311,10 +311,10 @@ case "$machine" in
;; ;;
sparc*) sparc*)
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
*) *)
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
esac esac
if test -n "$minimum_kernel"; then if test -n "$minimum_kernel"; then

View File

@ -41,25 +41,25 @@ test -n "$arch_minimum_kernel" ||
case "$machine" in case "$machine" in
i386*) i386*)
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
powerpc/powerpc32) powerpc/powerpc32)
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
powerpc/powerpc64) powerpc/powerpc64)
arch_minimum_kernel=2.4.21 arch_minimum_kernel=2.4.21
;; ;;
s390/s390-32) s390/s390-32)
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
s390/s390-64) s390/s390-64)
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
sh*) sh*)
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
;; ;;
sparc/sparc64*) sparc/sparc64*)
@ -68,10 +68,10 @@ case "$machine" in
;; ;;
sparc*) sparc*)
libc_cv_gcc_unwind_find_fde=yes libc_cv_gcc_unwind_find_fde=yes
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
*) *)
arch_minimum_kernel=2.4.0 arch_minimum_kernel=2.4.1
;; ;;
esac esac
if test -n "$minimum_kernel"; then if test -n "$minimum_kernel"; then

View File

@ -76,27 +76,18 @@
# define __ASSUME_STAT64_SYSCALL 1 # define __ASSUME_STAT64_SYSCALL 1
#endif #endif
/* The changed st_ino field appeared in 2.4.0-test6. But we cannot /* The changed st_ino field appeared in 2.4.0-test6. However, SH is lame,
distinguish this version from other 2.4.0 releases. Therefore play
save and assume it available is for 2.4.1 and up. However, SH is lame,
and still does not have a 64-bit inode field. */ and still does not have a 64-bit inode field. */
#if __LINUX_KERNEL_VERSION >= 132097 && !defined __sh__ #ifndef __sh__
# define __ASSUME_ST_INO_64_BIT 1 # define __ASSUME_ST_INO_64_BIT 1
#endif #endif
/* To support locking of large files a new fcntl() syscall was introduced /* To support locking of large files a new fcntl() syscall was introduced
in 2.4.0-test7. We test for 2.4.1 for the earliest version we know in 2.4.0-test7. */
the syscall is available. */ #if defined __i386__ || defined __sparc__
#if __LINUX_KERNEL_VERSION >= 132097 && (defined __i386__ || defined __sparc__)
# define __ASSUME_FCNTL64 1 # define __ASSUME_FCNTL64 1
#endif #endif
/* The AT_CLKTCK auxiliary vector entry was introduction in the 2.4.0
series. */
#if __LINUX_KERNEL_VERSION >= 132097
# define __ASSUME_AT_CLKTCK 1
#endif
/* Arm got fcntl64 in 2.4.4, PowerPC and SH have it also in 2.4.4 (I /* Arm got fcntl64 in 2.4.4, PowerPC and SH have it also in 2.4.4 (I
don't know when it got introduced). But PowerPC64 does not support don't know when it got introduced). But PowerPC64 does not support
separate FCNTL64 call, FCNTL is already 64-bit */ separate FCNTL64 call, FCNTL is already 64-bit */
@ -106,23 +97,9 @@
# define __ASSUME_FCNTL64 1 # define __ASSUME_FCNTL64 1
#endif #endif
/* The getdents64 syscall was introduced in 2.4.0-test7. We test for /* The getdents64 syscall was introduced in 2.4.0-test7 (but later for
2.4.1 for the earliest version we know the syscall is available. */ MIPS n32). */
#if __LINUX_KERNEL_VERSION >= 132097 #define __ASSUME_GETDENTS64_SYSCALL 1
# define __ASSUME_GETDENTS64_SYSCALL 1
#endif
/* Starting with one of the 2.4.0 pre-releases the Linux kernel passes
up the page size information. */
#if __LINUX_KERNEL_VERSION >= 132097
# define __ASSUME_AT_PAGESIZE 1
#endif
/* Starting with at least 2.4.0 the kernel passes the uid/gid unconditionally
up to the child. */
#if __LINUX_KERNEL_VERSION >= 132097
# define __ASSUME_AT_XID 1
#endif
/* Starting with 2.4.5 kernels PPC passes the AUXV in the standard way /* Starting with 2.4.5 kernels PPC passes the AUXV in the standard way
and the vfork syscall made it into the official kernel. */ and the vfork syscall made it into the official kernel. */
@ -164,7 +141,7 @@
#endif #endif
/* The vfork syscall on x86 and arm was definitely available in 2.4. */ /* The vfork syscall on x86 and arm was definitely available in 2.4. */
#if __LINUX_KERNEL_VERSION >= 132097 && defined __i386__ #ifdef __i386__
# define __ASSUME_VFORK_SYSCALL 1 # define __ASSUME_VFORK_SYSCALL 1
#endif #endif

View File

@ -1,5 +1,5 @@
/* Run-time dynamic linker data structures for loaded ELF shared objects. /* Run-time dynamic linker data structures for loaded ELF shared objects.
Copyright (C) 2001, 2002, 2003, 2006, 2009, 2010 Free Software Foundation, Inc. Copyright (C) 2001-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -37,9 +37,7 @@ extern void _dl_non_dynamic_init (void) internal_function;
/* We can assume that the kernel always provides the AT_UID, AT_EUID, /* We can assume that the kernel always provides the AT_UID, AT_EUID,
AT_GID, and AT_EGID values in the auxiliary vector from 2.4.0 or so on. */ AT_GID, and AT_EGID values in the auxiliary vector from 2.4.0 or so on. */
#if __ASSUME_AT_XID #define HAVE_AUX_XID
# define HAVE_AUX_XID
#endif
/* We can assume that the kernel always provides the AT_SECURE value /* We can assume that the kernel always provides the AT_SECURE value
in the auxiliary vector from 2.5.74 or so on. */ in the auxiliary vector from 2.5.74 or so on. */
@ -49,9 +47,7 @@ extern void _dl_non_dynamic_init (void) internal_function;
/* Starting with one of the 2.4.0 pre-releases the Linux kernel passes /* Starting with one of the 2.4.0 pre-releases the Linux kernel passes
up the page size information. */ up the page size information. */
#if __ASSUME_AT_PAGESIZE #define HAVE_AUX_PAGESIZE
# define HAVE_AUX_PAGESIZE
#endif
/* Accept binaries which identify the binary as using Linux extensions. */ /* Accept binaries which identify the binary as using Linux extensions. */
#define VALID_ELF_HEADER(hdr,exp,size) (memcmp (hdr, exp, size) == 0 \ #define VALID_ELF_HEADER(hdr,exp,size) (memcmp (hdr, exp, size) == 0 \

View File

@ -1,5 +1,5 @@
/* Determine realtime clock frequency. /* Determine realtime clock frequency.
Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. Copyright (C) 2003-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -25,26 +25,6 @@
int int
__profile_frequency (void) __profile_frequency (void)
{ {
#ifdef __ASSUME_AT_CLKTCK
return GLRO(dl_clktck); return GLRO(dl_clktck);
#else
if (GLRO(dl_clktck) != 0)
return GLRO(dl_clktck);
struct itimerval tim;
tim.it_interval.tv_sec = 0;
tim.it_interval.tv_usec = 1;
tim.it_value.tv_sec = 0;
tim.it_value.tv_usec = 0;
__setitimer (ITIMER_REAL, &tim, 0);
__setitimer (ITIMER_REAL, 0, &tim);
if (tim.it_interval.tv_usec < 2)
return 0;
return 1000000 / tim.it_interval.tv_usec;
#endif
} }
libc_hidden_def (__profile_frequency) libc_hidden_def (__profile_frequency)