Chapter 10. Compiler and Tools
10.1. GCC Toolchain
In Red Hat Enterprise Linux 7, the gcc toolchain is based on the gcc-4.8.x release series, and includes numerous enhancements and bug fixes relative to the Red Hat Enterprise Linux 6 equivalent. Similarly, Red Hat Enterprise Linux 7 includes binutils-2.23.52.x.
These versions correspond to the equivalent tools in Red Hat Developer Toolset 2.1; a detailed comparison of Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7 gcc and binutils versions can be seen here:
Notable highlights of the Red Hat Enterprise Linux 7 toolchain are the following:
- As a Technology Preview, The GNU Compiler Collection (GCC) implements support for on-line patching of multi-threaded code for Linux on System z binaries. Selecting specific functions for hot-patching is enabled by using a "function attribute" and hot-patching for all functions can be enabled using the
-mhotpatchcommand-line option.Enabling hot-patching has a negative impact on software size and performance. It is therefore recommended to use hot-patching for specific functions instead of enabling hot patch support for all functions.
- Experimental support for building applications compliant with C++11 (including full C++11 language support) and some experimental support for C11 features;
- Improved support for programming parallel applications, including OpenMP v3.1, C++11 Types and GCC Built-ins for Atomic Memory Access and experimental support for transactional memory (including Intel RTM/HLE intrinsics, built-ins, and code generation);
- A new local register allocator (LRA), improving code performance;
- DWARF4 is now used as the default debug format;
- A variety of new architecture-specific options;
- Support for AMD family 15h and 16h processors;
- Link-time optimization support;
- Enhanced warnings and diagnostics;
- A variety of new Fortran features.