|
|
Log in / Subscribe / Register

GCC 12.1 Released

The GCC project has made the first release of the GCC 12 series, GCC 12.1. As the announcement notes, this month is the 35th anniversary of the GCC 1.0 release. There are lots of changes and fixes in this release, including:
This release deprecates support for the STABS debugging format and introduces support for the CTF debugging format. The C and C++ frontends continue to advance with extending support for features in the upcoming C2X and C++23 standards and the C++ standard library improves support for the experimental C++20 and C++23 parts. The Fortran frontend now fully supports TS 29113 for interoperability with C.

[...] On the security side GCC can now initialize stack variables implicitly using -ftrivial-auto-var-init to help tracking down and mitigating uninitialized stack variable flaws. The C and C++ frontends now support __builtin_dynamic_object_size compatible with the clang extension. The x86 backend gained mitigations against straight line speculation with -mharden-sls. The experimental Static Analyzer gained uninitialized variable use detection and many other improvements.


From:  Richard Biener <rguenther-AT-suse.de>
To:  gcc-announce-AT-gcc.gnu.org
Subject:  GCC 12.1 Released
Date:  Fri, 06 May 2022 10:48:06 +0200
Message-ID:  <p3p5oo2-3221-p179-5547-o250q2p5r8sn@fhfr.qr>
Cc:  gcc-AT-gcc.gnu.org, info-gnu-AT-gnu.org
Archive-link:  Article


The GCC developers are proud to announce another major GCC release, 12.1.

This year we celebrated the 35th anniversary of the first GCC beta release
and this month we will celebrate 35 years since the GCC 1.0 release!

This release deprecates support for the STABS debugging format and
introduces support for the CTF debugging format [1].  The C and C++
frontends continue to advance with extending support for features
in the upcoming C2X and C++23 standards and the C++ standard library
improves support for the experimental C++20 and C++23 parts.
The Fortran frontend now fully supports TS 29113 for interoperability with C.

GCC now understands clangs __builtin_shufflevector extension making
it easier to share generic vector code.  Starting with GCC 12
vectorization is enabled at the -O2 optimization level using the
very-cheap cost model which puts extra constraints on code size expansion.

On the security side GCC can now initialize stack variables implicitly
using -ftrivial-auto-var-init to help tracking down and mitigating
uninitialized stack variable flaws.  The C and C++ frontends now support
__builtin_dynamic_object_size compatible with the clang extension.
The x86 backend gained mitigations against straight line speculation
with -mharden-sls.  The experimental Static Analyzer gained uninitialized
variable use detection and many other improvements.

The x86 backend gained support for AVX512-FP16 via _Float16.
The BPF backend now supports CO-RE, the RISC-V backend gained support
for many new ISA extensions.

Some code that compiled successfully with older GCC versions might require
source changes, see http://gcc.gnu.org/gcc-12/porting_to.html for
details.

See

  https://gcc.gnu.org/gcc-12/changes.html

for more information about changes in GCC 12.1.

This release is available from the WWW and FTP servers listed here:

 https://sourceware.org/pub/gcc/releases/gcc-12.1.0/
 https://gcc.gnu.org/mirrors.html

The release is in the gcc-12.1.0/ subdirectory.

If you encounter difficulties using GCC 12.1, please do not contact me
directly.  Instead, please visit http://gcc.gnu.org for information about
getting help.

Driving a leading free software project such as GCC would not be possible
without support from its many contributors.
Not only its developers, but especially its regular testers and users which
contribute to its high quality.  The list of individuals
is too large to thank individually!

----

[1] See https://ctfstd.org/



The LWN site is currently under high scraper load, so comment display has been suppressed for anonymous users. If you are a human, you may read the comments by clicking the button below:

Note: you can avoid this step in the future by logging into your LWN account.


Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds