第25章 コンパイラーおよびツール
PCRE ライブラリーが、Unicode で必要な非 ASCII 印刷可能文字を正しく認識するようになりました。
Perl Compatible Regular Expressions (PCRE) ライブラリーを使用して、Unicode 文字列と、ASCII 以外の印刷可能な文字を一致させると、ライブラリーが、以前は印刷可能な ASCII 以外の文字を正しく認識できませんでした。パッチが適用され、PCRE ライブラリーが、UTF-8 モードで出力可能な非 ASCII 文字を認識するようになりました。(BZ#1400267)
Bundler
を使用して依存関係を管理するアプリケーションが、JSON
ライブラリーを適切にロードできるようになりました。
以前は、
Bundler
を使用して Ruby
アプリケーションの依存関係を管理すると、JSON
ライブラリーを読み込むことができないことがありました。その結果、アプリケーションは LoadError
で失敗しました。これにより、Ruby on Rails
が JSON
ライブラリーの依存関係を明示的に指定しなくなったため、問題が発生していました。今回の更新により、ロードパスで JSON
が常に利用可能になり、上記の問題は発生しなくなりました。(BZ#1308992)
Git
を HTTP または HTTPS および SSO で使用できるようになりました。
libcurl
バージョン 7.21.7 以降、CVE-2011-2192 のために Kerberos チケットを委譲するための新しいパラメーターが必要です。以前のバージョンでは、Git
はそのようなパラメーターを設定する方法を提供していませんでした。そのため、HTTP または HTTPS 接続のシングルサインオンでの Git
の使用に失敗していました。今回の更新により、Git
は cURL --delegation
パラメーターに対応する新しい http.delegation
設定変数を提供します。Kerberos チケットの委任が必要な場合、ユーザーはこのパラメーターを設定する必要があります。(BZ#1369173)
rescan-scsi-bus.sh --luns=
1 は、1 で番号が付けられた LUN のみをスキャンするようになりました。
sg3-utils には、SCSI コマンドをデバイスに送信するユーティリティーが同梱されています。バージョン 1.28-5 およびそれ以前のすべてのバージョンの sg3_utils では、
rescan-scsi-bus.sh --luns=
1 コマンドは、1 で番号が付けられた論理ユニット番号(LUN)のみを再スキャンしました。バージョン 1.28-6 に更新した後、rescan-scsi-bus.sh --luns=1
はすべての LUN を誤って再スキャンしました。今回の更新で、基礎となるソースコードが修正され、rescan-scsi-bus.sh --luns=
1 は 1 で番号が付けられた LUN のみをスキャンするようになりました。(BZ#1380744)
ps
が待機チャンネル名から接頭辞を削除しなくなりました。
ps
ユーティリティーは、以前は待機チャネル(WCHAN
)データから sys_
および do_
接頭辞を削除していました。これにより、ユーザーは、ps
の出力にこれらの接頭辞を意図的に含む名前の関数を区別できませんでした。接頭辞を削除するコードが削除され、ps
に完全な待機チャネル名が表示されるようになりました。(BZ#1373246)
.history
ファイルがネットワークファイルシステムにある場合、tcsh
が応答しなくなる
以前は、
.history
ファイルが NFS や Samba などのネットワークファイルシステムにある場合、ログインプロセス中に tcsh
コマンド言語インタープリターが応答しなくなることがありました。.history
がネットワークファイルシステムにある場合、.history
ファイルロックを回避するためにパッチが適用され、上記の状況では tcsh
が応答しなくなることはなくなりました。
tcsh
の複数のインスタンスを実行すると、.history
が破損する可能性があることに注意してください。この問題を解決するには、savehist オプションに lock パラメーターを追加して、明示的なファイルロックメカニズムを有効にします。以下に例を示します。
$ cat /etc/csh.cshrc # csh configuration for all shell invocations. set savehist = (1024 merge lock)
.history
がネットワークファイルシステムにある場合に tcsh
がファイルロックを使用するように強制するには、lock オプションは savehist オプションの 3 番目のパラメーターである必要があります。Red Hat は、lock パラメーターを使用すると、ログインプロセス中に tcsh
が応答しなくなることを保証しません。(BZ#1388426)
fcoeadm --target が原因で fcoeadm
がクラッシュしなくなる
以前は、fcoeadm --target コマンドを実行すると、
fcoeadm
ユーティリティーがセグメンテーション違反で予期せず終了することがありました。今回の更新で、fcoeadm
が FCoE 以外のターゲットの sysfs パスを無視するように変更され、fcoeadm --target により fcoeadm
がクラッシュしなくなりました。(BZ#1384707)
tar オプション --directory は無視されなくなりました
以前は、--remove-files オプションと組み合わせて使用すると、tar コマンドの --directory オプションが無視されていました。その結果、--directory オプションで指定したディレクトリー内のファイルではなく、現在の作業ディレクトリーのファイルが削除されました。このバグを修正するために、--directory オプションを取得、保存、および操作する新しい関数と属性が追加されました。その結果、--directory オプションで指定したディレクトリーからファイルが正しく削除されるようになりました。(BZ#1319820)
tar オプション --xattrs-exclude および --xattrs-include が無視されなくなる
以前は、tar コマンドは --xattrs-exclude オプションおよび --xattrs-include オプションを無視していました。このバグを修正するために、拡張属性をフェッチするときに包含マスクと除外マスクを適用するように tar が変更されました。その結果、--xattrs-exclude オプションおよび --xattrs-include オプションは無視されなくなりました。(BZ#1341786)
tar が増分バックアップを正しく復元するようになりました。
以前は、tar コマンドは増分バックアップを正しく復元しませんでした。そのため、増分バックアップで削除されたファイルは、復元時に削除されませんでした。バグが修正され、tar が増分バックアップを正しく復元するようになりました。(BZ#1184697)
perl-homedir
プロファイルスクリプトが csh
をサポート
以前は、
perl-homedir
プロファイルスクリプトは C シェル
(csh)構文を処理できませんでした。そのため、perl-homedir パッケージがインストールされ、/etc/sysconfig/perl-homedir
ファイルに PERL_HOMEDIR=0
行が含まれていた場合、プロファイルスクリプトを実行すると、以下のエラーが発生します。
PERL_HOMEDIR=0: Command not found.
今回の更新で、
csh
構文のサポートが追加され、上記の問題は発生しなくなりました。(BZ#1122993)
getaddrinfo
が初期化されていないデータにアクセスしなくなる
nscd
デーモンが有効になっているシステムでは、glibc
ライブラリーの getaddrinfo ()
関数が初期化されていないデータにアクセスする可能性があるため、誤ったアドレス情報を返す可能性がありました。この更新により、初期化されていないデータアクセスが阻止され、正しいアドレスが返されるようになります。(BZ#1324568)
glibc
の malloc
実装で実行される追加のセキュリティーチェック
以前は、
glibc
ライブラリーがアサーションなしでコンパイルされているため、malloc
を実装する関数はヒープの整合性をチェックしませんでした。これにより、ヒープベースのバッファーオーバーフローが悪用されるリスクが高まりました。ヒープの整合性チェックは、アサーションから明示的なチェックに変換されました。その結果、glibc
での malloc
実装への呼び出しのセキュリティーが強化されました。(BZ#1326739)
chrpath がバージョン 0.16 にリベース
chrpath パッケージがアップストリームバージョン 0.16 にアップグレードされ、以前のバージョンに比べて多くのバグ修正が提供されています。注目すべきは、
chrpath
ツールは、64 ビットシステムで 64 ビットバイナリーの実行パスプロパティーと、32 ビットシステムの 32 ビットバイナリーのみを変更できることです。このバグが修正され、64 ビットシステムの chrpath
が、64 ビットシステムの 32 ビットシステムのバイナリーと、32 ビットシステムのバイナリーの実行パスを変更できるようになりました。(BZ#1271380)
system-config-language パッケージの翻訳の更新
system-config-language
の欠落している翻訳を解決するために、de、es、fr、it、ja、ko、pt_BR、ru、zh_CN、zh_TW の 10 言語が追加されました。(BZ#1304223)
ホスト名がドメイン部分がない場合に、Puci が不完全な From
ヘッダーを持つ電子メールを送信しなくなりました。
以前は、ホスト名にドメイン名が含まれていない場合、
Mutt
電子メールクライアントは、ホスト名がない From
ヘッダーを含む電子メールを送信していました。結果として、そのような電子メールに返信することは不可能でした。このバグは修正され、Mutt
はドメイン部分を含まないホスト名を正しく処理するようになりました。(BZ#1388512)
strace
は、open ()
関数の O_TMPFILE
フラグおよびモードを正しく表示します。
以前は、
strace
ユーティリティーは、システム関数 open ()
の O_TMPFILE
フラグの存在と、モードオプションの存在の要件を認識しませんでした。そのため、strace
出力にはそれぞれのフラグの名前が表示されず、mode オプションの値がありませんでした。strace
ユーティリティーは、この状況を認識するように拡張されました。その結果、O_TMPFILE
フラグおよびモードが正しく表示されます。(BZ#1377847)
大規模なプログラムをリンクする際に ld
が無限ループにならなくなる
IBM Power Systems アーキテクチャーの大規模なプログラムでは、
.text
セグメントは 2 つのスタブセクションで提供されます。以前は、セクションのいずれかを拡張する必要があるため、このようなセグメントのサイズを設定する際に、ld
リンカーのサイジング終了条件が満たされませんでした。そのため、ld
は無限ループに入り、終了する必要がありました。ld
は、この状況を認識し、サイジングの終了条件を変更するように拡張されました。その結果、ld
が正常に終了します。(BZ#1406498)
非表示シンボルへのクロスオブジェクト参照に関する ゴールド
警告メッセージの修正
共有ライブラリーをリンクすると、
gold
リンカーにより、1 つのライブラリーのコードが 2 番目のライブラリーまたはオブジェクトファイルで非表示のシンボルを参照する場合に警告メッセージが生成されます。以前は、別のライブラリーまたはオブジェクトファイルが同じシンボルの視認可能な定義を提供していても、gold
はこの警告メッセージを生成していました。このバグを修正するために、gold
はこの特定のケースの確認で拡張され、シンボルの表示される定義がない場合にのみ警告メッセージを生成します。その結果、gold
は間違った警告メッセージを表示しなくなりました。(BZ#1326710)
Denverton SOC 搭載の Intel Xeon® C3xxx プロセッサーでの OProfile
デフォルトイベントの修正
以前は、Denverton SOC 搭載の Intel Xeon® C3xxx プロセッサーの
OProfile
のデフォルトサイクルカウントイベントで誤った値が使用されていました。そのため、デフォルトイベントを使用した OProfile
のサンプリングおよびカウントは機能しませんでした。関連する OProfile
設定が修正されました。その結果、デフォルトイベントは、Denverton SOC 搭載の Intel Xeon® C3xxx プロセッサーで機能するようになりました。(BZ#1380809)