Chapter 1. Red Hat Developer Toolset
1.1. About Red Hat Developer Toolset
Red Hat Developer Toolset is a Red Hat offering for developers on the Red Hat Enterprise Linux platform. It provides a complete set of development and performance analysis tools that can be installed and used on multiple versions of Red Hat Enterprise Linux. Executables built with the Red Hat Developer Toolset toolchain can then also be deployed and run on multiple versions of Red Hat Enterprise Linux. For detailed compatibility information, see Section 1.3, “Compatibility”.
Red Hat Developer Toolset does not replace the default system tools provided with Red Hat Enterprise Linux 6 or 7 when installed on those platforms. Instead, a parallel set of developer tools provides an alternative, newer version of those tools for optional use by developers. The default compiler and debugger, for example, remain those provided by the base Red Hat Enterprise Linux system.
What Is New in Red Hat Developer Toolset 4.1
Red Hat Developer Toolset 4.1 provides a new docker-formatted container image: rhscl/devtoolset-4-perftools-rhel7, which includes components for monitoring system performance and optimizing code. See Section 1.8, “Using Red Hat Developer Toolset Container Images” for more detailed information about Red Hat Developer Toolset container images and instructions on how to use them. See Table 1.1, “Red Hat Developer Toolset Components” for a complete list of components included in Red Hat Developer Toolset 4.1.
Since Red Hat Developer Toolset 4.1, the Red Hat Developer Toolset content is also available in the ISO format at https://access.redhat.com/downloads, specifically for Server and Workstation. Note that packages that require the Optional channel, which are discussed in Section 1.5.3, “Installing Optional Packages”, cannot be installed from the ISO image.
Table 1.1. Red Hat Developer Toolset Components
|Eclipse||4.5.2||An integrated development environment with a graphical user interface.[a]|
|GCC||5.3.1||A portable compiler suite with support for C, C++, and Fortran.|
|binutils||2.25.1||A collection of binary tools and other utilities to inspect and manipulate object files and binaries.|
|elfutils||0.166||A collection of binary tools and other utilities to inspect and manipulate ELF files.|
|dwz||0.12||A tool to optimize DWARF debugging information contained in ELF shared libraries and ELF executables for size.|
|GDB||7.11||A command line debugger for programs written in C, C++, and Fortran.|
|ltrace||0.7.91||A debugging tool to display calls to dynamic libraries that a program makes. It can also monitor system calls executed by programs.|
|strace||4.10||A debugging tool to monitor system calls that a program uses and signals it receives.|
|memstomp||0.1.5||A debugging tool to identify calls to library functions with overlapping memory regions that are not allowed by various standards.|
|SystemTap||2.9||A tracing and probing tool to monitor the activities of the entire system without the need to instrument, recompile, install, and reboot.|
|Valgrind||3.11.0||An instrumentation framework and a number of tools to profile applications in order to detect memory errors, identify memory management problems, and report any use of improper arguments in system calls.|
|OProfile||1.1.0||A system-wide profiler that uses the performance monitoring hardware on the processor to retrieve information about the kernel and executables on the system.|
|Dyninst||9.1.0||A library for instrumenting and working with user-space executables during their execution.|
Red Hat Developer Toolset differs from “Technology Preview” compiler releases previously supplied in Red Hat Enterprise Linux in two important respects:
- Red Hat Developer Toolset can be used on multiple major and minor releases of Red Hat Enterprise Linux, as detailed in Section 1.3, “Compatibility”.
Important bug fixes and security errata are issued to Red Hat Developer Toolset subscribers in a similar manner to Red Hat Enterprise Linux for two years from the release of each major version release. A new major version of Red Hat Developer Toolset is released annually, providing significant updates for existing components and adding major new components. A single minor release, issued six months after each new major version release, provides a smaller update of bug fixes, security errata, and new minor components.
Additionally, the Red Hat Enterprise Linux Application Compatibility Specification also applies to Red Hat Developer Toolset (subject to some constraints on the use of newer C++11 language features, detailed in Section 3.2.4, “C++ Compatibility”).
Applications and libraries provided by Red Hat Developer Toolset do not replace the Red Hat Enterprise Linux system versions, nor are they used in preference to the system versions. Using a framework called Software Collections, an additional set of developer tools is installed into the
/opt/directory and is explicitly enabled by the user on demand using the