コンパイラおよび開発ツール

このOracle Linux 9リリースでは、コンパイラおよび開発ツールに関連する次の機能、拡張機能、および変更が導入されています。

Clangリソース・ディレクトリの移動

Clangが内部ヘッダーおよびライブラリを格納するClangリソース・ディレクトリは、/usr/lib64/clang/17から/usr/lib/clang/17に移動されました。

バージョン0.190に更新されたelfutils

elfutils 0.190更新では、次の変更が導入されています:

  • libelf: このライブラリに相対再配置(RELR)が含まれるようになりました。

  • libdw: このライブラリは、.debug_[ct]u_indexセクションで機能するようになりました。

  • -Ds--use-dynamic --symbol: これらのオプションをeu-readelfツールとともに使用すると、ELFセクションを使用せずに動的セグメントに記号を表示できます。
  • eu-readelf: このツールは、.gdb_indexバージョン9を表示するようになりました。

  • eu-scrlines: この新しいツールは、指定されたDWARFファイルまたはELFファイルに関連付けられたソース・ファイルのリストを生成します。

  • debuginfod: このサーバー・スキーマは、ファイル名表現を圧縮するようになりました。この機能を使用する前に、再索引付けする必要があります。

バージョン5.0に更新されたsystemtap

systemtap 5.0更新では、次の変更が導入されています:

  • カーネル・ユーザー・トランスポートの改善。

  • 拡張されたDWARF5 debuginfo形式の処理。

grafana-selinuxパッケージの追加

grafana-selinuxパッケージにはgrafana-serverのSELinuxポリシーが含まれ、デフォルトでgrafana-serverとともにインストールされ、リリースに追加されます。この更新により、grafana-serverunconfined_service_t SELinuxタイプとしてではなく、grafana_t SELinuxタイプとして確実に実行されます。

maven-openjdk21パッケージの追加

maven:3.8モジュール・ストリームにmaven-openjdk21サブパッケージが含まれるようになりました。このサブパッケージは、OpenJDK 21のMaven JDKバインディングを提供し、システムOpenJDK 21を使用するようにMavenを構成します。

libzip-toolsパッケージの追加

zipcmpzipmergeziptoolなどのツールを提供するlibzip-toolsパッケージが更新リリースに含まれています。

バージョン3.26に更新されたcmake

cmakeパッケージがバージョン3.26に更新されました。主な変更点は次のとおりです:

  • C17およびC18言語標準の追加。

  • cmakeは、/etc/os-releaseファイルを問い合せてOSを識別できます。

  • cmakeでは、CUDA 20およびnvtx3ライブラリを使用できます。

  • cmakeでは、Pythonの安定したアプリケーション・バイナリ・インタフェースを使用できます。

  • Perl 5は、Simplified Wrapper and Interface Generator (SWIG)ツールで使用できます。

バージョン17.0.6に更新されたLLVMツールセット

LLVM Toolsetパッケージがバージョン17.0.6に更新されました。主な変更点は次のとおりです:
  • 不透明なポインタの移行: 完了しました
  • レガシー・パス・マネージャがミドルエンド最適化で非推奨になりました。
主なClangの変更点は次のとおりです:
  • C++20コルーチンが完全にサポートされるようになりました。
  • std::move関数および最適化されていないビルドでのコード生成が改善されました。
詳細は、LLVMおよびClangアップストリームのリリース・ノートを参照してください。

バージョン1.75.0に更新されたRustツールセット

Rustツールセットがバージョン1.75.0になりました。主な変更点は次のとおりです:
  • 定数の評価時間が無制限になりました
  • パニック・メッセージは、引用符で囲まずに独自の行に出力されるようになり、読みやすくなりました。
  • 認証済レジストリに資格証明プロバイダが必要となるように、Cargoレジストリ認証が拡張されました。
  • async fnおよびreturn_position_impl_trait_in_traitを安定させることで、Rust言語および特性システムの表現性が改善されました

バージョン1.21.0に更新されたGoツールセット

Goツールセットがバージョン1.21.0になりました。主な変更点は次のとおりです:
  • min、maxおよびclearビルトインが追加されました。
  • プロファイル・ガイド付き最適化の公式サポートが追加されました。
  • パッケージ初期化順序が正確に定義されました。
  • 型推論が改善されました。
  • 下位互換性が改善されました。

詳細は、Goアップストリームのリリース・ノートを参照してください。

GCCツールセット13の更新

GCCツールセット13は、最新バージョンの開発ツールを提供するコンパイラ・ツールセットです。このツールセットは、AppStreamリポジトリのソフトウェア・コレクション形式のアプリケーション・ストリームとして使用できます。

GCCツールセット13では、次のツールおよびバージョンを使用できます:

  • GCC 13.2.1
  • GDB 12.1
  • binutils 2.40
  • dwz 0.14
  • annobin 12.32

ツールセットをインストールするには、次のように入力します。

sudo dnf install gcc-toolset-13

GCCツールセット13からツールを実行するには、次のように入力します:

$ scl enable gcc-toolset-13 tool

GCCツールセット13のツール・バージョンでこれらのツールのシステム・バージョンをオーバーライドするシェル・セッションを実行するには、次のように入力します:

scl enable gcc-toolset-13 bash

バージョン6.2.0に更新されたpcp

pcpパッケージがバージョン6.2.0に更新されました。主な変更点は次のとおりです:

  • pcp-htopは、ユーザーが構成可能なタブを含めるための動的画面を提供します。
  • pcp-atopは、新しい棒グラフ視覚化モードを提供します。
  • pmdaopenmetricsが更新され、一時インスタンス・ログが削減され、ラベル付けが改善されました。
  • 新しいツールが含まれています:

    • pmlogredact: アーカイブの匿名化のための新しいコマンド。
    • pcp-buddyinfo: Linux buddyinfo統計をレポートします。
    • pcp-meminfo: Linuxカーネル・メモリー統計をレポートします。
    • pcp-netstat: ネットワーク統計をレポートします。
    • pcp-slabinfo: Linux slabinfoカーネルの統計をレポートします。
    • pcp-zoneinfo: Linux zoneinfoカーネルの統計をレポートします。