11.10. コンパイラーおよび開発ツール
OpenSSL がインストールされていない場合でも Go アプリケーションがパニックに陥らなくなる
以前は、OpenSSL ライブラリーがインストールされていない場合、Federal Information Processing Standard (FIPS) モードが無効になっている場合でも、Go で作成されたアプリケーションはパニックを起こしていました。この更新によりこの問題は解決されます。その結果、OpenSSL がインストールされていない場合でも、Go で作成されたアプリケーションを実行できるようになりました。
Jira:RHEL-52486[1]
Go が 64 ビット ARM プラットフォームのデフォルトリンカーとして ld.bfd を使用するようになる
以前の RHEL バージョンでは、Go は 64 ビット ARM プラットフォームでのみ ld.gold リンカーを使用し、他のプラットフォームでは ld.bfd を使用していました。ld.gold が binutils プロジェクトで非推奨となったため、Go では 64 ビット ARM プラットフォームで ld.bfd も使用されるようになりました。
glibc における POSIX スレッド条件変数の起動信頼性の向上
今回のアップデート以前は、glibc の POSIX スレッド条件変数の実装に不具合があり、pthread_cond_signal() API 呼び出しが待機中のスレッドを起動できませんでした。その結果、スレッドが次のシグナルやブロードキャストを無期限に待機し、条件変数を使用するアプリケーションがハングアップしたように見える可能性がありました。
今回のリリースでは、POSIX スレッド条件変数の実装において、シグナリングと待機の競合状態が発生した場合でもウェイクアップの失敗を防ぐシーケンスベースのアルゴリズムが採用されています。その結果、待機中のスレッドが確実に起動されるようになり、POSIX 条件変数を使用するマルチスレッドアプリケーションの動作がより予測可能になりました。
Jira:RHEL-82285[1]