ruby-trunk-changes r44891 - r44896

今日は Bignum を Marshal.load した時の taint フラグの扱いの修正や昨日の configure.in の変更の追加修正がいくつかありました。

nobu: r44891 2014-02-09 02:13:55 +0900

Marshal.load で taint された文字列からロードした Bignum と flonum(即値)じゃない Float が tainted になっているのですが、Fixnum, Symbol, flonum などは tainted ではないので、これにあわせて tainted でないインスタンスを返すようにしています。 flonum の導入のあたりで Numeric は全て freeze された状態になるようにされているため taint フラグもつけないようになっていて、Bignum と flonum じゃない Float だけ挙動が違っていたようです。 [ruby-core:57346] [Bug #8945]

svn: r44892 2014-02-09 02:13:58 +0900

version.h の日付更新。

zzak: r44893 2014-02-09 04:08:45 +0900

lib/yaml.rb の rdoc 用コメントに psych と syck のリポジトリへのリンクを追記しています。 [ruby-core:60577] [Bug #9501]

naruse: r44894 2014-02-09 05:21:57 +0900

昨日の r44889 で qsort_r(3) をチェックするようにしたところで GNU 版と BSD 版の違いを検出する方法を変更してコンパイルエラーを利用するようにしています。

nobu: r44895 2014-02-09 08:56:11 +0900

r44889 と r44894 の続きで qsort_r(3) が GNU 版かチェックするだけではなくて r44894 と同じ方法で BSD 版として検出されるかどうかもチェックしています。ふーむこれはコンパイラのチェックが緩くて両方 OK になってしまうのをはじくためですかね。

akr: r44896 2014-02-09 14:00:57 +0900

r44890 の configure での SSE2 利用可能かの検出の修正で 32bit Linux でのコンパイルがエラーになっていたのを修正しています。 -mstackrealign フラグの付加の条件を少し修正しています。 XCFLAGS に -msse2 が入ってた時だけ追加するようにしているみたいですが、どう違うのかなぁ。