ruby-trunk-changes r65888 - r65905

今日は Fiber の coroutine 版実装を mingw では off にする(不具合回避のため)変更や rubygems の更新などがありました。

k0kubun: r65888 2018-11-20 21:59:32 +0900

AppVeyor で Enumerator のテストが crash するとのことで、とりあえず調査のために -j なしのほうで実行するように移動しています。

k0kubun: r65889 2018-11-20 22:39:50 +0900

AppVeyor 用の除外テストの指定ファイルをさらに vs と msys2 のサブディレクトリに分割して msys2 のほうに Enumerator のテストを除外するようにしています。 おそらく coroutine による Fiber 実装の影響で SEGV するらしいです。Enumerator は内部的に Fiber を使っていますしね。

svn: r65890 2018-11-20 22:39:51 +0900

r65889 の新規追加ファイルの svn property 設定。

k0kubun: r65891 2018-11-20 23:13:12 +0900

r65889 で追加した AppVeyor での msys2 のビルドで除外するテストの指定で test_ ではじまるメソッドのみ undef するように修正しています。

k0kubun: r65892 2018-11-20 23:40:55 +0900

MinGW(x64-mingw32) では Fiber の実装に coroutine をあきらめて configre.ac の FIBER_USE_COROUTINE を定義する部分をコメントアウトしています。 r65888, r65889, r65891 あたりの除外テストの調整は revert しています。

k0kubun: r65893 2018-11-21 00:46:09 +0900

test/ と spec/ のテストのうち IO の auto close や Process.spawn のパス探索、IO.for_fd などのテストが MJIT が有効な状態でランダムに失敗するそうでとりあえず skip するようにしています。

svn: r65894 2018-11-21 00:46:11 +0900

version.h の日付更新。

samuel: r65895 2018-11-21 05:09:38 +0900

coroutine/*/Context.h のインデントの修正のみ。

naruse: r65896 2018-11-21 07:40:20 +0900

addr2line.c で macOSUniversal binary をサポートするため fill_lines() でサポートする head->magic に FAT_CIGAM を追加しています。

naruse: r65897 2018-11-21 07:40:21 +0900

r65896 の追加修正。fill_line() を呼ぶ前に sname と saddr に dladdr(3) で取得した情報をデフォルト値として(?)セットしておくようにしています。

nobu: r65898 2018-11-21 12:26:58 +0900

configure.ac の target_os によって分岐して変数設定しているところで後のほうの confdefs.h 生成後のところで mingw 向けに off_t の型のサイズなどの情報をセットしていたのを、もっと前のほうのところにまとめるようにしています。

nobu: r65899 2018-11-21 12:26:59 +0900

configure のオプションに --disable-fiber-coroutine を追加して configure 時に Fiber の実装を切り替えできるようにしています。そして mingw ではデフォルトが off になるようにしています。

shyouhei: r65900 2018-11-21 17:51:39 +0900

string.c と re.c で char 型の変数に unsigned であることを期待して値を格納しているところが多々あったので、型を unsigned char に変更したり、不要な cast を消したりしています。

nobu: r65901 2018-11-21 18:11:06 +0900

configure 時に MinGW で cygpath コマンドの有無をチェックする時にメッセージが出力されないように /dev/null へリダイレクトするようにしています。

nobu: r65902 2018-11-21 18:27:47 +0900

Solaris/bin/sh で local 変数がサポートされなかったそうで r65735 で Makefile.in から切り出した tool/mjit_archflag.sh で indent 変数をセットしていたのを Makefile.in 側に戻しています。 [ruby-dev:50673] [Bug #15319]

nobu: r65903 2018-11-21 19:09:21 +0900

coroutine 実装対応の common.mk の記法が BSD make でうまく動かなかったようで変数展開の置換の書きかたを少し修正しています。むずい。

hsbt: r65904 2018-11-21 19:20:47 +0900

rubygems に upstream から最新版をマージしています。Rubocop の設定の更新とそれに合わせたスタイルの修正が大部分みたいですね。

k0kubun: r65905 2018-11-21 20:33:25 +0900

rubygems のテストで Gem::RemoteFetcher のテストは MJIT が有効だと通らないみたいなので一時的に MJIT.pause するようにしています。