ruby-trunk-changes r65098 - r65138

今日は DWARF フォーマットの読み込みの portability 改善や Array#pack, String#unpack の一部の指示子での taint フラグの伝播の修正などがありました。
また今日は各安定版(2.5.2, 2.4.5, 2.3.8)のリリースがありました。ruby の更新をお願いします。
https://www.ruby-lang.org/ja/downloads/

marcandre: r65098 2018-10-17 07:42:37 +0900

rubyspec のちょっとした書きかたの修正。

svn: r65099 2018-10-17 07:42:39 +0900

version.h の日付更新。

naruse: r65101 2018-10-17 08:52:26 +0900

r65092 の addr2line.c の DWARF フォーマットのバージョンチェック追加を revert し、ranges_set_low_pc() と ranges_set_high_pc() の処理を統合して ranges_set() としています。バージョン違いでも動くようにしたってことかな。

naruse: r65102 2018-10-17 08:52:28 +0900

addr2line.c で .debug_ranges セクションの情報を読むのに read_uint64() を使っていたところを read_uintptr() という関数を導入してこちらを使って uintptr_t で読み取るようにしています。

naruse: r65103 2018-10-17 08:52:28 +0900

addr2line.c の .debag_ranges の読み込みで base address という概念があるらしくてそれを正しく扱うように修正しています。 clang でビルドした時に問題があったみたいです。

naruse: r65104 2018-10-17 08:57:47 +0900

r65103 の続き? ranges_include() で from が UINTPTR_MAX (つまり 0xff...ff)だった時は base address の指定を意味しているそうなのでそれを扱えるようにしています。勉強になるなぁ(←よくわかってない)。

naruse: r65105 2018-10-17 10:29:49 +0900

r65103 や r65104 のさらに続きで compile unit のサイズをヘッダから読み取ってそのサイズまで読むようにロード処理を修正しています。

aycabta: r65106 2018-10-17 15:28:20 +0900

標準添付ライブラリ rdoc の最新版を rdoc-6.1.0.beta2 としてマージしています。
久しぶりに新たなコミッターの登場です!

mame: r65107 2018-10-17 16:16:50 +0900

VM 命令 throw の operand には level という概念が上位ビットに埋め込まれてて ISeq のネスト数をカウントしておいて thrown 時に ep を辿るのに使われていたのですが、現在ではこれは意味がないそうなので埋め込むのをやめています。

svn: r65108 2018-10-17 16:16:58 +0900

r65107 のインデントのタブを空白に展開。

nobu: r65120 2018-10-17 20:35:27 +0900

doc/NEWS-2.5.0 のマークアップの修正。先頭に "[" がこないようにしているみたいです。

nobu: r65121 2018-10-17 20:35:28 +0900

NEWS ファイルを rdoc による記法に戻しています。 r64445 で rdoc から markdown に変更してましたが、リンクがうまく作られなかったようです。

shyouhei: r65122 2018-10-17 23:09:24 +0900

.travis.yml の build matrix に osx を追加しています。

mame: r65123 2018-10-17 23:35:02 +0900

sample/ にある TRICK 2018 の入賞作品の 03-tompng に upstream からの修正をマージしています。最新版の ruby で動くようにした、のかな。

k0kubun: r65124 2018-10-17 23:50:35 +0900

.travis.yml で r65122 で追加した osx でのビルド時の homebrew で入れる openssl を 1.1 から 1.0 に変更しています。

nagachika: r65125 2018-10-18 00:03:10 +0900

Array#pack や String#unpack の指示子 "B", "b", "H", "h" を使った時に receiver の文字列が taint されていても結果にそれが伝播していなかった不具合を修正しています。

svn: r65126 2018-10-18 00:03:11 +0900

r65125 のインデントのタブを空白に展開。

svn: r65127 2018-10-18 00:03:12 +0900

version.h の日付更新。

k0kubun: r65131 2018-10-18 00:13:36 +0900

r65124 の Travis-CI の osx でのビルドに openssl 1.0 を使うようにしたのを revert して、かわりに osx では -j オプションを使わないようにしています。

k0kubun: r65138 2018-10-18 00:42:34 +0900

r65131 の Travis-CI での osx でのテストで -j を省く部分も revert しています。確率的に失敗するテストがあるみたいなのでしばらく様子みようという感じみたいです。