Compilers and Development Tools
The following features, enhancements, and changes related to compilers and development tools are introduced in this Oracle Linux 8 release.
Clang Resource Directory Moved
The Clang resource directory, where Clang stores its internal headers and libraries, has
been moved from /usr/lib64/clang/17 to
/usr/lib/clang/17.
Elfutils Updated to Version 0.190
The elfutils 0.190 update instroduces the following changes:
-
libelf: This library now includes relative relocation (RELR). -
libdw: This library now functions with the.debug_[ct]u_indexsections. -Ds,--use-dynamic --symbol: You can use these options with theeu-readelftool to show symbols through the dynamic segment without using ELF sections.-
eu-readelf: This tool now shows.gdb_indexversion 9. -
eu-scrlines: This new tool generates a list of source files associated with a specified DWARF or ELF file. -
debuginfod: This server schema now compresses file name representations. You must reindex before you can use this feature.
grafana-selinux Package Added
A grafana-selinux package, which contains an SELinux policy for
grafana-server, and which is installed by default with
grafana-server is added to the release. This update ensures that
the grafana-server runs as grafana_t SELinux type,
rather than as an unconfined_service_t SELinux type.
Ant Updated to version 1.10.9
The ant:1.10 module stream has been updated to version 1.10.9. This latest version includes functionality for code signing, using a provider class and provider argument.
Note that the updated ant:1.10 module stream contains only the ant and ant-lib packages. Remaining packages related to Ant are distributed in the javapackages-tools module in the unsupported CodeReady Linux Builder (CRB) repository, which haven't been updated.
Packages from the updated ant:1.10 module stream cannot be used in parallel with packages from the javapackages-tools module. To use the complete set of Ant-related packages, you must uninstall the ant:1.10 module and disable it, enable the CRB repository, and install the javapackages-tools module.
maven-openjdk21 Package Added
The maven:3.8 module stream now includes the
maven-openjdk21 subpackage, which provides the Maven JDK binding
for OpenJDK 21 and configures Maven to use the system OpenJDK 21.
cmake Updated to Version 3.26
The cmake package is updated to version 3.26. Notable changes
include:
-
Addition of the C17 and C18 language standards.
-
cmakecan query the/etc/os-releasefile to identify the OS. -
cmakecan use CUDA 20 andnvtx3libraries. -
cmakecan use the Python stable application binary interface. -
Perl 5 can be used in the Simplified Wrapper and Interface Generator (SWIG) tool.
Valgrind Updated to Version 3.22.0
Valgrind is updated to version 3.22.0. See https://valgrind.org/docs/manual/dist.news.html for more information.
LLVM Toolset Updated to Version 17.0.6
- opaque pointers migration: completed
- legacy pass manager in middle-end optimization deprecated.
Rust Toolset Updated to Version 1.75.0
- Unlimitied Constant evaluation time
- Panic messages are now printed on their own lines without surrounding quotes, making them easier to read.
- Cargo registry authentication is enhanced so that authenticated registries require a credential provider.
- Improved expressiveness of the Rust language and trait system by stabilizing the
async fnandreturn_position_impl_trait_in_trait
Go Toolset Updated to Version 1.21.0
- Added min, max, and clear built-ins.
- Added official support for profile guided optimization.
- Precisely defined package initialization order.
- Improved type inferencing.
- Improved backwards compatibility.
See the Go upstream release notes for more information.
GCC Toolset 13 is Updated
GCC Toolset 13 is a compiler toolset that provides recent versions of development tools.
The toolset is available as an Application Stream in the form of a Software Collection in
the AppStream repository.
The following tools and versions are available in the GCC Toolset 13:
- GCC 13.2.1
- GDB 12.1
- binutils 2.40
- dwz 0.14
- annobin 12.32
To install the toolset, type:
sudo dnf install gcc-toolset-13To run a tool from GCC Toolset 13, type:
$ scl enable gcc-toolset-13 toolTo run a shell session where tool versions from GCC Toolset 13 override system versions of these tools, type:
scl enable gcc-toolset-13 bash