ruby-trunk-changes r42916 - r42919

今日は sprintf の不具合修正と GMP を使うようにしてからの Solaris などでのビルドエラーの修正がありました。

nobu:r42916 2013-09-12 14:37:04 +0900

signal.c の rb_sigaltstack_size() と ruby_abort() の関数定義のコーディングスタイルを修正しています。

svn:r42917 2013-09-12 14:37:08 +0900

version.h の日付更新。

nobu:r42918 2013-09-12 20:07:30 +0900

sprintf や String#% で浮動小数点数の指示子 %f の精度に非常に大きい数を指定すると SEGV が発生する不具合の修正です。 cvt() に渡す ndigits が大きすぎてバッファオーバフローを起こしていたらしいので、double の精度を元に意味のある最大の精度を求めてそれ以上は単に 0 を埋めるようにしています。 [ruby-core:57023] [Bug #8864]

ngoto:r42919 2013-09-12 21:47:49 +0900

Makefile.in で $(LIBRUBY_A) のルールでコンパイラオプションの $(LDFLAGS) を最初のほうに移動しています。 SolarisGMP を使うようになってから libgmp の解決に失敗して libruby-static.a のビルドに失敗していたのを修正しているそうです。 Solaris の cc で -lgmp の前に -L でライブラリの場所を指定しておかないとリンクできないためみたいです。 [ruby-dev:47707] [Bug #8901]