gc-7.1 のテストが通らない場合がある
gc-7.1 のテストが通らない場合がある。
症状
- make check が一つ目のテストで止まる。
- テストの1つが通らない
- テストが通るときもある
と不安定。
フラグ
通らないときのフラグは以下の通り。
-DDONT_ADD_BYTE_AT_END=1 -DLARGE_CONFIG=1 -DNO_CLOCK=1 -DGC_LINUX_THREADS=1 -D_REENTRANT=1 -DTHREAD_LOCAL_ALLOC=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -fomit-frame-pointer -DUSE_I686_PREFETCH
AC_DEFINE(DONT_ADD_BYTE_AT_END) をやめてみる
うまく動いてる。ああ。それっぽいのをみつけた。
http://osdir.com/ml/programming.garbage-collection.boehmgc/2008-05/msg00009.html
うわ。 shiro さんが見つけたのか。世界は狭い。
ななめ読みしたところ THREAD_LOCAL_ALLOC しなければ大丈夫みたい。
というわけで無効にしました。
-DDONT_ADD_BYTE_AT_END=1 -DLARGE_CONFIG=1 -DNO_CLOCK=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -fomit-frame-pointer -DUSE_I686_PREFETCH