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


LLVM Toolset がバージョン 17.0.6 にリベース

LLVM Toolset がバージョン 17.0.6 に更新されました。

主な機能拡張は、次のとおりです。

  • Opaque ポインターの移行が完了しました。
  • ミドルエンド最適化におけるレガシーパスマネージャーのサポートが削除されました。

Clang の変更:

  • C++20 コルーチンは実験的なものとはみなされなくなりました。
  • 最適化されていないビルドでの std::move 関数などのコード生成が改善されました。

詳細は、LLVM および Clang のアップストリームリリースノートを参照してください。

Jira:RHEL-9283

Rust Toolset がバージョン 1.75.0 にリベース

Rust Toolset がバージョン 1.75.0 に更新されました。

主な機能拡張は、次のとおりです。

  • 定数評価時間が無制限になる
  • よりクリーンなパニックメッセージ
  • Cargo レジストリー認証
  • トレイト内の async fn と不透明な戻り値のタイプ

Jira:RHEL-12963

Go Toolset がバージョン 1.21.0 にリベース

Go Toolset がバージョン 1.21.0 に更新されました。

主な機能拡張は、次のとおりです。

  • minmaxclearビルトインが追加されました。
  • プロファイルガイド最適化の公式サポートが追加されました。
  • パッケージの初期化順序がより正確に定義されるようになりました。
  • 型推論が改善されました。
  • 下位互換性のサポートが改善されました。

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

Jira:RHEL-11871[1]

Clang リソースディレクトリーが移動しました

Clang が内部ヘッダーとライブラリーを保存する Clang リソースディレクトリーが、/usr/lib64/clang/17 から /usr/lib/clang/17 に移動しました。

Jira:RHEL-9346

elfutils がバージョン 0.190 にリベース

elfutils パッケージが、バージョン 0.190 に更新されました。以下は、主な改善点です。

  • libelf ライブラリーが、相対再配置 (RELR) をサポートするようになりました。
  • libdw ライブラリーが、.debug_[ct]u_index セクションを認識するようになりました。
  • eu-readelf ユーティリティーが、ELF セクションを使用せずに動的セグメントを使用してシンボルを表示する、新しい -Ds, --use-dynamic --symbol オプションをサポートするようになりました。
  • eu-readelf ユーティリティーが、.gdb_index バージョン 9 を表示できるようになりました。
  • 新しい eu-scrlines ユーティリティーは、指定された DWARF または ELF ファイルに関連付けられたソースファイルのリストをコンパイルします。
  • debuginfod サーバースキーマが変更され、ファイル名の表現が 60% 圧縮されました (インデックスの再作成が必要です)。

Jira:RHEL-12489

systemtap がバージョン 5.0 にリベース

systemtap パッケージが、バージョン 5.0 に更新されました。主な機能拡張は、次のとおりです。

  • カーネルとユーザー間のトランスポートの速度および信頼性の向上。
  • DWARF5 debuginfo 形式のサポートの拡張。

Jira:RHEL-12488

GCC Toolset 13 の更新

GCC Toolset 13 は、最新バージョンの開発ツールを提供するコンパイラーツールセットです。これは、AppStream リポジトリー内の Software Collection の形式で Application Stream として利用できます。

RHEL 9.4 で導入された注目すべき変更点は次のとおりです。

  • GCC コンパイラーがバージョン 13.2.1 に更新され、アップストリーム GCC で利用可能な多くのバグ修正と機能拡張が提供されます。
  • binutils は、-march=znver5 コンパイラースイッチを通じて、znver5 コアに基づく AMD CPU をサポートするようになりました。
  • annobin がバージョン 12.32 に更新されました。
  • GCC の annobin プラグインは、オブジェクトファイルに保存するメモに対して、より圧縮された形式をデフォルトで使用するようになりました。その結果、特に大規模で複雑なプログラムでは、オブジェクトファイルが小さくなり、リンク時間が短縮されます。

次のツールとバージョンが GCC Toolset 13 によって提供されます。

ツールバージョン

GCC

13.2.1

GDB

12.1

binutils

2.40

dwz

0.14

annobin

12.32

GCC Toolset 13 をインストールするには、root として次のコマンドを実行します。

# dnf install gcc-toolset-13

GCC Toolset 13 からツールを実行するには、以下を使用します。

$ scl enable gcc-toolset-13 tool

GCC Toolset 13 のツールバージョンがこれらのツールのシステムバージョンをオーバーライドするシェルセッションを実行するには、以下を使用します。

$ scl enable gcc-toolset-13 bash

詳細は、GCC Toolset 13 および GCC Toolset の使用 を参照してください。

Jira:RHEL-23798[1]

GCC と -fstack-protector フラグを使用してコンパイルすると、64 ビット ARM での動的スタック割り当ての保護に失敗しなくなる

以前は、64 ビット ARM アーキテクチャーでは、-fstack-protector フラグを指定したシステム GCC コンパイラーは、C99 可変長配列または alloca() 割り当てオブジェクトを含む関数でバッファーオーバーフローを検出できませんでした。その結果、攻撃者はスタック上に保存されたレジスターを上書きする可能性があります。この更新により、64 ビット ARM でのバッファーオーバーフロー検出が修正されました。その結果、システム GCC でコンパイルされたアプリケーションはより安全になります。

Jira:RHEL-17638[1]

GCC ツールセット 13: GCC と -fstack-protector フラグを使用してコンパイルすると、64 ビット ARM での動的スタック割り当ての保護に失敗しなくなる

以前は、64 ビット ARM アーキテクチャーでは、-fstack-protector フラグを指定した GCC コンパイラーは、C99 可変長配列または alloca() 割り当てオブジェクトを含む関数でバッファーオーバーフローを検出できませんでした。その結果、攻撃者はスタック上に保存されたレジスターを上書きする可能性があります。この更新により、64 ビット ARM でのバッファーオーバーフロー検出が修正されました。その結果、GCC でコンパイルされたアプリケーションはより安全になります。

Jira:RHEL-16998

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

pcp パッケージがバージョン 6.2.0 に更新されました。以下は、主な改善点です。

  • pcp-htop は、ユーザー定義のタブをサポートするようになりました。
  • pcp-atop は、新しい棒グラフ視覚化モードをサポートするようになりました。
  • OpenMetrics PMDA メトリクスラベルとロギングが改善されました。
  • 追加の Linux カーネル仮想メモリーメトリクスが追加されました。
  • 新しいツール:

    • pmlogredact
    • pcp-buddyinfo
    • pcp-meminfo
    • pcp-netstat
    • pcp-slabinfo
    • pcp-zoneinfo

Jira:RHEL-2317[1]

新しい grafana-selinux パッケージ

以前は、grafana-server のデフォルトのインストールは unconfined_service_t SELinux タイプとして実行されていました。この更新では、grafana-server 用の SELinux ポリシーが含まれ、grafana-server とともにデフォルトでインストールされる、新しい grafana-selinux パッケージが追加されます。その結果、grafana-servergrafana_t SELinux タイプとして実行されるようになりました。

Jira:RHEL-7505

papi は、新しいプロセッサーマイクロアーキテクチャーをサポートする

この機能拡張により、次のプロセッサーマイクロアーキテクチャー上の papi イベントプリセットを使用して、パフォーマンス監視ハードウェアにアクセスできるようになります。

  • AMD Zen 4
  • 第 4 世代 Intel® Xeon® スケーラブルプロセッサー

Jira:RHEL-9333[1]、Jira:RHEL-9335、Jira:RHEL-9334

新しいパッケージ: maven-openjdk21

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

Jira:RHEL-13046[1]

新しいパッケージ: libzip-tools

RHEL 9.4 では、zipcmpzipmergeziptool などのユーティリティーを提供する libzip-tools パッケージが導入されています。

Jira:RHEL-17567

cmake がバージョン 3.26 にリベース

cmake パッケージがバージョン 3.26 に更新されました。以下は、主な改善点です。

  • C17 および C18 の言語規格のサポートが追加されました。
  • cmake は、/etc/os-release ファイルでオペレーティングシステムの識別情報をクエリーできるようになりました。
  • CUDA 20 および nvtx3 ライブラリーのサポートが追加されました。
  • Python 安定アプリケーションバイナリーインターフェイスのサポートが追加されました。
  • Simplified Wrapper and Interface Generator (SWIG) ツールに Perl 5 のサポートが追加されました。

Jira:RHEL-7393

valgrind が 3.22 に更新される

valgrind パッケージがバージョン 3.22 に更新されました。以下は、主な改善点です。

  • valgrind memcheck は、C 関数 memalignposix_memalign、および aligned_alloc に指定された値と、C++17 で調整された new Operator が有効なアラインメント値であるかどうかをチェックするようになりました。
  • valgrind memcheck は、C++14 サイズおよび C++17 に揃えられた new および delete Operator の不一致検出をサポートするようになりました。
  • DWARF デバッグ情報の遅延読み取りのサポートが追加され、debuginfo パッケージがインストールされている場合に起動が高速化されました。

Jira:RHEL-12490

libabigail がバージョン 2.4 にリベース

libabigail パッケージがバージョン 2.4 に更新されました。

主な機能拡張は、次のとおりです。

  • abidiff ツールが 2 セットのバイナリーの比較をサポートするようになりました。
  • 柔軟な配列データメンバーに関連する無害な変更レポートを抑制するためのサポートが追加されました。
  • enum 型に関する無害な変更レポートを抑制するためのサポートが改善されました。
  • 匿名の enum 型、union 型、struct 型への変更の表現が改善されました。

Jira:RHEL-12491

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.