8.2. コンパイラーおよびツール

RHEL に同梱される GCC スレッドサニタイザーが動作しない

カーネルメモリーマッピングにおける非互換性変更により、RHEL の GNU C Compiler (GCC) コンパイラーのバージョンに同梱されるスレッドサニタイザーが動作しなくなりました。さらには、スレッドサニタイザーが互換性のないメモリーレイアウトには適用されません。これにより、RHEL に同梱される GCC スレッドサニタイザーは使用されなくなります。

回避策として、コードのビルドには、Red Hat Developer Toolset に同梱されるバージョンの GCC を使用してください。ここでは、スレッドサニタイザーが使用されています。

(BZ#1569484)

SystemTap のコンテキスト変数に常にアクセスできない

GCC コンパイラーでデバッグ情報の生成にはいくつかの制限があります。これにより、SystemTap ツールを使用して作成された実行ファイルを分析すると、$foo 形式で一覧表示されるコンテキスト変数にアクセスできないことがよくあります。この制限を回避するには、-P オプションを $HOME/.systemtap/rc ファイルに追加します。これにより、SystemTap は常に prologue-searching ヒューリスティックを選択します。その結果、コンテキスト変数の一部にアクセスできる可能性があります。

(BZ#1714480)

KEYBD トラップを使用したksh がマルチバイト文字を誤って処理

Korn Shell (KSH) は、KEYBD トラップが有効な場合にマルチバイト文字を正しく処理できません。したがって、たとえばユーザーが日本語の文字を入力すると、ksh には間違った文字列が表示されます。この問題を回避するには、以下の行をコメントアウトして、/etc/kshrc ファイルの KEYBD トラップを無効にします。

trap keybd_trap KEYBD

詳細は、ナレッジベースソリューション 「ksh displays multibyte characters incorrectly when 'KEYBD trap' is enabled in profile file」を参照してください。

(BZ#1503922)

RHEL 7.6 バージョンから PCP のアップグレード時のエラー

pcp パッケージを RHEL 7.6 から RHEL 7.7 バージョンにアップグレードすると、yum は以下のエラーメッセージを返します。

Failed to resolve allow statement at /etc/selinux/targeted/tmp/modules/400/pcpupstream/cil:83
semodule:  Failed!

この有害なメッセージは無視しても問題ありません。これは、RHEL 7.6 ビルドの pcp のバグにより発生し、更新パッケージによるものではありません。RHEL 7.7 の PCP 機能は影響を受けません。

(BZ#1781692)