diff options
| author | H.J. Lu <hjl.tools@gmail.com> | 2025-02-12 12:53:09 +0800 |
|---|---|---|
| committer | H.J. Lu <hjl.tools@gmail.com> | 2025-03-31 08:04:29 -0700 |
| commit | 27b96e069aad17cefea9437542180bff448ac3a0 (patch) | |
| tree | 2d204676120550fcf53dd3ba256cac3694f3ff6b /INSTALL | |
| parent | dbb2880e61bf2b2906a40ed00181a831d3a65798 (diff) | |
| download | glibc-27b96e069aad17cefea9437542180bff448ac3a0.tar.xz glibc-27b96e069aad17cefea9437542180bff448ac3a0.zip | |
Raise the minimum GCC version to 12.1 [BZ #32539]
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>
Diffstat (limited to 'INSTALL')
| -rw-r--r-- | INSTALL | 23 |
1 files changed, 3 insertions, 20 deletions
@@ -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 |
