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


システムアップグレードの中断後に ldconfig がクラッシュしなくなりました

以前は、システムアップグレードの中断後、/usr/lib64 ディレクトリーに残された不完全な共有オブジェクトを処理する際に、ldconfig ユーティリティーがセグメンテーション違反で予期せず終了していました。この更新により、ldconfig はシステムのアップグレード中に書き込まれた一時ファイルを無視するようになりました。その結果、システムアップグレードの中断後に ldconfig がクラッシュしなくなりました。

Jira:RHEL-13720

依存関係のサイクルに関係する共有オブジェクトに dlclose を使用するアプリケーションとの glibc 互換性が向上しました

以前は、glibcdlclose 関数を使用して依存関係サイクル内の共有オブジェクトをアンロードすると、そのオブジェクトの ELF デストラクターが、他のすべてのオブジェクトがアンロードされるまで呼び出されない場合がありました。ELF デストラクターの実行が遅くなることで、アプリケーションでクラッシュやその他のエラーが発生しました。これは、最初にアンロードした共有オブジェクトの依存関係がすでに初期化解除されていることが原因でした。

この更新により、glibc が修正され、他の ELF デストラクターを起動する前に、アンロードする直近のオブジェクトの ELF デストラクターを呼び出すようになりました。その結果、依存関係サイクルに関係する共有オブジェクトに dlclose を使用するアプリケーションとの互換性が向上し、クラッシュが発生しなくなりました。

Jira:RHEL-10481[1]

glibc ワイド文字書き込みパフォーマンスの向上

以前は、glibc のワイド stdio ストリーム実装では、デフォルトのバッファーサイズがワイド文字の書き込み操作に十分な大きさであるとは扱われず、代わりに 16 バイトのフォールバックバッファーが使用されていたため、パフォーマンスに悪影響がありました。この更新により、バッファー管理が修正され、書き込みバッファー全体が使用されるようになりました。その結果、glibc ワイド文字書き込みパフォーマンスが向上します。

Jira:RHEL-19824[1]

glibc ダイナミックリンカーは、カスタム malloc 実装からの TLS アクセスを使用するアプリケーションによる再入可能 malloc 呼び出しを防止します。

一部のアプリケーションでは、初期実行 TLS の代わりにグローバル動的スレッドローカルストレージ (TLS) を使用するカスタム malloc 動的メモリー割り当て実装が提供されます。以前は、グローバル動的 TLS を使用するバンドルされた malloc 呼び出しを持つアプリケーションでは、アプリケーションの malloc サブシステムへの再入呼び出しが発生する可能性がありました。その結果、スタックの枯渇または内部データ構造の予期しない状態により、アプリケーションの malloc 呼び出しがクラッシュしました。

RHBA-2024:5834 アドバイザリーのリリースにより、glibc ダイナミックリンカーはカスタム malloc 実装からの TLS アクセスを検出するようになりました。malloc 呼び出し中に TLS アクセスが検出されると、TLS 処理中のそれ以降の呼び出しはスキップされ、再入可能な malloc 呼び出しは防止されます。

Jira:RHEL-39994

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.