Red Hat adds Go, Clang/LLVM, Rust compiler toolsets; updates GCC

I am pleased to announce immediate availability of Red Hat Developer Toolset 7.0 Beta and three new compiler toolsets for Red Hat Enterprise Linux 7. Delivered on a separate lifecycle from Red Hat Enterprise Linux with a more frequent release cadence, Red Hat Developer Toolset and compilers bridge development agility and production stability by helping you create performant applications that can be confidently deployed into production.

TL;DR

This beta release brings these exciting new compilers to our Red Hat Enterprise Linux offerings:

Developer Toolset 7 beta adds a major update of GCC 7.2 and supporting toolchain

Addition of Clang/LLVM 4.0.1 compiler set – Technology Preview*

Addition of Go 1.8.3 compiler – Technology Preview*

Addition of Rust 1.20 compiler – Technology Preview*

Install the new additions via yum install from the new Devtools channel.

Everything you need to grow your career. With your free Red Hat Developer program membership, unlock our library of cheat sheets and ebooks on next-generation application development. SIGN UP

DETAILS:

Red Hat Developer Toolset and the GCC compiler

Using the GCC compiler in the Red Hat Developer Toolset, you can compile once and deploy across multiple versions of Red Hat Enterprise Linux (e.g. compile on RHEL 6 and deploy on RHEL 6 and/or RHEL 7)

Updated components within Red Hat Developer Toolset 7.0 Beta include gcc 7.2 and supporting toolchain components like gdb 8.0, and many more:

Component Package name Availability Red Hat Developer Toolset 7.0 (GCC 7.2) Devtoolset-7

Updated components in this release: – binutils: 2.28 – gcc: 7.2.1 – gdb: 8.0 – dwz: 0.12 – elfutils: 0.170 – oprofile: 1.2.0 – systemtap: 3.1 – valgrind: 3.13.0 – dyninst: 9.3.2 – strace: 4.17 – memstomp: 0.1.5 – ltrace: 0.7.91 – make: 4.2.1 RHEL6, RHEL7

Clang/LLVM compiler toolset

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies, with a primary focus on these two compilers:

The LLVM back-end compiler and core libraries provide a modern source- and target-independent optimizer, along with code generation support for the RHEL CPU architectures.

Clang is an “LLVM native” C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles, extremely useful error and warning messages and to provide a platform for building great source level tools. The Clang Static Analyzer is a tool that automatically finds bugs in your code, and is a great example of the sort of tool that can be built using the Clang frontend as a library to parse C/C++ code.

Clang/LLVM compiler set and major components

Name Version Description Clang 4.0.1 An LLVM compiler front-end for C and C++. LLVM 4.0.1 A collection of modular and reusable compiler and toolchain technologies. LLDB 4.0.1 A debugger using portions of LLVM.

Go Compiler

The Go language (golang 1.8.3) is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It’s a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.

Currently, a Golang compiler is available in the Optional channel of RHEL7. Long term, the compiler in Optional will be dropped in favor of this new Go toolset in the Devtools Channel.

Rust Compiler

Rust 1.20.0 is an open-source systems programming language created by Mozilla and a community of volunteers, designed to help developers create fast, secure applications which take full advantage of the powerful features of modern multi-core processors. It prevents segmentation faults and guarantees thread safety, all with an easy-to-learn syntax.

In addition, Rust offers zero-cost abstractions, move semantics, guaranteed memory safety, threads with no data races, trait-based generics, pattern matching, type inference, and efficient C bindings, with a minimum runtime size. Also included is cargo 0.21.1, a build system and dependency manager for Rust.

Where and how to get these?

These compilers and supporting tools are accessible via:

The Red Hat Developer Program and the no-cost Red Hat Enterprise Linux Developer subscription All Red Hat Enterprise Linux Developer Subscriptions Supported Red Hat Enterprise Linux subscriptions.

Supported platforms and packaging:

The above components are available as RPMs on Red Hat Enterprise Linux 7, and can be used to compile for any of the following target architectures: aarch64, ppc64le, s390x, x86_64. The GCC Compiler in Developer Toolset is available as a Linux container for Red Hat Enterprise Linux 7 on x86_64.

The GCC Compiler in Developer Toolset is available on Red Hat Enterprise Linux 6 on x86_64.

Red Hat Developer Toolset documentation:

For more information:

More information about the Red Hat Developer Toolset can be found on the Red Hat Developer Program page.

More information about the new compilers will be made available on the Red Hat Developer Program site upon general availability.

*Technology Preview means that they are not supported and not ready for production.