3.8 Developer Tools and Compilers

Oracle Linux 8 introduces numerous feature enhancements and changes to developer tools and compilers, including the following:

  • Boost C++ library updated to version 1.66.  This version of the Boost C++ library provides several enhancements and improvements over Boost version 1.53, which was used in Oracle Linux 7.

    Note

    Installing the boost package no longer installs the Boost.Python library as a dependency. To use the Boost.Python library, you must explicitly install the boost-python3 or the boost-python3-devel packages.

  • GNU C library updated to version 2.28.  Oracle Linux 8 provides the GNU C library version 2.28 (glibc), which includes security hardening features, performance improvements, Unicode version 11.0.0, and new developer features.

  • ltrace tool improved to display large structures correctly.  Oracle Linux 8 includes an improved ltrace tool, which can now handle large structures and print them correctly.

  • New compat-libpthread_nonshared package added.  Oracle Linux 8 provides the new compat-libpthread-nonshared package. This package enables applications that directly reference /usr/lib64/libpthread_nonshared.a to work properly.

  • Locale package distribution change.  In Oracle Linux 8, languages and locales are distributed in multiple glibc-langpack-CODE packages. In previous releases, all locales and languages were distributed in a single package, glibc-common. Note also that in this release, not all locales are installed by default: just those that are selected during an installation are installed. Any additional locale packages that you require must be installed separately.

  • compat-libgfortran-48 package added.  Oracle Linux 8 provides the new compat-libgfortran-48 compatibility package. This package, which provides the libgfortran.so.3 library, is provided for backwards compatibility with Oracle Linux 6 and Oracle Linux 7 applications that use the Fortran library,

  • Support for retpolines added to GCC.  Oracle Linux 8 adds support for retpolines to the GNU Compiler Collection (GCC). A retpoline is a software construct that the kernel uses to reduce the overhead of mitigating Spectre Variant 2 attacks, as described in CVE-2017-5715.

  • CMake updated to version 3.11.  The CMake build system version 3.11 is provided in the cmake package in Oracle Linux 8.

  • make tool updated to version 4.2.1.  Oracle Linux 8 includes version 4.2.1 of the make build tool.

  • FIPS compliance for Go programs built with the Go Toolset.  If a host system is configured in FIPS mode, the cryptographic library that is included in the Go Toolset uses the OpenSSL library version 1.1.0. Thus, any programs that are built with this version of the Go Toolset are FIPS-compliant.

    To specify that Go programs use only the uncertified, standard cryptographic routines. use the -tags no_openssl option of the Go compiler at build time.

  • SystemTap updated to version 4.0.  Oracle Linux 8 includes version 4.0 of the SystemTap instrumentation tool. This version of SystemTap includes several notable features and improvements over the previous version.

  • binutils updated to version 2.30.  Oracle Linux 8 provides version 2.30 of the binutils package. Improvements include improved support for the new s390x architecture extensions, as well as improvements to assembler and linker support. Other significant changes in this version of binutils include the addition of new options for the readelf, objdump, and nm tools.

  • Performance Co-Pilot updated to version 4.1.3.  This release includes version 4.1.3 of Performance Co-Pilot (pcp), which provides several improvements over the previous version of pcp.

  • Memory protection keys provided.  In this release, hardware features that allow per-thread page protection flag changes are enabled. New glibc system call wrappers have been added for the following functions: pkey_alloc(), pkey_free(), and pkey_mprotect(). In addition, the pkey_set() and pkey_get() functions have been added. These functions allow access to per-thread protection flags.

  • Time zone data updated to new upstream default data format.  Oracle Linux 8 includes a version of the tzdata-2018e package that works with the new default upstream data format and also includes negative DST (Daylight Saving Time) offsets.

  • elfutils updated to version 0.174.  Oracle Linux 8 includes the elfutils version 0.174 . This version of elfutils provides several improvements over the previous version of the tool.

  • Valgrind updated to version 3.14.  Oracle Linux 8 includes the Valgrind executable code analysis tool version 3.14. This version of Valgrind includes several feature enhancements and changes over the previous version of the tool.

  • GDB updated to version 8.2.  Oracle Linux 8 includes the GDB debugger version 8.2. This version of the GDB debugger several improvements over the previous version.

  • GCC updated to version 8.2.  In Oracle Linux 8, the GCC toolchain is based on the GCC 8.2 release series, which provides several changes and improvements over the previous version of GCC.