Compilers and Development Tools

The following features, enhancements, and changes related to compilers and development tools are introduced in this Oracle Linux 9 release.

System GCC is Updated to Version 11.5

The system GCC version is updated to 11.5 to provide many bug fixes and improvements.

elfutils Updated to Version 0.191

The elfutils package is updated to version 0.191.

systemtap Updated to Version 5.1

The systemtap package is updated to version 5.1.

Rust Toolset Updated to Version 1.79

Rust Toolset is now at version 1.79.

See https://blog.rust-lang.org/2024/06/13/Rust-1.79.0.html for more information.

Go Toolset Updated to Version 1.22.5

GoToolset is now at version 1.22.5.

See the https://tip.golang.org/doc/go1.22 for more information.

GCC Toolset 14

GCC Toolset 14 is a compiler toolset that provides recent versions of development tools. The toolset is available in the form of a Software Collection in the AppStream repository.

The following tools and versions are available in the GCC Toolset 14:

  • GCC 14.2.1

  • binutils 2.41

  • dwz 0.14

  • annobin 12.70

To install the toolset, type:

sudo dnf install gcc-toolset-14

To run a tool from GCC Toolset 14, type:

$ scl enable gcc-toolset-14 tool

To run a shell session where tool versions from GCC Toolset 14 override system versions of these tools, type:

scl enable gcc-toolset-14 bash

glibc Updates

glibc is updated to include the following significant changes:

  • Dynamic linking of functions that use Intel Advanced Performance Extensions (APX) is fixed so that the dynamic linker preserves APX-related registers.

  • A tunable is included to place objects closer together in address space to improve performance. Objects are placed within the first 2 Gb of address space. To enable this tunable, update the GLIBC_TUNABLES environment variable:

    export GLIBC_TUNABLES=glibc.cpu.prefer_map_32bit_exec=1
  • Optimization of memcpy and memmove for AMD Zen architecture, such as AMD Zen 3 and Zen 4 processors.

GDB Updated to Version 14.2

GDB is updated to version 14.2. Starting with Oracle Linux 9.5, GDB is released as a rolling Application Stream with its system version updated in minor releases of Oracle Linux 9. GDB isn't included in GCC Toolset 14 in Oracle Linux 9.

Many updates are included with GDB 14.2, since the previous available version of GDB 12.1. See https://www.sourceware.org/gdb/news/ for more information.

.NET Updated to Version 9.0

In this release, .NET is updated to version 9.0 which enables the C#13 and F#9 programming languages. This version also includes performance improvements in the garbage collector (GC), Just-In-Time (JIT) compiler, and the base libraries. Several additions and improvements are notable, including ML.NET for machine learning, .NET Aspire for building cloud-ready distributed applications, and updates to ASP.NET Core to improve authentication and authorization.

See https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-9/overview for more information.

PCP Updated to Version 6.2.2

PCP is updated to version 6.2.2 to include a significant number of bug fixes and improvements.

See https://github.com/performancecopilot/pcp/blob/main/CHANGELOG for more information.

Grafana Updated to Version 10.2.6

Grafana is updated to version 10.2.6.

See https://grafana.com/docs/grafana/latest/whatsnew/ for more information.

LLVM Toolset Updated to Version 18.1.8

LLVM Toolset is updated to version 18.1.8.

See https://releases.llvm.org/18.1.8/docs/ReleaseNotes.html and https://releases.llvm.org/18.1.8/tools/clang/docs/ReleaseNotes.html for more information.

LLVM Toolset is a rolling Application Stream and only the latest version is supported.

valgrind Updated to Version 3.23.0

valgrind is updated to version 3.23.0.

See https://valgrind.org/docs/manual/dist.news.html for more information.

libabigail Updated to Version 2.5

libabigail is updated to version 2.5.

System Java Updated to OpenJDK 17

The default Oracle Linux 9 Java is changed from OpenJDK 11 to OpenJDK 17. After this update, the java-17-openjdk packages, which provide the OpenJDK 17 Java Runtime Environment and the OpenJDK 17 Java Software Development Kit, also provide the java and java-devel packages.