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


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

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

Jira:RHEL-14383

glibcmalloc アリーナのチューニングに設定されたプロセッサーの数を使用するようになる

以前は、glibc はスレッドごとの CPU アフィニティーマスクを使用して、malloc の最大アリーナ数を調整していました。その結果、スレッドアフィニティーマスクをシステム内の CPU の小さなサブセットに制限すると、パフォーマンスが低下する可能性があります。

glibc は、最大アリーナ数を決定するために設定された CPU の数を使用するように変更されました。その結果、スレッドごとの CPU アフィニティーマスクが制限された状態で実行されている場合でも、アプリケーションはより多くのアリーナを使用するため、パフォーマンスの低下は発生しなくなります。

Jira:RHEL-17157[1]

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

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

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

Jira:RHEL-2491[1]

make はディレクトリーの実行を思考しなくなる

以前は、make は実行しようとしている実行可能ファイルが、実際に実行可能ファイルであることを確認していませんでした。その結果、パスに実行可能ファイルと同じ名前のディレクトリーが含まれている場合、make は代わりにそのディレクトリーを実行しようとしました。この更新により、make は実行可能ファイルを検索するときに追加のチェックを行うようになりました。その結果、make はディレクトリーを実行しようとしなくなりました。

Jira:RHEL-22829

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

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

Jira:RHEL-19862[1]

glibc getaddrinfo 関数が ncsd キャッシュ情報を正しく読み取るようになる

以前は、glibcgetaddrinfo 関数のバグにより、リストアドレス情報構造体に空の要素が返されることがありました。この更新により、getaddrinfo 関数が修正され、ncsd キャッシュデータを正しく読み取り、変換できるようになり、結果として正しいアドレス情報が返されるようになりました。

Jira:RHEL-16643

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

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

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

Jira:RHEL-12362

キャッシュ有効期限情報の不一致により ncsd の起動が失敗しなくなる

以前は、永続キャッシュファイル内のキャッシュ有効期限情報が一貫していないため、glibc Name Service Switch Caching Daemon (nscd) の起動に失敗する可能性がありました。この更新により、ncsd はタイミング情報が一貫していないキャッシュエントリーを削除対象としてマークし、スキップするようになりました。その結果、キャッシュ有効期限情報の不一致により ncsd の起動が失敗することがなくなりました。

Jira:RHEL-3397

一貫して高速な glibc スレッドローカルストレージパフォーマンス

以前は、glibc ダイナミックリンカーは、dlopen() 関数を使用して TLS を持つ共有オブジェクトがロードされた後、特定のスレッドローカルストレージ (TLS) メタデータを調整しなかったため、TLS アクセスが遅くなっていました。この更新により、ダイナミックリンカーは、dlopen() 呼び出しによって発生した TLS の変更に対して、TLS メタデータを更新するようになりました。その結果、TLS アクセスは一貫して高速になります。

Jira:RHEL-2123

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.