From: "kosaki (Motohiro KOSAKI)" Date: 2013-06-01T14:43:21+09:00 Subject: [ruby-dev:47383] [ruby-trunk - Feature #8469][Open] ABI checker とか導入しませんか Issue #8469 has been reported by kosaki (Motohiro KOSAKI). ---------------------------------------- Feature #8469: ABI checker とか導入しませんか https://bugs.ruby-lang.org/issues/8469 Author: kosaki (Motohiro KOSAKI) Status: Open Priority: Normal Assignee: Category: Target version: 最近 Vit が報告してきたように、193にもたまにABI非互換が入っているようです。 見たところ実害はなさそうなのですが、非互換が報告されてから実害の有無を検討するのは不毛なのでパッチリリース前に 機械的にチェックしたいですよね。ほとんどのケースは意図的な非互換だからOKという結論になるのだろうとは思いますが、 精神衛生上、枕を高くして寝れる度がちょっとだけ上がります。 で、ちょっと時間をとってみたところ、意外と簡単そう。 http://ispras.linuxbase.org/index.php/ABI_compliance_checker にある、ABI checkerと https://github.com/kosaki/ruby/commit/e27c2e5f1e3c7a6fc2fe8b997e95a1e52f0beed3 のパッチをダウンロードして ./ruby ../tool/abi-checker.rb ~/local/ruby-193p0 ~/local/ruby-193 とすると、スクリーンショットのような結果が得られます。 193p0とくらべて最新の193ブランチは rb_class_init_copy ( VALUE p1, VALUE p2 ) rb_path_end ( char const* p1 ) rb_path_last_separator ( char const* p1 ) rb_path_next ( char const* p1 ) rb_path_skip_prefix ( char const* p1 ) ruby_find_basename ( char const* name, long* baselen, long* alllen ) ruby_find_extname ( char const* name, long* len ) の7つのシンボルが消えてしまっているわけですね。 基本的に現在パッチリリースをしているのって世の中に三人しかいないので、うささん、ながちかさん、うらべさんの意見を聞きたい ところですが、どうでしょうか。 -- http://bugs.ruby-lang.org/