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_index
sections. -Ds
,--use-dynamic --symbol
: You can use these options with theeu-readelf
tool to show symbols through the dynamic segment without using ELF sections.-
eu-readelf
: This tool now shows.gdb_index
version 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.
-
cmake
can query the/etc/os-release
file to identify the OS. -
cmake
can use CUDA 20 andnvtx3
libraries. -
cmake
can 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 fn
andreturn_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-13
To run a tool from GCC Toolset 13, type:
$ scl enable gcc-toolset-13 tool
To run a shell session where tool versions from GCC Toolset 13 override system versions of these tools, type:
scl enable gcc-toolset-13 bash