Raise the minimum GCC version to 12.1 [BZ #32539]
Checks
Context |
Check |
Description |
redhat-pt-bot/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 |
fail
|
Build failed
|
redhat-pt-bot/TryBot-32bit |
success
|
Build for i686
|
linaro-tcwg-bot/tcwg_glibc_build--master-arm |
fail
|
Build failed
|
Commit Message
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>
---
INSTALL | 23 +-----
configure | 3 +-
configure.ac | 3 +-
manual/install.texi | 22 +-----
sysdeps/s390/configure | 40 ----------
sysdeps/s390/configure.ac | 18 -----
sysdeps/unix/sysv/linux/powerpc/configure | 83 --------------------
sysdeps/unix/sysv/linux/powerpc/configure.ac | 34 --------
8 files changed, 9 insertions(+), 217 deletions(-)
Comments
On 2/11/25 11:53 PM, H.J. Lu wrote:
> 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>
This is great work and the one blocker we have here is that all pre-commit CI should
be updated to pass after this commit.
We have ensured that the Red Hat pre-commit CI is using a new enough compiler since
we pull and build the latest stable release Fedora container.
Adhemerval, Do you have any status you can share about the Linaro pre-commit CI
builder upgrades? I think those upgrades would provide a new enough compiler.
On Mon, Mar 3, 2025 at 10:50 PM Carlos O'Donell <carlos@redhat.com> wrote:
>
> On 2/11/25 11:53 PM, H.J. Lu wrote:
> > 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>
>
> This is great work and the one blocker we have here is that all pre-commit CI should
> be updated to pass after this commit.
>
> We have ensured that the Red Hat pre-commit CI is using a new enough compiler since
> we pull and build the latest stable release Fedora container.
>
> Adhemerval, Do you have any status you can share about the Linaro pre-commit CI
> builder upgrades? I think those upgrades would provide a new enough compiler.
>
> --
> Cheers,
> Carlos.
This is what I got from Maxim when the Linaro pre-commit CI build
failed my patch.
H.J.
----
> On Feb 12, 2025, at 18:54, H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Wed, Feb 12, 2025 at 1:48 PM Maxim Kuvyrkov
> <maxim.kuvyrkov@linaro.org> wrote:
>>
>> Hi H.J.,
>>
>> This particular CI pipeline builds glibc using system compiler in Ubuntu 22.04 environment. So GCC version is GCC 11.4 .
>
> If my patch is accepted, you need to update GCC in your CI.
Yes, this is not a problem; we will switch to Ubuntu 24.04 soon.
Hi Carlos,
Hi H.J.,
We have switched Linaro CI to Ubuntu 24.04 images over the weekend; it now has recent-enough GCC.
Thanks,
--
Maxim Kuvyrkov
https://www.linaro.org
> On Mar 6, 2025, at 13:31, H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Mon, Mar 3, 2025 at 10:50 PM Carlos O'Donell <carlos@redhat.com> wrote:
>>
>> On 2/11/25 11:53 PM, H.J. Lu wrote:
>>> 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>
>>
>> This is great work and the one blocker we have here is that all pre-commit CI should
>> be updated to pass after this commit.
>>
>> We have ensured that the Red Hat pre-commit CI is using a new enough compiler since
>> we pull and build the latest stable release Fedora container.
>>
>> Adhemerval, Do you have any status you can share about the Linaro pre-commit CI
>> builder upgrades? I think those upgrades would provide a new enough compiler.
>>
>> --
>> Cheers,
>> Carlos.
>
> This is what I got from Maxim when the Linaro pre-commit CI build
> failed my patch.
>
> H.J.
> ----
>> On Feb 12, 2025, at 18:54, H.J. Lu <hjl.tools@gmail.com> wrote:
>>
>> On Wed, Feb 12, 2025 at 1:48 PM Maxim Kuvyrkov
>> <maxim.kuvyrkov@linaro.org> wrote:
>>>
>>> Hi H.J.,
>>>
>>> This particular CI pipeline builds glibc using system compiler in Ubuntu 22.04 environment. So GCC version is GCC 11.4 .
>>
>> If my patch is accepted, you need to update GCC in your CI.
>
> Yes, this is not a problem; we will switch to Ubuntu 24.04 soon.
On 2/12/25 05:53, H.J. Lu wrote:
> 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>
Another question is, if minimum binutils version should also be adjusted?
Currently we have:
configure.ac: # Accept binutils 2.25 or newer.
=> which was released end of 2014. GCC 12.1 was released in 2022.
binutils 2.39 was also released in 2022.
Bye,
Stefan
@@ -488,31 +488,14 @@ build the GNU C Library:
As of release time, GNU 'make' 4.4.1 is the newest verified to work
to build the GNU C Library.
- * GCC 6.2 or newer
+ * GCC 12.1 or newer
- GCC 6.2 or higher is required. In general it is recommended to use
- the newest version of the compiler that is known to work for
+ GCC 12.1 or higher is required. In general it is recommended to
+ use the newest version of the compiler that is known to work for
building the GNU C Library, as newer compilers usually produce
better code. As of release time, GCC 14.2.1 is the newest compiler
verified to work to build the GNU C Library.
- For PowerPC 64-bits little-endian (powerpc64le), a GCC version with
- support for '-mno-gnu-attribute', '-mabi=ieeelongdouble', and
- '-mabi=ibmlongdouble' is required. Likewise, the compiler must
- also support passing '-mlong-double-128' with the preceding
- options. As of release, this implies GCC 7.4 and newer (excepting
- GCC 7.5.0, see GCC PR94200). These additional features are
- required for building the GNU C Library with support for IEEE long
- double.
-
- For ARC architecture builds, GCC 8.3 or higher is needed.
-
- For s390x architecture builds, GCC 7.1 or higher is needed (See gcc
- Bug 98269).
-
- For AArch64 architecture builds with mathvec enabled, GCC 10 or
- higher is needed due to dependency on arm_sve.h.
-
For multi-arch support it is recommended to use a GCC which has
been built with support for GNU indirect functions. This ensures
that correct debugging information is generated for functions
@@ -5763,6 +5763,7 @@ if test $ac_verc_fail = yes; then
fi
+# Require GCC 12.1 to build.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC is sufficient to build libc" >&5
printf %s "checking if $CC is sufficient to build libc... " >&6; }
if test ${libc_cv_compiler_ok+y}
@@ -5777,7 +5778,7 @@ int
main (void)
{
-#if !defined __GNUC__ || __GNUC__ < 6 || (__GNUC__ == 6 && __GNUC_MINOR__ < 2)
+#if !defined __GNUC__ || __GNUC__ < 12 || (__GNUC__ == 12 && __GNUC_MINOR__ < 1)
#error insufficient compiler
#endif
;
@@ -573,9 +573,10 @@ AC_CHECK_PROG_VER(BISON, bison, --version,
[bison (GNU Bison) \([0-9]*\.[0-9.]*\)],
[2.7*|[3-9].*|[1-9][0-9]*], critic_missing="$critic_missing bison")
+# Require GCC 12.1 to build.
AC_CACHE_CHECK([if $CC is sufficient to build libc], libc_cv_compiler_ok, [
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[]], [[
-#if !defined __GNUC__ || __GNUC__ < 6 || (__GNUC__ == 6 && __GNUC_MINOR__ < 2)
+#if !defined __GNUC__ || __GNUC__ < 12 || (__GNUC__ == 12 && __GNUC_MINOR__ < 1)
#error insufficient compiler
#endif]])],
[libc_cv_compiler_ok=yes],
@@ -530,32 +530,14 @@ As of release time, GNU @code{make} 4.4.1 is the newest verified to work
to build @theglibc{}.
@item
-GCC 6.2 or newer
+GCC 12.1 or newer
-GCC 6.2 or higher is required. In general it is recommended to use
+GCC 12.1 or higher is required. In general it is recommended to use
the newest version of the compiler that is known to work for building
@theglibc{}, as newer compilers usually produce better code. As of
release time, GCC 14.2.1 is the newest compiler verified to work to build
@theglibc{}.
-For PowerPC 64-bits little-endian (powerpc64le), a GCC version with support
-for @option{-mno-gnu-attribute}, @option{-mabi=ieeelongdouble}, and
-@option{-mabi=ibmlongdouble} is required. Likewise, the compiler must also
-support passing @option{-mlong-double-128} with the preceding options. As
-of release, this implies GCC 7.4 and newer (excepting GCC 7.5.0, see GCC
-PR94200). These additional features are required for building the GNU C
-Library with support for IEEE long double.
-
-@c powerpc64le performs an autoconf test to verify the compiler compiles with
-@c commands like "$CC -c foo.c -mabi=ibmlongdouble -mlong-double-128".
-
-For ARC architecture builds, GCC 8.3 or higher is needed.
-
-For s390x architecture builds, GCC 7.1 or higher is needed (See gcc Bug 98269).
-
-For AArch64 architecture builds with mathvec enabled, GCC 10 or higher is needed
-due to dependency on arm_sve.h.
-
For multi-arch support it is recommended to use a GCC which has been built with
support for GNU indirect functions. This ensures that correct debugging
information is generated for functions selected by IFUNC resolvers. This
@@ -309,46 +309,6 @@ then
fi
-
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC is sufficient to build libc on s390x" >&5
-printf %s "checking if $CC is sufficient to build libc on s390x... " >&6; }
-if test ${libc_cv_compiler_ok_on_s390x+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e)
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main (void)
-{
-
-#if !defined __GNUC__ || __GNUC__ < 7 || (__GNUC__ == 7 && __GNUC_MINOR__ < 1)
-#error insufficient compiler for building on s390x
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"
-then :
- libc_cv_compiler_ok_on_s390x=yes
-else case e in #(
- e) libc_cv_compiler_ok_on_s390x=no ;;
-esac
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_compiler_ok_on_s390x" >&5
-printf "%s\n" "$libc_cv_compiler_ok_on_s390x" >&6; }
-if test "$libc_cv_compiler_ok_on_s390x" != yes; then
- critic_missing="$critic_missing On s390x, GCC >= 7.1.0 is required."
-fi
-
test -n "$critic_missing" && as_fn_error $? "
*** $critic_missing" "$LINENO" 5
@@ -161,23 +161,5 @@ then
AC_DEFINE(HAVE_S390_MIN_ARCH13_ZARCH_ASM_SUPPORT)
fi
-
-dnl test if GCC is new enough. See gcc "Bug 98269 - gcc 6.5.0
-dnl __builtin_add_overflow() with small uint32_t values incorrectly detects
-dnl overflow
-dnl (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98269)
-AC_CACHE_CHECK([if $CC is sufficient to build libc on s390x],
-libc_cv_compiler_ok_on_s390x, [
-AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[]], [[
-#if !defined __GNUC__ || __GNUC__ < 7 || (__GNUC__ == 7 && __GNUC_MINOR__ < 1)
-#error insufficient compiler for building on s390x
-#endif
-]])],
- [libc_cv_compiler_ok_on_s390x=yes],
- [libc_cv_compiler_ok_on_s390x=no])])
-if test "$libc_cv_compiler_ok_on_s390x" != yes; then
- critic_missing="$critic_missing On s390x, GCC >= 7.1.0 is required."
-fi
-
test -n "$critic_missing" && AC_MSG_ERROR([
*** $critic_missing])
@@ -1,89 +1,6 @@
# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
# Local configure fragment for sysdeps/unix/sysv/linux/powerpc/.
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC $CFLAGS -mlong-double-128 uses IBM extended format" >&5
-printf %s "checking whether $CC $CFLAGS -mlong-double-128 uses IBM extended format... " >&6; }
-if test ${libc_cv_mlong_double_128ibm+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -mlong-double-128"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <float.h>
-int
-main (void)
-{
-
-#if LDBL_MANT_DIG != 106
-# error "compiler doesn't implement IBM extended format of long double"
-#endif
-long double foobar (long double x) { return x; }
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- libc_cv_mlong_double_128ibm=yes
-else case e in #(
- e) libc_cv_mlong_double_128ibm=no ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-CFLAGS="$save_CFLAGS" ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mlong_double_128ibm" >&5
-printf "%s\n" "$libc_cv_mlong_double_128ibm" >&6; }
-
-if test "$libc_cv_mlong_double_128ibm" = no; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC $CFLAGS supports -mabi=ibmlongdouble" >&5
-printf %s "checking whether $CC $CFLAGS supports -mabi=ibmlongdouble... " >&6; }
-if test ${libc_cv_mabi_ibmlongdouble+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -mlong-double-128 -mabi=ibmlongdouble"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <float.h>
-int
-main (void)
-{
-
-#if LDBL_MANT_DIG != 106
-# error "compiler doesn't implement IBM extended format of long double"
-#endif
-long double foobar (long double x) { return x; }
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"
-then :
- libc_cv_mabi_ibmlongdouble=yes
-else case e in #(
- e) libc_cv_mabi_ibmlongdouble=no ;;
-esac
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
- CFLAGS="$save_CFLAGS" ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mabi_ibmlongdouble" >&5
-printf "%s\n" "$libc_cv_mabi_ibmlongdouble" >&6; }
-
- if test "$libc_cv_mabi_ibmlongdouble" = yes; then
- CFLAGS="$CFLAGS -mabi=ibmlongdouble"
- else
- as_fn_error $? "this configuration requires -mlong-double-128 IBM extended format support" "$LINENO" 5
- fi
-fi
-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for linker that supports --no-tls-get-addr-optimize" >&5
printf %s "checking for linker that supports --no-tls-get-addr-optimize... " >&6; }
libc_linker_feature=no
@@ -2,40 +2,6 @@ sinclude(./aclocal.m4)dnl Autoconf lossage
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# Local configure fragment for sysdeps/unix/sysv/linux/powerpc/.
-AC_CACHE_CHECK(whether $CC $CFLAGS -mlong-double-128 uses IBM extended format,
- libc_cv_mlong_double_128ibm, [dnl
-save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -mlong-double-128"
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <float.h>]], [[
-#if LDBL_MANT_DIG != 106
-# error "compiler doesn't implement IBM extended format of long double"
-#endif
-long double foobar (long double x) { return x; }]])],
- libc_cv_mlong_double_128ibm=yes,
- libc_cv_mlong_double_128ibm=no)
-CFLAGS="$save_CFLAGS"])
-
-if test "$libc_cv_mlong_double_128ibm" = no; then
- AC_CACHE_CHECK(whether $CC $CFLAGS supports -mabi=ibmlongdouble,
- libc_cv_mabi_ibmlongdouble, [dnl
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -mlong-double-128 -mabi=ibmlongdouble"
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <float.h>]], [[
-#if LDBL_MANT_DIG != 106
-# error "compiler doesn't implement IBM extended format of long double"
-#endif
-long double foobar (long double x) { return x; }]])],
- libc_cv_mabi_ibmlongdouble=yes,
- libc_cv_mabi_ibmlongdouble=no)
- CFLAGS="$save_CFLAGS"])
-
- if test "$libc_cv_mabi_ibmlongdouble" = yes; then
- CFLAGS="$CFLAGS -mabi=ibmlongdouble"
- else
- AC_MSG_ERROR([this configuration requires -mlong-double-128 IBM extended format support])
- fi
-fi
-
LIBC_LINKER_FEATURE([--no-tls-get-addr-optimize], [-Wl,--no-tls-get-addr-optimize],
[libc_cv_tls_get_addr_optimize=yes], [libc_cv_tls_get_addr_optimize=no])
LIBC_CONFIG_VAR([have-tls-get-addr-optimize], [$libc_cv_tls_get_addr_optimize])