mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
For all Linux distros with glibc 2.40 which I can find, GCC 14.2 is used to compile glibc 2.40: OS GCC URL AOSC 14.2.0 https://aosc.io/ Arch Linux 14.2.0 https://archlinux.org/ ArchPOWER 14.2.0 https://archlinuxpower.org/ Artix 14.2.0 https://artixlinux.org/ Debian 14.2.0 https://www.debian.org/ Devuan 14.2.0 https://www.devuan.org/ Exherbo 14.2.0 https://www.exherbolinux.org/ Fedora 14.2.1 https://fedoraproject.org/ Gentoo 14.2.1 https://gentoo.org/ Kali Linux 14.2.0 https://www.kali.org/ KaOS 14.2.0 https://kaosx.us/ LiGurOS 14.2.0 https://liguros.gitlab.io/ Mageia 14.2.0 https://www.mageia.org/en/ Manjaro 14.2.0 https://manjaro.org/ NixOS 14.2.0 https://nixos.org/ openmamba 14.2.0 https://openmamba.org/ OpenMandriva 14.2.0 https://openmandriva.org/ openSUSE 14.2.0 https://www.opensuse.org/ Parabola 14.2.0 https://www.parabola.nu/ PLD Linux 14.2.0 https://pld-linux.org/ PureOS 14.2.0 https://pureos.net/ Raspbian 14.2.0 http://raspbian.org/ Slackware 14.2.0 http://www.slackware.com/ Solus 14.2.0 https://getsol.us/ T2 SDE 14.2.0 http://t2sde.org/ Ubuntu 14.2.0 https://www.ubuntu.com/ Wikidata 14.2.0 https://wikidata.org/ Support older versions of GCC to build glibc 2.42: 1. Need to work around bugs in older versions of GCC. 2. Can't use the new features in newer versions of GCC, which may be required for new features, like _Float16 which requires GCC 12.1 or above, in glibc, The main benefit of supporting older versions of GCC is easier backport of bug fixes to the older releases of glibc, which can be mitigated by avoiding incompatible features in newer versions of GCC for critical bug fixes. Require GCC 12.1 or newer to build. Remove GCC version check for PowerPC and s390x. TEST_CC and TEST_CXX can be used to test the glibc build with the older versions of GCC. For glibc developers who are using Linux OSes which don't come with GCC 12.1 or newer, they should build and install GCC 12.1 or newer to work on glibc. This fixes BZ #32539. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
315 lines
8.4 KiB
Plaintext
315 lines
8.4 KiB
Plaintext
# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
|
|
# Local configure fragment for sysdeps/s390.
|
|
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __builtin_tbegin" >&5
|
|
printf %s "checking for __builtin_tbegin... " >&6; }
|
|
if test ${libc_cv_gcc_builtin_tbegin+y}
|
|
then :
|
|
printf %s "(cached) " >&6
|
|
else case e in #(
|
|
e) cat > conftest.c <<\EOF
|
|
#include <htmintrin.h>
|
|
void testtransaction ()
|
|
{
|
|
if (__builtin_tbegin (0) == _HTM_TBEGIN_STARTED)
|
|
{
|
|
__builtin_tend ();
|
|
}
|
|
}
|
|
EOF
|
|
if { ac_try='${CC-cc} -mhtm -O2 -S conftest.c -o - | grep -w tbegin > /dev/null'
|
|
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
|
(eval $ac_try) 2>&5
|
|
ac_status=$?
|
|
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
|
test $ac_status = 0; }; } ;
|
|
then
|
|
libc_cv_gcc_builtin_tbegin=yes
|
|
else
|
|
libc_cv_gcc_builtin_tbegin=no
|
|
fi
|
|
rm -f conftest* ;;
|
|
esac
|
|
fi
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_builtin_tbegin" >&5
|
|
printf "%s\n" "$libc_cv_gcc_builtin_tbegin" >&6; }
|
|
|
|
if test "$libc_cv_gcc_builtin_tbegin" = no ; then
|
|
critic_missing="$critic_missing The used GCC has no support for __builtin_tbegin, which is needed for lock-elision on target S390."
|
|
fi
|
|
|
|
|
|
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for S390 vector instruction support" >&5
|
|
printf %s "checking for S390 vector instruction support... " >&6; }
|
|
if test ${libc_cv_asm_s390_vx+y}
|
|
then :
|
|
printf %s "(cached) " >&6
|
|
else case e in #(
|
|
e)
|
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
/* end confdefs.h. */
|
|
|
|
void testvecinsn ()
|
|
{
|
|
__asm__ (".machine \"z13\" \n\t"
|
|
".machinemode \"zarch_nohighgprs\" \n\t"
|
|
"vistrbs %%v16,%%v17 \n\t"
|
|
"locghie %%r1,0" : :);
|
|
}
|
|
|
|
_ACEOF
|
|
if ac_fn_c_try_compile "$LINENO"
|
|
then :
|
|
libc_cv_asm_s390_vx=yes
|
|
else case e in #(
|
|
e) libc_cv_asm_s390_vx=no ;;
|
|
esac
|
|
fi
|
|
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
|
|
esac
|
|
fi
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_vx" >&5
|
|
printf "%s\n" "$libc_cv_asm_s390_vx" >&6; }
|
|
if test "$libc_cv_asm_s390_vx" = yes ;
|
|
then
|
|
printf "%s\n" "#define HAVE_S390_VX_ASM_SUPPORT 1" >>confdefs.h
|
|
|
|
else
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Use binutils with vector-support in order to use optimized implementations." >&5
|
|
printf "%s\n" "$as_me: WARNING: Use binutils with vector-support in order to use optimized implementations." >&2;}
|
|
fi
|
|
|
|
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for S390 vector support in gcc" >&5
|
|
printf %s "checking for S390 vector support in gcc... " >&6; }
|
|
if test ${libc_cv_gcc_s390_vx+y}
|
|
then :
|
|
printf %s "(cached) " >&6
|
|
else case e in #(
|
|
e)
|
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
/* end confdefs.h. */
|
|
|
|
void testvecclobber ()
|
|
{
|
|
__asm__ ("" : : : "v16");
|
|
}
|
|
|
|
_ACEOF
|
|
if ac_fn_c_try_compile "$LINENO"
|
|
then :
|
|
libc_cv_gcc_s390_vx=yes
|
|
else case e in #(
|
|
e) libc_cv_gcc_s390_vx=no ;;
|
|
esac
|
|
fi
|
|
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
|
|
esac
|
|
fi
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_s390_vx" >&5
|
|
printf "%s\n" "$libc_cv_gcc_s390_vx" >&6; }
|
|
if test "$libc_cv_gcc_s390_vx" = yes ;
|
|
then
|
|
printf "%s\n" "#define HAVE_S390_VX_GCC_SUPPORT 1" >>confdefs.h
|
|
|
|
fi
|
|
|
|
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for S390 arch13 zarch instruction support" >&5
|
|
printf %s "checking for S390 arch13 zarch instruction support... " >&6; }
|
|
if test ${libc_cv_asm_s390_arch13+y}
|
|
then :
|
|
printf %s "(cached) " >&6
|
|
else case e in #(
|
|
e)
|
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
/* end confdefs.h. */
|
|
|
|
void testinsn (char *buf)
|
|
{
|
|
__asm__ (".machine \"arch13\" \n\t"
|
|
".machinemode \"zarch_nohighgprs\" \n\t"
|
|
"lghi %%r0,16 \n\t"
|
|
"mvcrl 0(%0),32(%0) \n\t"
|
|
"vstrs %%v20,%%v20,%%v20,%%v20,0,2"
|
|
: : "a" (buf) : "memory", "r0");
|
|
}
|
|
|
|
_ACEOF
|
|
if ac_fn_c_try_compile "$LINENO"
|
|
then :
|
|
libc_cv_asm_s390_arch13=yes
|
|
else case e in #(
|
|
e) libc_cv_asm_s390_arch13=no ;;
|
|
esac
|
|
fi
|
|
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
|
|
esac
|
|
fi
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_arch13" >&5
|
|
printf "%s\n" "$libc_cv_asm_s390_arch13" >&6; }
|
|
if test "$libc_cv_asm_s390_arch13" = yes ;
|
|
then
|
|
printf "%s\n" "#define HAVE_S390_ARCH13_ASM_SUPPORT 1" >>confdefs.h
|
|
|
|
fi
|
|
|
|
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for S390 z10 zarch instruction support as default" >&5
|
|
printf %s "checking for S390 z10 zarch instruction support as default... " >&6; }
|
|
if test ${libc_cv_asm_s390_min_z10_zarch+y}
|
|
then :
|
|
printf %s "(cached) " >&6
|
|
else case e in #(
|
|
e)
|
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
/* end confdefs.h. */
|
|
|
|
void testinsn (void *a, void *b, int n)
|
|
{
|
|
__asm__ ("exrl %2,1f \n\t"
|
|
"j 2f \n\t"
|
|
"1: mvc 0(1,%0),0(%1) \n\t"
|
|
"2:"
|
|
: : "a" (a), "a" (b), "d" (n)
|
|
: "memory", "cc");
|
|
}
|
|
|
|
_ACEOF
|
|
if ac_fn_c_try_compile "$LINENO"
|
|
then :
|
|
libc_cv_asm_s390_min_z10_zarch=yes
|
|
else case e in #(
|
|
e) libc_cv_asm_s390_min_z10_zarch=no ;;
|
|
esac
|
|
fi
|
|
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
|
|
esac
|
|
fi
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_z10_zarch" >&5
|
|
printf "%s\n" "$libc_cv_asm_s390_min_z10_zarch" >&6; }
|
|
if test "$libc_cv_asm_s390_min_z10_zarch" = yes ;
|
|
then
|
|
printf "%s\n" "#define HAVE_S390_MIN_Z10_ZARCH_ASM_SUPPORT 1" >>confdefs.h
|
|
|
|
fi
|
|
|
|
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for S390 z196 zarch instruction support as default" >&5
|
|
printf %s "checking for S390 z196 zarch instruction support as default... " >&6; }
|
|
if test ${libc_cv_asm_s390_min_z196_zarch+y}
|
|
then :
|
|
printf %s "(cached) " >&6
|
|
else case e in #(
|
|
e)
|
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
/* end confdefs.h. */
|
|
|
|
float testinsn (double e)
|
|
{
|
|
float d;
|
|
__asm__ ("ledbra %0,5,%1,4" : "=f" (d) : "f" (e) );
|
|
return d;
|
|
}
|
|
|
|
_ACEOF
|
|
if ac_fn_c_try_compile "$LINENO"
|
|
then :
|
|
libc_cv_asm_s390_min_z196_zarch=yes
|
|
else case e in #(
|
|
e) libc_cv_asm_s390_min_z196_zarch=no ;;
|
|
esac
|
|
fi
|
|
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
|
|
esac
|
|
fi
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_z196_zarch" >&5
|
|
printf "%s\n" "$libc_cv_asm_s390_min_z196_zarch" >&6; }
|
|
if test "$libc_cv_asm_s390_min_z196_zarch" = yes ;
|
|
then
|
|
printf "%s\n" "#define HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT 1" >>confdefs.h
|
|
|
|
fi
|
|
|
|
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for S390 z13 zarch instruction support as default" >&5
|
|
printf %s "checking for S390 z13 zarch instruction support as default... " >&6; }
|
|
if test ${libc_cv_asm_s390_min_z13_zarch+y}
|
|
then :
|
|
printf %s "(cached) " >&6
|
|
else case e in #(
|
|
e)
|
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
/* end confdefs.h. */
|
|
|
|
int testinsn (void)
|
|
{
|
|
int i;
|
|
__asm__ ("vl %%v16,0(%%r15)\n\t"
|
|
"vlgvf %0,%%v16,0"
|
|
: "=d" (i) : : "memory", "v16");
|
|
return i;
|
|
}
|
|
|
|
_ACEOF
|
|
if ac_fn_c_try_compile "$LINENO"
|
|
then :
|
|
libc_cv_asm_s390_min_z13_zarch=yes
|
|
else case e in #(
|
|
e) libc_cv_asm_s390_min_z13_zarch=no ;;
|
|
esac
|
|
fi
|
|
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
|
|
esac
|
|
fi
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_z13_zarch" >&5
|
|
printf "%s\n" "$libc_cv_asm_s390_min_z13_zarch" >&6; }
|
|
if test "$libc_cv_asm_s390_min_z13_zarch" = yes ;
|
|
then
|
|
printf "%s\n" "#define HAVE_S390_MIN_Z13_ZARCH_ASM_SUPPORT 1" >>confdefs.h
|
|
|
|
fi
|
|
|
|
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for S390 arch13 zarch instruction support as default" >&5
|
|
printf %s "checking for S390 arch13 zarch instruction support as default... " >&6; }
|
|
if test ${libc_cv_asm_s390_min_arch13_zarch+y}
|
|
then :
|
|
printf %s "(cached) " >&6
|
|
else case e in #(
|
|
e)
|
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
/* end confdefs.h. */
|
|
|
|
void testinsn (char *buf)
|
|
{
|
|
__asm__ ("lghi %%r0,16 \n\t"
|
|
"mvcrl 0(%0),32(%0) \n\t"
|
|
"vstrs %%v20,%%v20,%%v20,%%v20,0,2"
|
|
: : "a" (buf) : "memory", "r0");
|
|
}
|
|
|
|
_ACEOF
|
|
if ac_fn_c_try_compile "$LINENO"
|
|
then :
|
|
libc_cv_asm_s390_min_arch13_zarch=yes
|
|
else case e in #(
|
|
e) libc_cv_asm_s390_min_arch13_zarch=no ;;
|
|
esac
|
|
fi
|
|
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
|
|
esac
|
|
fi
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_s390_min_arch13_zarch" >&5
|
|
printf "%s\n" "$libc_cv_asm_s390_min_arch13_zarch" >&6; }
|
|
if test "$libc_cv_asm_s390_min_arch13_zarch" = yes ;
|
|
then
|
|
printf "%s\n" "#define HAVE_S390_MIN_ARCH13_ZARCH_ASM_SUPPORT 1" >>confdefs.h
|
|
|
|
fi
|
|
|
|
test -n "$critic_missing" && as_fn_error $? "
|
|
*** $critic_missing" "$LINENO" 5
|
|
|