2013-10-30 03:20:52 +00:00
|
|
|
# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
|
1996-12-08 08:01:13 +00:00
|
|
|
# Local configure fragment for sysdeps/unix/sysv/linux.
|
|
|
|
|
1998-08-21 22:29:58 +00:00
|
|
|
if test -n "$sysheaders"; then
|
2000-01-27 20:16:37 +00:00
|
|
|
OLD_CPPFLAGS=$CPPFLAGS
|
|
|
|
CPPFLAGS="$CPPFLAGS $SYSINCLUDES"
|
1998-08-21 22:29:58 +00:00
|
|
|
fi
|
2003-01-21 05:45:26 +00:00
|
|
|
|
2021-05-22 02:42:48 +00:00
|
|
|
|
2011-02-15 19:52:29 +00:00
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking installed Linux kernel header files" >&5
|
2009-09-15 21:14:42 +00:00
|
|
|
$as_echo_n "checking installed Linux kernel header files... " >&6; }
|
Require Linux 3.2 except on x86 / x86_64, 3.2 headers everywhere.
In <https://sourceware.org/ml/libc-alpha/2016-01/msg00885.html> I
proposed a minimum Linux kernel version of 3.2 for glibc 2.24, since
Linux 2.6.32 has reached EOL.
In the discussion in February, some concerns were expressed about
compatibility with OpenVZ containers. It's not clear that these are
real issues, given OpenVZ backporting kernel features and faking the
kernel version for guest software, as discussed in
<https://sourceware.org/ml/libc-alpha/2016-02/msg00278.html>. It's
also not clear that supporting running GNU/Linux distributions from
late 2016 (at the earliest) on a kernel series from 2009 is a sensible
expectation. However, as an interim step, this patch increases the
requirement everywhere except x86 / x86_64 (since the controversy was
only about those architectures); the special caveats and settings can
easily be removed later when we're ready to increase the requirements
on x86 / x86_64 (and if someone would like to raise the issue on LWN
as suggested in the previous discussion, that would be welcome). 3.2
kernel headers are required everywhere by this patch.
(x32 already requires 3.4 or later, so is unaffected by this patch.)
As usual for such a change, this patch only changes the configure
scripts and associated documentation. The intent is to follow up with
removal of dead __LINUX_KERNEL_VERSION conditionals. Each __ASSUME_*
or other macro that becomes dead can then be removed independently.
Tested for x86_64 and x86.
* sysdeps/unix/sysv/linux/configure.ac (LIBC_LINUX_VERSION):
Define to 3.2.0.
(arch_minimum_kernel): Likewise.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/unix/sysv/linux/i386/configure.ac (arch_minimum_kernel):
Define to 2.6.32.
* sysdeps/unix/sysv/linux/i386/configure: Regenerated.
* sysdeps/unix/sysv/linux/x86_64/64/configure.ac
(arch_minimum_kernel): Define to 2.6.32.
* sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerated.
* README: Document Linux 3.2 requirement.
* manual/install.texi (Linux): Document Linux 3.2 headers
requirement.
* INSTALL: Regenerated.
2016-02-24 17:15:12 +00:00
|
|
|
if ${libc_cv_linux320+:} false; then :
|
2009-09-15 21:14:42 +00:00
|
|
|
$as_echo_n "(cached) " >&6
|
1996-12-08 08:01:13 +00:00
|
|
|
else
|
2011-02-15 19:52:29 +00:00
|
|
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
2003-03-17 15:57:19 +00:00
|
|
|
/* end confdefs.h. */
|
1996-12-08 08:01:13 +00:00
|
|
|
#include <linux/version.h>
|
Require Linux 3.2 except on x86 / x86_64, 3.2 headers everywhere.
In <https://sourceware.org/ml/libc-alpha/2016-01/msg00885.html> I
proposed a minimum Linux kernel version of 3.2 for glibc 2.24, since
Linux 2.6.32 has reached EOL.
In the discussion in February, some concerns were expressed about
compatibility with OpenVZ containers. It's not clear that these are
real issues, given OpenVZ backporting kernel features and faking the
kernel version for guest software, as discussed in
<https://sourceware.org/ml/libc-alpha/2016-02/msg00278.html>. It's
also not clear that supporting running GNU/Linux distributions from
late 2016 (at the earliest) on a kernel series from 2009 is a sensible
expectation. However, as an interim step, this patch increases the
requirement everywhere except x86 / x86_64 (since the controversy was
only about those architectures); the special caveats and settings can
easily be removed later when we're ready to increase the requirements
on x86 / x86_64 (and if someone would like to raise the issue on LWN
as suggested in the previous discussion, that would be welcome). 3.2
kernel headers are required everywhere by this patch.
(x32 already requires 3.4 or later, so is unaffected by this patch.)
As usual for such a change, this patch only changes the configure
scripts and associated documentation. The intent is to follow up with
removal of dead __LINUX_KERNEL_VERSION conditionals. Each __ASSUME_*
or other macro that becomes dead can then be removed independently.
Tested for x86_64 and x86.
* sysdeps/unix/sysv/linux/configure.ac (LIBC_LINUX_VERSION):
Define to 3.2.0.
(arch_minimum_kernel): Likewise.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/unix/sysv/linux/i386/configure.ac (arch_minimum_kernel):
Define to 2.6.32.
* sysdeps/unix/sysv/linux/i386/configure: Regenerated.
* sysdeps/unix/sysv/linux/x86_64/64/configure.ac
(arch_minimum_kernel): Define to 2.6.32.
* sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerated.
* README: Document Linux 3.2 requirement.
* manual/install.texi (Linux): Document Linux 3.2 headers
requirement.
* INSTALL: Regenerated.
2016-02-24 17:15:12 +00:00
|
|
|
#if !defined LINUX_VERSION_CODE || LINUX_VERSION_CODE < (3 *65536+ 2 *256+ 0) /* 3.2.0 */
|
2014-07-04 03:35:42 +00:00
|
|
|
# error kernel headers missing or too old
|
1996-12-08 08:01:13 +00:00
|
|
|
#endif
|
2014-07-04 03:35:42 +00:00
|
|
|
int
|
|
|
|
main ()
|
|
|
|
{
|
|
|
|
|
|
|
|
;
|
|
|
|
return 0;
|
|
|
|
}
|
2002-10-18 05:05:55 +00:00
|
|
|
_ACEOF
|
2021-05-22 02:42:48 +00:00
|
|
|
if ac_fn_c_try_cpp "$LINENO"; then :
|
Require Linux 3.2 except on x86 / x86_64, 3.2 headers everywhere.
In <https://sourceware.org/ml/libc-alpha/2016-01/msg00885.html> I
proposed a minimum Linux kernel version of 3.2 for glibc 2.24, since
Linux 2.6.32 has reached EOL.
In the discussion in February, some concerns were expressed about
compatibility with OpenVZ containers. It's not clear that these are
real issues, given OpenVZ backporting kernel features and faking the
kernel version for guest software, as discussed in
<https://sourceware.org/ml/libc-alpha/2016-02/msg00278.html>. It's
also not clear that supporting running GNU/Linux distributions from
late 2016 (at the earliest) on a kernel series from 2009 is a sensible
expectation. However, as an interim step, this patch increases the
requirement everywhere except x86 / x86_64 (since the controversy was
only about those architectures); the special caveats and settings can
easily be removed later when we're ready to increase the requirements
on x86 / x86_64 (and if someone would like to raise the issue on LWN
as suggested in the previous discussion, that would be welcome). 3.2
kernel headers are required everywhere by this patch.
(x32 already requires 3.4 or later, so is unaffected by this patch.)
As usual for such a change, this patch only changes the configure
scripts and associated documentation. The intent is to follow up with
removal of dead __LINUX_KERNEL_VERSION conditionals. Each __ASSUME_*
or other macro that becomes dead can then be removed independently.
Tested for x86_64 and x86.
* sysdeps/unix/sysv/linux/configure.ac (LIBC_LINUX_VERSION):
Define to 3.2.0.
(arch_minimum_kernel): Likewise.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/unix/sysv/linux/i386/configure.ac (arch_minimum_kernel):
Define to 2.6.32.
* sysdeps/unix/sysv/linux/i386/configure: Regenerated.
* sysdeps/unix/sysv/linux/x86_64/64/configure.ac
(arch_minimum_kernel): Define to 2.6.32.
* sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerated.
* README: Document Linux 3.2 requirement.
* manual/install.texi (Linux): Document Linux 3.2 headers
requirement.
* INSTALL: Regenerated.
2016-02-24 17:15:12 +00:00
|
|
|
libc_cv_linux320='3.2.0 or later'
|
2014-07-04 03:35:42 +00:00
|
|
|
else
|
Require Linux 3.2 except on x86 / x86_64, 3.2 headers everywhere.
In <https://sourceware.org/ml/libc-alpha/2016-01/msg00885.html> I
proposed a minimum Linux kernel version of 3.2 for glibc 2.24, since
Linux 2.6.32 has reached EOL.
In the discussion in February, some concerns were expressed about
compatibility with OpenVZ containers. It's not clear that these are
real issues, given OpenVZ backporting kernel features and faking the
kernel version for guest software, as discussed in
<https://sourceware.org/ml/libc-alpha/2016-02/msg00278.html>. It's
also not clear that supporting running GNU/Linux distributions from
late 2016 (at the earliest) on a kernel series from 2009 is a sensible
expectation. However, as an interim step, this patch increases the
requirement everywhere except x86 / x86_64 (since the controversy was
only about those architectures); the special caveats and settings can
easily be removed later when we're ready to increase the requirements
on x86 / x86_64 (and if someone would like to raise the issue on LWN
as suggested in the previous discussion, that would be welcome). 3.2
kernel headers are required everywhere by this patch.
(x32 already requires 3.4 or later, so is unaffected by this patch.)
As usual for such a change, this patch only changes the configure
scripts and associated documentation. The intent is to follow up with
removal of dead __LINUX_KERNEL_VERSION conditionals. Each __ASSUME_*
or other macro that becomes dead can then be removed independently.
Tested for x86_64 and x86.
* sysdeps/unix/sysv/linux/configure.ac (LIBC_LINUX_VERSION):
Define to 3.2.0.
(arch_minimum_kernel): Likewise.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/unix/sysv/linux/i386/configure.ac (arch_minimum_kernel):
Define to 2.6.32.
* sysdeps/unix/sysv/linux/i386/configure: Regenerated.
* sysdeps/unix/sysv/linux/x86_64/64/configure.ac
(arch_minimum_kernel): Define to 2.6.32.
* sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerated.
* README: Document Linux 3.2 requirement.
* manual/install.texi (Linux): Document Linux 3.2 headers
requirement.
* INSTALL: Regenerated.
2016-02-24 17:15:12 +00:00
|
|
|
libc_cv_linux320='missing or too old!'
|
1996-06-10 09:41:16 +00:00
|
|
|
fi
|
2021-05-22 02:42:48 +00:00
|
|
|
rm -f conftest.err conftest.i conftest.$ac_ext
|
1996-06-10 09:41:16 +00:00
|
|
|
fi
|
Require Linux 3.2 except on x86 / x86_64, 3.2 headers everywhere.
In <https://sourceware.org/ml/libc-alpha/2016-01/msg00885.html> I
proposed a minimum Linux kernel version of 3.2 for glibc 2.24, since
Linux 2.6.32 has reached EOL.
In the discussion in February, some concerns were expressed about
compatibility with OpenVZ containers. It's not clear that these are
real issues, given OpenVZ backporting kernel features and faking the
kernel version for guest software, as discussed in
<https://sourceware.org/ml/libc-alpha/2016-02/msg00278.html>. It's
also not clear that supporting running GNU/Linux distributions from
late 2016 (at the earliest) on a kernel series from 2009 is a sensible
expectation. However, as an interim step, this patch increases the
requirement everywhere except x86 / x86_64 (since the controversy was
only about those architectures); the special caveats and settings can
easily be removed later when we're ready to increase the requirements
on x86 / x86_64 (and if someone would like to raise the issue on LWN
as suggested in the previous discussion, that would be welcome). 3.2
kernel headers are required everywhere by this patch.
(x32 already requires 3.4 or later, so is unaffected by this patch.)
As usual for such a change, this patch only changes the configure
scripts and associated documentation. The intent is to follow up with
removal of dead __LINUX_KERNEL_VERSION conditionals. Each __ASSUME_*
or other macro that becomes dead can then be removed independently.
Tested for x86_64 and x86.
* sysdeps/unix/sysv/linux/configure.ac (LIBC_LINUX_VERSION):
Define to 3.2.0.
(arch_minimum_kernel): Likewise.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/unix/sysv/linux/i386/configure.ac (arch_minimum_kernel):
Define to 2.6.32.
* sysdeps/unix/sysv/linux/i386/configure: Regenerated.
* sysdeps/unix/sysv/linux/x86_64/64/configure.ac
(arch_minimum_kernel): Define to 2.6.32.
* sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerated.
* README: Document Linux 3.2 requirement.
* manual/install.texi (Linux): Document Linux 3.2 headers
requirement.
* INSTALL: Regenerated.
2016-02-24 17:15:12 +00:00
|
|
|
{ $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
|
2011-02-15 19:52:29 +00:00
|
|
|
as_fn_error $? "GNU libc requires kernel header files from
|
Require Linux 3.2 except on x86 / x86_64, 3.2 headers everywhere.
In <https://sourceware.org/ml/libc-alpha/2016-01/msg00885.html> I
proposed a minimum Linux kernel version of 3.2 for glibc 2.24, since
Linux 2.6.32 has reached EOL.
In the discussion in February, some concerns were expressed about
compatibility with OpenVZ containers. It's not clear that these are
real issues, given OpenVZ backporting kernel features and faking the
kernel version for guest software, as discussed in
<https://sourceware.org/ml/libc-alpha/2016-02/msg00278.html>. It's
also not clear that supporting running GNU/Linux distributions from
late 2016 (at the earliest) on a kernel series from 2009 is a sensible
expectation. However, as an interim step, this patch increases the
requirement everywhere except x86 / x86_64 (since the controversy was
only about those architectures); the special caveats and settings can
easily be removed later when we're ready to increase the requirements
on x86 / x86_64 (and if someone would like to raise the issue on LWN
as suggested in the previous discussion, that would be welcome). 3.2
kernel headers are required everywhere by this patch.
(x32 already requires 3.4 or later, so is unaffected by this patch.)
As usual for such a change, this patch only changes the configure
scripts and associated documentation. The intent is to follow up with
removal of dead __LINUX_KERNEL_VERSION conditionals. Each __ASSUME_*
or other macro that becomes dead can then be removed independently.
Tested for x86_64 and x86.
* sysdeps/unix/sysv/linux/configure.ac (LIBC_LINUX_VERSION):
Define to 3.2.0.
(arch_minimum_kernel): Likewise.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/unix/sysv/linux/i386/configure.ac (arch_minimum_kernel):
Define to 2.6.32.
* sysdeps/unix/sysv/linux/i386/configure: Regenerated.
* sysdeps/unix/sysv/linux/x86_64/64/configure.ac
(arch_minimum_kernel): Define to 2.6.32.
* sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerated.
* README: Document Linux 3.2 requirement.
* manual/install.texi (Linux): Document Linux 3.2 headers
requirement.
* INSTALL: Regenerated.
2016-02-24 17:15:12 +00:00
|
|
|
Linux 3.2.0 or later to be installed before configuring.
|
2002-10-18 05:05:55 +00:00
|
|
|
The kernel header files are found usually in /usr/include/asm and
|
|
|
|
/usr/include/linux; make sure these directories use files from
|
Require Linux 3.2 except on x86 / x86_64, 3.2 headers everywhere.
In <https://sourceware.org/ml/libc-alpha/2016-01/msg00885.html> I
proposed a minimum Linux kernel version of 3.2 for glibc 2.24, since
Linux 2.6.32 has reached EOL.
In the discussion in February, some concerns were expressed about
compatibility with OpenVZ containers. It's not clear that these are
real issues, given OpenVZ backporting kernel features and faking the
kernel version for guest software, as discussed in
<https://sourceware.org/ml/libc-alpha/2016-02/msg00278.html>. It's
also not clear that supporting running GNU/Linux distributions from
late 2016 (at the earliest) on a kernel series from 2009 is a sensible
expectation. However, as an interim step, this patch increases the
requirement everywhere except x86 / x86_64 (since the controversy was
only about those architectures); the special caveats and settings can
easily be removed later when we're ready to increase the requirements
on x86 / x86_64 (and if someone would like to raise the issue on LWN
as suggested in the previous discussion, that would be welcome). 3.2
kernel headers are required everywhere by this patch.
(x32 already requires 3.4 or later, so is unaffected by this patch.)
As usual for such a change, this patch only changes the configure
scripts and associated documentation. The intent is to follow up with
removal of dead __LINUX_KERNEL_VERSION conditionals. Each __ASSUME_*
or other macro that becomes dead can then be removed independently.
Tested for x86_64 and x86.
* sysdeps/unix/sysv/linux/configure.ac (LIBC_LINUX_VERSION):
Define to 3.2.0.
(arch_minimum_kernel): Likewise.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/unix/sysv/linux/i386/configure.ac (arch_minimum_kernel):
Define to 2.6.32.
* sysdeps/unix/sysv/linux/i386/configure: Regenerated.
* sysdeps/unix/sysv/linux/x86_64/64/configure.ac
(arch_minimum_kernel): Define to 2.6.32.
* sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerated.
* README: Document Linux 3.2 requirement.
* manual/install.texi (Linux): Document Linux 3.2 headers
requirement.
* INSTALL: Regenerated.
2016-02-24 17:15:12 +00:00
|
|
|
Linux 3.2.0 or later. This check uses <linux/version.h>, so
|
2002-10-18 05:05:55 +00:00
|
|
|
make sure that file was built correctly when installing the kernel header
|
|
|
|
files. To use kernel headers not from /usr/include/linux, use the
|
2011-02-15 19:52:29 +00:00
|
|
|
configure option --with-headers." "$LINENO" 5
|
1998-08-21 22:29:58 +00:00
|
|
|
fi
|
1999-05-26 23:37:38 +00:00
|
|
|
|
|
|
|
# If the user gave a minimal version number test whether the available
|
2000-06-13 03:49:12 +00:00
|
|
|
# kernel headers are young enough. Additionally we have minimal
|
2004-07-02 06:45:08 +00:00
|
|
|
# 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.
|
Require Linux 3.2 except on x86 / x86_64, 3.2 headers everywhere.
In <https://sourceware.org/ml/libc-alpha/2016-01/msg00885.html> I
proposed a minimum Linux kernel version of 3.2 for glibc 2.24, since
Linux 2.6.32 has reached EOL.
In the discussion in February, some concerns were expressed about
compatibility with OpenVZ containers. It's not clear that these are
real issues, given OpenVZ backporting kernel features and faking the
kernel version for guest software, as discussed in
<https://sourceware.org/ml/libc-alpha/2016-02/msg00278.html>. It's
also not clear that supporting running GNU/Linux distributions from
late 2016 (at the earliest) on a kernel series from 2009 is a sensible
expectation. However, as an interim step, this patch increases the
requirement everywhere except x86 / x86_64 (since the controversy was
only about those architectures); the special caveats and settings can
easily be removed later when we're ready to increase the requirements
on x86 / x86_64 (and if someone would like to raise the issue on LWN
as suggested in the previous discussion, that would be welcome). 3.2
kernel headers are required everywhere by this patch.
(x32 already requires 3.4 or later, so is unaffected by this patch.)
As usual for such a change, this patch only changes the configure
scripts and associated documentation. The intent is to follow up with
removal of dead __LINUX_KERNEL_VERSION conditionals. Each __ASSUME_*
or other macro that becomes dead can then be removed independently.
Tested for x86_64 and x86.
* sysdeps/unix/sysv/linux/configure.ac (LIBC_LINUX_VERSION):
Define to 3.2.0.
(arch_minimum_kernel): Likewise.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/unix/sysv/linux/i386/configure.ac (arch_minimum_kernel):
Define to 2.6.32.
* sysdeps/unix/sysv/linux/i386/configure: Regenerated.
* sysdeps/unix/sysv/linux/x86_64/64/configure.ac
(arch_minimum_kernel): Define to 2.6.32.
* sysdeps/unix/sysv/linux/x86_64/64/configure: Regenerated.
* README: Document Linux 3.2 requirement.
* manual/install.texi (Linux): Document Linux 3.2 headers
requirement.
* INSTALL: Regenerated.
2016-02-24 17:15:12 +00:00
|
|
|
test -n "$arch_minimum_kernel" || arch_minimum_kernel=3.2.0
|
2000-06-13 03:49:12 +00:00
|
|
|
if test -n "$minimum_kernel"; then
|
2002-10-18 05:05:55 +00:00
|
|
|
|
2000-06-13 06:22:36 +00:00
|
|
|
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/'`))
|
2002-10-18 05:05:55 +00:00
|
|
|
|
2000-06-13 06:22:36 +00:00
|
|
|
if test $user_version -lt $arch_version; then
|
2011-02-15 19:52:29 +00:00
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: minimum kernel version reset to $arch_minimum_kernel" >&5
|
2009-09-15 21:14:42 +00:00
|
|
|
$as_echo "$as_me: WARNING: minimum kernel version reset to $arch_minimum_kernel" >&2;}
|
2000-06-13 03:49:12 +00:00
|
|
|
minimum_kernel=$arch_minimum_kernel
|
|
|
|
fi
|
|
|
|
else
|
2012-05-14 22:22:52 +00:00
|
|
|
minimum_kernel=$arch_minimum_kernel
|
2000-06-13 03:49:12 +00:00
|
|
|
fi
|
|
|
|
|
2012-05-14 22:22:52 +00:00
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel header at least $minimum_kernel" >&5
|
2009-09-15 21:14:42 +00:00
|
|
|
$as_echo_n "checking for kernel header at least $minimum_kernel... " >&6; }
|
2012-05-14 22:22:52 +00:00
|
|
|
decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`;
|
2022-02-21 11:32:32 +00:00
|
|
|
abinumstr=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1.\2.\3/'`;
|
2012-05-14 22:22:52 +00:00
|
|
|
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
|
2003-03-17 15:57:19 +00:00
|
|
|
/* end confdefs.h. */
|
1999-05-26 23:37:38 +00:00
|
|
|
#include <linux/version.h>
|
|
|
|
#if LINUX_VERSION_CODE < $decnum
|
2014-07-04 03:35:42 +00:00
|
|
|
# error kernel headers too old
|
1999-05-26 23:37:38 +00:00
|
|
|
#endif
|
2014-07-04 03:35:42 +00:00
|
|
|
int
|
|
|
|
main ()
|
|
|
|
{
|
|
|
|
|
|
|
|
;
|
|
|
|
return 0;
|
|
|
|
}
|
2002-10-18 05:05:55 +00:00
|
|
|
_ACEOF
|
2021-05-22 02:42:48 +00:00
|
|
|
if ac_fn_c_try_cpp "$LINENO"; then :
|
1999-05-30 09:07:13 +00:00
|
|
|
libc_minimum_kernel=ok
|
2014-07-04 03:35:42 +00:00
|
|
|
else
|
|
|
|
libc_minimum_kernel='too old!'
|
1999-05-30 09:07:13 +00:00
|
|
|
fi
|
2021-05-22 02:42:48 +00:00
|
|
|
rm -f conftest.err conftest.i conftest.$ac_ext
|
2012-05-14 22:22:52 +00:00
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_minimum_kernel" >&5
|
2009-09-15 21:14:42 +00:00
|
|
|
$as_echo "$libc_minimum_kernel" >&6; }
|
2012-05-14 22:22:52 +00:00
|
|
|
if test "$libc_minimum_kernel" = ok; then
|
|
|
|
cat >>confdefs.h <<_ACEOF
|
1999-05-26 23:37:38 +00:00
|
|
|
#define __LINUX_KERNEL_VERSION $decnum
|
2022-02-21 11:32:32 +00:00
|
|
|
_ACEOF
|
|
|
|
|
|
|
|
cat >>confdefs.h <<_ACEOF
|
|
|
|
#define __LINUX_KERNEL_VERSION_STR "$abinumstr"
|
2002-10-18 05:05:55 +00:00
|
|
|
_ACEOF
|
Update.
2001-03-12 Jakub Jelinek <jakub@redhat.com>
* csu/Makefile (abi-tag.h): Define OS and version separately, allow
version to be overriden from config.h.
* csu/abi-note.S: Use OS and version separately, include config.h.
* elf/dl-load.c (_dl_osversion): New.
(_dl_map_object_from_fd): Kill some warnings.
(open_verify): Check .note.ABI-tag of the library if present.
* elf/Makefile (CPPFLAGS-dl-load.c): Add -I$(csu-objpfx).
* elf/cache.c (struct cache_entry): Add osversion.
(print_entry): Print osversion.
(print_cache): Pass osversion to it.
(compare): Sort according to osversion.
(save_cache): Set osversion.
(add_to_cache): Add osversion argument.
* sysdeps/generic/ldconfig.h (add_to_cache, process_file,
process_elf_file): Add osversion argument.
* elf/readlib.c (process_file): Likewise.
* sysdeps/generic/readelflib.c (process_elf_file): Likewise.
* sysdeps/unix/sysv/linux/ia64/readelflib.c (process_elf_file,
process_elf32_file, process_elf64_file): Likewise.
* sysdeps/unix/sysv/linux/i386/readelflib.c (process_elf_file,
process_elf32_file, process_elf64_file): Likewise.
* sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file,
process_elf32_file, process_elf64_file): Likewise.
* elf/ldconfig.c (manual_link): Pass it.
(search_dir): Issue diagnostic if two libs with the same soname in
the same directory have different .note.ABI-tag. Record osversion in
dlib_entry and use it from there.
(struct lib_entry): Remove.
(struct dlib_entry): Add osversion.
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Check
osversion.
* sysdeps/generic/dl-cache.h (struct file_entry_new): Replace __unused
field with osversion.
* sysdeps/generic/ldsodefs.h (_dl_osversion): Declare.
* sysdeps/unix/sysv/linux/init-first.c: Include ldsodefs.h.
* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Save kernel
version in _dl_osversion.
* sysdeps/unix/sysv/linux/configure.in: Define __ABI_TAG_VERSION.
* Makerules (build-shlib-helper, build-module-helper): New.
(build-shlib, build-module-helper): Make sure .note.ABI-tag comes
early.
* config.h.in (__ABI_TAG_VERSION): Add.
* elf/dl-minimal.c (__strtoul_internal): Set endptr on return.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS):
Handle LD_ASSUME_KERNEL.
* sysdeps/unix/sysv/linux/dl-librecon.h: New.
2001-03-16 07:40:05 +00:00
|
|
|
|
2012-05-14 22:22:52 +00:00
|
|
|
cat >>confdefs.h <<_ACEOF
|
Update.
2001-03-12 Jakub Jelinek <jakub@redhat.com>
* csu/Makefile (abi-tag.h): Define OS and version separately, allow
version to be overriden from config.h.
* csu/abi-note.S: Use OS and version separately, include config.h.
* elf/dl-load.c (_dl_osversion): New.
(_dl_map_object_from_fd): Kill some warnings.
(open_verify): Check .note.ABI-tag of the library if present.
* elf/Makefile (CPPFLAGS-dl-load.c): Add -I$(csu-objpfx).
* elf/cache.c (struct cache_entry): Add osversion.
(print_entry): Print osversion.
(print_cache): Pass osversion to it.
(compare): Sort according to osversion.
(save_cache): Set osversion.
(add_to_cache): Add osversion argument.
* sysdeps/generic/ldconfig.h (add_to_cache, process_file,
process_elf_file): Add osversion argument.
* elf/readlib.c (process_file): Likewise.
* sysdeps/generic/readelflib.c (process_elf_file): Likewise.
* sysdeps/unix/sysv/linux/ia64/readelflib.c (process_elf_file,
process_elf32_file, process_elf64_file): Likewise.
* sysdeps/unix/sysv/linux/i386/readelflib.c (process_elf_file,
process_elf32_file, process_elf64_file): Likewise.
* sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file,
process_elf32_file, process_elf64_file): Likewise.
* elf/ldconfig.c (manual_link): Pass it.
(search_dir): Issue diagnostic if two libs with the same soname in
the same directory have different .note.ABI-tag. Record osversion in
dlib_entry and use it from there.
(struct lib_entry): Remove.
(struct dlib_entry): Add osversion.
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Check
osversion.
* sysdeps/generic/dl-cache.h (struct file_entry_new): Replace __unused
field with osversion.
* sysdeps/generic/ldsodefs.h (_dl_osversion): Declare.
* sysdeps/unix/sysv/linux/init-first.c: Include ldsodefs.h.
* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Save kernel
version in _dl_osversion.
* sysdeps/unix/sysv/linux/configure.in: Define __ABI_TAG_VERSION.
* Makerules (build-shlib-helper, build-module-helper): New.
(build-shlib, build-module-helper): Make sure .note.ABI-tag comes
early.
* config.h.in (__ABI_TAG_VERSION): Add.
* elf/dl-minimal.c (__strtoul_internal): Set endptr on return.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS):
Handle LD_ASSUME_KERNEL.
* sysdeps/unix/sysv/linux/dl-librecon.h: New.
2001-03-16 07:40:05 +00:00
|
|
|
#define __ABI_TAG_VERSION $abinum
|
2002-10-18 05:05:55 +00:00
|
|
|
_ACEOF
|
1999-05-26 23:37:38 +00:00
|
|
|
|
2012-05-14 22:22:52 +00:00
|
|
|
else
|
|
|
|
as_fn_error $? "*** The available kernel headers are older than the requested
|
2011-02-15 19:52:29 +00:00
|
|
|
*** compatible kernel version" "$LINENO" 5
|
1999-05-26 23:37:38 +00:00
|
|
|
fi
|
|
|
|
|
1998-08-21 22:29:58 +00:00
|
|
|
if test -n "$sysheaders"; then
|
2000-01-27 20:16:37 +00:00
|
|
|
CPPFLAGS=$OLD_CPPFLAGS
|
1996-06-10 09:41:16 +00:00
|
|
|
fi
|
1996-11-28 04:16:09 +00:00
|
|
|
|
2002-05-19 18:37:30 +00:00
|
|
|
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.
|
2002-07-28 22:43:25 +00:00
|
|
|
*** If you really mean to do this, run configure again using the extra
|
2002-05-19 18:37:30 +00:00
|
|
|
*** 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
|
|
|
|
|
|
|
|
|
1999-12-04 18:05:55 +00:00
|
|
|
# One Linux we use ldconfig.
|
|
|
|
use_ldconfig=yes
|
1998-03-29 17:03:23 +00:00
|
|
|
|
1998-12-02 13:44:40 +00:00
|
|
|
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
|
2011-02-15 19:52:29 +00:00
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symlinks in ${ac_prefix}/include" >&5
|
2009-09-15 21:14:42 +00:00
|
|
|
$as_echo_n "checking for symlinks in ${ac_prefix}/include... " >&6; }
|
1998-12-04 15:52:50 +00:00
|
|
|
ac_message=
|
1998-12-02 13:44:40 +00:00
|
|
|
if test -L ${ac_prefix}/include/net; then
|
1998-12-04 15:52:50 +00:00
|
|
|
ac_message="$ac_message
|
|
|
|
${ac_prefix}/include/net is a symlink"
|
1998-12-02 13:44:40 +00:00
|
|
|
fi
|
|
|
|
if test -L ${ac_prefix}/include/scsi; then
|
1998-12-04 15:52:50 +00:00
|
|
|
ac_message="$ac_message
|
1998-12-02 13:44:40 +00:00
|
|
|
${ac_prefix}/include/scsi is a symlink"
|
|
|
|
fi
|
1998-12-04 15:52:50 +00:00
|
|
|
if test -n "$ac_message"; then
|
2011-02-15 19:52:29 +00:00
|
|
|
as_fn_error $? "$ac_message
|
2002-10-18 05:05:55 +00:00
|
|
|
\`make install' will destroy the target of the link(s).
|
|
|
|
Delete the links and re-run configure, or better still, move the entire
|
2011-02-15 19:52:29 +00:00
|
|
|
${ac_prefix}/include directory out of the way." "$LINENO" 5
|
1998-12-02 13:44:40 +00:00
|
|
|
else
|
2011-02-15 19:52:29 +00:00
|
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
|
2009-09-15 21:14:42 +00:00
|
|
|
$as_echo "ok" >&6; }
|
1998-12-02 13:44:40 +00:00
|
|
|
fi
|
1998-11-28 23:37:49 +00:00
|
|
|
fi
|
2004-07-06 04:26:42 +00:00
|
|
|
|
|
|
|
# We have inlined syscalls.
|
2011-02-15 19:52:29 +00:00
|
|
|
$as_echo "#define HAVE_INLINED_SYSCALLS 1" >>confdefs.h
|
2004-07-06 04:26:42 +00:00
|
|
|
|