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


glibc パッケージが更新され、アップストリームの 2.39 リリースからのバグ修正と機能拡張が追加されました

アップストリームの開発により、glibc 2.39 に対する複数のバグ修正と機能拡張が提供されました。その結果、RHEL 10 の glibc がアップストリームのリリースに比べて古くなり、機能のギャップとバグが未解決の状態が発生していました。この問題を解決するために、アップストリームの glibc 2.39 リリースブランチからの修正と機能拡張が、RHEL 10 にバックポートされました。その結果、RHEL 10 の glibc が、2025 年 8 月 20 日時点で、アップストリームの glibc 2.39 リリースブランチと同等の機能とバグを提供するようになりました。

Jira:RHEL-109536

glibc の動的リンカーを監査モードで実行しても、特定のプログラムがクラッシュしなくなりました

以前は、LD_AUDIT モードの glibc 動的リンカーは、リンカーがメインの malloc サブシステムを初期化する前に、メインの calloc 関数を使用して内部データ構造を割り当てることがありました。その結果、特定のプログラムが起動時に calloc 関数で予期せず終了していました。この更新により、プロセスの起動シーケンスが再調整され、起動時に内部の malloc 実装を使用して、メインの malloc 関数に切り替える前に calloc のメモリー割り当てが行われるようになりました。その結果、動的リンカーが監査モードの場合、プログラムが起動中に calloc 関数内でクラッシュしなくなりました。

Jira:RHEL-109703[1]

glibc の監査モジュールにおける再帰的な dlopen の呼び出しのサポートが強化されました

以前は、監査モジュールからの再帰的な dlopen の呼び出しにより、glibc の dl-open.c で、r_state == RT_CONSISTENT アサーションエラーが発生することがありました。その結果、監査モジュールがアクティブなときにアプリケーションが予期せず終了していました。この更新により、dlopen 呼び出しの実行中に、動的リンカーがその内部データ構造の整合性を、より早い段階で報告するようになりました。その結果、監査モジュールの再帰的な dlopen 操作が、より多くのケースでサポートされるようになりました。

Jira:RHEL-109702

glibc: ctype.h マクロが、複数の libc.so を持つマルチスレッドプログラムで、セグメンテーション違反を引き起こしていました

以前は、audit または dlmopen によって作成されたセカンダリー C ライブラリーコピー内の <ctype.h> の内部状態が、pthread_create で作成されたスレッドの初期化に失敗していました。その結果、セカンダリースレッドおよび名前空間で <ctype.h> の機能を直接的または間接的に使用すると、プログラムがクラッシュしていました。

この更新により、セカンダリースレッドおよび名前空間の C ロケールを参照するように、<ctype.h> の内部状態が初期化されるようになりました。その結果、上記のような状況で <ctype.h> 由来の機能を使用しても、クラッシュが発生しなくなりました。

Jira:RHEL-72018

glibc の NSS マージ処理で ERANGE が発生した場合でも、getent group コマンドが完全なメンバーリストを返すようになりました

この更新前は、Name Service Switch (NSS) が 2 つ以上のソースからのグループをマージするシステムで、内部バッファーが小さすぎるために、2 つのグループエントリー間のマージが失敗することがありました。このような場合、glibc は、より大きなバッファーを使用して再試行せずに、誤ってマージをスキップしていました。そのため、複数のグループデータベースがある環境でグループメンバーシップを照会すると、不完全な結果や空の結果が生成される場合がありました。

この更新により、glibc はマージの失敗を正しく処理し、適切なサイズのバッファーを使用して再試行するようになり、結果をスキップすることがなくなりました。そのため、グループが 2 つ以上のサービスからマージされた場合でも、グループメンバーシップの照会時にメンバーの完全なセットが確実に返されます。

Jira:RHEL-114264[1]

glibc の監査ロギングが、完全なオブジェクトライフサイクルの追跡を提供するようになりました

この更新前は、glibc の動的リンカーが、セカンダリー名前空間において、先に la_objopen を呼び出さずに、プロキシー ld.so リンクマップに対して la_objclose を呼び出していました。そのため、共有オブジェクトを追跡するために la_objopen に依存しているツールにとって、オブジェクトのライフサイクルに関する報告が不完全なものになっていました。

その結果、追跡を確立するために la_objopen に依存している監査ツールは、プロキシーリンクマップを確実に監視できませんでした。そのため、監視能力に不足が生じ、アンロードイベントが誤って解釈される可能性がありました。

このリリースでは、glibc の動的リンカーは、セカンダリー名前空間内のプロキシー ld.so を含め、該当するすべてのリンクマップに対して la_objopen イベントを生成します。これにより、監査インターフェイスのシーケンスの一貫性が確保されます。

その結果、監査ツールが、一貫した la_objopen および la_objclose イベントのペアを使用して、プロキシーリンクマップをそのライフサイクル全体にわたって追跡できるようになりました。これにより、監査ツールと診断の信頼性が向上します。

Jira:RHEL-109693

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat