glibc/sysdeps/unix/sysv/linux/configure
Adhemerval Zanella b46d250656 Remove kernel version check
The kernel version check is used to avoid glibc to run on older
kernels where some syscall are not available and fallback code are
not enabled to handle graciously fail.  However, it does not prevent
if the kernel does not correctly advertise its version through
vDSO note, uname or procfs.

Also kernel version checks are sometime not desirable by users,
where they want to deploy on different system with different kernel
version knowing the minimum set of syscall is always presented on
such systems.

The kernel version check has been removed along with the
LD_ASSUME_KERNEL environment variable.  The minimum kernel used to
built glibc is still provided through NT_GNU_ABI_TAG ELF note and
also printed when libc.so is issued.

Checked on x86_64-linux-gnu.
2022-05-16 15:03:49 -03:00

173 lines
5.8 KiB
Plaintext

# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
# Local configure fragment for sysdeps/unix/sysv/linux.
if test -n "$sysheaders"; then
OLD_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $SYSINCLUDES"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking installed Linux kernel header files" >&5
$as_echo_n "checking installed Linux kernel header files... " >&6; }
if ${libc_cv_linux320+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <linux/version.h>
#if !defined LINUX_VERSION_CODE || LINUX_VERSION_CODE < (3 *65536+ 2 *256+ 0) /* 3.2.0 */
# error kernel headers missing or too old
#endif
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
libc_cv_linux320='3.2.0 or later'
else
libc_cv_linux320='missing or too old!'
fi
rm -f conftest.err conftest.i conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_linux320" >&5
$as_echo "$libc_cv_linux320" >&6; }
if test "$libc_cv_linux320" != '3.2.0 or later'; then
as_fn_error $? "GNU libc requires kernel header files from
Linux 3.2.0 or later to be installed before configuring.
The kernel header files are found usually in /usr/include/asm and
/usr/include/linux; make sure these directories use files from
Linux 3.2.0 or later. This check uses <linux/version.h>, so
make sure that file was built correctly when installing the kernel header
files. To use kernel headers not from /usr/include/linux, use the
configure option --with-headers." "$LINENO" 5
fi
# If the user gave a minimal version number test whether the available
# kernel headers are young enough. Additionally we have minimal
# kernel versions for some architectures. If a previous configure fragment
# set arch_minimum_kernel already, let that override our defaults here.
# Note that we presume such a fragment has set libc_cv_gcc_unwind_find_fde
# if appropriate too.
test -n "$arch_minimum_kernel" || arch_minimum_kernel=3.2.0
if test -n "$minimum_kernel"; then
user_version=$((`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 65536 + \2 \* 256 + \3/'`))
arch_version=$((`echo "$arch_minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1 \* 65536 + \2 \* 256 + \3/'`))
if test $user_version -lt $arch_version; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: minimum kernel version reset to $arch_minimum_kernel" >&5
$as_echo "$as_me: WARNING: minimum kernel version reset to $arch_minimum_kernel" >&2;}
minimum_kernel=$arch_minimum_kernel
fi
else
minimum_kernel=$arch_minimum_kernel
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel header at least $minimum_kernel" >&5
$as_echo_n "checking for kernel header at least $minimum_kernel... " >&6; }
decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
abinumstr=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1.\2.\3/'`;
abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`;
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <linux/version.h>
#if LINUX_VERSION_CODE < $decnum
# error kernel headers too old
#endif
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
libc_minimum_kernel=ok
else
libc_minimum_kernel='too old!'
fi
rm -f conftest.err conftest.i conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_minimum_kernel" >&5
$as_echo "$libc_minimum_kernel" >&6; }
if test "$libc_minimum_kernel" = ok; then
cat >>confdefs.h <<_ACEOF
#define __LINUX_KERNEL_VERSION $decnum
_ACEOF
cat >>confdefs.h <<_ACEOF
#define __LINUX_KERNEL_VERSION_STR "$abinumstr"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define __ABI_TAG_VERSION $abinum
_ACEOF
else
as_fn_error $? "*** The available kernel headers are older than the requested
*** compatible kernel version" "$LINENO" 5
fi
if test -n "$sysheaders"; then
CPPFLAGS=$OLD_CPPFLAGS
fi
if test "$prefix" = "/usr/local" -o "$prefix" = "/usr/local/" -o "$prefix" = "NONE"; then
if test $enable_sanity = yes; then
echo "\
*** On GNU/Linux systems the GNU C Library should not be installed into
*** /usr/local since this might make your system totally unusable.
*** We strongly advise to use a different prefix. For details read the FAQ.
*** If you really mean to do this, run configure again using the extra
*** parameter \`--disable-sanity-checks'."
exit 1
else
echo "\
*** WARNING: Do you really want to install the GNU C Library into /usr/local?
*** This might make your system totally unusable, for details read the FAQ."
fi
fi
# One Linux we use ldconfig.
use_ldconfig=yes
if test $host = $build; then
# If $prefix/include/{net,scsi} are symlinks, make install will
# clobber what they're linked to (probably a kernel tree).
# test -L ought to work on all Linux boxes.
if test "x$prefix" != xNONE; then
ac_prefix=$prefix
else
ac_prefix=$ac_default_prefix
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symlinks in ${ac_prefix}/include" >&5
$as_echo_n "checking for symlinks in ${ac_prefix}/include... " >&6; }
ac_message=
if test -L ${ac_prefix}/include/net; then
ac_message="$ac_message
${ac_prefix}/include/net is a symlink"
fi
if test -L ${ac_prefix}/include/scsi; then
ac_message="$ac_message
${ac_prefix}/include/scsi is a symlink"
fi
if test -n "$ac_message"; then
as_fn_error $? "$ac_message
\`make install' will destroy the target of the link(s).
Delete the links and re-run configure, or better still, move the entire
${ac_prefix}/include directory out of the way." "$LINENO" 5
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
$as_echo "ok" >&6; }
fi
fi
# We have inlined syscalls.
$as_echo "#define HAVE_INLINED_SYSCALLS 1" >>confdefs.h