8.2. コンパイラーおよびツール
RHEL に同梱される GCC スレッドサニタイザーが動作しない
カーネルメモリーマッピングにおける非互換性変更により、RHEL の GNU C Compiler (GCC) コンパイラーのバージョンに同梱されるスレッドサニタイザーが動作しなくなりました。さらには、スレッドサニタイザーが互換性のないメモリーレイアウトには適用されません。これにより、RHEL に同梱される GCC スレッドサニタイザーは使用されなくなります。
回避策として、コードのビルドには、Red Hat Developer Toolset に同梱されるバージョンの GCC を使用してください。ここでは、スレッドサニタイザーが使用されています。
(BZ#1569484)
SystemTap のコンテキスト変数が常にアクセスできない
GCC コンパイラーでデバッグ情報の生成にはいくつかの制限があります。これにより、SystemTap ツールを使用して作成された実行ファイルを分析する際に、$foo
の形式で一覧表示されるコンテキスト変数にアクセスすることが多くなります。この制限を回避するには、$HOME/.systemtap/rc
ファイルに -P
オプションを追加します。これにより、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 を参照してください。
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!
この無害なメッセージは無視しても問題ありません。これは、更新されたパッケージではなく、pcp
の RHEL 7.6 ビルドのバグが原因です。RHEL 7.7 の PCP
機能は影響を受けません。