かそくそうち このページをアンテナに追加 RSSフィード

2008-03-04

[]gcc-4.2.1-dw2-2でビルドしたbjamがクラッシュする問題 00:13 gcc-4.2.1-dw2-2でビルドしたbjamがクラッシュする問題を含むブックマーク gcc-4.2.1-dw2-2でビルドしたbjamがクラッシュする問題のブックマークコメント

http://kikyou.info/diary/?200802#i28_1

ちょっと気になったので試してみました。

bjamにデバッグ情報を付けるため、

set Path=C:\gcc-4.2.1-dw2-2\bin;%Path%
set BOOST_JAM_TOOLSET_ROOT=C:\gcc-4.2.1-dw2-2\
build.bat gcc --symbols

ビルドしています。

確かに100%クラッシュするんですが、gdbから起動するとboost-build.jamが見つからないでエラーになるもののクラッシュしません。(--debugでビルドできるデバッグ版は動きます)

仕方がないので、Visual StudioJITデバッガで捕捉して、コールスタックの各アドレスをaddr2lineで調べました。

  • hash.c:172
  • filesys.c:48
  • filent.c:188
  • timestamp.c:143

引数も覗いたところ、file_dirscan()の呼び出しまでは問題なくて、_findfirst/_findnextの結果作成したリストが壊れているようです。

ここから先はちゃんと追えてないんですが、単にgcc4.2.1がバグってるだけで、sjlj版でも起こるんじゃないかと思います。(要確認確認済み)

トラックバック - http://d.hatena.ne.jp/y-hamigaki/20080304